310 likes | 524 Views
Profile of NPOESS HDF5 Files. Kim Tomashosky, Ken Stone, Pat Purcell, Ron Andrews NPOESS Program Raytheon Company Aurora, Colorado. NPOESS HDF5 General Overview. Ron Andrews. HDF5 Conceptual Diagram. HDF5 XML User’s Block.
E N D
Profile of NPOESS HDF5 Files Kim Tomashosky, Ken Stone, Pat Purcell, Ron Andrews NPOESS Program Raytheon Company Aurora, Colorado
NPOESS HDF5 General Overview Ron Andrews
HDF5 XML User’s Block • The XML User’s Block for NPOESS Data Products provides a ‘quick-look’ into the metadata of the associated HDF5 file. • The XML User’s Blocks are defined in the following volumes: • CDFCB-X Volume V – contains the XML User’s Block formats for the RDRs, SDRs, TDRs, EDRs, ARPs, and IPs • CDFCB-X Volume VI – Ancillary, Auxiliary, Reports, and Messages – contains the XML User’s Block formats for the ancillary, auxiliary, reports, and messages that are wrapped in HDF5 • The size of the HDF5 XML User’s Block will be a factor of 512 bytes, with a maximum size which is still to be determined • Provides elements: • N_Processing_Domain • Mission, Platform, and Instrument Names • N_Dataset_Type_Tag • Number_of_Data_Products • CollectionShortName(s) • Aggregation Information • Timestamps (Creation Timestamp, Observation Timestamps) • Percent Missing Data
HDF5 File Root Group Metadata Elements – Example CDFCB-X Table
HDF5 File Product Group Metadata Elements – Example CDFCB-X Table
HDF5 File Product Aggregation Dataset Metadata Elements – Example CDFCB-X Table
HDF5 File Product Granule Dataset Metadata Elements – Example CDFCB-X Table
HDF5 File Product Granule Dataset Metadata Elements – Example CDFCB-X Table
HDF5 File Product Granule Dataset Metadata Elements – Example CDFCB-X Table
HDF5 File Product Granule Dataset Metadata Elements – Example CDFCB-X Table
HDF5 File Spacecraft Diary Group Metadata Elements – Example CDFCB-X Table
HDF5 File Spacecraft Diary Aggregation Metadata Elements – Example CDFCB-X Table
HDF5 File Spacecraft Diary Dataset Metadata Elements – Example CDFCB-X Table
NPOESS Quality Flags Overview • The concept is to provide for consistently stored, high density, quality information about the delivered data – simplifying usability while maintaining storage efficiency • Quality flags are qualifications of one or more consecutive bits in each byte. • Quality flag arrays follow the structure of the data product • The size of the arrays are equal to or less than the size of the data to which the quality information applies (dimensions retain correspondence to data product arrays) • Quality flags will appear in the HDF5 files as n number(s) of two or three dimensional, 1-byte arrays. • The number of arrays is dependant on the number and size of each data product's quality flag definitions • Quality flags will be packed such that each flag is entirely contained within a single byte, occasionally resulting in a byte with reserved or meaningless bits • Byte alignment is the same for every quality flag array • First bit is the LSB, bytes are Big-Endian • Each byte may contain multiple bit-level flags
Detailed NPOESS UML Models Ken Stone
NPOESS Sample Data Patrick Purcell
HDF5 API – C++ Reader Sample Code Note: A granule holds a reference to a dataset region ... ... while an aggregation contains a reference to an object.
NPOESS HDF5 Summary • The NPOESS Program delivers the official deliverable data products (RDR, SDR/TDR, EDR/ARP/IP) and dynamic ancillary data and auxiliary data in HDF5 Files • The HDF5 Files have an XML User Block that can be accessed without HDF5 tools - provides a “quick-look” into the metadata before opening the HDF5 file • Metadata within the HDF5 files are stored as attributes • There are general UML Models for the NPOESS official delivered data that provide a common framework • Official deliverable data products are organized by reference objects (aggregations) which contain one or more reference regions (granules) • Although data may be accessed directly through the All_Data group, the Data_Products group provides integrated access: • Allows the user to access both metadata and data through a common HDF5 group • Metadata is accessed directly by reading the Attribute values • Datasets may be accessed by dereferencing the object ID stored in the Data_Products Group for the aggregation or granule