**423-44-01**

> Interface Control Document
>
> between the Goddard Earth Sciences Data and Information Services
> Center (GES DISC) Simple, Scalable Script-based Science Processor
> Archive (S4PA) and the Science
>
> System Element (SSE)
>
> Interface Mechanisms
>
> **February 2007**
>
> **Expires: February 2012**
>
> ![](media/image1.wmf){width="7.05625in" height="1.8194444444444444in"}

This page intentionally left blank.

Interface Control Document between the Goddard Earth Sciences Data and
Information Services Center (GES DISC) Simple, Scalable Script-based
Science Processor Archive (S4PA) and the Science System Element (SSE)

########  Interface Mechanisms

**February 2007**

**Reviewed by:**

+---------------------------------+-----+------------------------------+
| Karen Michael                   |     | Date                         |
|                                 |     |                              |
| EOSDIS Project System Manager   |     |                              |
|                                 |     |                              |
| GSFC Code 586                   |     |                              |
+---------------------------------+-----+------------------------------+

+---------------------------------+-----+------------------------------+
| Steve Kempler                   |     | Date                         |
|                                 |     |                              |
| GES DISC Manager                |     |                              |
|                                 |     |                              |
| GSFC Code 610                   |     |                              |
+---------------------------------+-----+------------------------------+

**Approved by:**

+---------------------------------+-----+------------------------------+
| Hampapuram K. Ramapriyan        |     | Date                         |
|                                 |     |                              |
| ESDIS Assistant Project Manager |     |                              |
|                                 |     |                              |
| GSFC Code 423                   |     |                              |
+---------------------------------+-----+------------------------------+
|                                 |     |                              |
+---------------------------------+-----+------------------------------+
| Mary Ann Esfandiari             |     | Date                         |
|                                 |     |                              |
| ESDIS Project Manager           |     |                              |
|                                 |     |                              |
| GSFC Code 423                   |     |                              |
+---------------------------------+-----+------------------------------+

**Goddard Space Flight Center**

**Greenbelt, Maryland**

This page intentionally left blank.

# Preface

This document is under ESDIS Project configuration control. Once this
document is approved, ESDIS approved changes are handled in accordance
with Class I and Class II change control requirements described in the
ESDIS Configuration Management Procedures, and changes to this document
shall be made by document change notice (DCN) or by complete revision.

Any questions should be addressed to:

ESDIS Configuration Management Office\
NASA/GSFC

Code 423

Greenbelt, Md. 20771

This page intentionally left blank.

# Abstract

This document provides the implementation specifications for the
S4PA-SSE interface requirements maintained and controlled in ESDIS
document 423-42-03, Interface Responsibilities for Standard Product
Generation Using Science Investigator-Led Processing Systems.

This document specifies interface mechanisms, filenaming conventions and
handshaking message formats for data exchange between the Goddard Earth
Sciences Data and Information Services (GES DISC) Simple, Scalable
Script-based Science Processor Archive (S4PA) and the Science System
Element (SSE) interfaces. The term SSE is a generic term that includes
any element that provides or receives data which is used in science data
processing or distribution. The SSE\'s include the Science
Investigator-led Processing Systems (SIPS), Distributed Active Archive
Centers (DAACs), MODIS Data Processing System (MODAPS), the OMI Dutch
Processing System (ODPS), the Global Modeling and Assimilation Office
(GMAO) as well as other systems to be added as appropriate to this
document. These data exchanges include transfer of data files from GES
DISC S4PA to the SSE for standard product generation, transfer of
metadata configuration files from GES DISC S4PA to the SSE to support
standard product metadata generation, and transfer of the SSE standard
products, algorithm packages, metadata, ancillary data, and QA data to
GES DISC S4PA. The SSE may also produce EOS special products and pass
them to the GES DISC S4PA for archiving and distribution using these
same mechanisms.

Information specific to each SSE is also published in this ICD. At a
minimum, the ICD will include brief descriptions of the SSE and its
mission, context information for the GES DISC S4PA-SSE interface, lists
of data types with volume and frequency specifications, and any
SSE-unique GES DISC S4PA-SSE requirements.

*Keywords:* *checksum, metadata, secure, distribution, gateway, ingest,
interface, polling, standard products, reprocessing, subscription, SSE,
XML*

This page intentionally left blank.

# Change Record Page {#change-record-page .Heading-No-Number .unnumbered}

+----------+---------+-----------------------+-----------------------+
| ISSUE    | RELEASE | PAGES AFFECTED        | DESCRIPTION           |
|          |         |                       |                       |
|          | DATE    |                       |                       |
+----------+---------+-----------------------+-----------------------+
| Baseline | TBD     | All                   | CCR 423-44-01-001     |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+
|          |         |                       |                       |
+----------+---------+-----------------------+-----------------------+

This page intentionally left blank.

# List of Affected Pages {#list-of-affected-pages .Heading-No-Number .unnumbered}

  -------- ---------- -------- ---------- -------- ---------- -------- ----------
  Page No. Revision   Page No. Revision   Page No. Revision   Page No. Revision

  Title    Original   4-10     Original   5-12     Original            

  i        Original   4-11     Original   5-13     Original            

  ii       Original   4-12     Original   5-14     Original            

  iii      Original   4-13     Original   5-15     Original            

  iv       Original   4-14     Original   5-16     Original            

  v        Original   4-15     Original   5-17     Original            

  vi       Original   4-16     Original   5-18     Original            

  vii      Original   4-17     Original   5-19     Original            

  viii     Original   4-18     Original   5-20     Original            

  ix       Original   4-19     Original   5-21     Original            

  x        Original   4-20     Original   5-22     Original            

  xi       Original   4-21     Original   5-23     Original            

  xii      Original   4-22     Original   5-24     Original            

  xiii     Original   4-23     Original   5-25     Original            

  xiv      Original   4-24     Original   5-26     Original            

  1-1      Original   4-25     Original   5-27     Original            

  1-2      Original   4-26     Original   5-28     Original            

  1-3      Original   4-27     Original   5-29     Original            

  1-4      Original   4-28     Original   5-30     Original            

  2-1      Original   4-29     Original   5-31     Original            

  2-2      Original   4-30     Original   5-32     Original            

  2-3      Original   4-31     Original   AB-1     Original            

  2-4      Original   4-32     Original   AB-2     Original            

  3-1      Original   5-1      Original   AB-3     Original            

  3-2      Original   5-2      Original   AB-4     Original            

  4-1      Original   5-3      Original   AB-5     Original            

  4-2      Original   5-4      Original   AB-6     Original            

  4-3      Original   5-5      Original   AB-7     Original            

  4-4      Original   5-6      Original   AB-8     Original            

  4-5      Original   5-7      Original                                

  4-6      Original   5-8      Original                                

  4-7      Original   5-9      Original                                

  4-8      Original   5-10     Original                                

  4-9      Original   5-11     Original                                
  -------- ---------- -------- ---------- -------- ---------- -------- ----------

This page intentionally left blank.

# Contents

**P**reface

Abstract

1\. Introduction

1.1 Identification [1](#identification)-1

1.2 Scope [1](#scope)-1

1.3 Purpose 1-[2](#purpose)

1.4 Change Control 1-[2](#change-control)

1.5 Organization 1-[2](#organization)

2\. Related Documentation

2.1 Parent Documents 2-[1](#parent-documents)

2.2 Applicable Documents 2-[1](#applicable-documents)

2.3 Information Documents 2-[2](#information-documents)

2.3.1 Information Documents Referenced
2-[2](#information-documents-referenced)

2.3.2 Information Documents Not Referenced
2-[3](#information-documents-not-referenced)

3\. Interface Overview

3.1 Summary of Data Flows 3-[1](#summary-of-data-flows)

4\. Data Exchange Framework

4.1 Internetworking Protocols and Network Topology
4-[1](#internetworking-protocols-and-network-topology)1

4.1.1 Transport Layer Protocol 4-[1](#transport-layer-protocol)1

4.1.2 Network Layer Protocols 4-[1](#network-layer-protocols)1

4.1.3 Physical/Datalink Protocols 4-[2](#physicaldatalink-protocols)2

4.2 Communications Protocols 4-[2](#communications-protocols)2

4.2.1 Simple Mail Transport Protocol
4-[2](#simple-mail-transport-protocol)2

4.2.2 File Transfer Protocol 4-[2](#file-transfer-protocol)2

4.2.3 Secure File Transfer Protocol
4-[2](#secure-file-transfer-protocol)2

4.2.4 HyperText Transfer Protocol 4-2

4.3 Subscriptions for Requesting Level 0 and Ancillary Data
4-[3](#subscriptions-for-requesting-level-0-and-ancillary-data)3

4.3.1 Subscription Request 4-[3](#subscription-request)3

4.3.2 Subscription Request Acknowledgment
4-[5](#subscription-request-acknowledgment)5

4.3.3 Subscription Update 4-[5](#subscription-update)5

4.3.4 Subscription Cancellation 4-[6](#subscription-cancellation)6

4.3.5 Data Distribution 4-[7](#data-distribution)7

4.4 Metadata Associated with SSE-Produced Collections
4-1[14](#metadata-associated-with-sse-produced-collections)4

4.5 Transfer of Higher-Level Products to S4PA
4-1[15](#transfer-of-higher-level-products-to-s4pa)5

4.5.1 Overview of Polling Ingest Methodology
4-1[15](#overview-of-polling-ingest-methodology)5

4.5.2 PDR File Naming Convention 4-[17](#__RefHeading___Toc15378938)17

4.5.3 Product Delivery Record (PDR)
4-[18](#product-delivery-record-pdr)18

4.5.4 Product Delivery Record Discrepancy (PDRD) 4-23

4.5.5 Production Acceptance Notification (PAN)
4-[26](#__RefHeading___Toc15378941)26

4.5.6 SSE-S4PA Electronic Data Exchange Error Handling/Back-up Methods
4-[29](#sse-s4pa-electronic-data-exchange-error-handlingback-up-methods)29

4.6 Accessing Archived Data for Reprocessing
4-[30](#accessing-archived-data-for-reprocessing)30

4.7 Data Exchange Security 4-[30](#data-exchange-security)30

4.7.1 Encryption 4-[30](#encryption)30

4.7.2 Secure Ingest 4-[31](#secure-ingest)31

4.7.3 Secure Distribution 4-[31](#secure-distribution)31

5\. SSE Data and Metadata

5.1 S4PA Datatypes 5-[1](#s4pa-datatypes)

5.2 Metadata 5-[1](#metadata)

5.2.1 Metadata Files for S4PA Ingest
5-[1](#metadata-files-for-s4pa-ingest)

5.2.2 Checksums in Distributed Metadata
5-[2](#checksums-in-distributed-metadata)

5.3 Unique Granule Identification 5-[2](#unique-granule-identification)

5.3.1 LocalGranuleID Format 5-[2](#localgranuleid-format)

5.3.2 S4PA Use of LocalGranuleID 5-[3](#s4pa-use-of-localgranuleid)

5.4 Granule Cross References 5-[3](#granule-cross-references)

5.4.1 InputPointer Format 5-[3](#inputpointer-format)

5.5 File Transfer Quick Reference Summary
...................................................\...5-5

5.6 XML Schema for S4PA Granule Level
Metadata.............................................5-5

Abbreviations and Acronyms

**Appendix A.** **Microwave Limb Sounder (MLS) Data Flows** **(TBS)**

**Appendix B.** **High** **Resolution Dynamics Limb Sounder (HIRDLS)
Data Flows** **(TBS)**

**Appendix C.** **Ozone Monitoring Instrument (OMI) Data Flows**
**(TBS)**

**Appendix D.** **OMI Dutch Processing System (ODPS) Data Flows**
**(TBS)**

**Appendix E.** **Atmospheric InfraRed Sounder (AIRS) Data Flows**
**(TBS)**

**Appendix F. SOlar Radiation and Climate Experiment (SORCE) Data
Flows** **(TBS)**

**Appendix G.** **Atmospheric Sciences Data Center (ASDC) Data Flows**
**(TBS)**

Appendix H. Global Modeling Assimilation Office (GMAO) Data Flows (TBS)

Appendix I. MODIS Data Processing System (MODAPS) Data Flows (TBS)

Appendix J. Land Processing DAAC (LP DAAC) Data Flows (TBS)

Appendix K. National Snow and Ice Data Center (NSIDC) Data Flows (TBS)

> **Figures**

Figure 4.3.5-1. Example Distribution Notice for a Subscription FTP or
SFTP Request 4-12

Figure 4.3.5-2. Example Distribution Notice for a List orURLs 4-12

Figure 4.3.5-3. Example Distribution Notice for HTTP Request 4-13

Figure 4.5-1. Polling with Delivery Record File Transfer Mechanism 4-17

Figure 4.5-2. Example PDR File Naming Convention 4-18

Figure 4.5-3. Example PDR PVL File 4-23

Figure 4.5-4. Example Short PDRD PVL 4-24

Figure 4.5-5. Example Long PDRD PVL 4-26

Figure 4.5-6. ExampleShort PAN PVL 4-27

Figure 4.5-7. Example Long PAN PVL 4-29

Figure 5-1. Example InputPointer LGID Reference Format 5-4

Figure 5-2. S4PA Granule Level Metadata 5-30

Figure 5-3. Example S4PA ODL Metadata File 5-32

> **Tables**

Table 3-1. S4PA and SSE Interface Overview 3-2

Table 4.3.1-1. E-Mail Subscription Request Format 4-4

Table 4.3.2-1. Format of Subscription Request Acknowledgement 4-5

Table 4.3.3-1. Subscription Update Format 4-6

Table 4.3.4-1. Subscription Cancellation Format 4-6

Table 4.3.5-1. Distribution Notice Contents (1 of 3) 4-8

Table 4.3.5-1. Distribution Notice Contents (2 of 3) 4-9

Table 4.3.5-1. Distribution Notice Contents (3 of 3) 4-10

Table 4.5-1. Example File Naming Convention forSSE Product Delivery
Record 4-18

Table 4.5-2. Product Delivery Record PVL Parameters (1 of 3) 4-20

Table 4.5-2. Product Delivery Record PVL Parameters (2 of 3) 4-21

Table 4.5-2. Product Delivery Record PVL Parameters (3 of 3) 4-22

Table 4.5-3. Short Product Delivery Record Discrepancy PVL Parameters
4-24

Table 4.5-4. Long Product Delivery Record Discrepancy PVL Parameters
4-25

Table 4.5-5. Short Production Acceptance Notification PVL Parameters
4-27

Table 4.5-6. Long Production Acceptance Notification PVL Parameters (1
of 2) 4-27

Table 4.5-6. Long Production Acceptance Notification PVL Parameters (2
of 2) 4-28

# 1. Introduction

## 1.1 Identification

This Interface Control Document (ICD) is based on the ICD between EOSDIS
Core System (ECS) and the SIPS, Volume 0, Interface Mechanisms and is
intended as a replacement of that document for the interfaces to the GES
DISC S4PA. The goal is to make the transition from ECS to S4PA at the
GES DISC transparent to all data providers.

## 1.2 Scope

This document specifies the interface design between S4PA and the SSE
interfaces. It includes specifications for data exchange between the GES
DISC S4PA and the Science System Elements that fall under the following
topics:

> 1\. Internetworking
>
> 2\. Interface mechanisms
>
> 3\. Filenaming conventions
>
> 4\. Handshaking message formats
>
> 5\. Error handling and fallback procedures
>
> 6\. Security

Data exchanges addressed include \--

> a\. Transfer of data from S4PA to the SSE for standard product
> generation, and
>
> b\. Transfer to S4PA of the SSE standard products and other files
> resulting from or associated with the SSE standard product generation.

Also addressed are special services to ensure that data granules
received from the SSE are associated with defined collections in the
archives.

The SSE may also produce EOS special products and use these same
mechanisms to pass them to the S4PA for archiving and distribution.

The SSE may employ the S4PA Machine Request Interface (MRI) to search
and retrieve data from the S4PA archives for use in reprocessing by the
SSE. Specifications and instructions for the MRI are found at
<http://discapps.gsfc.nasa.gov/wiki/Machine_Request_Interface>.

Certain implementation details are not suitable for, or specified in,
this document. Such items as contact address, telephone or fax numbers,
internet host id\'s, values for operator tunable parameters such as
number of retries on failure or timeouts should be documented in an
Operations Agreement or Operations Procedures document under the control
of the DISC and with concurrence of the SSE. The term \"Operations
Agreement(s)\" in this document refers to such a document.

The Earth Science Data and Information System (ESDIS) Project has
responsibility for the development and maintenance of this ICD. Any
changes in the interface requirements must be agreed to, and assessed at
the ESDIS Project Level. This ICD is approved under the signature of the
ESDIS Project Manager.

## 1.3 Purpose

This document is written to formalize the interpretation and general
understanding of the interfaces between S4PA and the SSE. This volume
provides clarification and elaboration of those interfaces to the extent
necessary to assure hardware, software, and operational service
compatibility within the end-to-end system. The SSE-unique interface
specifications may be found in the SSE-specific appendix of this ICD.
This document provides a point of mutual control of external interface
definitions via the ESDIS Configuration Control Board (CCB).

## 1.4 Change Control

Changes to this ICD may be submitted for consideration by the DISC, SSE
and ESDIS CCB under the normal change process at any time. Changes to
the main volume of this ICD will need to be reviewed and approved by all
SSEs. Changes to an SSE-unique appendix will only need to be reviewed
and approved by that SSE.

## 1.5 Organization

Section 1 provides information regarding the identification, scope,
purpose, and organization of this document.

Section 2 lists related non-SSE-unique documents that were used as
sources of information for this document or that provide additional
background information to aid understanding of the interface
implementations. The SSE-unique documents are identified in the SSE
appendix of this ICD.

Section 3 is an overview of the interfaces for data exchange between
S4PA and the SSE.

Section 4 is a detailed presentation of the data exchange framework for
S4PA-SSE interfaces. Again, this is limited to implementation
information applicable to any SSE. Specifically, the following topics
are discussed: applicable internetworking protocols, data transfer
methodologies, error conditions and error handling, backup methods, and
data exchange security.

Section 5 explains some critical requirements for providing data and
metadata to the S4PA. It contains guidelines that must be followed to
ensure the interfaces function and is not intended to be a comprehensive
discussion of S4PA data and metadata. Additionally, a quick reference
summary of the characteristics of the polling with delivery record
mechanism for the SSE interface and information on the S4PA metadata
model are provided. A list of abbreviations and acronyms is also
provided.

Appendix A contains the Microwave Limb Sounder (MLS) Data Flows (TBS).

Appendix B contains the High Resolution Dynamics Limb Sounder (HIRDLS)
Data Flows (TBS).

Appendix C contains the Ozone Monitoring Instrument (OMI) Data Flows
(TBS).

Appendix D contains the OMI Dutch Processing System (ODPS) Data Flows
(TBS).

Appendix E contains the Atmospheric InfraRed Sounder (AIRS) Data Flows
(TBS).

Appendix F contains the SOlar Radiation and Climate Experiment (SORCE)
Data Flows (TBS).

Appendix G contains the Atmospheric Sciences Data Center (ASDC) Data
Flows (TBS).

Appendix H contains the Global Modeling Assimilation Office (GMAO) Data
Flows (TBS).

Appendix I contains MODIS Data Processing System (MODAPS) Data Flows
(TBS).

Appendix J contains Land Processing DAAC (LP DAAC) Data Flows (TBS).

Appendix K contains National Snow and Ice Data Center (NSIDC) Data Flows
(TBS).

This page intentionally left blank.

# 2. Related Documentation

The latest versions of all documents below should be used. The latest
ESDIS Project documents can be obtained from URL:
https://romulus.gsfc.nasa.gov/htbin/cm/emdshome.cgi. ESDIS documents
have a document number starting with either 423 or 505. The latest
EOSDIS Core System (ECS) documents can be obtained from URL:
http//edhs1.gsfc.nasa.gov/.

## 2.1 Parent Documents

The parent document is the document from which this interface control
document's scope and content are derived.

423-10-69 Requirements for Archiving, Distribution and User Services in
EOS Data and Information System (EOSDIS)

423-42-03 Goddard Space Flight Center, Interface Responsibilities for
Standard Product Generation Using Science Investigator-led Processing
Systems (SIPS)

## 2.2 Applicable Documents

The following documents are referenced within this interface control
document, or are directly applicable, or contain policies or other
directive matters that are binding upon the content of this volume.

  ---------------- -------------------------------------------------------
  160-TP-013       The Role of Metadata in EOSDIS

  170-TP-510-001   EOSDIS Core System Project, HDF-EOS Library User's
                   Guide for the ECS Project, Volume 1: Overview and
                   Examples

  170-TP-511-001   EOSDIS Core System Project, HDF-EOS Library Users Guide
                   for the ECS Project, Volume 2: Function Reference
                   Guide.

  333-CD-510-001   EOSDIS Core System Project, Release (1) SDP Toolkit
                   Users Guide for the ECS Project.

  423-41-64        ESDIS Project Requirements for EOS Instrument Team
                   Science Data Processing Systems
  ---------------- -------------------------------------------------------

  --------------- -------------------------------------------------------
  423-41-67       Data Format Control Document for NCEP Stratosphere
                  Analysis Combined Product

  423-41-56       Interface Control Document between EOSDIS Core System
                  (ECS) and the Data Assimilation System (DAS)

  423-35-10       Interface Control Document (ICD) Between the Earth
                  Observing System (EOS) Networks and the Science
                  Investigator-led Processing Systems (SIPS) for Aura
                  Instruments

  505-10-20       System Interface Control Plan for the Earth Science
                  Data and Information System (ESDIS) Project
  --------------- -------------------------------------------------------

## 2.3 Information Documents

### 2.3.1 Information Documents Referenced 

The following documents are referenced herein and, amplify or clarify
the information presented in this document. These documents are not
binding on the content of this document.

420-TP-016-003 Backus-Naur Format (BNF) Representation of the B.0 Earth
Science Data Model

ISO 7498 International Organization for Standardization, Basic Reference
Model for Systems Interconnection

RFC 791 Postel, J. Internet Protocol, Sep-01-1981, (Status: STANDARD)

RFC 793 Postel, J. Transmission Control Protocol, Sep-01-1981, (Status:
STANDARD)

RFC 821 Postel, J. Simple Mail Transfer Protocol, Aug-01-1982, (Status:
STANDARD)

RFC 0959 Postel, J. & J.K. Reynolds, File Transfer Protocol,
Oct-01-1985, (Status: STANDARD)

RFC 1321 Rivest, R., The MD5 Message-Digest Algorithm, April 1992

RFC 2616 Fielding, R. et al Hypertext Transfer Protocol, Jun-01-1999,
(Status: STANDARD)

CCSDS 641.0-B-l Consultative Committee for Space Data Systems (CCSDS),
Recommendation for Space Data System Standards: PVLSPEC - Parameter
Value Language Specification, 5/92
(http://www.ccsds.org/blue_books.html)

JPL D-7669, Part-2. Planetary Data System Standards Reference, Version
3.2, Chapter 12: Object Description Language (ODL) Specification and
Usage, July 24, 1995 (<http://pds.jpl.nasa.gov/stdref/stdref.htm>)

### 2.3.2 Information Documents Not Referenced 

The following documents, although not referenced herein and/or not
directly applicable, do amplify or clarify the information presented in
this document. These documents are not binding on the content of this
document.

170-TP-005 HDF-EOS Library User's Guide, Volume 1, Overview & Examples

170-TP-006 HDF-EOS Library User's Guide, Volume 2, Function and
Reference Guide

420-TD-069 ODL Restrictions, ECS Specific and ODL Library Specific

  ------------------ ----------------------------------------------------
  505-41-33          Interface Control Document Between EOSDIS Core
                     System (ECS) and Science Computing Facilities (SCF).

  423-ICD-EDOS/EGS   Interface Control Document between EDOS and EOS
                     Ground System (EGS).
  ------------------ ----------------------------------------------------

This page intentionally left blank.

# 3. Interface Overview

## 3.1 Summary of Data Flows

Table 3-1 summarizes the data flows between S4PA and the SSE that are
specified in Section 4. The table shows three categories of data
exchange interfaces.

1\. In response to standing requests (subscriptions) from an SSE, S4PA
sends Distribution Notices (DNs) and data files, including Level 0 data,
ancillary data and orbit and attitude data.

2\. Nominally the SSE provides metadata and standard product data
granules to the S4PA via a standardized electronic polling with delivery
record mechanism. The SSE may elect to send browse data, ancillary data,
QA granules, algorithm package TAR files as appropriate to the S4PA.
Each delivered granule is accompanied by metadata that conforms to the
minimal metadata requirements of S4PA. (See Section 5.2)

3\. The SSE searches for and retrieves data for reprocessing from the
S4PA via the MRI, FTP or HTTP. Specifications and instructions for the
MRI are found at
<http://discapps.gsfc.nasa.gov/wiki/Machine_Request_Interface>.

In the table below, the Destination \"SSE\" is a location designated by
the SSE. The methods or procedures that the SSE uses to interact with
this staging location are not under the control of this document.

Also, the table assumes an electronic interface for delivery of products
from the SSE. The transfer mechanisms utilized by the S4PA are email,
File Transfer Protocol (FTP), Secure File Transfer Protocol (SFTP), and
HyperText Transfer Protocol (HTTP).

Table 3-1. S4PA and SSE Interface Overview

+----+-----+---------+-----------------+----------------+------------+
| It | Sou | Dest    | Message         | Data           | Transfer\  |
| em | rce | ination |                 |                | Mechanism  |
| N  |     |         |                 |                |            |
| o. |     |         |                 |                |            |
+----+-----+---------+-----------------+----------------+------------+
| Su |     |         |                 |                |            |
| bs |     |         |                 |                |            |
| cr |     |         |                 |                |            |
| ip |     |         |                 |                |            |
| ti |     |         |                 |                |            |
| on |     |         |                 |                |            |
| tr |     |         |                 |                |            |
| an |     |         |                 |                |            |
| sf |     |         |                 |                |            |
| er |     |         |                 |                |            |
| of |     |         |                 |                |            |
| Pr |     |         |                 |                |            |
| od |     |         |                 |                |            |
| uc |     |         |                 |                |            |
| ts |     |         |                 |                |            |
| fr |     |         |                 |                |            |
| om |     |         |                 |                |            |
| S4 |     |         |                 |                |            |
| PA |     |         |                 |                |            |
| to |     |         |                 |                |            |
| S  |     |         |                 |                |            |
| SE |     |         |                 |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 1  | SSE | S4PA    | Data            | N/A            | e-mail     |
|    |     |         | Subscription    |                |            |
|    |     |         |                 |                |            |
|    |     |         | Request         |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 1a | SSE | S4PA    | Subscription    | N/A            | e-mail     |
|    |     |         | Update          |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 1b | SSE | S4PA    | Subscription    | N/A            | e-mail     |
|    |     |         | Cancellation    |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 2  | S   | SSE     | Subscription    | N/A            | e-mail     |
|    | 4PA |         | Acknowledgment  |                |            |
+----+-----+---------+-----------------+----------------+------------+
|    |     |         |                 |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 3  | S   | SSE     | N/A             | Newly ingested | S4PA       |
|    | 4PA |         |                 | data from S4PA | standard   |
|    |     |         |                 | archive needed | di         |
|    |     |         |                 | for Higher     | stribution |
|    |     |         |                 | Level Standard | options    |
|    |     |         |                 | Product        | (FTP or    |
|    |     |         |                 | generation.    | SFTP push, |
|    |     |         |                 |                | FTP pull)  |
|    |     |         |                 |                | as         |
|    |     |         |                 |                | supported  |
|    |     |         |                 |                | by the     |
|    |     |         |                 |                | DISC       |
+----+-----+---------+-----------------+----------------+------------+
| 4  | S   | SSE     | Distribution    | N/A            | e-mail,    |
|    | 4PA |         | Notice          |                | FTP or     |
|    |     |         |                 |                | SFTP push  |
+----+-----+---------+-----------------+----------------+------------+
| P  |     |         |                 |                |            |
| ol |     |         |                 |                |            |
| li |     |         |                 |                |            |
| ng |     |         |                 |                |            |
| wi |     |         |                 |                |            |
| th |     |         |                 |                |            |
| De |     |         |                 |                |            |
| li |     |         |                 |                |            |
| ve |     |         |                 |                |            |
| ry |     |         |                 |                |            |
| Re |     |         |                 |                |            |
| co |     |         |                 |                |            |
| rd |     |         |                 |                |            |
| In |     |         |                 |                |            |
| ge |     |         |                 |                |            |
| st |     |         |                 |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 5  | SSE | S4PA    | Product         | N/A            | Polling    |
|    |     |         | Delivery Record |                | interface. |
|    |     |         | (PDR)           |                | FTP or     |
|    |     |         |                 |                | SFTP Pull  |
|    |     |         |                 |                | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 6  | SSE | S4PA    | N/A             | S              | FTP or     |
|    |     |         |                 | 4PA-compatible | SFTP Pull  |
|    |     |         |                 | Metadata File  | initiated  |
|    |     |         |                 | for each       | by S4PA    |
|    |     |         |                 | granule        |            |
|    |     |         |                 | transferred    |            |
+----+-----+---------+-----------------+----------------+------------+
| 7  | SSE | S4PA    | N/A             | Higher Level   | FTP or     |
|    |     |         |                 | Standard       | SFTP Pull  |
|    |     |         |                 | Products       | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 8  | SSE | S4PA    | N/A             | Browse Data    | FTP or     |
|    |     |         |                 | files          | SFTP Pull  |
|    |     |         |                 |                | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 9  | SSE | S4PA    | N/A             | Ancillary Data | FTP or     |
|    |     |         |                 |                | SFTP Pull  |
|    |     |         |                 |                | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 10 | SSE | S4PA    | N/A             | QA Granules    | FTP or     |
|    |     |         |                 |                | SFTP Pull  |
|    |     |         |                 |                | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 11 | SSE | S4PA    | N/A             | Algorithm      | FTP or     |
|    |     |         |                 | Package TAR    | SFTP Pull  |
|    |     |         |                 | files          | initiated  |
|    |     |         |                 |                | by S4PA    |
+----+-----+---------+-----------------+----------------+------------+
| 12 | SSE | S4PA    | Product         | N/A            | FTP Push   |
|    |     |         | Delivery Record |                | or e-mail  |
|    |     |         | Discrepancy     |                | initiated  |
|    |     |         | (PDRD)          |                | by S4PA    |
|    |     |         |                 |                |            |
|    |     |         | (Short/Long)    |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 13 | S   | SSE     | Production      | N/A            | FTP Push   |
|    | 4PA |         | Acceptance      |                | or e-mail  |
|    |     |         | Notification    |                | initiated  |
|    |     |         | (PAN)           |                | by S4PA    |
|    |     |         | (Short/Long)    |                |            |
+----+-----+---------+-----------------+----------------+------------+
| S  |     |         |                 |                |            |
| SE |     |         |                 |                |            |
| Re |     |         |                 |                |            |
| pr |     |         |                 |                |            |
| oc |     |         |                 |                |            |
| es |     |         |                 |                |            |
| si |     |         |                 |                |            |
| ng |     |         |                 |                |            |
| \  |     |         |                 |                |            |
| "G |     |         |                 |                |            |
| at |     |         |                 |                |            |
| ew |     |         |                 |                |            |
| ay |     |         |                 |                |            |
| \" |     |         |                 |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 14 | SSE | S4PA    | Searches for    | N/A            | MRI, FTP   |
|    |     |         | and Pulls       |                | or HTTP    |
|    |     |         | archived data   |                |            |
+----+-----+---------+-----------------+----------------+------------+
| 15 | S   | SSE     | N/A             | Data from S4PA | MRI, FTP   |
|    | 4PA |         |                 | archive needed | Pull or    |
|    |     |         |                 | for            | HTTP Pull  |
|    |     |         |                 | reprocessing   |            |
+----+-----+---------+-----------------+----------------+------------+

# 4. Data Exchange Framework

## 4.1 Internetworking Protocols and Network Topology

GES DISC S4PA provides internetworking services that are based on
protocols and standards corresponding to layers 1 through 4 of the Open
Systems Interconnection (OSI) Reference Model. These include,
respectively, the physical, datalink, network, and transport layers. The
transport layer protocol provides data consistency functions. The
network, datalink and physical layers play significant roles in defining
external interfaces (i.e., between S4PA and non-S4PA networks/systems).
In particular, GES DISC S4PA routers provide the physical demarcation
points between S4PA networks and external networks/systems. The routing
software resident on the routers provides network layer services, while
the interfaces on the router make up the datalink/physical layers.

### 4.1.1 Transport Layer Protocol

The transport layer protocol used for communications between GES DISC
S4PA processes and non-S4PA processes is the Transmission Control
Protocol (TCP) specified in RFC 793. TCP is a reliable
connection-oriented, end-to-end protocol designed to fit into a layered
hierarchy of protocols that support multi-network applications. It
provides for reliable inter-process communication between pairs of
processes in host computers attached to networks within and outside of
GES DISC S4PA.

The interface between TCP and an application process consists of a set
of calls much like the calls an operating system provides to an
application process for manipulating files. For example, there are calls
to open and close connections and to send and receive data on
established connections.

### 4.1.2 Network Layer Protocols

The network layer provides the functional and procedural means to
exchange network data units (i.e., packets) between devices over network
connections, both for connection-mode and connectionless-mode
communications. It relieves the transport layer of any concern regarding
routing and relay operations associated with network connection. The
basic function of the network layer is to provide the transparent
transfer of data between devices. It should be noted that the network
layer delivers packets only to a device, not an individual process. It
remains up to the transport layer protocol to include, beforehand, the
additional information needed to permit addressing to an individual
process. Network layer protocols supported by GES DISC S4PA networks
include Internet Protocol (IP) plus various routing protocols.

######################################### 4.1.2.1 Internet Protocol (IP) {#internet-protocol-ip .unnumbered}

The Internet Protocol (IP), specified in RFC 791 is the network protocol
that GES DISC S4PA supports, based on its dominance in industry usage
and wide-community support. As part of IP support, Internet Control
Message Protocol (ICMP) and Address Resolution Protocol (ARP) are also
supported. As the Internet Engineering Task Force (IETF) specified new
generation IP becomes available for deployment, it will be supported by
GES DISC S4PA networks.

######################################### 4.1.2.2 Routing {#routing .unnumbered}

GES DISC S4PA generally uses Routing Information Protocol (RIP) for
route exchanges with external networks. Other more robust routing
protocols such as Border Gateway Protocol (BGP-4) can also be used
depending on the need and center routing policies.

### 4.1.3 Physical/Datalink Protocols

Physical and Datalink protocols may differ among the various GES DISC
S4PA-SSE interfaces, so detailed information may be found in the
SSE-unique appendix for each SSE.

## 4.2 Communications Protocols

GES DISC S4PA provides various communications services that are based on
protocols and standards corresponding to the applications level of the
Open Systems Interconnection (OSI) Reference Model. Four of these
services are the Simple Mail Transport Protocol (SMTP), File Transfer
Protocol (FTP), Secure File Transfer Protocol (SFTP), and HyperText
Transfer Protocol (HTTP).

### 4.2.1 Simple Mail Transport Protocol

All electronic mail (e-mail) message exchange is achieved through the
use of Internet e-mail messages. The protocol for Internet e-mail
transfer is the Simple Mail Transfer Protocol (SMTP) defined in RFC 821.

### 4.2.2 File Transfer Protocol

File transfers between GES DISC S4PA and the external provider host
computers are accomplished through the use of standard File Transfer
Protocol (FTP). FTP, as described in RFC 959, is an Internet standard
for file transfers that support downloading of files by a user (acting
as a client) from a remote server.

### Secure File Transfer Protocol

The GES DISC S4PA supports secure file transfer via the Secure FTP
(SFTP) application in the Secure SHell (SSH) suite. Secure SHell is a
suite of TCP/IP-based applications supporting secure remote access, file
transfer and data tunneling. It uses public key authentication and
passwords are encrypted. It provides strong encryption in a
client-server architecture.

### 4.2.4 HyperText Transfer Protocol

Outbound file transfers from the GES DISC S4PA to external data
customers are also accomplished through the use of HyperText Transfer
Protocol (HTTP). HTTP, as described in RFC 2616, is an Internet standard
that allows access to resources (data) by a user (acting as a client)
from distributed applications on the World Wide Web. S4PA uses HTTP
primarily for access to restricted data that requires user
authentication (username and password) through a web browser.

## 4.3 Subscriptions for Requesting Level 0 and Ancillary Data 

GES DISC S4PA receives Level 0 data from EDOS or another participating
Mission Operations Center and archives it in S4PA. S4PA also receives
and archives ancillary and orbit and attitude data needed by the SSE for
producing higher-level products. Each SSE obtains these data or any
other data routinely ingested by the S4PA that is required for EOS
standard product generation through the S4PA Subscription Service. A
subscription is a standing request to the S4PA subscription service for
data expected to be archived. A subscription for Level 0 or Ancillary
data, for example, may be triggered by the insert of a new granule of
the given data type into the S4PA archive. However, a mechanism will be
provided for requesting shipment of missed or lost subscription data.

### 4.3.1 Subscription Request

Typically, the SSE operator e-mails a subscription request for each data
type to the GES DISC operator, who registers each subscription on behalf
of the SSE. Table 4.3.1-1 is a suggested format for the SSE to use for
supplying e-mail subscription requests to the DISC operator. The format
of the notice and the distribution method should be agreed-on with the
DISC. The DISC operator may respond with a subscription request
acknowledgment (see Section 4.3.2).

How the User ID and password for FTP Push deliveries are furnished to
the DISC should be agreed on with DISC User Services. Accounts for
secure distribution (SFTP; see Section 4.7.3) must be arranged with the
DISC in advance.

Table 4.3.1-1. E-Mail Subscription Request Format

+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Message  | Description     | Type   | F      | Value or    |     |   |   |   |
| Field    |                 |        | ormat/ |             |     |   |   |   |
|          |                 |        | S      | Content     |     |   |   |   |
|          |                 |        | ize^1^ | with Value  |     |   |   |   |
|          |                 |        | (      |             |     |   |   |   |
|          |                 |        | bytes) |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Subject  | Subject of      | Va     | ASCII  | e.g., 'L0   |     |   |   |   |
| of email | message         | riable |        | Data        |     |   |   |   |
| message  | identifies the  | String | (255   | S           |     |   |   |   |
|          | purpose of the  |        | B)     | ubscription |     |   |   |   |
|          | message         |        |        | Request'    |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Note:    |                 |        |        |             |     |   |   |   |
| the      |                 |        |        |             |     |   |   |   |
| f        |                 |        |        |             |     |   |   |   |
| ollowing |                 |        |        |             |     |   |   |   |
| rows     |                 |        |        |             |     |   |   |   |
| define   |                 |        |        |             |     |   |   |   |
| the body |                 |        |        |             |     |   |   |   |
| of the   |                 |        |        |             |     |   |   |   |
| email    |                 |        |        |             |     |   |   |   |
| message. |                 |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| US       | SSE-provided    | Va     | ASCII  | '           |     |   |   |   |
| ERSTRING | text uniquely   | riable |        | USERSTRING: |     |   |   |   |
|          | describing the  | String | (255 B | \<free      |     |   |   |   |
|          | event for which |        | inc    | text\>' ^2^ |     |   |   |   |
|          | a subscription  |        | luding |             |     |   |   |   |
|          | is requested.   |        | 237 B  |             |     |   |   |   |
|          | If the request  |        | of     |             |     |   |   |   |
|          | includes a      |        | free   |             |     |   |   |   |
|          | distribution    |        | text)  |             |     |   |   |   |
|          | option this     |        | ^1^    |             |     |   |   |   |
|          | text will be    |        |        |             |     |   |   |   |
|          | included in the |        |        |             |     |   |   |   |
|          | distribution    |        |        |             |     |   |   |   |
|          | notice for the  |        |        |             |     |   |   |   |
|          | delivery.       |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Datatype | S4PA defined    | Fixed  | ASCII  | 'Datatype'  |     |   |   |   |
| S        | Short Name of   | String | (18 B  | ^2^         |     |   |   |   |
| hortname | the S4PA        |        | inc    |             |     |   |   |   |
|          | Dataset.        |        | luding |             |     |   |   |   |
|          |                 |        | 12 B   |             |     |   |   |   |
|          |                 |        | for    |             |     |   |   |   |
|          |                 |        | \<Data |             |     |   |   |   |
|          |                 |        | type\> |             |     |   |   |   |
|          |                 |        | and    |             |     |   |   |   |
|          |                 |        | \<v    |             |     |   |   |   |
|          |                 |        | ersion |             |     |   |   |   |
|          |                 |        | \>)^1^ |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Datatype | S4PA defined    | Fixed  | ASCII  | "Version"   |     |   |   |   |
| Version  | version of the  | String |        |             |     |   |   |   |
| (o       | S4PA dataset    |        |        |             |     |   |   |   |
| ptional) |                 |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| FTP Push | Include to      | Fixed  | ASCII\ | 'FTP Push:  |     |   |   |   |
| (o       | request that    | String | (16 B) | Enable'     |     |   |   |   |
| ptional) | the associated  |        |        |             |     |   |   |   |
|          | granule be      |        |        |             |     |   |   |   |
|          | pushed to the   |        |        |             |     |   |   |   |
|          | SSE             |        |        |             |     |   |   |   |
|          | automatically   |        |        |             |     |   |   |   |
|          | when the event  |        |        |             |     |   |   |   |
|          | is triggered.   |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| sftp     | Granules and    | Fixed  | ASCII  | 'sftp:      |     |   |   |   |
|          | distribution    | String |        | Enable'     |     |   |   |   |
| (o       | notice are both |        | (11 B) |             |     |   |   |   |
| ptional) | pushed to a     |        |        |             |     |   |   |   |
|          | designated SSE  |        |        |             |     |   |   |   |
|          | host using      |        |        |             |     |   |   |   |
|          | Secure FTP.     |        |        |             |     |   |   |   |
|          |                 |        |        |             |     |   |   |   |
|          | See Section 4.7 |        |        |             |     |   |   |   |
|          | for conditions  |        |        |             |     |   |   |   |
|          | for using this  |        |        |             |     |   |   |   |
|          | distribution    |        |        |             |     |   |   |   |
|          | type.           |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| FTP      | Host Name to    | Va     | ASCII\ | e.g.,       |     |   |   |   |
| Host\    | which the       | riable | (89 B) |             |     |   |   |   |
| (        | granule is to   | String |        | 'FTP Host:  |     |   |   |   |
| required | be pushed.      |        |        | cloud.jp    |     |   |   |   |
| only     |                 |        |        | l.nasa.gov' |     |   |   |   |
| with FTP |                 |        |        |             |     |   |   |   |
| Push or  |                 |        |        |             |     |   |   |   |
| sftp)    |                 |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| FTP      | Directory       | Va     | ASCII\ | e.g., 'FTP  |     |   |   |   |
| Des      | Location to     | riable | (1040  | D           |     |   |   |   |
| tination | which the       | String | B)^3^  | estination: |     |   |   |   |
| (        | granule (and,   |        |        | /           |     |   |   |   |
| required | for sftp,       |        |        | usr/xx/yy/' |     |   |   |   |
| only     | distribution    |        |        |             |     |   |   |   |
| with FTP | notice) should  |        |        |             |     |   |   |   |
| Push or  | be pushed.      |        |        |             |     |   |   |   |
| sftp)    |                 |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| start    | Instruction for | Fixed  | ASCII  | 'start      |     |   |   |   |
| date     | subscription to | String |        | date:       |     |   |   |   |
|          | begin on and    |        | (28 B) | MM/DD/      |     |   |   |   |
|          | include the     |        |        | YYYY-HH:MM' |     |   |   |   |
|          | specified start |        |        |             |     |   |   |   |
|          | date.           |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| ex       | Instruction for | Fixed  | ASCII  | 'expiration |     |   |   |   |
| piration | subscription to | String |        | date:       |     |   |   |   |
| date     | include and end |        | (33 B) | MM/DD/      |     |   |   |   |
|          | on the          |        |        | YYYY-HH:MM' |     |   |   |   |
|          | specified       |        |        |             |     |   |   |   |
|          | expiration      |        |        |             |     |   |   |   |
|          | date.           |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+
| Q        | A freeform text | Va     | ASCII\ |             |     |   |   |   |
| ualifier | string          | riable | (1024  |             |     |   |   |   |
| S        | containing a    | String | B)     |             |     |   |   |   |
| tatement | set of one or   |        |        |             |     |   |   |   |
|          | more logical    |        |        |             |     |   |   |   |
| (o       | comparison      |        |        |             |     |   |   |   |
| ptional) | statements      |        |        |             |     |   |   |   |
|          | ANDed together. |        |        |             |     |   |   |   |
|          |                 |        |        |             |     |   |   |   |
|          | Temporal        |        |        |             |     |   |   |   |
|          | qualifiers are  |        |        |             |     |   |   |   |
|          | currently       |        |        |             |     |   |   |   |
|          | supported.      |        |        |             |     |   |   |   |
|          | Additional      |        |        |             |     |   |   |   |
|          | qualifications  |        |        |             |     |   |   |   |
|          | will be         |        |        |             |     |   |   |   |
|          | implemented at  |        |        |             |     |   |   |   |
|          | request of the  |        |        |             |     |   |   |   |
|          | SSE, given at   |        |        |             |     |   |   |   |
|          | least one       |        |        |             |     |   |   |   |
|          | month\'s        |        |        |             |     |   |   |   |
|          | notice.         |        |        |             |     |   |   |   |
+----------+-----------------+--------+--------+-------------+-----+---+---+---+

^1^Field length includes a content category, a colon, 1 blank, and a
value string.

^2^Angle brackets ("\<" and "\>") enclose user-provided information
(userid, Datatype, and free text).

^3^FTP Destination consists of path name and file name, in which the
path cannot exceed 254B and total cannot exceed 1040B.

### 4.3.2 Subscription Request Acknowledgment

The DISC operators use the subscription acknowledgment email to confirm
receipt of a new subscription request or update or cancellation of an
existing subscription. The format and content of the Subscription
Request Acknowledgment are defined in Table 4.3.2-1. The original
request message is retained for possible future reference. These email
messages are created manually by a DISC operator.

Table 4.3.2-1. Format of Subscription Request Acknowledgment^1^

+----------+---------------------+------+--------+-------------------+
| Message  | Description         | Type | Fo     | Content with      |
| Field    |                     |      | rmat/\ | Value             |
|          |                     |      | Max    |                   |
|          |                     |      | Size   |                   |
|          |                     |      | (      |                   |
|          |                     |      | Bytes) |                   |
+----------+---------------------+------+--------+-------------------+
| Email    | Describes purpose   | Vari | ASCII\ | 'Data             |
| Subject  | of message.         | able | (256   | Subscription      |
|          |                     | St   | B)     | Request           |
|          |                     | ring |        | Acknowledgment'   |
+----------+---------------------+------+--------+-------------------+
| All      | The original        | Vari | ASCII\ | N/A               |
| fields   | Subscription        | able | (2812  |                   |
| as in    | Re                  | St   | B)     |                   |
| primary  | quest/Update/Cancel | ring |        |                   |
| message  | Email message       |      |        |                   |
|          | fields are included |      |        |                   |
|          | for reference       |      |        |                   |
+----------+---------------------+------+--------+-------------------+
| Status   | DISC operator       | Vari | ASCII  | 'status:          |
|          | provided text       | able |        | accepted'         |
|          | indicating the      | St   | (256   |                   |
|          | results of the      | ring | B) ^2^ | OR                |
|          | attempt to insert,  |      |        |                   |
|          | update, or cancel a |      |        | 'status: failed;  |
|          | subscription.       |      |        | \<free text\>'    |
|          |                     |      |        |                   |
|          |                     |      |        | example of \<free |
|          |                     |      |        | text\>:\          |
|          |                     |      |        | matching          |
|          |                     |      |        | subscribable      |
|          |                     |      |        | event description |
|          |                     |      |        | could not be      |
|          |                     |      |        | found             |
+----------+---------------------+------+--------+-------------------+
| Subscr   | The ID generated by | Fi   | ASCII\ | 'SubscriptionID:  |
| iptionID | the S4PA when the   | xed\ | (24 B) | NNNNNNNN',        |
|          | subscription is     | St   | ^2^    |                   |
|          | successfully        | ring |        | where NNNNNNNN is |
|          | entered. Used for   |      |        | an integer        |
|          | subscription        |      |        |                   |
|          | cancellations or    |      |        |                   |
|          | updates via Email   |      |        |                   |
|          | to the DISC         |      |        |                   |
|          | Operator.           |      |        |                   |
+----------+---------------------+------+--------+-------------------+

^1^This table defines contents in addition to the contents of the
preceding request message.

^2^This field length includes a content category, a colon, 1 blank, and
a value string.

### 4.3.3 Subscription Update

Update of an existing subscription is accomplished by supplying the
Subscription ID to the DISC operator and supplying the parameters to be
changed. The format and content of the Subscription Update email message
are defined in Table 4.3.3-1. Content of this message should be supplied
in the request defined in the table, for consistency and to allow for
automation. Each message field begins on a new line.

Table 4.3.3-1. Subscription Update Format

+---------+-----------------------+----------+--------+-----------+---+---+
| Message | Description           | Type     | F      | Value or\ |   |   |
| Field   |                       |          | ormat/ | Content   |   |   |
|         |                       |          | Max    | with      |   |   |
|         |                       |          | Size   | Value     |   |   |
|         |                       |          | (      |           |   |   |
|         |                       |          | bytes) |           |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Subject | Subject of message    | Fixed    | ASCII  | 'QA Data  |   |   |
| of      | identifies the        | String   |        | Sub       |   |   |
| email   | purpose of the        |          | (32 B) | scription |   |   |
| message | message               |          |        | Update'   |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Note:   |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| fo      |                       |          |        |           |   |   |
| llowing |                       |          |        |           |   |   |
| rows    |                       |          |        |           |   |   |
| define  |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| body of |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| email   |                       |          |        |           |   |   |
| m       |                       |          |        |           |   |   |
| essage. |                       |          |        |           |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Subsc   | The Subscription ID   | Variable | ASCII  | 'Update:  |   |   |
| ription | returned by the DISC  | String   |        | N         |   |   |
| ID      | in the Subscription   |          | (16 B  | NNNNNNN', |   |   |
|         | Request               |          | )      |           |   |   |
|         | Acknowledgment.       |          |        | where     |   |   |
|         |                       |          |        | NNNNNNNN  |   |   |
|         |                       |          |        | is the    |   |   |
|         |                       |          |        | Sub       |   |   |
|         |                       |          |        | scription |   |   |
|         |                       |          |        | ID        |   |   |
|         |                       |          |        | (integer) |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Dataset | Dataset short name    | Variable | ASCII  | Example:  |   |   |
| Identif | and version ID        | String   |        | AIR       |   |   |
| ication |                       |          | (32 B  | X2RET.005 |   |   |
|         |                       |          | )      |           |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Update  | Current value of      | Variable | ASCII  | e.g.,     |   |   |
| \<      | field to be changed   | String   |        | 'Update   |   |   |
| field\> | in the existing       |          |        | E         |   |   |
| From^1^ | subscription.         |          |        | xpiration |   |   |
|         |                       |          |        | Date      |   |   |
|         |                       |          |        | From:     |   |   |
|         |                       |          |        | MM/DD/YY  |   |   |
|         |                       |          |        | YY-HH:MM' |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Update  | New value of field to | Variable | ASCII  | e.g.,     |   |   |
| \<      | be used when updating | String   |        | 'Update   |   |   |
| field\> | the subscription.     |          |        | E         |   |   |
| To^1^   |                       |          |        | xpiration |   |   |
|         |                       |          |        | Date To:  |   |   |
|         |                       |          |        | MM/DD/YY  |   |   |
|         |                       |          |        | YY-HH:MM' |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+

^1^More than one set of update to/from fields may be included in the
request.

### 4.3.4 Subscription Cancellation

Cancellation of an existing subscription is accomplished by supplying
the Subscription ID to the operator and requesting cancellation. The
format and content of the Subscription Cancellation email message are
defined in Table 4.3.4-1. Content of this message should be supplied in
the request defined in the table, for consistency and to allow for
automation. Each message field begins on a new line.

Table 4.3.4-1. Subscription Cancellation Format

+---------+-----------------------+----------+--------+-----------+---+---+
| Message | Description           | Type     | F      | Value or\ |   |   |
| Field   |                       |          | ormat/ | Content   |   |   |
|         |                       |          | Max    | with      |   |   |
|         |                       |          | Size   | Value     |   |   |
|         |                       |          | (      |           |   |   |
|         |                       |          | bytes) |           |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Subject | Subject of message    | Fixed    | ASCII  | 'QA Data  |   |   |
| of      | identifies the        | String   |        | Sub       |   |   |
| email   | purpose of the        |          | (32 B) | scription |   |   |
| message | message               |          |        | Canc      |   |   |
|         |                       |          |        | ellation' |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Note:   |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| fo      |                       |          |        |           |   |   |
| llowing |                       |          |        |           |   |   |
| rows    |                       |          |        |           |   |   |
| define  |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| body of |                       |          |        |           |   |   |
| the     |                       |          |        |           |   |   |
| email   |                       |          |        |           |   |   |
| m       |                       |          |        |           |   |   |
| essage. |                       |          |        |           |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+
| Subsc   | The Subscription ID   | Variable | ASCII  | 'Cancel:  |   |   |
| ription | returned by the DISC  | String   |        | N         |   |   |
| ID      | in the Subscription   |          | (16 B) | NNNNNNN', |   |   |
|         | Request               |          |        |           |   |   |
|         | Acknowledgment. It is |          |        | where     |   |   |
|         | suggested that the    |          |        | NNNNNNNN  |   |   |
|         | original subscription |          |        | is the    |   |   |
|         | be included as the    |          |        | Sub       |   |   |
|         | body of the message   |          |        | scription |   |   |
|         | with the Cancel       |          |        | ID        |   |   |
|         | option specified.     |          |        | (integer) |   |   |
+---------+-----------------------+----------+--------+-----------+---+---+

### 4.3.5 Data Distribution

#### 4.3.5.1 Introduction

The triggering granule can be pushed (via FTP, SFTP or HTTP) to an
SSE-specified host address and directory or is available for pickup from
the online archive within S4PA. S4PA then automatically sends a
notification that includes the information needed for locating the file
(FTP push) or retrieving (FTP pull or HTTP Pull) the data. The
notification (Distribution Notification \[DN\]) may be sent via email,
FTP or SFTP. The DN may be a formatted message, PDR or merely a list of
URLs for the granule(s) available for pickup. An SSE-unique appendix of
this ICD describes the particular implementation for each SSE.

### 4.3.5.2 Metadata Distribution

A metadata file is available for distribution for each data granule. The
metadata may be furnished in either of two formats: (1) an eXtensible
Markup Language (XML) file with filename extension .xml or (2) an Object
Definition Language (ODL) file with filename extension .met. The default
format for distributed metadata is XML. Note: metadata in ODL is
available only if the metadata were provided to S4PA as ODL. The XML
schema for the S4PA granule level metadata is described in Section 5.6.

#### 4.3.5.3 Checksums

The S4PA supports two checksum types: POSIX Cyclic Redundancy Check
(CRC), commonly know as Unix CKSUM and MD5. The default checksum type is
the Unix CKSUM. CKSUM is expressed as a decimal integer, corresponding
to a 32-bit unsigned value. The MD5 checksum is used if it is specified
in the data provider Product Delivery record (PDR). Checksums are
applied to all non metadata files.

A checksum is computed on ingest into S4PA. If a checksum is included in
a data provider PDR then it is compared with the computed checksum for
verification. If a checksum verification does not succeed, the ingest
fails.

The checksum type furnished on distribution will be the type that is in
the S4PA metadata. Checksum information (checksum type, checksum origin,
and checksum value) will be included in the metadata file that is
distributed as well as in the Distribution Notice (DN).

If data compression is desired, it is the responsibility of the SSE.
Compression of files must be performed internally on the data provider's
side. S4PA will distribute the files in the format provided.

#### 4.3.5.4 Distribution Notice for Data Deliveries

The DN for FTP, SFTP, or HTTP deliveries includes file names and
locations for retrieving the data.

The file names are the names of the files as inserted into the S4PA
archive, or the LocalGranuleID if provided in the granule's metadata.
The LocalGranuleID overrides the native file name. If there is more than
one file in a granule, a sequence number is added to the end of the
LocalGranuleID for each file upon distribution. For multi-file
production data sets (PDS), the filenames are the original filenames
supplied by EDOS.

The DN for FTP, HTTP, or SFTP deliveries is defined in Table 4.3.5-1.
The DN is preceded by a delimited, DISC-configurable preamble.
Thereafter, each row of the table represents a single PARAMETER = VALUE
statement in the DN. Figure 4.3.5-1 is an example of the standard DN.
Figure 4.3.5-2 is a DN example that lists the URLS of the distributed
data. Figure 4.3.5-3 is an example of a DN for HTTP data distribution of
restricted data.

For the FTP or HTTP data deliveries, the e-mail subject of a
system-generated DN is "GES DISC Order Notification Order ID:
DN"NNNNNNNNNN-NNNN, where NNNNNNNNNN-NNNN is system-generated for
uniqueness.

The email address to which S4PA sends the DN is documented in an
Operations Agreement(s) between the GES DISC and the SSE. The DISC
operator uses this information from the Operations Agreement when
entering the subscription request.

For a SFTP data delivery, the DN file is secure-ftp'd to the same
directory as the data, as specified in the subscription request. The DN
file name is \<requestID\>.notifysftp, where \<requestID\> is a unique
alphanumeric string of maximum 50 characters.

In support of cross-DAAC ingest, the format of the DN is a Product
Delivery Record (PDR). This capability supports S4PA to ECS data
transfers with some configuration required within the ECS ingest
subsystem.

Table 4.3.5-1. Distribution Notice Contents (1 of 3)

+------------+-------------------+------+----------+-----------------+
| Keyword    | Description       | Type | Format/  | Keyword:        |
|            |                   |      | Size^1^  | Value^2^        |
|            |                   |      | (bytes)  |                 |
+------------+-------------------+------+----------+-----------------+
| (None,     | Each distribution | Free | NA       | The preamble    |
| optional   | notice message    | text |          | ends with a     |
| customized | begins with an    |      |          | special         |
| preamble)  | explanatory       |      |          | character       |
|            | preamble.         |      |          | sequence: a     |
|            |                   |      |          | blank line      |
|            | The preamble file |      |          | followed by a   |
|            | is specific to    |      |          | line of 10      |
|            | the DAAC, to the  |      |          | \"+\"           |
|            | delivery media    |      |          | characters      |
|            | type and to       |      |          | followed by     |
|            | success or        |      |          | another blank   |
|            | failure of the    |      |          | line. The       |
|            | delivery. The     |      |          | preamble shall  |
|            | preamble ends     |      |          | not contain     |
|            | with a special    |      |          | keyword plus    |
|            | character         |      |          | colon sequences |
|            | sequence: a blank |      |          | or \"+\" signs. |
|            | line followed by  |      |          |                 |
|            | a line of 10      |      |          |                 |
|            | \"+\" characters  |      |          |                 |
|            | followed by       |      |          |                 |
|            | another blank     |      |          |                 |
|            | line. To parse    |      |          |                 |
|            | the message, the  |      |          |                 |
|            | parser can be     |      |          |                 |
|            | written either to |      |          |                 |
|            | skip the          |      |          |                 |
|            | delimiter portion |      |          |                 |
|            | or to search for  |      |          |                 |
|            | KEYWORD:          |      |          |                 |
|            | (distribution     |      |          |                 |
|            | notice keyword as |      |          |                 |
|            | defined in this   |      |          |                 |
|            | table followed by |      |          |                 |
|            | a colon).         |      |          |                 |
+------------+-------------------+------+----------+-----------------+
| USERSTRING | USERSTRING as     | Vari | ASCII    | 'USERSTRING:    |
|            | documented in     | able |          | \<value\>\'     |
|            | Operations        | St   | (255 B)  |                 |
|            | Agreements        | ring |          |                 |
|            | between GES DISC  |      |          |                 |
|            | and SSE.          |      |          |                 |
+------------+-------------------+------+----------+-----------------+

Table 4.3.5-1. Distribution Notice Contents (2 of 3)

+----------+-----------------+---+-----+---------+--------------+---+---+
| Keywords | Description     | T |     | Format/ | Keyword:     |   |   |
|          |                 | y |     | Size^1^ | Value^2^     |   |   |
|          |                 | p |     | (bytes) |              |   |   |
|          |                 | e |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| FINISHED | Time at which   |   | Fi  | ASCII   | 'FINISHED:   |   |   |
|          | S4PA stages     |   | xed |         | MM/DD/YYYY   |   |   |
|          | data for pull   |   |     | (29 B   |              |   |   |
|          | by the SSE or   |   | Str | in      | \<blan       |   |   |
|          | FTP's to the    |   | ing | cluding | k\>HH:MM:SS' |   |   |
|          | SSE's host      |   |     | 19 B    |              |   |   |
|          | directory.      |   |     | for     |              |   |   |
|          |                 |   |     | date    |              |   |   |
|          |                 |   |     | and     |              |   |   |
|          |                 |   |     | time)   |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| \[Blank  | ASCII line feed |   |     |         |              |   |   |
| line\]   | code 010        |   |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| M        | This type       |   | Va  | ASCII   | 'MEDIATYPE:  |   |   |
| EDIATYPE | indicates data  |   | ria |         | \<type\>'    |   |   |
|          | transmission    |   | ble | (18 B   | where        |   |   |
|          | via FTP pull,   |   | Str | in      | \<type\> is  |   |   |
|          | FTP push, HTTP  |   | ing | cluding | FtpPush,     |   |   |
|          | pull, or SFTP.  |   |     | 7 B for | FtpPull,     |   |   |
|          |                 |   |     | \<      | HTTPPull or  |   |   |
|          |                 |   |     | type\>) | sftp         |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| FTPHOST  | Name or IP      | V |     | ASCII   | e.g.,        |   |   |
|          | address of      | a |     |         |              |   |   |
|          | workstation     | r |     | (73 B   | 'FTPHOST:    |   |   |
|          | where data were | i |     | in      | shark'       |   |   |
|          | made available  | a |     | cluding |              |   |   |
|          | for FTP pull by | b |     | 64 B    |              |   |   |
|          | the SSE.        | l |     | for     |              |   |   |
|          |                 | e |     | host    |              |   |   |
|          |                 | S |     | name or |              |   |   |
|          |                 | t |     | IP      |              |   |   |
|          |                 | r |     | a       |              |   |   |
|          |                 | i |     | ddress) |              |   |   |
|          |                 | n |     |         |              |   |   |
|          |                 | g |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| FTPDIR   | File directory  | V |     | ASCII   | 'FTPDIR:\    |   |   |
|          | location        | a |     |         | \            |   |   |
|          | without         | r |     | (263 B  | <directory\> |   |   |
|          | filename. If    | i |     | max     | or MULTIPLE' |   |   |
|          | the DN contains | a |     | in      |              |   |   |
|          | reference to a  | b |     | cluding |              |   |   |
|          | single granule  | l |     | 8 B for |              |   |   |
|          | then the        | e |     | F       |              |   |   |
|          | directory will  | S |     | TPDIR:) |              |   |   |
|          | be listed in    | t |     |         |              |   |   |
|          | this field. If  | r |     |         |              |   |   |
|          | multiple        | i |     |         |              |   |   |
|          | granules are    | n |     |         |              |   |   |
|          | listed in the   | g |     |         |              |   |   |
|          | DN then this    |   |     |         |              |   |   |
|          | field will be   |   |     |         |              |   |   |
|          | populated with  |   |     |         |              |   |   |
|          | MULTIPLE (even  |   |     |         |              |   |   |
|          | if the granules |   |     |         |              |   |   |
|          | reside in the   |   |     |         |              |   |   |
|          | same            |   |     |         |              |   |   |
|          | directory).     |   |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| MEDIA    | Media number    | F |     | ASCII\  | 'MEDIA 1 of  |   |   |
|          | within request  | i |     | (12 B)  | 1'           |   |   |
|          |                 | x |     |         |              |   |   |
|          |                 | e |     |         |              |   |   |
|          |                 | d |     |         |              |   |   |
|          |                 | S |     |         |              |   |   |
|          |                 | t |     |         |              |   |   |
|          |                 | r |     |         |              |   |   |
|          |                 | i |     |         |              |   |   |
|          |                 | n |     |         |              |   |   |
|          |                 | g |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| MEDIAID  | No value        | F |     | ASCII\  | 'MEDIAID:'   |   |   |
|          | provided.       | i |     | (8 B)   |              |   |   |
|          |                 | x |     |         |              |   |   |
|          |                 | e |     |         |              |   |   |
|          |                 | d |     |         |              |   |   |
|          |                 | S |     |         |              |   |   |
|          |                 | t |     |         |              |   |   |
|          |                 | r |     |         |              |   |   |
|          |                 | i |     |         |              |   |   |
|          |                 | n |     |         |              |   |   |
|          |                 | g |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| \[Blank  | ASCII line feed |   |     |         |              |   |   |
| line\]   | code 010        |   |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| GRANULE  | Indicates start | V |     | ASCII   | 'GRANULE:    |   |   |
|          | of a data       | a |     |         | \<UR\>'      |   |   |
|          | granule. Value  | r |     | (98 B   |              |   |   |
|          | is the UR for   | i |     | in      |              |   |   |
|          | that data       | a |     | cluding |              |   |   |
|          | granule.        | b |     | 89 B    |              |   |   |
|          | (Repeat for     | l |     | for UR) |              |   |   |
|          | each granule.)  | e |     |         |              |   |   |
|          | (Indent by 1    | S |     |         |              |   |   |
|          | tab.)           | t |     |         |              |   |   |
|          |                 | r |     |         |              |   |   |
|          |                 | i |     |         |              |   |   |
|          |                 | n |     |         |              |   |   |
|          |                 | g |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| ESDT     | Specifies the   | F |     | ASCII   | 'ESDT:       |   |   |
|          | short name and  | i |     |         | \<Datatype   |   |   |
|          | Version ID (001 | x |     | (18 B   | ShortName.   |   |   |
|          | through 255) of | e |     | inc     | VersionID\>' |   |   |
|          | the datatype.   | d |     | luding\ |              |   |   |
|          | (Repeat for     | S |     | 8 B for |              |   |   |
|          | each granule.)  | t |     | the     |              |   |   |
|          | (Indent by 1    | r |     | ESDT\   |              |   |   |
|          | tab.)           | i |     | name    |              |   |   |
|          |                 | n |     | and 3 B |              |   |   |
|          |                 | g |     | for the |              |   |   |
|          |                 |   |     | v       |              |   |   |
|          |                 |   |     | ersion) |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| \[Blank  | ASCII line feed |   |     |         |              |   |   |
| line\]   | code 010        |   |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| FILENAME | The filename    | V |     | ASCII.  | 'FILENAME:   |   |   |
|          | for a file in   | a |     |         | \<name\>' or |   |   |
|          | the present     | r |     | 255     | \'N/A\'      |   |   |
|          | granule. Set to | i |     | bytes   |              |   |   |
|          | the             | a |     | max if  |              |   |   |
|          | LocalGranuleID  | b |     | LocalGr |              |   |   |
|          | metadata        | l |     | anuleID |              |   |   |
|          | parameter (plus | e |     | is not  |              |   |   |
|          | sequence number | S |     | used.   |              |   |   |
|          | if more than    | t |     |         |              |   |   |
|          | one file in a   | r |     | For     |              |   |   |
|          | granule), if    | i |     | L       |              |   |   |
|          | available.      | n |     | ocalGra |              |   |   |
|          | Otherwise, set  | g |     | nuleID, |              |   |   |
|          | to the file     |   |     | 80 B    |              |   |   |
|          | name as         |   |     | max     |              |   |   |
|          | inserted into   |   |     | (plus   |              |   |   |
|          | the S4PA        |   |     | seq     |              |   |   |
|          | archive.        |   |     | uential |              |   |   |
|          | (Repeat for     |   |     | ide     |              |   |   |
|          | each file in    |   |     | ntifier |              |   |   |
|          | present         |   |     | for     |              |   |   |
|          | granule.)\      |   |     | mul     |              |   |   |
|          | (Indent by 2    |   |     | ti-file |              |   |   |
|          | tabs.)          |   |     | gra     |              |   |   |
|          |                 |   |     | nules). |              |   |   |
|          | Note: Filename  |   |     |         |              |   |   |
|          | extensions for  |   |     |         |              |   |   |
|          | metadata files  |   |     |         |              |   |   |
|          | may be either   |   |     |         |              |   |   |
|          | .met or .xml.   |   |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+
| FILESIZE | The file's size | V |     | ASCII   | 'FILESIZE:   |   |   |
|          | in Bytes.       | a |     |         | \<size\>'\   |   |   |
|          |                 | r |     | (22 B   | where size   |   |   |
|          | (Repeat for     | i |     | in      | is a decimal |   |   |
|          | each file in    | a |     | cluding | value        |   |   |
|          | present         | b |     | 12 B    |              |   |   |
|          | granule.)       | l |     | for     |              |   |   |
|          | (Indent by 2    | e |     | file    |              |   |   |
|          | tabs.)          | S |     | size)   |              |   |   |
|          |                 | t |     |         |              |   |   |
|          |                 | r |     |         |              |   |   |
|          |                 | i |     |         |              |   |   |
|          |                 | n |     |         |              |   |   |
|          |                 | g |     |         |              |   |   |
+----------+-----------------+---+-----+---------+--------------+---+---+

**Table 4.3.5-1.** Distribution Notice Contents (3 of 3)

+-----------+-----------------+------+---------+---------------+---+---+
| Keyword   | Description     | Type | Format/ | Keyword:      |   |   |
|           |                 |      | Size^1^ | Value^2^      |   |   |
|           |                 |      | (bytes) |               |   |   |
+-----------+-----------------+------+---------+---------------+---+---+
| FILE      | The checksum    | Vari | ASCII   | 'F            |   |   |
| CKSUMTYPE | type of the     | able |         | ILECKSUMTYPE: |   |   |
|           | FILECKSUMVALUE  | St   | (up to  | \<checksum    |   |   |
|           | parameter for   | ring | 79 B    | type\>' where |   |   |
|           | the file.       |      | in      | checksum type |   |   |
|           |                 |      | cluding | is 'CKSUM' or |   |   |
|           | Checksums are   |      | up to   | 'MD5'         |   |   |
|           | provided only   |      | 64 B    |               |   |   |
|           | if the SSE is   |      | for     |               |   |   |
|           | on the DAAC's   |      | c       |               |   |   |
|           | checksum        |      | hecksum |               |   |   |
|           | distribution    |      | type)   |               |   |   |
|           | list.           |      |         |               |   |   |
+-----------+-----------------+------+---------+---------------+---+---+
| FILEC     | The value of    | Vari | ASCII   | 'FI           |   |   |
| KSUMVALUE | the checksum    | able |         | LECKSUMVALUE: |   |   |
|           | recorded with   | st   | (up to  | \<numeric     |   |   |
|           | the file in the | ring | 271 B   | value, signed |   |   |
|           | S4PA. Present   | repr | in      | or            |   |   |
|           | only if a       | esen | cluding | unsigned\>'   |   |   |
|           | FILECKSUMTYPE   | ting | up to   |               |   |   |
|           | is provided.    | si   | 255 for | or, for MD5,  |   |   |
|           | The checksum is | gned | ch      | 'FI           |   |   |
|           | verified before | or   | ecksum) | LECKSUMVALUE: |   |   |
|           | distribution if | unsi |         | \             |   |   |
|           | required by the | gned |         | <32-character |   |   |
|           | DAAC's Checksum | int  |         | hexadecimal   |   |   |
|           | Verification    | eger |         | string\>'     |   |   |
|           | Percentage      | or   |         |               |   |   |
|           | parameter.      | hex  |         |               |   |   |
|           |                 | adec |         |               |   |   |
|           | If the file is  | imal |         |               |   |   |
|           | delivered       | st   |         |               |   |   |
|           | compressed, the | ring |         |               |   |   |
|           | checksum value  | (    |         |               |   |   |
|           | furnished will  | with |         |               |   |   |
|           | be for the      | a    |         |               |   |   |
|           | uncompressed    | lpha |         |               |   |   |
|           | file.           | ch   |         |               |   |   |
|           |                 | arac |         |               |   |   |
|           |                 | ters |         |               |   |   |
|           |                 | all  |         |               |   |   |
|           |                 | l    |         |               |   |   |
|           |                 | ower |         |               |   |   |
|           |                 | c    |         |               |   |   |
|           |                 | ase) |         |               |   |   |
+-----------+-----------------+------+---------+---------------+---+---+
| \[blank   | ASCII line feed |      |         |               |   |   |
| line\]    | code 010        |      |         |               |   |   |
|           |                 |      |         |               |   |   |
|           | Follows each    |      |         |               |   |   |
|           | FILENAME /      |      |         |               |   |   |
|           | FILESIZE /      |      |         |               |   |   |
|           |                 |      |         |               |   |   |
|           | FILECKSUMTYPE / |      |         |               |   |   |
|           | FILECKSUMVALUE  |      |         |               |   |   |
|           | entry           |      |         |               |   |   |
+-----------+-----------------+------+---------+---------------+---+---+

^1^This field length includes a keyword, a colon, 1 blank, and a value
string.

^2^Angle brackets ("\<" and "\>") enclose information to be supplied by
S4PA at distribution time.

EXAMPLE ONLY EXAMPLE ONLY

++++++++++

ORDERID: DN1158690302-16442

REQUESTID: DN1158690302-16442

USERSTRING: FTP-Pull

FINISHED: 09/19/2006 18:25:02

MEDIATYPE: FtpPull

FTPHOST: acdisc.sci.gsfc.nasa.gov

FTPDIR: MULTIPLE

MEDIA 1 of 1

MEDIAID:

        GRANULE:<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pa/Aura_OMI_Level2G/OMTO3G/2006/OMI-Aura_L2G-OMTO3G_2006m0914_v002-2006m0915t173309.he5>

        ESDT: OMTO3G.000

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0914_v002-2006m0915t173309.he5

                FILESIZE: 157487881

                FILECKSUMTYPE: CKSUM

                FILECKSUMVALUE: 1355870891

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0914_v002-2006m0915t173309.he5.xml

                FILESIZE: 28490

        GRANULE:<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pa/Aura_OMI_Level2G/OMTO3G/2006/OMI-Aura_L2G-OMTO3G_2006m0913_v002-2006m0915t212633.he5>

        ESDT: OMTO3G.000

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0913_v002-2006m0915t212633.he5

                FILESIZE: 158908439

                FILECKSUMTYPE: CKSUM

                FILECKSUMVALUE: 671749716

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0913_v002-2006m0915t212633.he5.xml

                FILESIZE: 27478

        GRANULE:<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pa/Aura_OMI_Level2G/OMTO3G/2006/OMI-Aura_L2G-OMTO3G_2006m0915_v002-2006m0916t200747.he5>

        ESDT: OMTO3G.000

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0915_v002-2006m0916t200747.he5

                FILESIZE: 156607722

                FILECKSUMTYPE: CKSUM

                FILECKSUMVALUE: 1802961641

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0915_v002-2006m0916t200747.he5.xml

                FILESIZE: 28494

        GRANULE:<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pa/Aura_OMI_Level2G/OMTO3G/2006/OMI-Aura_L2G-OMTO3G_2006m0916_v002-2006m0917t165033.he5>

        ESDT: OMTO3G.000

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0916_v002-2006m0917t165033.he5

                FILESIZE: 148616910

                FILECKSUMTYPE: CKSUM

                FILECKSUMVALUE: 1484135560

                FILENAME:
OMI-Aura_L2G-OMTO3G_2006m0916_v002-2006m0917t165033.he5.xml

                FILESIZE: 27479

**Figure 4.3.5-1. Example Distribution Notice for a Subscription FTP or
SFTP Request**

EXAMPLE ONLY EXAMPLE ONLY

<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pats1/Aura_OMI_Level2/OMTO3.002/2006/262/OMI-Aura_L2-OMTO3_2006m0919t0654-o11592_v002-2006m0919t195853.he5>

<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pats1/Aura_OMI_Level2/OMTO3.002/2006/262/OMI-Aura_L2-OMTO3_2006m0919t0654-o11592_v002-2006m0919t195853.he5.xml>

<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pats1/Aura_OMI_Level2/OMTO3.002/2006/261/OMI-Aura_L2-OMTO3_2006m0918t0929-o11579_v002-2006m0919t195902.he5>

<ftp://acdisc.sci.gsfc.nasa.gov/data/s4pats1/Aura_OMI_Level2/OMTO3.002/2006/261/OMI-Aura_L2-OMTO3_2006m0918t0929-o11579_v002-2006m0919t195902.he5.xml>

### Figure 4.3.5-2. Example Distribution Notice for a List of URLs 

EXAMPLE ONLY EXAMPLE ONLY

ORDERID: DN1158696652-20707

REQUESTID: DN1158696652-20707

USERSTRING: XYZ123

FINISHED: 09/19/2006 20:10:52

MEDIATYPE: HTTPPull

FTPHOST: acdisc.sci.gsfc.nasa.gov

FTPDIR: /data/s4pats1/Aura_OMI_Level2/OMAERO.002/2006/261

MEDIA 1 of 1

MEDIAID:

   GRANULE:
<http://acdisc.sci.gsfc.nasa.gov/data/s4pats1/Aura_OMI_Level2/OMAERO.002/2006/261/OMI-Aura_L2-OMAERO_2006m0918t1426-o11582_v002-2006m0919t194004.he5>

   ESDT: OMAERO.002

       FILENAME:
OMI-Aura_L2-OMAERO_2006m0918t1426-o11582_v002-2006m0919t194004.he5

       FILESIZE: 28925630

       FILECKSUMTYPE: CKSUM

       FILECKSUMVALUE: 1370276651

       FILENAME:
OMI-Aura_L2-OMAERO_2006m0918t1426-o11582_v002-2006m0919t194004.he5.xml

       FILESIZE: 17079

**Figure 4.3.5-3. Example Distribution Notice for HTTP Request**

### 4.3.5.5 Electronic Distribution Failure Recovery

An FTP or SFTP Push of data from the S4PA may fail, leaving a partial
file in the designated SSE directory. The SSE's server should allow
overwrite of the partial file. File sizes provided in the S4PA
Distribution Notice can be checked against those on the SSE server.
Failure procedures should be covered in the Operations Agreement between
the SSE and the DISC.

It is suggested that the SSE have procedures in place for verifying that
all files required for a standard product processing run have been
received. This should cover the possibility that the files have been
pushed to the specified directory but the DN hasn't been received, or
that the subscription process itself has failed at some point because of
internal problems.

The SSE operator can then acquire the file(s) by using FTP pull or
request a re-shipment from S4PA. The operator uses the collection name
and other attributes (such as data date and time) provided in the
electronic notification to search for the required data.

The SSE may employ the S4PA Machine Request Interface (MRI) to search
and retrieve data from the S4PA archives. Specifications and
instructions for the MRI are found at
<http://discapps.gsfc.nasa.gov/wiki/Machine_Request_Interface>.

Non-fatal errors in the SFTP push of DNs to the SSE are retried. The SSE
should discuss subsequent recovery procedures with the DISC and the
procedures should be documented in the Operations Agreement.

## 4.4 Metadata Associated with SSE-Produced Collections

The correct transfer of metadata information for population of the S4PA
inventory is essential to the S4PA/SSE interface. The key mechanism for
ensuring correct transfer is a metadata template that contains the
metadata specification for files archived in S4PA. Each SSE may require
Metadata Configuration Files (MCFs) as templates for producing metadata
for data collections that are to be archived in S4PA (see Section 5.2).
Upon ingest, the metadata structures provided by the SSE will be
compared against an XML template for the given datatype. If the metadata
structure and content provided by the SSE is not consistent with the XML
template then the ingest will fail. The metadata file may be Object
Definition Language (ODL) text or eXtensible Markup Language (XML) and
may be produced by the SSE using any method the SSE deems appropriate.
Given the history and amount of effort put into metadata specifications
for existing collections, it is recommended that if the SSE uses MCFs
and the metadata population tools developed by ECS and distributed with
the SDP Toolkit that they continue to do so. If metadata modifications
are necessary for future collections (e.g., reprocessing) the SSE is
responsible for updating the MCFs or identifying an alternate means of
generating appropriate metadata within the production system.

The procedures by which an SSE obtains metadata templates from the GES
DISC must be agreed on and should be documented in Operations
Agreement(s) between the DISC and the particular SSE.

## 4.5 Transfer of Higher-Level Products to S4PA

The SSE makes available products for ingest by the S4PA. For each SSE,
these products are specified in the SSE-unique appendix of this ICD.
Data is transferred from the SSE to the S4PA by a Polling with Delivery
Record (PDR) mechanism. This section (Section 4.5) of this ICD provides
detailed specifications for this interface methodology.

The PDR interface is used to transfer the SSE's science data granule
products, metadata, and other appropriate products to S4PA. All products
supplied for ingest by S4PA must be compliant with EOSDIS format and
standards and be accompanied by S4PA conformant metadata. The transfer
protocol documented in this section must be used to ensure that S4PA can
associate files to the correct granules during ingest.

### 4.5.1 Overview of Polling Ingest Methodology

The purpose of the S4PA-SSE electronic interface is to support the
delivery of data files from the SSE to S4PA. To accommodate the polling
with delivery record interface, a single PDR server directory will be
identified for each SSE to S4PA interface. The data files and the
Product Delivery Records (PDRs) are placed on this server directory by
the SSE. At the end of the data exchange process, the SSE removes the
PDR, the PAN or PDRD file and where necessary the data from the server
directory.

The SSE makes the directory sub-tree available to S4PA with the
allowable privileges. The S4PA uses either of two file transfer methods
to retrieve the PDR and data from the SSE server directory. The standard
method is FTP. Secure transfer, using SFTP, is also available by prior
agreement between the SSE and the DISC (see Section 4.7 for a
description of available data exchange security options).

Implementation of the Polling with Delivery Record Ingest consists of
the following steps (Figure 4.5-1 shows the standard transfer method
using FTP):

> \(1\) The SSE places data files in specified locations on the PDR
> Server.
>
> \(2\) The SSE generates a PDR and places it on the PDR Server in a
> previously specified directory.
>
> \(3\) S4PA polls the PDR Server directory at operator-tunable
> intervals, detects a PDR, and acquires the PDR file via FTP or SFTP.
>
> \(4\) Once a PDR has been detected and acquired by S4PA, the PDR is
> validated. In the event that the PDR is invalid, S4PA automatically
> returns a Product Delivery Record Discrepancy (PDRD), via FTP (not
> SFTP), to an operator-configurable address provided by the SSE. If an
> error is detected in the PDR, processing is terminated and none of the
> specified files are transferred to the S4PA server for processing
> until a corrected PDR is received and successfully processed. If the
> PDR is valid, S4PA schedules to pull the files specified in the PDR
> using FTP or SFTP.
>
> \(5\) S4PA pulls the specified files from the PDR Server to be
> ingested or otherwise processed. The files are then archived.
>
> \(6\) S4PA sends a Production Acceptance Notification (PAN) to the SSE
> via FTP, SFTP, or email to an operator-configurable address provided
> by the SSE. The PAN reports either success or error found for each
> data type in the PDR.

\(7\) Upon determining that no further action can or should be taken
with respect to the PDR, the SSE deletes the PAN or PDRD, the PDR and if
necessary the associated data from the PDR server.

Address information and operator tunable parameters for the transfer of
the PDR, PDRD and PAN are documented for each individual SSE in an
Operations Agreement(s) between the DISC(s) and the SSE. Associated
procedures should be included in the appropriate DISC documentation of
procedures (e.g., on line). Examples include the SSE's unique
identifier, PDR server address and directory, e-mail addresses, contact
telephone numbers, and the time between S4PA Ingest receiving a failure
and sending a new PDRD/LONGPAN.

The Polling Ingest with PDR transfer mechanism is fully automated. In
the context of this transfer mechanism, the following sections address
the PDR, PDRD and PAN. Error conditions and error handling/backup
methods are then discussed.

Sections 4.5.2 through 4.5.5 give details of this interface methodology
specific to the S4PA-SSE interface. A quick reference summary is
provided in Section 5.5.

![](media/image2.wmf)

**Figure 4.5-1. Polling with Delivery Record File Transfer Mechanism**

**(standard method using FTP or SFTP available by prior agreement)**

2.  []{#__RefHeading___Toc15378938 .anchor}PDR File Naming Convention

The PDR file name must be unique within the PDR Server directory and
have a \".PDR\" file extension. The file name with path must be no
longer than 255 characters. For the purpose of error tracking, S4PA
recommends that the file name contain the file creation date as part of
the file name. PDRD and PAN messages returned by S4PA will use the same
name as the reference PDR except that the file name extension will be
changed to ".PDRD" or \".PAN\" respectively. PDR File Naming Convention
examples are depicted in Table 4.5-1 and Figure 4.5-2. Note that the SSE
designation is free text that may consist of any identifier that has
meaning to the SSE operators. The \".PDR\" as a filename extension is
the only requirement for the S4PA ingest processing (except that there
must be some part of the file name preceding the extension).

**Table 4.5-1. Example File Naming Convention for SSE Product Delivery
Record**

  ----------------- ---------------- ---------------- --------------------
  Field             Description      Format/ Type\    Value
                                     Max Size (Bytes) 

  SSE Designation   Identifier       ASCII String     Free text
                    meaningful for   (21)             
                    the SSE                           
                    (DataProvider)                    

  PDR Creation Date Date when PDR    ASCII (15)       .yyyymmddhhmmss
                    was created                       
                    (optional)                        

  Filename          Extension for    ASCII String (4) '.PDR'
  extension         PDR filename                      
                    (required)                        
  ----------------- ---------------- ---------------- --------------------

EXAMPLE ONLY EXAMPLE ONLY

FILENAME = MLS123.20010719123845.PDR

Figure 4.5-2. Example PDR File Naming Convention

### 4.5.3 Product Delivery Record (PDR)

######################################### 4.5.3.1 SSE PDR Server Directory  {#sse-pdr-server-directory .unnumbered}

The purpose of the PDR is to announce the availability of data and
associated files for transfer to S4PA. It contains file names, file
size, data types, data type versions, and location. While a PDR may
contain references to multiple datatypes, all datatypes referenced in a
single PDR must be of the same data processing level (e.g., Level 1,
Level 2, or Level 3). The PDR is generated by the SSE and placed in a
pre-specified directory on the PDR Server after the files referenced in
the PDR have been placed in their respective directories. The address of
the SSE\'s PDR Server and the directory name are operator-configurable
items that are documented in an Operations Agreement(s) between the DISC
and the SSE. S4PA regularly polls the PDR Server,
detects/acquires/validates the PDR, and pulls the data.

######################################### 4.5.3.2 PDR Format  {#pdr-format .unnumbered}

The PDR is comprised of Parameter-Value Language (PVL) Statements. The
required PDR PVL parameters are depicted in Table 4.5-2. The PDR PVL
statements are ASCII strings, having at most 256 characters, in the
form: \"Parameter = Value.\" Each statement ends with a semicolon.
Comments can be included if preceded by /\* and closed with \*/. The
Value strings shown in Table 4.5-2 include pre-defined values shown by
single quote marks and the SSE determined values which include ASCII
strings, International Standards Organization (ISO) times, and integers
to be filled in with appropriate values by the SSE processor during PDR
creation.

An example PDR PVL file is provided in Figure 4.5-3. PDRs are validated
to check that all required fields contain valid values and that the
format of the PDR is correct and consistent with the standards. PDRs
that adhere to the defined message standards shown in Table 4.5-2 are
accepted and processed. Additional information on PVL valid characters
can be found in Parameter Value Language Specification (document
referenced in Section 2.3.1).

#### 4.5.3.3 Checksums

The SSE may include a checksum for any science, HDF or HDF-EOS file in
the PDR. Two checksum types are supported. Type CKSUM is a 32-bit
unsigned value produced by the Unix cksum command. The CKSUM type is the
POSIX-CRC checksum. Type MD5 is the 128-bit Message Digest output of the
RFC 1321 algorithm, represented as a 32-character hexadecimal string
(with alpha characters all lower case).

(For details of the algorithm see RFC 1321 at
http://www.faqs.org/rfcs/rfc1321.html.)

If a checksum is included in the data provider PDR then S4PA will verify
checksums upon ingest. If checksum verification does not succeed, data
ingest fails.

If the SSE does not provide checksums in the PDR, the S4PA computes and
record checksums for the SSE science files using a UNIX algorithm.

Table 4.5-2. Product Delivery Record PVL Parameters (1 of 3)

  -------------------- ------------------------- ---------- ------------ ------------------------------
  **Parameter**        **Description**           **Type**   **Format/\   **Value**
                                                            Max Size     
                                                            (Bytes)**    

  ORIGINATING_SYSTEM   Originator of delivery    Variable   ASCII\       Free text ,e.g\
                       record.\                  String     (20 Bytes)   MLS123 (not an IP address)
                       Identifier for the SSE                            

  TOTAL_FILE_COUNT     Total number of files to  Integer    ASCII\       1 to 9999
                       transfer                             (4 Bytes)    

  EXPIRATION_TIME      SSE designated ISO time   Fixed      ASCII\       GMT in the
                       for deletion of data from String     (20          format:yyyy-mm-ddThh:mm:ssZ,
                       originating system. This             Bytes)^2^    where T indicates the start of
                       parameter is specified in                         time information and Z
                       the Operations                                    indicates \"Zulu\" time
                       Agreement(s) between the                          
                       DISC and the SSE                                  

  OBJECT               Start of file group       Fixed      ASCII\       \'FILE_GROUP\'
                       parameters (repeat for    String     (10 Bytes)   
                       each DATA_TYPE/group of                           
                       files). Note that                                 
                       associated browse                                 
                       granule, quality                                  
                       assessment, and metadata                          
                       files must be in the same                         
                       FILE_GROUP as the data                            
                       file(s) to ensure that                            
                       they will be linked to                            
                       the data when they are                            
                       ingested into S4PA                                

  DATA_TYPE            S4PA implemented data     Variable   ASCII\       ESDT for science data granule
                       type for science data     String     (8 Bytes)    or a generic data type
                       granule. There can be                             
                       only one DATA_TYPE in a                           
                       FILE_GROUP                                        

  DATA_VERSION         Data type version number  Integer    ASCII\       3-digit version number
                       (if this is omitted,                 (3 Bytes)    
                       system will default to                            
                       the last version                                  
                       installed in S4PA)                                

  NODE_NAME            Name of network node on   Variable   ASCII\       Name or IP address
                       which the files in the    String     (64 Bytes)   
                       FILE_GROUP are staged for                         
                       pickup                                            

  OBJECT               Start of file parameters  Fixed      ASCII\       \'FILE_SPEC\'
                       for science data file     String     (9 Bytes)    
                       (repeat for all files in                          
                       the granule)                                      

  FILE_TYPE            File type of the data     Variable   ASCII\       \'HDF-EOS\', or \'HDF\', or
                                                 String     (20 Bytes)   \'SCIENCE\', or \'ALGORITHM\'

  FILE_SIZE            Length of file in bytes   Unsigned   ASCII\       \< 2 GB
                                                 32 bit     (10 Bytes)   
                                                 Integer                 
  -------------------- ------------------------- ---------- ------------ ------------------------------

**Table 4.5-2. Product Delivery Record PVL Parameters (2 of 3)**

  ------------------ -------------------- ---------- -------------- ---------------------
  **Parameter**      **Description**      **Type**   **Format/Max   **Value**
                                                     Size (Bytes)** 

  DIRECTORY_ID       File directory       Variable   ASCII^1^       Directory
                     location (i.e., a    String                    
                     path name)                                     

  FILE_ID            File name of granule Variable   ASCII^1^       Science data file
                     as defined by the    String                    name
                     SSE. Used by S4PA                              
                     for distribution if                            
                     there is no                                    
                     LocalGranuleID in                              
                     the metadata                                   

  FILE_CKSUM_TYPE    Type of checksum,    Variable   ASCII\         \'CKSUM\' or \'MD5\'
                     presently either     String     (max 64 Bytes) 
                     32-bit unsigned                                
                     value (type CKSUM)                             
                     or MD5. Optional and                           
                     allowed only for                               
                     science files (e.g.,                           
                     FILE_TYPE = SCIENCE,                           
                     HDF, or HDF-EOS, but                           
                     not .met, .xml, DAP,                           
                     BROWSE                                         

  FILE_CKSUM_VALUE   Checksum value.      Variable   ASCII\         \'\<signed or
                     Required if the      String     (max 255       unsigned numeric
                     optional                        Bytes)         string\>\' or, for
                     FILE_CKSUM_TYPE                                MD5, \'\<32 character
                     parameter is present                           hexadecimal
                                                                    string\>\' (with
                                                                    alpha characters all
                                                                    lower case)

  END_OBJECT         End of parameters    Fixed      ASCII\         \'FILE_SPEC\'
                     for data file        string     (9 Bytes)      

  OBJECT             Start of file        Fixed      ASCII\         \'FILE_SPEC\'
                     parameters for a     string     (9 Bytes)      
                     metadata file. There                           
                     can be multiple                                
                     metadata files in a                            
                     FILE_GROUP, but only                           
                     one per FILE_SPEC.                             
                     Repeat FILE_SPEC for                           
                     each metadata file                             
                     type needed in the                             
                     file group                                     

  FILE_TYPE          Metadata file type   Variable   ASCII\         \'METADATA\' or
                                          String     (20 Bytes)     \'BROWSE_METADATA\'
                                                                    or \'QA_METADATA\'

  FILE_SIZE          Length of file in    Unsigned   ASCII\         \< 2 GB
                     bytes                32 bit     (10 Bytes)     
                                          Integer                   

  DIRECTORY_ID       File directory       Variable   ASCII^1^       Directory
                     location (i.e., a    String                    
                     path name)                                     

  FILE_ID            Metadata file name   Variable   ASCII^1^       Metadata file name
                                          String                    (ends in .met or
                                                                    .xml)

  END_OBJECT         End of file          Variable   ASCII\         \'FILE_SPEC\'
                     parameters for       String     (9 Bytes)      
                     metadata file                                  
  ------------------ -------------------- ---------- -------------- ---------------------

**Table 4.5-2. Product Delivery Record PVL Parameters (3 of 3)**

  --------------- ------------------------ ---------- -------------- ---------------------
  **Parameter**   **Description**          **Type**   **Format/Max   **Value**
                                                      Size (Bytes)** 

  OBJECT          Start of file parameters Fixed      ASCII\         \'FILE_SPEC\'
                  for browse data or       string     (9 Bytes)      
                  quality assessment file.                           
                  Repeat as needed                                   

  FILE_TYPE       File type for browse or  Variable   ASCII\         \'BROWSE\' or \'QA\'
                  quality assessment       String     (20 Bytes)     

  FILE_SIZE       Length of file in bytes  Unsigned   ASCII\         \< 2 GB
                                           32 bit     (10 Bytes)     
                                           Integer                   

  DIRECTORY_ID    File directory location  Variable   ASCII^1^       Directory
                  (i.e., a path name)      String                    

  FILE_ID         File name of browse data Variable   ASCII^1^       Browse data or
                  file or quality          String                    quality assessment
                  assessment file as                                 file name
                  defined by the SSE. Used                           
                  by S4PA for distribution                           
                  if there is no                                     
                  LocalGranuleID in the                              
                  metadata                                           

  END_OBJECT      End of parameters for    Fixed      ASCII\         \'FILE_SPEC\'
                  browse data, quality     string     (9 Bytes)      
                  assessment file                                    

  OBJECT          Start of file parameters Fixed      ASCII\         \'FILE_SPEC\'
                  for optional metadata    string     (9 Bytes)      
                  file for browse or                                 
                  quality assessment                                 

  FILE_TYPE       File type for browse or  Variable   ASCII\         \'BROWSE_METADATA\'
                  QA metadata file         String     (20 Bytes)     or \'QA_METADATA\'

  FILE_SIZE       Length of file in bytes  Unsigned   ASCII\         \< 2 GB
                                           32 bit     (10 Bytes)     
                                           Integer                   

  DIRECTORY_ID    File directory location  Variable   ASCII^1^       Directory
                  (i.e., a path name)      String                    

  FILE_ID         File name of metadata    Variable   ASCII^1^       Browse data or
                  file for browse data or  String                    quality assessment
                  quality assessment file                            file name
                  as defined by the SSE.                             
                  Used by S4PA for                                   
                  distribution if there is                           
                  no LocalGranuleID in the                           
                  metadata                                           

  END_OBJECT      End of parameters for    Fixed      ASCII\         \'FILE_SPEC\'
                  browse or QA metadata    string     (9 Bytes)      
                  file                                               

  END_OBJECT      End of FILE_GROUP        Fixed      ASCII\         \'FILE_GROUP\'
                  parameters. Repeat for   string     (10 Bytes)     
                  each DATA_TYPE/group of                            
                  files                                              
  --------------- ------------------------ ---------- -------------- ---------------------

^1^Size does not exceed a total of 256 bytes when DIRECTORY_ID and
FILE_ID are combined.

^2^Only used when PDR server is not under S4PA control.

EXAMPLE ONLY EXAMPLE ONLY

ORIGINATING_SYSTEM=S4PA_acdisc;

TOTAL_FILE_COUNT=2;

EXPIRATION_TIME=2007-09-01T00:00:00Z;

OBJECT=FILE_GROUP;

        DATA_TYPE=OMAERO;

        DATA_VERSION=002;

        NODE_NAME=acdisc.sci.gsfc.nasa.gov;

        OBJECT=FILE_SPEC;

                FILE_TYPE=SCIENCE;

                FILE_SIZE=28925630;

                DIRECTORY_ID=/data/s4pats1/Aura_OMI_Level2/OMAERO.002/2006/261/.hidden;

                FILE_ID=OMI-Aura_L2-OMAERO_2006m0918t1426-o11582_v002-2006m0919t194004.he5;

        END_OBJECT=FILE_SPEC;

        OBJECT=FILE_SPEC;

                FILE_TYPE=METADATA;

                FILE_SIZE=17079;

                DIRECTORY_ID=/data/s4pats1/Aura_OMI_Level2/OMAERO.002/2006/261/.hidden;

                FILE_ID=OMI-Aura_L2-OMAERO_2006m0918t1426-o11582_v002-2006m0919t194004.he5.xml;

        END_OBJECT=FILE_SPEC;

END_OBJECT=FILE_GROUP;

**Figure 4.5-3. Example PDR PVL File**

### 4.5.4 Product Delivery Record Discrepancy (PDRD)

The Product Delivery Record Discrepancy (PDRD) is sent by S4PA to the
SSE via ftp or e-mail, only in the event that the PDR cannot be
successfully validated. The subject of the e-mail message is the PDRD
file name. The e-mail address (or ftp address) is an operator-tunable
parameter documented for each SSE in an Operations Agreement(s) between
the GES DISC and the SSE. The PDRD identifies the error/success
dispositions for file groups in the PDR resulting from S4PA's attempt to
validate the PDR. The same file-naming convention is used for the PDRD
as for the PDR, except that the file name extension is '.PDRD' instead
of the '.PDR'. There are two forms of PDRD, a short form (Table 4.5-3)
and long form (Table 4.5-4). The short form is used when the first error
encountered in each file group within the PDR is the same or the first
error found applies to each group. The long form is used when one or
more file groups in the PDR have invalid parameters; some file groups
may be error-free. For each file group, if an error is encountered when
the PDR is processed, S4PA halts processing and reports the error that
it just encountered for that file group. None of the remaining
conditions in that file group are validated. S4PA processing then
continues on with the next file group in the PDR. The dispositions in
the Long PDRD will be reported for all file groups in the order listed
in the PDR. In the event that a PDRD is returned to the SSE, none of the
files are transferred to the S4PA for processing, and the SSE must
correct the errors and resubmit the entire PDR for processing.

The PDRD consists of PVL Statements. Short and Long PDRD PVL examples
are provided, respectively, in Figure 4.5-4 and Figure 4.5-5.

Table 4.5-3. Short Product Delivery Record Discrepancy PVL Parameters

  -------------- ------------- -------------- --------------------- ----------------------
  Parameter1     Description   Type/Format\   Value1                Explanation
                               (Length in                           
                               Bytes)                               

  MESSAGE_TYPE   Short         Fixed          SHORTPDRD             
                 Product\      String/ASCII                         
                 Delivery      (9)                                  
                 Record\                                            
                 Discrepancy                                        

  DISPOSITION    Disposition   Variable       One of the following: 
                 of\           String/ASCII   [\                    
                 Ingest        (64)           ]{.smallcaps}         
                 Request                                            

                                              ["invalid or          PDR could not be
                                              unreadable            validated. Not
                                              file"]{.smallcaps}    retryable.

                                              ["invalid file        TOTAL_FILE_COUNT
                                              count"]{.smallcaps}   parameter is either
                                                                    missing or \<= 0 - not
                                                                    retryable

                                              ["invalid file        One or more FILE_GROUP
                                              group"]{.smallcaps}   within PDR contained
                                                                    incorrect syntax or
                                                                    invalid parameters -
                                                                    not retryable
  -------------- ------------- -------------- --------------------- ----------------------

^1^Each parameter/value is followed by an EOL mark.

EXAMPLE ONLY EXAMPLE ONLY

MESSAGE TYPE = SHORTPDRD;\
DISPOSITION = "INVALID FILE COUNT";

Figure 4.5-4. Example Short PDRD PVL

Table 4.5-4. Long Product Delivery Record Discrepancy PVL Parameters

  --------------- ------------- --------------- ------------- ---------------------
  Parameter2      Description   Type/Format\    Value2        Explanation
                                (Length in                    
                                Bytes)                        

  MESSAGE_TYPE    Long Product  Fixed           LONGPDRD      
                  Delivery      String/ASCII                  
                  Record        (8)                           
                  Discrepancy                                 

  NO_FILE_GRPS\   Number of     Integer/ASCII   Number of     
  (to follow)     File Groups   (4)             File Groups   
                  in the PDR                    in the PDR    
  --------------- ------------- --------------- ------------- ---------------------

> For each file group in the PDR

+----------+------------+----------+-------------+--------------------+
| > P      | D          | Type     | Value^2^    | Explanation        |
| arameter | escription | /Format\ |             |                    |
|          |            | (Length  |             |                    |
|          |            | in       |             |                    |
|          |            | Bytes)   |             |                    |
+----------+------------+----------+-------------+--------------------+
| > D      | S4PA Data  | ASCII    | DATA_TYPE   |                    |
| ATA_TYPE | Type       | String ( | in PDR      |                    |
|          |            | 20)      |             |                    |
+----------+------------+----------+-------------+--------------------+
| > DIS    | D          | Variable | One of the  |                    |
| POSITION | isposition | Stri     | following:  |                    |
|          | of Ingest\ | ng/ASCII |             |                    |
|          | Request1   | (64)     |             |                    |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "           | No error           |
|          |            |          | SUCCESSFUL" |                    |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The DATA_TYPE      |
|          |            |          | DATA TYPE"  | parameter is       |
|          |            |          |             | missing from the   |
|          |            |          |             | file group or the  |
|          |            |          |             | value along with   |
|          |            |          |             | its associated     |
|          |            |          |             | Version ID is not  |
|          |            |          |             | configured in      |
|          |            |          |             | S4PA - not         |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The DIRECTORY_ID   |
|          |            |          | DIRECTORY"  | parameter is       |
|          |            |          | 3           | missing or empty   |
|          |            |          |             | for a file - not   |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The FILE_SIZE      |
|          |            |          | FILE SIZE"  | parameter is       |
|          |            |          |             | missing, empty or  |
|          |            |          |             | 0 for a file - not |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The FILE_ID        |
|          |            |          | FILE ID" 3  | parameter is       |
|          |            |          |             | missing or empty   |
|          |            |          |             | for a file - not   |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The NODE_NAME      |
|          |            |          | NODE NAME"  | parameter is       |
|          |            |          | 3           | missing or empty   |
|          |            |          |             | for the file       |
|          |            |          |             | group - not        |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The FILE_TYPE      |
|          |            |          | FILE TYPE"  | parameter is       |
|          |            |          |             | missing or empty   |
|          |            |          |             | for a file or the  |
|          |            |          |             | value is not       |
|          |            |          |             | configured in S4PA |
|          |            |          |             | for the given data |
|          |            |          |             | type - not         |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "           | The checksum type  |
|          |            |          | UNSUPPORTED | given on the PDR   |
|          |            |          | CHECKSUM    | is not supported   |
|          |            |          | TYPE"       | by S4PA -- not     |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "MISSING    | The                |
|          |            |          | FILE_       | FILE_CKSUM_TYPE    |
|          |            |          | CKSUM_VALUE | parameter is       |
|          |            |          | PARAMETER"  | present in the PDR |
|          |            |          |             | but the            |
|          |            |          |             | FILE_CKSUM_VALUE   |
|          |            |          |             | is not -- not      |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "MISSING    | The                |
|          |            |          | FILE        | FILE_CKSUM_VALUE   |
|          |            |          | _CKSUM_TYPE | is present but     |
|          |            |          | PARAMETER"  | FILE_CKSUM_TYPE is |
|          |            |          |             | not -- not         |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+
|          |            |          | "INVALID    | The                |
|          |            |          | FILE_C      | FILE_CKSUM_VALUE   |
|          |            |          | KSUM_VALUE" | is present but     |
|          |            |          |             | syntactically      |
|          |            |          |             | incorrect -- not   |
|          |            |          |             | retryable          |
+----------+------------+----------+-------------+--------------------+

^1^For each file group, only one disposition value may be provided. In
cases where multiple errors may exist, the disposition value
corresponding to the first error encountered will be provided.

^2^Each parameter/value statement is followed by an EOL mark.

^3^Null string check only

EXAMPLE ONLY EXAMPLE ONLY

MESSAGE_TYPE = LONGPDRD;\
NO_FILE_GRPS = 3;\
DATA_TYPE = MLS_DATA1;\
DISPOSITION = "INVALID DATA TYPE";\
DATA_TYPE = MLS_DATA2;\
DISPOSITION = "INVALID FILE ID";\
DATA_TYPE = MLS_DATA3;\
DISPOSITION = "SUCCESSFUL";

Figure 4.5-5. Example Long PDRD PVL

[]{#__RefHeading___Toc15378941 .anchor}4.5.5 Production Acceptance
Notification (PAN)

After S4PA has attempted to ingest and archive the data, S4PA
automatically sends a "Production Acceptance Notification" (PAN) via
e-mail or FTP to the SSE. The PAN file announces the completion of data
transfer and archival, and identifies any errors or problems that have
been encountered. The e-mail or FTP address and actions to be taken in
case of data or archival failure are specified for each SSE, in an
Operations Agreement(s) between the DISC and the SSE.

The naming convention for the PAN is the same as that used for the PDR,
except that the file name extension is PAN instead of PDR. The subject
of an e-mail PAN is the PAN file name. There are two forms of the PAN, a
short form (Table 4.5-5) and a long form (Table 4.5-6) form. The short
form of the PAN (SHORTPAN) is sent to acknowledge that all files in the
PDR, regardless of the number of file groups in the PDR, have been
successfully transferred. Individual file names are not referenced in a
SHORTPAN since the only disposition for every file in the corresponding
PDR is always "successful".

If any of the files in the PDR fails ingest, the long form of the PAN
(LONGPAN) is generated and returned to the SSE. In the LONGPAN, each
file in the PDR is referenced with an appropriate disposition based on
the following conditions:

-   If a PDR contains references for a single data granule (data and
    metadata) and the granule fails ingest then S4PA generates a LONGPAN
    with the single granule referenced with appropriate dispositions
    (data and metadata).

-   If a PDR contains references for multiple granules and all granules
    fail for the same reason, S4PA will generate a LONGPAN with
    references to all granules in the PDR with the same disposition
    given for all granules.

-   If a PDR references multiple granules and if some granules ingest
    successfully while others fail, S4PA generates a LONGPAN with
    references to all granules in the PDR with appropriate dispositions
    for granules that either succeeded or failed ingest.

The PAN consists of PVL Statements. Short and Long PAN PVL examples are
provided, respectively, in Figure 4.5-6 and Figure 4.5-7.

**Table 4.5-5. Short Production Acceptance Notification PVL Parameters**

+---------+------------+-------------+----------------------+--------+
| **Param | **Des      | **T         | **Value1**           | **E    |
| eter1** | cription** | ype/Format\ |                      | xplana |
|         |            | (Length in  |                      | tion** |
|         |            | Bytes)**    |                      |        |
+---------+------------+-------------+----------------------+--------+
| MESSA   | Short      | Fixed       | SHORTPAN             |        |
| GE_TYPE | Production | S           |                      |        |
|         | Acceptance | tring/ASCII |                      |        |
|         | No         | (8)         |                      |        |
|         | tification |             |                      |        |
|         | Definition |             |                      |        |
+---------+------------+-------------+----------------------+--------+
| DISP    | D          | Variable    | "[succ               | No     |
| OSITION | isposition | S           | essful"]{.smallcaps} | error  |
|         | of Ingest  | tring/ASCII |                      |        |
|         |            | (64)        |                      |        |
|         | Request    |             |                      |        |
+---------+------------+-------------+----------------------+--------+
| TIM     | ISO Time   | ASCII (20)  | GMT in the format:   |        |
| E_STAMP | when the   |             | y                    |        |
|         | S4PA       |             | yyy-mm-ddThh:mm:ssZ, |        |
|         | completed  |             | where T indicates    |        |
|         | transfer   |             | the start of time    |        |
|         | of the     |             | information and Z    |        |
|         | file.      |             | indicates "Zulu"     |        |
|         |            |             | time                 |        |
+---------+------------+-------------+----------------------+--------+

^1^Each parameter/value statement is followed by an EOL mark.

EXAMPLE ONLY EXAMPLE ONLY

MESSAGE_TYPE=SHORTPAN;

DISPOSITION=\"SUCCESSFUL\";

TIME_STAMP=2006-09-19T23:16:01Z;

Figure 4.5-6. Example Short PAN PVL

Table 4.5-6. Long Production Acceptance Notification PVL Parameters (1
of 2)

  -------------- -------------- -------------- ------------------ ------------------- ---
  Parameter^2^   Description    Type/Format\   Value^2^           Explanation         
                                (Length in                                            
                                Bytes)                                                

  MESSAGE_TYPE   Long           Fixed          LONGPAN                                
                 Production     String/ASCII                                          
                 Acceptance     (7)                                                   
                 Notification                                                         

  NO_OF_FILES    Number of      ASCII (4)      TOTAL_FILE_COUNT                       
                 Files in PDR                  parameter in PDR                       
  -------------- -------------- -------------- ------------------ ------------------- ---

For each File in the PDR

  ---------------- ------------- -------------- ---------------------------- ------------------- ---
  FILE_DIRECTORY   ASCII string  ASCII (\<256)\ DIRECTORY_ID parameter in                        
                   specifying    Equivalent to  PDR                                              
                   file          PDR length                                                      
                   directory                                                                     
                   location                                                                      

  FILE_NAME        File names on ASCII (\<256)\ FILE_ID parameter in PDR                         
                   system        Equivalent to                                                   
                   creating PDR  PDR length                                                      

  DISPOSITION^1^   Disposition   Variable       One of the following:                            
                   of Ingest     String/ASCII                                                    
                   Request       (64)                                                            

                                                "[successful"]{.smallcaps}   No error            

                                                ["transfer                   FTP service not     
                                                failure"]{.smallcaps} 4      available -         
                                                                             retryable           
  ---------------- ------------- -------------- ---------------------------- ------------------- ---

Table 4.5-6. Long Production Acceptance Notification PVL Parameters (2
of 2)

  -------------- ------------- -- ------------- -------------- ---------- ---------------- ----------------------- ------------- ------------------- -- --- --
  Parameter^2^   Description                    Type/Format\   Value^2^                                            Explanation                              
                                                (Length in                                                                                                  
                                                Bytes)                                                                                                      

                                                                          "ALL FILE                                              Data file not              
                                                                          GROUPS/FILES NOT                                       available when             
                                                                          FOUND"                                                 trying to FTP it or        
                                                                                                                                 data file not found        
                                                                                                                                 or has a size of 0         
                                                                                                                                 after it has been          
                                                                                                                                 FTP\'d - may or may        
                                                                                                                                 not be retryable^5^        

                                                                          "POST-TRANSFER                                         Size of data file          
                                                                          FILE SIZE CHECK                                        in the PDR is              
                                                                          FAILURE"                                               incorrect or the           
                                                                                                                                 entire data file           
                                                                                                                                 did not get                
                                                                                                                                 FTP\'d - first case        
                                                                                                                                 is not retryable,          
                                                                                                                                 the second case is         
                                                                                                                                 retryable                  

                                                                          "METADATA                                              Error in generating        
                                                                          PREPROCESSING                                          metadata file - may        
                                                                          ERROR"                                                 or may not be              
                                                                                                                                 retryable^5^               

                                                                          "FAILURE-DISK                                          Unable to create or        
                                                                          SPACE NOT                                              extend the staging         
                                                                          AVAILABLE"                                             disk - may or may          
                                                                                                                                 not be retryable^5^        

                                                                          "DATA CONVERSION                                       Error in                   
                                                                          FAILURE"                                               preprocessing              
                                                                                                                                 science files,             
                                                                                                                                 validating metadata        
                                                                                                                                 or adding file to          
                                                                                                                                 appropriate group          
                                                                                                                                 in the insert              
                                                                                                                                 command - not              
                                                                                                                                 retryable                  

                                                                          "INVALID OR                                            If the input file          
                                                                          MISSING FILE                                           type has a null or         
                                                                          TYPE"                                                  invalid internal           
                                                                                                                                 file type - not            
                                                                                                                                 retryable                  

                                                                          "DATA ARCHIVE                                          Archive error - may        
                                                                          ERROR"                                                 or may not be              
                                                                                                                                 retryable^5^               

                                                                          "CHECKSUM                                              If checksum on             
                                                                          VERIFICATION                                           ingest is required         
                                                                          FAILURE"                                               but the checksum in        
                                                                                                                                 the PDR could not          
                                                                                                                                 be verified when           
                                                                                                                                 recomputed by S4PA         
                                                                                                                                 -- not retryable           

                                                                          "ASSOCIATED FILE                                       File OK for ingest,        
                                                                          FAILURE"                                               associated                 
                                                                                                                                 data/metadata file         
                                                                                                                                 contained error on         
                                                                                                                                 ingest -- not              
                                                                                                                                 retryable                  

  TIME_STAMP                      ISO Time when ASCII (20)                                 GMT in the format:                                               
                                  the S4PA                                                 yyyy-mm-ddThh:mm:ssZ,                                            
                                  completed                                                where T indicates the                                            
                                  transfer of                                              start of time                                                    
                                  the file.                                                information and Z                                                
                                  Does not                                                 indicates "Zulu" time.                                           
                                  necessarily                                                                                                               
                                  indicate                                                                                                                  
                                  successful                                                                                                                
                                  ingest.                                                                                                                   
  -------------- ------------- -- ------------- -------------- ---------- ---------------- ----------------------- ------------- ------------------- -- --- --

^1^In any given instance, only one disposition value may be provided. In
cases where multiple errors have occurred, the disposition value
corresponding to the first error encountered will be provided.

^2^Each parameter/value statement is followed by an EOL mark.

^3^Dispositions will include a time stamp.

^4^It is recommended that these be automatically retried but retries
should be limited to 2 attempts at 10-minute intervals for 3 hours.

^5^It is recommended that these errors not be retried without prior
agreement with the DISC.

  ------------ --------- -- ----------- -------------- ------------------ ----
                                                                          

                                                                          
  ------------ --------- -- ----------- -------------- ------------------ ----

EXAMPLE ONLY EXAMPLE ONLY

MESSAGE_TYPE=LONGPAN;

NO_OF_FILES=6;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060301.6.HDF.Z;

DISPOSITION=\"SUCCESSFUL\";

TIME_STAMP=2007-02-02T10:34:09Z;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060301.6.HDF.xml;

DISPOSITION=\"SUCCESSFUL\";

TIME_STAMP=2007-02-02T10:34:09Z;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060101.6.HDF.Z;

DISPOSITION=\"ASSOCIATED FILE FAILURE\";

TIME_STAMP=2007-02-02T10:34:09Z;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060101.6.HDF.xml;

DISPOSITION=\"POST-TRANSFER FILE SIZE CHECK FAILURE\";

TIME_STAMP=2007-02-02T10:34:09Z;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060201.6.HDF.Z;

DISPOSITION=\"SUCCESSFUL\";

TIME_STAMP=2007-02-02T10:34:09Z;

FILE_DIRECTORY=private/s4pa/pull/TRMM_3A12;

FILE_NAME=3A12t.060201.6.HDF.xml;

DISPOSITION=\"SUCCESSFUL\";

TIME_STAMP=2007-02-02T10:34:09Z;

Figure 4.5-7. Example Long PAN PVL

### 4.5.6 SSE-S4PA Electronic Data Exchange Error Handling/Back-up Methods

During the course of data exchange via FTP, the following typical error
conditions may arise:

• Failure to establish TCP/IP connection

• Erroneous FTP command

• File not found (listed in PDR, but not found on disk)

• File not readable due to permissions

Should a problem develop during an FTP file transfer due to any of the
above error conditions, an operator-tunable number of attempts are made
to pull the data. In the event that problems cannot be resolved within
this operator-tunable number of attempts, the DISC and SSE operations
personnel should coordinate recovery efforts.

## 4.6 Accessing Archived Data for Reprocessing 

The S4PA provides a Machine Request Interface (MRI) that provides the
capability for the SSE to directly search and retrieve archived data for
reprocessing. The MRI allows an SSE to request distribution of files via
subscription for user-specified data type and time range. Specifics of
the MRI are provided at
<http://discapps.gsfc.nasa.gov/wiki/Machine_Request_Interface>.

## 4.7 Data Exchange Security

S4PA implements EOSDIS security policy by supporting the following
standard file transfer methods:

If S4PA is using FTP to poll the SSE's disk, standard FTP login
procedures including the use of a password for the purposes of security
are used.

For FTP connections to the S4PA, anonymous FTP is used. For HTTP
connections to the S4PA, username and password would be required.
Improved security may be obtained by implementing Secure Shell, which is
a drop-in replacement for the Berkeley r- commands in a Unix
environment. The S4PA uses OpenSSH. Use of Secure Shell services is by
advance agreement with the DISC; procedures, responsibilities and
configurations must be documented in an Operations Agreement with the
DISC.

### 4.7.1 Encryption

The S4PA supports encrypted data ingest and data distribution with the
limitations described in Sections 4.7.2 and 4.7.3, respectively. The
S4PA itself uses only secure FTP for secure ingest and secure
distribution.

The DISC operations and the SSE will work together to make sure that the
versions of SSH used by each system are compatible.

The DISC will provide support for software which allows the username and
passwords to be encrypted without the encryption of the data.

Three ciphers are supported:

> \(1\) aes128 (advanced encryption standard) forces data encryption but
> is faster than triple Digital Encryption Standard (DES).
>
> \(2\) Cipher None with pass phrase authentication supports an
> interface without data encryption.
>
> \(3\) triple DES is an older standard that is still supported but file
> transfer is slow and it is not recommended.

By using a ssh public/private key pair, connection between machines can
be established automatically. This makes it easier to automate the
ingest and distribution process and eliminates the burden of managing
passwords. A configuration file must reside on the machine that acts as
ssh server (\~/.ssh/authorized_keys2 under OpenSSH). The public key is
useless without the private key because the connections can only be
established when both keys are in place, and it is not possible to
derive one key from the other. Therefore, if the public key is lost or
stolen, there is no effect on security. Several other options are also
possible in this configuration file.

### 4.7.2 Secure Ingest

The S4PA supports encryption of the SSE data ingest interface using SSH
(Secure SHell). Data encryption will be supported provided that
performance is not significantly impacted. The SSE should contact DISC
operations to set up the account. The DISC will provide guidance with
configuration issues in coordination with the SSE.

The SSH server software must be installed on the same SSE host where SSE
PDRs and data are staged and which is polled by the S4PA ingest
software. If the SSE has selected FTP for transfer of PDRDs and PANs
from the S4PA, they must be transferred to the same host.

The SSE may elect to use pass phrase authentication but the procedure
for configuring this must be coordinated with the DISC and documented in
the Operations Agreement with the DISC.

### 4.7.3 Secure Distribution

This option encrypts the destination host's authentication information.

Secure distribution of S4PA data is available for subscription requests
only. Prior arrangements must be made with the DISC to set up the secure
account. SSH must be installed on the destination host. The DISC needs
to know the destination host name, destination directory name and
password. If the SSE elects to use pass phrase authentication,
configuration procedures must be coordinated with the DISC and
documented in the Operations Agreement with the DISC.

The SSE chooses secure distribution of a request by including the sftp
(secure ftp) option in its e-mail Subscription Request to the DISC (see
Table 4.3.1-1). The requested granules and the distribution notice are
pushed by the DISC to the designated SSE destination. If the destination
host has not been correctly configured with ssh, an error condition will
result. Recovery procedures should be agreed on with the DISC and
included in the Operations Agreement.

This page intentionally left blank.

# 5. SSE Data and Metadata 

This section addresses only those aspects of the subject that are
critical for ensuring S4PA-SSE data exchange interface functionality.
For more information about S4PA metadata requirements, see "The Role of
Metadata in EOSDIS" (Doc. \# 160-TP-013) and "Backus-Naur Format (BNF)
Representation of the B.0 Earth Science Data Model" (Doc. \#
420-TP-016-003).

## 5.1 S4PA Datatypes

A versioned datatype must be configured in the S4PA before granules of
that datatype and version can be ingested. The SSE coordinates with the
DISC to ensure there is adequate metadata for each SSE datatype and
version. As part of the transition from ECS to S4PA, all datatypes that
are operationally ingested into ECS are configured for ingest into S4PA.

All data granules stored in S4PA are members of Datatype Collections.
These collections and the granules themselves are described in the S4PA
online inventory catalog using metadata, that is, "data about data". The
metadata is organized according to a data schema described in the S4PA
data model. The core of the S4PA model contains many parameters which
may be used to describe the data; additionally, the S4PA data model is
extensible through the use of Product Specific Attributes (PSAs) to
describe aspects of a particular collection or granule which are not
covered by the core model. Thus each collection is described by a set of
metadata attributes with defined values on the collection level; and on
the granule level, a defined set of metadata attributes with defined
valid domains. The mechanism used within S4PA to define the collection
level attributes is the Global Change Master Directory (GCMD) Data
Interchange Format (DIF). The collection level metadata will be
delivered to the GCMD by the DISC in the DIF. The collection level
metadata will be available from the GCMD and the DISC. The collection
level metadata is stored only once in the top level directory within a
single data type. The collection level metadata can be accessed via the
attribute URL linking in the granule level metadata. The mechanism used
within S4PA to define granule level attributes is described in the
metadata template file. Section 5.6 describes the XML schema for the
S4PA granule level metadata. The graphical representation of the schema
is presented in Figure 5-2.

## Metadata

### Metadata Files for S4PA Ingest

The SSE should continue to provide an ECS compliant metadata file for
each granule that is to be inserted into the S4PA. Metadata that is ECS
compliant is automatically S4PA compliant so no changes are necessary at
the SSE. Minimally, to support search and retrieval of data, the
metadata needs to contain the following: Data Type name (ShortName),
Version ID (VersionID), and Start Time (RangeDateTime).

Once the S4PA metadata template is established, all granules of the
associated collection must conform to the template by providing values
for the attributes defined in the template. For data production, the ECS
Science Data Processing (SDP) Toolkit provides metadata tools that make
this task easier. The SDP Toolkit requires as input a Metadata
Configuration File (MCF). For datatypes migrated from ECS to S4PA the
metadata templates were derived from existing MCFs.

Both the MCF and the metadata produced using the SDP Toolkit (either as
a stand alone file or as metadata encapsulated within HDF-EOS) are
written in Object Description Language (ODL). ODL is described in
"Object Description Language (ODL) Specification and Usage" referenced
in Section 2.3.1 of this document. The particular characteristics of ODL
are not important for metadata produced using the SDP Toolkit metadata
tools because the tools will produce correct ODL. In the case where the
metadata delivered within a FILE_GROUP is not produced using the SDP
Toolkit metadata tools, the metadata must conform to the ODL structures
found in the associated MCF file regardless of whether the metadata file
is provided in ODL or XML.

### Checksums in Distributed Metadata

When the S4PA distributes the metadata file for a granule being
distributed, it includes checksum information. The checksum type and
checksum value are included in the metadata file.

## 5.3 Unique Granule Identification

Each SSE provides granules for ingest by S4PA at the DISC specified for
the S4PA-SSE interface in the relevant SSE-unique appendix. Each granule
must have a unique identifier, which the SSE provides in the metadata
file for the granule as LocalGranuleID (LGID). Each SSE should review
its existing LocalGranuleID formats against the uniqueness requirement
specified in Section 5.3.1.

### 5.3.1 LocalGranuleID Format

When the SSE supplies a granule to S4PA, for archival and distribution,
it must assign a unique identifier to that granule and provide the
identifier in the metadata as LocalGranuleID. The SSE may use any
convention for the LocalGranuleID that meets the following criteria:

-   The LocalGranuleID for each granule is unique within its collection.

-   The LocalGranuleID is a valid filename (with no directory path
    component) for use under both Unix and Windows-NT.

-   The length of LocalGranuleID is variable, but no more than 80
    characters.

An SSE may choose to use the production system product filename as the
value of LocalGranuleID if it conforms to these LocalGranuleID criteria.
If an SSE uses ancillary data received from sources other than S4PA in
production of its standard products, the SSE may provide that ancillary
data to S4PA for archive. It is likely that filenames from such external
sources would not follow the LocalGranuleID conventions. The SSE may
either change to local filename to conform, or else use a conforming
LocalGranuleID that is not the local filename.

### 5.3.2 S4PA Use of LocalGranuleID

When the SSE granule is ingested by S4PA the LocalGranuleID is stored in
online metadata. Regardless of the SSE file names originally used for
ingesting the granule, S4PA uses the LocalGranuleID to construct the
Unix filename (s) when it distributes an archived granule.

## 5.4 Granule Cross References

InputPointer is an attribute in the granule metadata in the metadata
file supplied to S4PA with each granule. It contains pointer(s) to the
granule(s) used as input in the production of the granule, including
ancillary data granules and orbit parameter granules. The InputPointer
attribute is optional for granules that are not EOS Standard Products
because the inputs to those granules are not stored in the S4PA archive.
For all EOS Standard Products, the EOS data policy requires that
precursor products be made known and available to the general end user.
For these products, the InputPointer is a required attribute.

### 5.4.1 InputPointer Format

S4PA and its users need InputPointers to determine which input products
were heritage products in the generation of granules. In order for
InputPointers to be of value to users and data providers for searching
and requesting EOS data, they should conform to the format specified
below.

The format of the InputPointer references for input products depends
upon the source of the input product. For input products that are
distributed from or archived in the S4PA, the InputPointer should be a
LGID pointer. For input products that are not archived by S4PA (such as
SSE intermediate products) the External Granule ID Pointer (EGID)
standard for reference pointers should be used. Failure to conform to
the recommended format for InputPointers will not cause the Ingest or
Insert of the SSE produced granules into S4PA to fail and no present
S4PA services depend upon the format. There are two defined granule
pointer reference formats.

> 1\. The preferred format of InputPointer is a reference based upon the
> value of the LocalGranuleID of the input product. This method is valid
> only for collections where the LocalGranuleId conforms to the criteria
> described in Section 5.3.1 above. This includes collections produced
> by the SSE for ingest by S4PA, and other granules in the S4PA archive
> that are known by the SSE to follow the LocalGranuleId criteria. The
> following LGID Reference format should be used:

LGID:ShortName:VersionID:Identifier

Where

> \":\" is a colon - a separator for the components of the pointer.
>
> \"LGID\" is a literal string indicating that this pointer is a
> LocalGranuleID .
>
> \"ShortName\" is the S4PA Datatype ShortName (up to 20 characters) of
> the referenced input granule.
>
> \"VersionID\" is the S4PA Datatype version (up to 10 characters) of
> the referenced input granule. To be consistent with the ECS Data
> Model, the use of 3-character version ID will be supported.
>
> \"Identifier\" is the value of the 80-character (max) LocalGranuleID
> for the referenced input granule.

Figure 5-1 is an example of an LGID Reference format. In this example,
"mls0120010119.122357001.dat" is the value the SSE assigned for the
LocalGranuleID of a granule of the MLS01 version 002 collection when it
delivered the granule to S4PA.

Example Example

LGID:MLS01:002:mls0120010119.122357001.dat

Figure 5-1. Example InputPointer LGID Reference Format

2\. If the referenced input granule is not a member of an S4PA
collection then the LGID can not be defined. Such a case may occur if an
input product is an intermediate product that is not archived in S4PA.
The SSE should provide a pointer reference that a science user can use
to obtain the input data directly from the data provider. The following
standard format indicates that the referenced granule is not a member of
an S4PA collection.

EGID:DATAPROVIDER:FILEIDENTIFIER

where

Maximum total number of characters for InputPointer is 255

\":\" is a colon - a separator for components of the pointer

\"EGID\" indicates that this is an External Granule pointer that does
not point to the S4PA archive

\"DATAPROVIDER\" is a 4-character code assigned by the DISC or ESDIS for
the source of the data (might be an SSE or some other data provider)

\"FILEIDENTIFIER\" uniquely identifies the data to the data provider.
(Data provider could include a handle of some sort within this component
separated by a colon.)

Note: Within S4PA, an EGID pointer is not a valid reference and S4PA
will not use such pointers for any purpose.

## 5.5 File Transfer Quick Reference Summary

1\. Granule. There can be only *one* data granule (Datatype) in a
FILE_GROUP on a PDR. The data granule may consist of multiple files,
however. Each individual file in a multi-file granule is called a
granulit. While a PDR may contain references to multiple datatypes, all
datatypes referenced in a single PDR must be of the same data processing
level (e.g., Level 1, Level 2, or Level 3).

2\. Metadata File. Every data granule *must* be accompanied by a
metadata file (.met or .xml) in the same FILE_GROUP (only one per file
group).

3\. Browse, QA. A data granule may also be accompanied by a browse file
and/or a quality assurance file in the same FILE_GROUP, *provided* that
none of these files has multiple granule associations.

4\. LocalGranuleID.

a\. Must be unique for each Granule in a given collection (Datatype).

b\. Must be a valid filename for Unix or Windows-NT with a maximum
length 80 characters.

c\. S4PA uses for constructing filename for the granule when it is
distributed.

d\. LocalGranuleId is a required metadata field for all products
delivered from an SSE.

5\. InputPointer.

a\. The convention is, InputPointer is in the format
LGID:ShortName:VersionID:Identifier, where Identifier is a
LocalGranuleID and is unique within the given collection.

> b\. Non-standard InputPointer references will not affect Ingest by
> S4PA, but may be confusing to end users and may not be compatible with
> any future services that might use the standard.
>
> c\. For all EOS standard products, the InputPointer is a required
> attribute.

## 5.6 XML Schema for S4PA Granule Level Metadata

\<?xml version=\"1.0\" encoding=\"UTF-8\"?\>

\<!\-- This schema is a placeholder for Granule level, S4PA \--\>

\<!\-- meta-data elements  \--\>

\<xs:schema xmlns:xs=\"<http://www.w3.org/2001/XMLSchema>\"
elementFormDefault=\"qualified\" attributeFormDefault=\"unqualified\"\>

\<xs:include schemaLocation=\"S4paCommonTypes.xsd\"/\>

\<xs:element name=\"CollectionMetaData\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Collection Meta-Data Information. This contains the product
ShortName

    and LongName as well as the VersionID. These elements are associated

    with the Collection (S4paCollection.xsd) level schema.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"Description\" minOccurs=\"0\"/\>        

   \<xs:element ref=\"LongName\" minOccurs=\"0\"/\>

   \<xs:element ref=\"ShortName\"/\>

   \<xs:element ref=\"VersionID\"/\>

   \<xs:element ref=\"URL\" minOccurs=\"0\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"DataGranule\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

     Meta-data specific to the granule. This currently includes ten

     elements, including granulID (ID for the granule, which is usually

     the filename), Format (format of data e.g., HDF-EOS), CheckSum,

     SizeBytesDataGranule (size of the granule in bytes), InsertDateTime

     (date and time granule was inserted into S4PA), ProductionDateTime

     (date and time the granule was produced).

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>              

   \<xs:element ref=\"GranuleID\"/\>

   \<xs:element ref=\"LocalGranuleID\" minOccurs=\"0\"/\>

   \<xs:element ref=\"Format\" minOccurs=\"0\"/\>

   \<xs:element ref=\"CheckSum\" minOccurs=\"0\"/\>

   \<xs:element name=\"SizeBytesDataGranule\"/\>

   \<xs:element ref=\"InsertDateTime\" minOccurs=\"0\"/\>

   \<xs:element ref=\"ProductionDateTime\" minOccurs=\"0\"/\>

    \<xs:element ref=\"PGEVersionClass\" minOccurs=\"0\"/\>

   \<xs:element ref=\"Granulits\" minOccurs=\"0\"/\>

   \<xs:element ref=\"DayNightFlag\" minOccurs=\"0\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"PGEVersionClass\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Lists the PGE version that was used to process the data

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"PGEVersion\" minOccurs=\"0\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"PGEVersion\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

   \</xs:documentation\>

 \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"/\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"SizeBytesDataGranule\"\>

  \<xs:simpleType\>

    \<xs:list\>

     \<xs:simpleType\>

    \<xs:union memberTypes=\"xs:unsignedLong\"/\>

     \</xs:simpleType\>

    \</xs:list\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"InsertDateTime\"\>

  \<xs:simpleType\>

    \<xs:list\>

     \<xs:simpleType\>

      \<xs:union memberTypes=\"xs:date xs:time\"/\>

     \</xs:simpleType\>

    \</xs:list\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"ProductionDateTime\"\>

  \<xs:simpleType\>

    \<xs:list\>

     \<xs:simpleType\>

    \<xs:union memberTypes=\"xs:string\"/\>

     \</xs:simpleType\>

    \</xs:list\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"GranuleID\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     The unique identifier for each granule. In most cases this is the

     file name.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"180\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"LocalGranuleID\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     The unique identifier for each granule. In most cases this is the

     file name.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"180\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"Format\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     The format of the data. This type is unique to S4PA.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"32\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"CheckSum\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Checksum, which is a unique number, based on the content of the
file.

    There are two elements, CheckSumValue (value of the checksum) and

    CheckSumType (the type of checksum e.g., 64bit long).

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"CheckSumType\" minOccurs=\"0\"/\>

   \<xs:element name=\"CheckSumValue\" type=\"xs:string\"
minOccurs=\"0\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"CheckSumType\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

   \</xs:documentation\>

 \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"12\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"Granulits\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    This container is for multi-file granules or granulits.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element name=\"Granulit\" minOccurs=\"0\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"Granulit\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    The container is for individual files, or granulit, in

    multi-file granules or granulits.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element ref=\"GranulitID\"/\>

   \<xs:element ref=\"FileName\"/\>

   \<xs:element ref=\"CheckSum\"/\>

   \<xs:element name=\"FileSize\" type=\"xs:unsignedLong\"
minOccurs=\"0\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"GranulitID\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     The unique identifier for each granule. In most cases this is the

     file name.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"8\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"FileName\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     The unique identifier for each granule. In most cases this is the

     file name.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"180\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"FileSize\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     Size of each file

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:unsignedLong\"\>

      \<xs:maxLength value=\"10\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"DayNightFlag\"\>

  \<xs:simpleType\>

    \<xs:list\>

     \<xs:simpleType\>

    \<xs:union memberTypes=\"xs:string\"/\>

     \</xs:simpleType\>

    \</xs:list\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"RangeDateTime\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    The date and time range of the granule. This includes four

    elements, RangeEndingTime, RangeEndingDate, RangeBeginningTime

    and RangeBeginningDate.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element name=\"RangeEndingDate\" type=\"xs:date\"/\>

   \<xs:element name=\"RangeEndingTime\" type=\"xs:time\"/\>

   \<xs:element name=\"RangeBeginningDate\" type=\"xs:date\"/\>

   \<xs:element name=\"RangeBeginningTime\" type=\"xs:time\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"SpatialDomainContainer\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Spatial information on granule. Currently contains two element,

    VerticalSpatialDomain and HorizontalSpatialDomainContainer, which

    provide information on Vertical fields, and the following horizontal

    fields: GPolygon and BoundingRectangle lat/lon coordinates for the

    granule.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element name=\"LocalityValue\" minOccurs=\"0\"/\>

   \<xs:element name=\"ZoneIdentifier\"
minOccurs=\"0\"/\>                            

   \<xs:element ref=\"VerticalSpatialDomain\" minOccurs=\"0\"/\>

   \<xs:element ref=\"HorizontalSpatialDomainContainer\"
minOccurs=\"0\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"VerticalSpatialDomain\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Contains vertical spatial fields.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"VerticalSpatialDomainContainer\" minOccurs=\"0\"
maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"VerticalSpatialDomainContainer\" \>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Vertical spatial information on the granule. Contains two elements,

    a specific vertical spatial type and value.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element ref=\"VerticalSpatialDomainType\"/\>

   \<xs:element ref=\"VerticalSpatialDomainValue\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"VerticalSpatialDomainType\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     Contains specific vertical spatial type.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"80\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"VerticalSpatialDomainValue\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     Contains specific vertical spatial value.

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:string\"\>

      \<xs:maxLength value=\"80\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"HorizontalSpatialDomainContainer\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Horizontal spatial information on the granule. Currently contains
two

    elements, GPolygon and BoundingRectangle.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element ref=\"GPolygon\" minOccurs=\"0\"/\>

   \<xs:element ref=\"BoundingRectangle\" minOccurs=\"0\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"GPolygon\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Horizontal spatial information, on the granule, in the GPolygon
form.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element ref=\"Boundary\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"Boundary\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

   Boundary of the GPloygon, consisting of a series of points.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"Point\" minOccurs=\"0\" maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"Point\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    A GPolygon pint, consisting of a longitude and latitude coordinate.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"ExclusionFlag\" minOccurs=\"0\"
maxOccurs=\"1\"/\>        

   \<xs:element ref=\"PointLongitude\"/\>

   \<xs:element ref=\"PointLatitude\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"ExclusionFlag\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     Indicates whether the polygon should be included or excluded

    \</xs:documentation\>

    \</xs:annotation\>    

    \<xs:simpleType\>

                \<xs:restriction base=\"xs:string\" /\>

    \</xs:simpleType\>            

  \</xs:element\>

\<xs:element name=\"PointLatitude\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     decimal degrees (+ = north (default), - = south)

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:float\"\>

      \<xs:minInclusive value=\"-90.0000\"/\>

      \<xs:maxInclusive value=\"+90.0000\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"PointLongitude\"\>

  \<xs:annotation\>

    \<xs:documentation\>

     decimal degrees (+ = east (default), - = west)

    \</xs:documentation\>

  \</xs:annotation\>

  \<xs:simpleType\>

    \<xs:restriction base=\"xs:float\"\>

      \<xs:minInclusive value=\"-180.0000\"/\>

      \<xs:maxInclusive value=\"+180.0000\"/\>

    \</xs:restriction\>

  \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"BoundingRectangle\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Horizontal spatial information, on the granule, in the

    BoundingRectangle form.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"WestBoundingCoordinate\"/\>

   \<xs:element ref=\"NorthBoundingCoordinate\"/\>

   \<xs:element ref=\"EastBoundingCoordinate\"/\>

   \<xs:element ref=\"SouthBoundingCoordinate\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"OrbitCalculatedSpatialDomain\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Orbit spatial temporal information on the granule.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"OrbitCalculatedSpatialDomainContainer\"
minOccurs=\"0\" maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"OrbitCalculatedSpatialDomainContainer\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

     Orbital Information on the granule. Includes, OrbitNumber,

     EquatorCrossingLongitude, EquatorCrossingDate and

     EquatorCrossingTime.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element name=\"OrbitNumber\" type=\"xs:unsignedLong\"
minOccurs=\"0\"/\>

   \<xs:element name=\"StartOrbitNumber\" minOccurs=\"0\"/\>

   \<xs:element name=\"StopOrbitNumber\" minOccurs=\"0\"/\>           

   \<xs:element ref=\"EquatorCrossingLongitude\"/\>

   \<xs:element name=\"EquatorCrossingDate\" type=\"xs:date\"
minOccurs=\"0\"/\>

   \<xs:element name=\"EquatorCrossingTime\" type=\"xs:time\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"EquatorCrossingLongitude\"\>

 \<xs:annotation\>

   \<xs:documentation\>

     decimal degrees (+ = east (default), - = west)

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:simpleType\>

   \<xs:restriction base=\"xs:float\"\>

     \<xs:minInclusive value=\"-180.0000\"/\>

     \<xs:maxInclusive value=\"+180.0000\"/\>

   \</xs:restriction\>

 \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"Platform\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    The platform (short name) the instrument was mounted on. Includes

    reference to the instrument container element. The platform

    container structure is the same in ECHOs schema. The S4PA Collection

    level meta-data uses a platform container, which has the same

    structure in GCMD-DIF schema.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"PlatformShortName\"/\>

   \<xs:element ref=\"Instrument\" minOccurs=\"0\"
maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"Instrument\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    The instrument associated with the sensor. Includes an
InstrumentShortName

    and reference to sensor container element.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element name=\"InstrumentShortName\"\>

     \<xs:simpleType\>

        \<xs:restriction base=\"xs:string\"\>

           \<xs:maxLength value=\"20\"/\>

        \</xs:restriction\>

     \</xs:simpleType\>

   \</xs:element\>

   \<xs:element ref=\"Sensor\"  minOccurs=\"0\"
maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"Sensor\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    Sensor (short name) used to measure data.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:all\>

   \<xs:element ref=\"SensorShortName\"/\>

  \</xs:all\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"PSAs\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    PI specific attributes.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"PSA\" minOccurs=\"0\" maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"PSA\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

     PI specific attribute. Includes, PSAName and PSAValue.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"PSAName\"/\>

   \<xs:element ref=\"PSAValue\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"PSAName\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"PSAValue\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"500\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"MeasuredParameters\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

    PI specific attributes.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"MeasuredParameter\" minOccurs=\"0\"
maxOccurs=\"unbounded\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"MeasuredParameter\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

     PI specific attribute. Includes, ParameterName, QAPercentMissing,
QAPercentOutofBounds, QAInterpolatedData, AutomaticQualityFlag,
AutomaticQualityFlagExplanation, OperationalQualityFlag,
OperationalQualityFlagExplanation, ScienceQualityFlag,
ScienceQualityFlagExplanation.

   \</xs:documentation\>

 \</xs:annotation\>

 \<xs:complexType\>

  \<xs:sequence\>

   \<xs:element ref=\"ParameterName\" minOccurs=\"0\"/\>

   \<xs:element ref=\"QAPercentMissing\" minOccurs=\"0\"/\>

   \<xs:element ref=\"QAPercentOutofBounds\" minOccurs=\"0\"/\>

   \<xs:element ref=\"QAPercentInterpolatedData\" minOccurs=\"0\"/\>

   \<xs:element ref=\"QAPercentCloudCover\"
minOccurs=\"0\"/\>                        

   \<xs:element ref=\"AutomaticQualityFlag\" minOccurs=\"0\"/\>

   \<xs:element ref=\"AutomaticQualityFlagExplanation\"
minOccurs=\"0\"/\>

   \<xs:element ref=\"OperationalQualityFlag\" minOccurs=\"0\"/\>

   \<xs:element ref=\"OperationalQualityFlagExplanation\"
minOccurs=\"0\"/\>

   \<xs:element ref=\"ScienceQualityFlag\" minOccurs=\"0\"/\>

   \<xs:element ref=\"ScienceQualityFlagExplanation\" minOccurs=\"0\"/\>

  \</xs:sequence\>

 \</xs:complexType\>

\</xs:element\>

\<xs:element name=\"ParameterName\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"QAPercentMissing\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"QAPercentOutofBounds\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"QAPercentInterpolatedData\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"QAPercentCloudCover\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"AutomaticQualityFlag\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"AutomaticQualityFlagExplanation\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"500\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"OperationalQualityFlag\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"OperationalQualityFlagExplanation\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"500\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"ScienceQualityFlag\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"50\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"ScienceQualityFlagExplanation\"\>

   \<xs:simpleType\>

      \<xs:restriction base=\"xs:string\"\>

         \<xs:maxLength value=\"500\"/\>

      \</xs:restriction\>

   \</xs:simpleType\>

\</xs:element\>

\<xs:element name=\"ProducersMetaData\"\>

 \<xs:annotation\>

   \<xs:documentation xml:lang=\"en\"\>

 This section will contain a copy of the ODL file in a text output
format.

   \</xs:documentation\>

 \</xs:annotation\>

\</xs:element\>

\</xs:schema\>

![](media/image3.wmf)

**Figure 5-2. S4PA Granule Level Metadata**

EXAMPLE ONLY EXAMPLE ONLY

GROUP = INVENTORYMETADATA

GROUPTYPE = MASTERGROUP

GROUP = ECSDATAGRANULE

OBJECT = LOCALGRANULEID

NUM_VAL = 1

VALUE = \"SORCE_L3_TSI_6M_V0007_20030225_20070126.txt\"

END_OBJECT = LOCALGRANULEID

OBJECT = PRODUCTIONDATETIME

NUM_VAL = 1

VALUE = \"2007-02-01T03:51:24.000Z\"

END_OBJECT = PRODUCTIONDATETIME

OBJECT = LOCALVERSIONID

NUM_VAL = 1

VALUE = \"7\"

END_OBJECT = LOCALVERSIONID

END_GROUP = ECSDATAGRANULE

GROUP = MEASUREDPARAMETER

OBJECT = MEASUREDPARAMETERCONTAINER

CLASS = \"1\"

GROUP = QAFLAGS

CLASS = \"1\"

OBJECT = SCIENCEQUALITYFLAG

NUM_VAL = 1

VALUE = \"Not Investigated\"

CLASS = \"1\"

END_OBJECT = SCIENCEQUALITYFLAG

OBJECT = AUTOMATICQUALITYFLAGEXPLANATION

NUM_VAL = 1

CLASS = \"1\"

VALUE = \"The data passed all automatic quality tests\"

END_OBJECT = AUTOMATICQUALITYFLAGEXPLANATION

OBJECT = AUTOMATICQUALITYFLAG

NUM_VAL = 1

CLASS = \"1\"

VALUE = \"Passed\"

END_OBJECT = AUTOMATICQUALITYFLAG

OBJECT = OPERATIONALQUALITYFLAGEXPLANATION

NUM_VAL = 1

CLASS = \"1\"

VALUE = \"Operational quality not investigated\"

END_OBJECT = OPERATIONALQUALITYFLAGEXPLANATION

OBJECT = OPERATIONALQUALITYFLAG

NUM_VAL = 1

CLASS = \"1\"

VALUE = \"Not Investigated\"

END_OBJECT = OPERATIONALQUALITYFLAG

END_GROUP = QAFLAGS

GROUP = QASTATS

CLASS = \"1\"

OBJECT = QAPERCENTMISSINGDATA

NUM_VAL = 1

CLASS = \"1\"

VALUE = 0

END_OBJECT = QAPERCENTMISSINGDATA

OBJECT = QAPERCENTINTERPOLATEDDATA

NUM_VAL = 1

CLASS = \"1\"

VALUE = 0

END_OBJECT = QAPERCENTINTERPOLATEDDATA

END_GROUP = QASTATS

OBJECT = PARAMETERNAME

CLASS = \"1\"

NUM_VAL = 1

VALUE = \"GranuleParameters\"

END_OBJECT = PARAMETERNAME

END_OBJECT = MEASUREDPARAMETERCONTAINER

END_GROUP = MEASUREDPARAMETER

GROUP = COLLECTIONDESCRIPTIONCLASS

OBJECT = VERSIONID

NUM_VAL = 1

VALUE = 2

END_OBJECT = VERSIONID

OBJECT = SHORTNAME

NUM_VAL = 1

VALUE = \"SOR3TSI6\"

END_OBJECT = SHORTNAME

END_GROUP = COLLECTIONDESCRIPTIONCLASS

GROUP = SPATIALDOMAINCONTAINER

GROUP = GRANULELOCALITY

OBJECT = LOCALITYVALUE

NUM_VAL = 1

VALUE = \"Global\"

END_OBJECT = LOCALITYVALUE

END_GROUP = GRANULELOCALITY

END_GROUP = SPATIALDOMAINCONTAINER

GROUP = RANGEDATETIME

OBJECT = RANGEENDINGDATE

NUM_VAL = 1

VALUE = \"2007-01-26\"

END_OBJECT = RANGEENDINGDATE

OBJECT = RANGEENDINGTIME

NUM_VAL = 1

VALUE = \"21:00:00.0\"

END_OBJECT = RANGEENDINGTIME

OBJECT = RANGEBEGINNINGDATE

NUM_VAL = 1

VALUE = \"2003-02-25\"

END_OBJECT = RANGEBEGINNINGDATE

OBJECT = RANGEBEGINNINGTIME

NUM_VAL = 1

VALUE = \"03:00:00.0\"

END_OBJECT = RANGEBEGINNINGTIME

END_GROUP = RANGEDATETIME

GROUP = PGEVERSIONCLASS

OBJECT = PGEVERSION

NUM_VAL = 1

VALUE = \"1.0\"

END_OBJECT = PGEVERSION

END_GROUP = PGEVERSIONCLASS

END_GROUP = INVENTORYMETADATA

Figure 5-3. Example S4PA ODL Metadata File

# Abbreviations and Acronyms

AIRS Atmospheric Infrared Sounder

AMSU-A Advanced Microwave Sounding Unit - Version A (AMSU-A1 and
AMSU-A2)

APID Application Processor Identifier

ANGe Archive Next Generation

ARP Address Resolution Protocol

ASCII American Standard Code for Information Interchange

ASDC Atmospheric Sciences Data Center

BGP Border Gateway Protocol

BNF Backus-Naur Form

BRTEMP Brightness Temperature

BUV Backscatter Ultraviolet

CCB Configuration Control Board

CCR Configuration Change Request

CCSDS Consultative Committee for Space Data Systems

CERES Clouds and Earth\'s Radiant Energy System

DAAC Distributed Active Archive Center

DAO Data Assimilation Office (now part of the GMAO)

DAP Delivered Algorithm Package

DAS Data Assimilation System

DASCE Data Assimilation System Computing Environment

DES Digital Encryption Standard

DEM Digital Elevation Model

DCN Document Change Notice

DIF Data Interchange Format

DISC Data and Information Services Center

DLT Digital Linear Tape

DN Distribution Notice

DOAS Differential Optical Absorption Spectroscopy

DPREP Data Pre-Processing

DPS DAAC Processing System

DTD (XML) Document Type Definition

EASE Equal-Area Scalable Earth (grid)

EDS Expedited Data Set

EBnet EOSDIS Backbone Network

ECHO EOS ClearingHOuse

EDG EOS Data Gateway

ECS EOSDIS Core System

EDOS EOS Data and Operations System

EGID External Granule ID

EGS EOS Ground System

EMSn EOS Mission Support Network

EOS Earth Observing System

EOSDIS EOS Data and Information System

ESDIS Earth Science Data and Information System

ESDT Earth Science Data Type

ESE Earth Science Enterprise

ESSn EOS Science Support network

ESSP Earth System Science Pathfinder Project

FMI Finnish Meteorological Institute

FNL Final Analysis and Forecast System, Global Analysis

FTP File Transfer Protocol

GB Giga Byte

GCMD Global Change Master Directory

GES GSFC Earth Sciences

GogE Gigabit Ethernet

GMAO Global Modeling and Assimilation Office

GOES Geostationary Operational Environmental Satellite

GPCC Global Precipitation Climatology Centre

GPI GOES Precipitation Index

GRIB GRid In Binary

GSFC Goddard Space Flight Center

GUI Graphical User Interface

HIRDLS High Resolution Dynamics Limb Sounder

HDF Hierarchical Data Format

HDF-EOS Hierarchical Data Format -- Earth Observing System

HSB Humidity Sounder for Brazil

ICD Interface Control Document

ICMP Internet Control Message Protocol

IETF Internet Engineering Task Force

IP Internet Protocol

ISO International Standards Organization

JPL Jet Propulsion Laboratory

JPIP Joint Project Implementation Plan

KNMI Royal Netherlands Meteorological Institute

L0 Level 0

L1A Level 1A

L1B Level 1B

L2 Level 2

LaRC Langley Research Center

LASP Laboratory for Atmospheric and Space Physics

LAN Local Area Network

LATIS Langley TRMM Information System

LGID Local Granule Identifier

LID Logical ID

LP DAAC Land Processes (DAAC)

MB Mega Byte

MCF Metadata Configuration File

MD5 Message Digest

MLS Microwave Limb Sounder

MODAPS MODIS Data Processing System

MODIS Moderate Resolution Imaging Spectroradiometer

MO&IS Mission Operations and Information Systems

MOU Memoranda of Understanding

MRF Medium Range Forecast System

MW Microwave

NASA National Aeronautics and Space Administration

NCDC National Climatic Data Center (NOAA)

NCEP National Center for Environmental Prediction

NESDIS National Environmental Satellite Data and Information Service

NIR Near-Infrared

NIVR Netherlands Agency for Aerospace Programmes

NMC National Meteorological Center (NOAA)

NOAA National Oceanic and Atmospheric Administration

NRT Near Real Time

NSI NASA Science Internet

NSIDC National Snow and Ice Data Center (DAAC)

OA Operations Agreement

ODL Object Description Language

ODPS OMI Dutch Processing System

OMI Ozone Monitoring Instrument

OSF Observation Schedule File

OSI Open Systems Interconnection

OSIPA OMI SIPS

PAN Production Acceptance Notification

PDR Product Delivery Record

PDRD Product Delivery Record Discrepancy

PI Principal Investigator

PSA Product Specific Attribute

PVL Parameter Value Language

QA Quality Assurance

RFC Request For Comments

RIP Routing Information Protocol

S4PA Simple, Scalable Script-based Science Processor Archive

SCF Science Computing Facility

scp Secure Copy

SDP Science Data Processing

SDPS Science Data Processing Segment

SFTP Secure FTP

SIPS Science Investigator-led Processing System

S-MOC SORCE Mission Operations Center

S-SOC SORCE Science Operations Center

SMOBA Stratosphere Monitoring Group Ozone Blended Analysis

SMTP Simple Mail Transport Protocol

SORCE Solar Radiation and Climate Experiment

SSE Science System Element

SSH Secure Shell

SSIT Science Software Integration and Test

SSM/I Special Sensor Microwave/Imager

TAI Universal Atomic Time

TAR Tape Archive

TBD To Be Determined

TBR To Be Resolved

TBS To Be Supplied

TCP Transmission Control Protocol

TCP/IP Transmission Control Protocol/Internet Protocol

TL Team Leader

TLCF Team Leader Computing Facility

TMI TRMM Microwave Imager

TOMS Total Ozone Mapping Spectrometer

TRMM Tropical Rainfall Measuring Mission

UARS Upper Atmosphere Research Satellite

UE University of Edinburgh

UR Universal Reference (an ECS construct)

URL Universal Resource Locator

UV Ultraviolet

UV-B Ultraviolet-B

VIRS Visible and Infrared Scanner

VIS Visible

WIST Warehouse Inventory Search Tool

XML eXtensible Markup Language

This page intentionally left blank.