SlideShare a Scribd company logo
1 of 18
The HDF Group

New Elements and Lessons Learned
for New Mission HDF5 Products
Observations from developing JPSS
nagg and h5augjpss tools
Larry Knox
The HDF Group
lrknox@hdfgroup.org

July 8, 2013

Ideas for new mission HDF5 data products

1

www.hdfgroup.org
Basis for observations
Three developers at The HDF Group have been
working with JPSS/NPP data files for the last 2
years.
• 1/2 year developing h5augjpss
• 1 1/2 years developing nagg

The purpose of this talk is to call to your attention
some potentially useful HDF5 elements that are
used in the JPSS data files and some that have
presented obstacles to broader data access and
interoperability with netCDF-4, netCDF Java and
netCDF based tools.
July 8, 2013

NPP Product Aggregation Tool

2

www.hdfgroup.org
h5augjpss
• h5augjpss is a tool to make NPP files
• netCDF-4 readable (by hiding references)
• more meaningful (by adding dimensional and
other metadata from product_profiles)
• accessible to Panoply and IDV by copying
associated geolocation data into the file.
Addition of attributes for CF compliance may be
required and is recommended
• accessible to netCDF based tools that don’t
support groups by flattening the file
• These options are independent.
• Note that h5augjpss modifies input files
July 8, 2013

NPP Product Aggregation Tool

3

www.hdfgroup.org
nagg
• nagg, the NPP aggregation and packaging tool
is a tool for creating a new copy of NPP
product files with a particular aggregation
number and packaging arrangement.
• nagg copies and rearranges data from the
input files into new output files. Data is the
same but may be divided differently among
files. Aggregation attributes are updated to
match new arrangement, and number in
granule name matches position in new file.
• nagg matches IDPS produced files
July 8, 2013

NPP Product Aggregation Tool

4

www.hdfgroup.org
Overview of NPP file structure
• Documented in JPSS Common Data Format
Control Books: 15 volumes available at
http://npp.gsfc.nasa.gov/science/documents.ht
ml
• My opinion: the required reading is
http://npp.gsfc.nasa.gov/science/sciencedocu
ments/2013-01/474-00001-01_JPSS-CDFCBX-Vol-I_0123A.pdf, pp 1 – 140. The rest is
reference material for specific products.
• Key new HDF5 elements are object and region
references
July 8, 2013

NPP Product Aggregation Tool

5

www.hdfgroup.org
Overview of NPP file structure
Figure 3.5-1 from JPSS Common Data
Format Control Book - X Vol. I, p 78 shows
the contents of a JPSS or NPP file with
• One product
• Three granules
• Three datasets
This structure is common for the 123 SDR,
EDR and IP products and 20 geolocation
products for which nagg is supported.
Each file has
• XML User Block
• Datasets for each product in
/All_Data/<Collection Short Name>_All
group (green rectangle in left column)
• Datasets with references to aggregation
and granules in
/Data_Products/<Collection Short
Name> group (brown and purple
rectangles in right column)
July 8, 2013

NPP Product Aggregation Tool

6

www.hdfgroup.org
JPSS XML User Block Example
•

From file ICSTT_npp_d20130126_t0155219_e0155517_b06465_c20130126035052218071_noaa_ops.h5
<HDF_UserBlock>
<Mission_Name>NPP</Mission_Name>
<Platform_Short_Name>NPP</Platform_Short_Name>
<N_GEO_Ref>GCRIO_npp_d20130126_t0154179_e0154477_b06465_c…_noaa_ops.h5</N_GEO_Ref>
<Number_of_Data_Products>1</Number_of_Data_Products>
<Data_Product>
<Instrument_Short_Name>CrIMSS</Instrument_Short_Name>
<N_Collection_Short_Name>CrIMSS-CrIS-SKIN-TEMP-IP</N_Collection_Short_Name>
<N_Processing_Domain>ops</N_Processing_Domain>
<N_Dataset_Type_Tag>IP</N_Dataset_Type_Tag>
<AggregateBeginningDate>20130126</AggregateBeginningDate>
<AggregateBeginningOrbitNumber>6465</AggregateBeginningOrbitNumber>
<AggregateBeginningTime>015417.984111Z</AggregateBeginningTime>
<AggregateEndingDate>20130126</AggregateEndingDate>
<AggregateEndingOrbitNumber>6465</AggregateEndingOrbitNumber>
<AggregateEndingTime>015447.784180Z</AggregateEndingTime>
<AggregateBeginningGranuleID>NPP000398372569</AggregateBeginningGranuleID>
<AggregateEndingGranuleID>NPP000398372569</AggregateEndingGranuleID>
</Data_Product>
</HDF_UserBlock>

•

•

The user block can be read with text editors such as vi or notepad. HDF5 is not
required to read the user block, and h5dump does not display it, because it the user
block is not required to be text.
For NPP files the user block is a series of xml tags that describe the aggregation in the
file.

July 8, 2013

NPP Product Aggregation Tool

7

www.hdfgroup.org
References in NPP files
The white rectangles represent
datasets.
The Aggregation dataset has
• Object references to whole
datasets in /All_Data/<Collection
Short Name>_All group
• Aggregation attributes

Each Granule dataset has
• A region reference which identifies
a hyperslab in each dataset in
All_Data/<Collection Short
Name>_All group. In this example,
each hyperslab is 1/3 of each
dataset in the /All_Data group.
• Granule attributes
July 8, 2013

NPP Product Aggregation Tool

8

www.hdfgroup.org
References in NPP files
•

•

Each Granule dataset has a region
reference entry for its hyperslab in each
of the Datasets in the /All_Data group.

•

July 8, 2013

The Aggregation dataset has one object
reference entry for each dataset in the
/All_Data group

Figure 3.5-1 represents a file with one
product. The path to the datasets in
“Data” in the HDF5 file would be
/All_Data/<Collection Short Name>_All.
The path to the Aggregation and
Granule datasets in the HDF5 file would
be /Data_Products/<Collection Short
Name>.

NPP Product Aggregation Tool

9

www.hdfgroup.org
Overview of NPP file structure
For packaged files, the rectangles shown
would be duplicated completely for each
product included in the file. There will be
groups named /All_Data with <Collection
Short Name>_All subgroups for each
product, and /Data_Products with
<Collection Short Name>_All subgroups for
each product.

July 8, 2013

NPP Product Aggregation Tool

10

www.hdfgroup.org
Helpful characteristics of NPP files
• Development of the nagg tool was made
easier because all of the supported products
conform to the IDPS file structure.
• nagg uses the region reference APIs in the
HL_NPOESS library to read data hyperslabs to
be written to output files.

July 8, 2013

NPP Product Aggregation Tool

11

www.hdfgroup.org
Helpful characteristics of NPP files
• Tools that do not understand object or region
references but can use the aggregated data
can use the datasets in the /All_Data group,
ignoring the datasets in /Data_Products. If
these tools are unable to ignore the references
they can be hidden.

July 8, 2013

NPP Product Aggregation Tool

12

www.hdfgroup.org
Helpful characteristics of IDPS files

References are a convenient way to identify
and access hyperslabs

July 8, 2013

NPP Product Aggregation Tool

13

www.hdfgroup.org
Lessons learned

References, while they are useful, were an
obstacle to interoperability with netCDF
based tools that are also useful. These
factors should weighed when designing file
structures and objects for new missions.

July 8, 2013

NPP Product Aggregation Tool

14

www.hdfgroup.org
Lessons learned
Adding a compression option to nagg is
currently being considered. Initial trials with
random files appear to cut file size by about
50%, depending on the data values in the file.
In addition it would probably have allowed a
representation of quality flags other than the
packed bits representaion that was
implemented, which required changes to
h5dump to recognize and display the data in
a way that accurately represents the
meaning.
July 8, 2013

NPP Product Aggregation Tool

15

www.hdfgroup.org
Advice to designers of New Missions
• Consider users and users tools.
• Contact development teams as soon as
possible regarding possible problems with
other software.
• When possible, match what other products and
missions are doing, especially if they are
closely related or likely to be used in
conjunction with yours.
• Check with The HDF Group for available
options that may already be implemented and
available.
July 8, 2013

NPP Product Aggregation Tool

16

www.hdfgroup.org
Thank you!

July 8, 2013

NPP Product Aggregation Tool

17

www.hdfgroup.org
<text>

July 8, 2013

NPP Product Aggregation Tool

18

www.hdfgroup.org

More Related Content

Viewers also liked

Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...
Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...
Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...The HDF-EOS Tools and Information Center
 

Viewers also liked (18)

Earth Science Data and Information System (ESDIS) Project Update
Earth Science Data and Information System (ESDIS) Project UpdateEarth Science Data and Information System (ESDIS) Project Update
Earth Science Data and Information System (ESDIS) Project Update
 
What will be new in HDF5?
What will be new in HDF5?What will be new in HDF5?
What will be new in HDF5?
 
Proposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 ArraysProposal for adding Named Dimensions to HDF5 Arrays
Proposal for adding Named Dimensions to HDF5 Arrays
 
HDF-EOS Tools
HDF-EOS ToolsHDF-EOS Tools
HDF-EOS Tools
 
Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...
Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...
Access HDF-EOS data with OGC Web Coverage Service - Earth Observation Applica...
 
HDF5 iRODS
HDF5 iRODSHDF5 iRODS
HDF5 iRODS
 
EOSDIS Status
EOSDIS StatusEOSDIS Status
EOSDIS Status
 
Aggregation - What's it to The HDF Group
Aggregation - What's it to The HDF GroupAggregation - What's it to The HDF Group
Aggregation - What's it to The HDF Group
 
Granules Are Forever
Granules Are ForeverGranules Are Forever
Granules Are Forever
 
Update: IDL & ENVI
Update: IDL & ENVIUpdate: IDL & ENVI
Update: IDL & ENVI
 
Profile of NPOESS HDF5 Files
Profile of NPOESS HDF5 FilesProfile of NPOESS HDF5 Files
Profile of NPOESS HDF5 Files
 
HDF Tools Tutorial
HDF Tools TutorialHDF Tools Tutorial
HDF Tools Tutorial
 
Bridging ICESat and ICESat-2 Standard Data Products
Bridging ICESat and ICESat-2 Standard Data ProductsBridging ICESat and ICESat-2 Standard Data Products
Bridging ICESat and ICESat-2 Standard Data Products
 
ENVI & IDL Services Engine for Web-Accessible Earth Science Applications
ENVI & IDL Services Engine for Web-Accessible Earth Science ApplicationsENVI & IDL Services Engine for Web-Accessible Earth Science Applications
ENVI & IDL Services Engine for Web-Accessible Earth Science Applications
 
HDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demoHDF5 OPeNDAP project update and demo
HDF5 OPeNDAP project update and demo
 
HDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSSHDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSS
 
HDF Tools Updates and Discussions
HDF Tools Updates and DiscussionsHDF Tools Updates and Discussions
HDF Tools Updates and Discussions
 
Support for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF GroupSupport for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF Group
 

More from The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

More from The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Recently uploaded

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 

Recently uploaded (20)

Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 

New Elements and Lessons Learned for New Mission HDF5 Products

  • 1. The HDF Group New Elements and Lessons Learned for New Mission HDF5 Products Observations from developing JPSS nagg and h5augjpss tools Larry Knox The HDF Group lrknox@hdfgroup.org July 8, 2013 Ideas for new mission HDF5 data products 1 www.hdfgroup.org
  • 2. Basis for observations Three developers at The HDF Group have been working with JPSS/NPP data files for the last 2 years. • 1/2 year developing h5augjpss • 1 1/2 years developing nagg The purpose of this talk is to call to your attention some potentially useful HDF5 elements that are used in the JPSS data files and some that have presented obstacles to broader data access and interoperability with netCDF-4, netCDF Java and netCDF based tools. July 8, 2013 NPP Product Aggregation Tool 2 www.hdfgroup.org
  • 3. h5augjpss • h5augjpss is a tool to make NPP files • netCDF-4 readable (by hiding references) • more meaningful (by adding dimensional and other metadata from product_profiles) • accessible to Panoply and IDV by copying associated geolocation data into the file. Addition of attributes for CF compliance may be required and is recommended • accessible to netCDF based tools that don’t support groups by flattening the file • These options are independent. • Note that h5augjpss modifies input files July 8, 2013 NPP Product Aggregation Tool 3 www.hdfgroup.org
  • 4. nagg • nagg, the NPP aggregation and packaging tool is a tool for creating a new copy of NPP product files with a particular aggregation number and packaging arrangement. • nagg copies and rearranges data from the input files into new output files. Data is the same but may be divided differently among files. Aggregation attributes are updated to match new arrangement, and number in granule name matches position in new file. • nagg matches IDPS produced files July 8, 2013 NPP Product Aggregation Tool 4 www.hdfgroup.org
  • 5. Overview of NPP file structure • Documented in JPSS Common Data Format Control Books: 15 volumes available at http://npp.gsfc.nasa.gov/science/documents.ht ml • My opinion: the required reading is http://npp.gsfc.nasa.gov/science/sciencedocu ments/2013-01/474-00001-01_JPSS-CDFCBX-Vol-I_0123A.pdf, pp 1 – 140. The rest is reference material for specific products. • Key new HDF5 elements are object and region references July 8, 2013 NPP Product Aggregation Tool 5 www.hdfgroup.org
  • 6. Overview of NPP file structure Figure 3.5-1 from JPSS Common Data Format Control Book - X Vol. I, p 78 shows the contents of a JPSS or NPP file with • One product • Three granules • Three datasets This structure is common for the 123 SDR, EDR and IP products and 20 geolocation products for which nagg is supported. Each file has • XML User Block • Datasets for each product in /All_Data/<Collection Short Name>_All group (green rectangle in left column) • Datasets with references to aggregation and granules in /Data_Products/<Collection Short Name> group (brown and purple rectangles in right column) July 8, 2013 NPP Product Aggregation Tool 6 www.hdfgroup.org
  • 7. JPSS XML User Block Example • From file ICSTT_npp_d20130126_t0155219_e0155517_b06465_c20130126035052218071_noaa_ops.h5 <HDF_UserBlock> <Mission_Name>NPP</Mission_Name> <Platform_Short_Name>NPP</Platform_Short_Name> <N_GEO_Ref>GCRIO_npp_d20130126_t0154179_e0154477_b06465_c…_noaa_ops.h5</N_GEO_Ref> <Number_of_Data_Products>1</Number_of_Data_Products> <Data_Product> <Instrument_Short_Name>CrIMSS</Instrument_Short_Name> <N_Collection_Short_Name>CrIMSS-CrIS-SKIN-TEMP-IP</N_Collection_Short_Name> <N_Processing_Domain>ops</N_Processing_Domain> <N_Dataset_Type_Tag>IP</N_Dataset_Type_Tag> <AggregateBeginningDate>20130126</AggregateBeginningDate> <AggregateBeginningOrbitNumber>6465</AggregateBeginningOrbitNumber> <AggregateBeginningTime>015417.984111Z</AggregateBeginningTime> <AggregateEndingDate>20130126</AggregateEndingDate> <AggregateEndingOrbitNumber>6465</AggregateEndingOrbitNumber> <AggregateEndingTime>015447.784180Z</AggregateEndingTime> <AggregateBeginningGranuleID>NPP000398372569</AggregateBeginningGranuleID> <AggregateEndingGranuleID>NPP000398372569</AggregateEndingGranuleID> </Data_Product> </HDF_UserBlock> • • The user block can be read with text editors such as vi or notepad. HDF5 is not required to read the user block, and h5dump does not display it, because it the user block is not required to be text. For NPP files the user block is a series of xml tags that describe the aggregation in the file. July 8, 2013 NPP Product Aggregation Tool 7 www.hdfgroup.org
  • 8. References in NPP files The white rectangles represent datasets. The Aggregation dataset has • Object references to whole datasets in /All_Data/<Collection Short Name>_All group • Aggregation attributes Each Granule dataset has • A region reference which identifies a hyperslab in each dataset in All_Data/<Collection Short Name>_All group. In this example, each hyperslab is 1/3 of each dataset in the /All_Data group. • Granule attributes July 8, 2013 NPP Product Aggregation Tool 8 www.hdfgroup.org
  • 9. References in NPP files • • Each Granule dataset has a region reference entry for its hyperslab in each of the Datasets in the /All_Data group. • July 8, 2013 The Aggregation dataset has one object reference entry for each dataset in the /All_Data group Figure 3.5-1 represents a file with one product. The path to the datasets in “Data” in the HDF5 file would be /All_Data/<Collection Short Name>_All. The path to the Aggregation and Granule datasets in the HDF5 file would be /Data_Products/<Collection Short Name>. NPP Product Aggregation Tool 9 www.hdfgroup.org
  • 10. Overview of NPP file structure For packaged files, the rectangles shown would be duplicated completely for each product included in the file. There will be groups named /All_Data with <Collection Short Name>_All subgroups for each product, and /Data_Products with <Collection Short Name>_All subgroups for each product. July 8, 2013 NPP Product Aggregation Tool 10 www.hdfgroup.org
  • 11. Helpful characteristics of NPP files • Development of the nagg tool was made easier because all of the supported products conform to the IDPS file structure. • nagg uses the region reference APIs in the HL_NPOESS library to read data hyperslabs to be written to output files. July 8, 2013 NPP Product Aggregation Tool 11 www.hdfgroup.org
  • 12. Helpful characteristics of NPP files • Tools that do not understand object or region references but can use the aggregated data can use the datasets in the /All_Data group, ignoring the datasets in /Data_Products. If these tools are unable to ignore the references they can be hidden. July 8, 2013 NPP Product Aggregation Tool 12 www.hdfgroup.org
  • 13. Helpful characteristics of IDPS files References are a convenient way to identify and access hyperslabs July 8, 2013 NPP Product Aggregation Tool 13 www.hdfgroup.org
  • 14. Lessons learned References, while they are useful, were an obstacle to interoperability with netCDF based tools that are also useful. These factors should weighed when designing file structures and objects for new missions. July 8, 2013 NPP Product Aggregation Tool 14 www.hdfgroup.org
  • 15. Lessons learned Adding a compression option to nagg is currently being considered. Initial trials with random files appear to cut file size by about 50%, depending on the data values in the file. In addition it would probably have allowed a representation of quality flags other than the packed bits representaion that was implemented, which required changes to h5dump to recognize and display the data in a way that accurately represents the meaning. July 8, 2013 NPP Product Aggregation Tool 15 www.hdfgroup.org
  • 16. Advice to designers of New Missions • Consider users and users tools. • Contact development teams as soon as possible regarding possible problems with other software. • When possible, match what other products and missions are doing, especially if they are closely related or likely to be used in conjunction with yours. • Check with The HDF Group for available options that may already be implemented and available. July 8, 2013 NPP Product Aggregation Tool 16 www.hdfgroup.org
  • 17. Thank you! July 8, 2013 NPP Product Aggregation Tool 17 www.hdfgroup.org
  • 18. <text> July 8, 2013 NPP Product Aggregation Tool 18 www.hdfgroup.org