SlideShare uma empresa Scribd logo
1 de 28
Bridging ICESat and ICESat-2 with
Standard Data Products

SGT/Jeffrey Lee
Code 615, NASA GSFC/WFF
HDF & HDF-EOS Workshop XV, April 17-19 2012
jeffrey.e.lee@nasa.gov
Juggling Three+ Efforts
ICESat (GLAS) Rewind
• Geoscience Laser Altimeter System (GLAS)
– Traditional Laser Altimeter
– 40 shots/sec

• 15 Data Product Types (GLAxx)
– L1 – L2A
– Fixed-record-length integer-binary

• Sparse Multi-rate Point Data
– 40/sec, 1/sec, 1/4sec, 1/8sec, 1/16sec
– Lat, Lon, Elev

• 33 Releases
– Final completed this year

• 7 years of campaign-mode data collection
• Returned to Earth August 30, 2010
http://icesat.gsfc.nasa.gov/icesat/
ICESat-2 (ATLAS) Preview
• Advanced Topographic Laser Altimeter System (ATLAS)
– Photon Counting Lidar
– 6 Beams/Tracks
– 10,000 shot/sec; may average
3 surface photons/shot/beam

• 21 Suggested Product Types
– L1A-L4
– 13 Sparse Multi-Rate Point
– 8 Gridded

• Big Data!
– L0 : 80GB/Day
– Total Granules : 860GB / Day

• Launch 2016
http://icesat.gsfc.nasa.gov/icesat2/
MABEL Review
•
•
•
•
•
•
•

Multiple Altimeter Beam Experimental Lidar (MABEL).
Demonstrator instrument for ATLAS.
Photon-counting LIDAR.
16 Beams/Tracks for 532nm
8 Beams/Tracks for 1064nm.
Flies aboard ER-2 – Flying from Iceland NOW
Average Size of 30 sec Granules
– L1A = 503 MB
– L1B = 272 MB
– L2A = 234 MB
http://icesat.gsfc.nasa.gov/icesat2/data/mabel/mabel_docs.php
ICESat/ICESat-2 SSDT Goals
• Design products and write software for ICESat2.
• Design products and write software for the
ICESat-2 demonstrator instrument (MABEL).
• Transform GLAS data products into something
interoperable and future-friendly. (GLAS_HDF)
Hmm…
• All three datasets are fairly similar in type:
– Sparse, irregular, multi-rate point data.

• So, let’s make the products of similar design!
• Benefits:
– Promotes interoperability.
– Enables natural progression of development
experience.
– Enhances code reuse/enables common codebase.
How Do We Do This?
• Used MABEL for initial product development.
Designed products in HDF5, wrote software,
processed data and created 5 product releases.
• Are writing transformation software and
designing products for ICESat data (GLAS_HDF)
using what learned with MABEL.
• Will integrate lessons learned in GLAS_HDF to
improve future releases of MABEL products.
• Will apply all lessons-learned to ICESat-2.
SDT Desires
• SIMPLICITY : a=plot(time,elev)
• Embrace Standards (both required and
desired).
• Self-Describing.
• NetCDF4 “Friendly”.
• Leverage Existing GLAS Codebase.
• Minimize 3rd Party Libraries
Implementation Matrix
Feature

GLAS_HDF

MABEL

ICESat-2

File Format

HDF5

HDF5

HDF5

Granule-level Metadata

ECHO+

ECHO+ (Initial)
ISO-19115 (Planned)

ISO 19115

Collection DOIs

YES

YES

YES

CF Conventions

YES

YES

YES

Self-Describing

YES

YES

YES

NetCDF4-friendly

YES

YES

TBD

Granule UUIDs

YES

YES

TBD

Development End Date

May 2012

TBD

TBD
GLAS_HDF Product Definition
• Let’s shift presentation focus to GLAS_HDF but
remember there are other drivers in play…
Technical Design
• HDF5 (1.8.8)
• Each parameter is a SIMPLE dataset.
– Simple & NetCDF4-friendly.
– Allows attached parameter attributes.
– Allows user to easily read parameters they want.

• Parameters will be chunked/gzipped.
– This is a –must- given future data sizes.
Product Challenges
•
•
•
•
•

Simplicity
Multi-Rate Data
Lots of Parameters
Different Metadata Representations
Provenance
Simplicity=Approachability
• Ungridded=No Tool Support
• So, make coding easy.
• 15 lines of code plots elevation
(the primary data parameter).

pro plot_elev
;
; Open the file
;
f_id=H5F_OPEN("GLAH06_864_2109_001_1326_3_01_0002.h5")
;
; Read Time
;
time_id=H5D_OPEN(f_id, "/Data_40HZ/Time/d_UTCTime")
time=H5D_READ(time_id)
H5D_CLOSE, time_id
;
; Read Elevation values and the fill value attribute
;
elev_id=H5D_OPEN(f_id, "/Data_40HZ/Elevation_Surfaces/d_elev")
elev=H5D_READ(elev_id)
at_id=H5A_OPEN_NAME(elev_id, "_FillValue")
bad_val=H5A_READ(at_id)
H5A_CLOSE, at_id
H5D_CLOSE, elev_id
;
; Plot the good data
;
good=where(elev ne bad_val[0])
a=plot(time[good]-time[0], elev[good])
H5F_CLOSE, f_id
end
Logical Design
• Rate Group – A solution for multi-rate data.
– All Data of a particular rate are bundled into a toplevel “rate” group. Each rate group has an
associated time parameter with a 1-to-1 array
index correspondence.
– Yes, time is repeated, but is simpler than indexing
and allows for “a=plot(x,y)”.

• Data are further grouped logically per
discipline.
Grouping/CF Attributes
Metadata
• Focus Primarily on Content, Not Presentation
– Presentation can be external transformation, but
only with identifiable content.

• Methods of Storage
– Global Attributes
– Grouped Datasets
– Grouped Attributes
Metadata: Global Attributes
OR… Metadata : Grouped Datasets
Or… Metadata : Grouped Attributes
Provenance
GLAS_HDF is a “transformation” process.
• We want to preserve
processing
information from the
process that created
the original GLAS file.
• This is a placeholder
• What is the right
way?
Development Challenge
• GLAS data consists of 15 products with a total
of over 2000 parameters.
• That’s a lot of code to write!
• We can read the integer-binary with existing
routines
• MABEL development revealed that product
development shares a significant amount of
coding constructs.
Workflow
• Prep Work
– Export cf-style parameter metadata from existing
data dictionary into text-based product_spec.
– Massage the product_spec to add rate/logical
grouping.

• Code Generation
– Feed the product_spec into a code generator to
generate Fortran90 product code.
gla_codegen
•
•
•
•
•
•

Internal-quality “evolutionary” code generator.
Written in Fortran90; writes Fortran90 code.
Calls SDT library routines & HDF5 library.
Writes modular API code based on input product_spec.
Is Rate & Logical Group oriented.
Handles:
–
–
–
–
–
–

Limited datatypes
Up to rank=2 arrays
CF attributes
Basic granule-level metadata
Chunking, gzip compression
HTML data dictionary generation
Input Product Spec
Output : Generated Product API
Module

Functionality

init_

Initializes the data structure for the group

allocate_

Allocates the data buffer

deallocate_

Deallocates the data buffer

h5_create_

Creates group and initializes for writing

h5_init_

Initializes the HDF5 data structures

h5_open_

Opens group and reads parameter attributes

h5_close_

Closes group and any open spaces

h5_read_chunk_

Reads a chunk of data from file to memory

h5_write_chunk_

Writes a chunk of data from memory to HDF file

print_attr_

Prints parameter attributes

print_data_

Prints parameter data

print_head_

Prints parameter headings

print_data_dict_

Prints structure for DD

sync_

Synchronizes group with time

h5_set_ds_

Sets parameter dimensional scales
Generated Code
• GLAH06 Example:
– Read 193 lines of product description
– Wrote 21K lines of code to instantiate the API.
– Pre-existing code + APID provides over 90% of the
code required for the transformation process.
The Poster

Thank You.
Comments, Suggestions, Corrections?
Jeffrey.e.lee@nasa.gov

Mais conteúdo relacionado

Mais procurados

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
 
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsThe HDF-EOS Tools and Information Center
 

Mais procurados (20)

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
 
MODIS Land and HDF-EOS
MODIS Land and HDF-EOSMODIS Land and HDF-EOS
MODIS Land and HDF-EOS
 
SPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth ObservationSPD and KEA: HDF5 based file formats for Earth Observation
SPD and KEA: HDF5 based file formats for Earth Observation
 
Incorporating ISO Metadata Using HDF Product Designer
Incorporating ISO Metadata Using HDF Product DesignerIncorporating ISO Metadata Using HDF Product Designer
Incorporating ISO Metadata Using HDF Product Designer
 
NEON HDF5
NEON HDF5NEON HDF5
NEON HDF5
 
Data Are from Mars, Tools Are from Venus
Data Are from Mars, Tools Are from VenusData Are from Mars, Tools Are from Venus
Data Are from Mars, Tools Are from Venus
 
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...
 
Data Analytics using MATLAB and HDF5
Data Analytics using MATLAB and HDF5Data Analytics using MATLAB and HDF5
Data Analytics using MATLAB and HDF5
 
NetCDF and HDF5
NetCDF and HDF5NetCDF and HDF5
NetCDF and HDF5
 
HDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the CloudHDFCloud Workshop: HDF5 in the Cloud
HDFCloud Workshop: HDF5 in the Cloud
 
Status of HDF-EOS, Related Software and Tools
 Status of HDF-EOS, Related Software and Tools Status of HDF-EOS, Related Software and Tools
Status of HDF-EOS, Related Software and Tools
 
Improved Methods for Accessing Scientific Data for the Masses
Improved Methods for Accessing Scientific Data for the MassesImproved Methods for Accessing Scientific Data for the Masses
Improved Methods for Accessing Scientific Data for the Masses
 
Utilizing HDF4 File Content Maps for the Cloud Computing
Utilizing HDF4 File Content Maps for the Cloud ComputingUtilizing HDF4 File Content Maps for the Cloud Computing
Utilizing HDF4 File Content Maps for the Cloud Computing
 
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 productsInteroperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
Interoperability with netCDF-4 - Experience with NPP and HDF-EOS5 products
 
HDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGISHDF and netCDF Data Support in ArcGIS
HDF and netCDF Data Support in ArcGIS
 
Open-source Scientific Computing and Data Analytics using HDF
Open-source Scientific Computing and Data Analytics using HDFOpen-source Scientific Computing and Data Analytics using HDF
Open-source Scientific Computing and Data Analytics using HDF
 
MATLAB and Scientific Data: New Features and Capabilities
MATLAB and Scientific Data: New Features and CapabilitiesMATLAB and Scientific Data: New Features and Capabilities
MATLAB and Scientific Data: New Features and Capabilities
 
Efficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAPEfficiently serving HDF5 via OPeNDAP
Efficiently serving HDF5 via OPeNDAP
 
Matlab, Big Data, and HDF Server
Matlab, Big Data, and HDF ServerMatlab, Big Data, and HDF Server
Matlab, Big Data, and HDF Server
 
HDF-EOS 2/5 to netCDF Converter
HDF-EOS 2/5 to netCDF ConverterHDF-EOS 2/5 to netCDF Converter
HDF-EOS 2/5 to netCDF Converter
 

Destaque

Destaque (19)

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
 
Images of HDF5
Images of HDF5Images of HDF5
Images of HDF5
 
HDF Tools Tutorial
HDF Tools TutorialHDF Tools Tutorial
HDF Tools Tutorial
 
HDF4 Mapping Project Update
HDF4 Mapping Project UpdateHDF4 Mapping Project Update
HDF4 Mapping Project Update
 
Connecting HDF with ISO Metadata Standards
Connecting HDF with ISO Metadata StandardsConnecting HDF with ISO Metadata Standards
Connecting HDF with ISO Metadata Standards
 
HDF-EOS to GeoTIFF Conversion Tool & HDF-EOS Plug-in for HDFView
HDF-EOS to GeoTIFF Conversion Tool & HDF-EOS Plug-in for HDFViewHDF-EOS to GeoTIFF Conversion Tool & HDF-EOS Plug-in for HDFView
HDF-EOS to GeoTIFF Conversion Tool & HDF-EOS Plug-in for HDFView
 
HDF Tools Updates and Discussions
HDF Tools Updates and DiscussionsHDF Tools Updates and Discussions
HDF Tools Updates and Discussions
 
Granules Are Forever
Granules Are ForeverGranules Are Forever
Granules Are Forever
 
2011 ACSI Survey Summary
2011 ACSI Survey Summary2011 ACSI Survey Summary
2011 ACSI Survey Summary
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
HDF Project Status and Plans
HDF Project Status and PlansHDF Project Status and Plans
HDF Project Status and Plans
 
Advanced HDF5 Features
Advanced HDF5 FeaturesAdvanced HDF5 Features
Advanced HDF5 Features
 
Tools to improve the usability of NASA HDF Data
Tools to improve the usability of NASA HDF DataTools to improve the usability of NASA HDF Data
Tools to improve the usability of NASA HDF Data
 
Web-based On-demand Global NDVI Data Services
Web-based On-demand Global NDVI Data ServicesWeb-based On-demand Global NDVI Data Services
Web-based On-demand Global NDVI Data Services
 
Data Storage for Remote Monitoring of CAT Machines Using HDF
Data Storage for Remote Monitoring of CAT Machines Using HDFData Storage for Remote Monitoring of CAT Machines Using HDF
Data Storage for Remote Monitoring of CAT Machines Using HDF
 
MATLAB, netCDF, and OPeNDAP
MATLAB, netCDF, and OPeNDAPMATLAB, netCDF, and OPeNDAP
MATLAB, netCDF, and OPeNDAP
 
Digital Object Identifiers for EOSDIS data
Digital Object Identifiers for EOSDIS dataDigital Object Identifiers for EOSDIS data
Digital Object Identifiers for EOSDIS data
 
iRODS: Interoperability in Data Management
iRODS: Interoperability in Data ManagementiRODS: Interoperability in Data Management
iRODS: Interoperability in Data Management
 
Using HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py moduleUsing HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py module
 

Semelhante a Bridging ICESat and ICESat-2 Standard Data Products

Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Neo4j
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDeltares
 
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...Databricks
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDataWorks Summit
 
Taboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache SparkTaboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache Sparktsliwowicz
 
Very large scale distributed deep learning on BigDL
Very large scale distributed deep learning on BigDLVery large scale distributed deep learning on BigDL
Very large scale distributed deep learning on BigDLDESMOND YUEN
 
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Spark Summit
 
Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)tsliwowicz
 
Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810Boni Bruno
 
Db2 analytics accelerator technical update
Db2 analytics accelerator  technical updateDb2 analytics accelerator  technical update
Db2 analytics accelerator technical updateCuneyt Goksu
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!Michael Erichsen
 
Data Science with the Help of Metadata
Data Science with the Help of MetadataData Science with the Help of Metadata
Data Science with the Help of MetadataJim Dowling
 

Semelhante a Bridging ICESat and ICESat-2 Standard Data Products (20)

ICESat-2 H5-ES Product Development Strategy
ICESat-2 H5-ES Product Development StrategyICESat-2 H5-ES Product Development Strategy
ICESat-2 H5-ES Product Development Strategy
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j Ultime Novità di Prodotto Neo4j
Ultime Novità di Prodotto Neo4j
 
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
 
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado BlascoDSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
DSD-INT 2015 - RSS Sentinel Toolbox - J. Manuel Delgado Blasco
 
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
Dynamic DDL: Adding Structure to Streaming Data on the Fly with David Winters...
 
HDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's GuideHDF-EOS Data Product Developer's Guide
HDF-EOS Data Product Developer's Guide
 
Dynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the flyDynamic DDL: Adding structure to streaming IoT data on the fly
Dynamic DDL: Adding structure to streaming IoT data on the fly
 
Taboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache SparkTaboola Road To Scale With Apache Spark
Taboola Road To Scale With Apache Spark
 
Very large scale distributed deep learning on BigDL
Very large scale distributed deep learning on BigDLVery large scale distributed deep learning on BigDL
Very large scale distributed deep learning on BigDL
 
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
Unified Framework for Real Time, Near Real Time and Offline Analysis of Video...
 
Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)Taboola's experience with Apache Spark (presentation @ Reversim 2014)
Taboola's experience with Apache Spark (presentation @ Reversim 2014)
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810Using SAS GRID v 9 with Isilon F810
Using SAS GRID v 9 with Isilon F810
 
Db2 analytics accelerator technical update
Db2 analytics accelerator  technical updateDb2 analytics accelerator  technical update
Db2 analytics accelerator technical update
 
z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!z13: New Opportunities – if you dare!
z13: New Opportunities – if you dare!
 
Data Science with the Help of Metadata
Data Science with the Help of MetadataData Science with the Help of Metadata
Data Science with the Help of Metadata
 

Mais de 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
 

Mais de 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
 
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
 
Leveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software TestingLeveraging the Cloud for HDF Software Testing
Leveraging the Cloud for HDF Software Testing
 

Último

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 

Último (20)

Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
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
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 

Bridging ICESat and ICESat-2 Standard Data Products

  • 1. Bridging ICESat and ICESat-2 with Standard Data Products SGT/Jeffrey Lee Code 615, NASA GSFC/WFF HDF & HDF-EOS Workshop XV, April 17-19 2012 jeffrey.e.lee@nasa.gov
  • 3. ICESat (GLAS) Rewind • Geoscience Laser Altimeter System (GLAS) – Traditional Laser Altimeter – 40 shots/sec • 15 Data Product Types (GLAxx) – L1 – L2A – Fixed-record-length integer-binary • Sparse Multi-rate Point Data – 40/sec, 1/sec, 1/4sec, 1/8sec, 1/16sec – Lat, Lon, Elev • 33 Releases – Final completed this year • 7 years of campaign-mode data collection • Returned to Earth August 30, 2010 http://icesat.gsfc.nasa.gov/icesat/
  • 4. ICESat-2 (ATLAS) Preview • Advanced Topographic Laser Altimeter System (ATLAS) – Photon Counting Lidar – 6 Beams/Tracks – 10,000 shot/sec; may average 3 surface photons/shot/beam • 21 Suggested Product Types – L1A-L4 – 13 Sparse Multi-Rate Point – 8 Gridded • Big Data! – L0 : 80GB/Day – Total Granules : 860GB / Day • Launch 2016 http://icesat.gsfc.nasa.gov/icesat2/
  • 5. MABEL Review • • • • • • • Multiple Altimeter Beam Experimental Lidar (MABEL). Demonstrator instrument for ATLAS. Photon-counting LIDAR. 16 Beams/Tracks for 532nm 8 Beams/Tracks for 1064nm. Flies aboard ER-2 – Flying from Iceland NOW Average Size of 30 sec Granules – L1A = 503 MB – L1B = 272 MB – L2A = 234 MB http://icesat.gsfc.nasa.gov/icesat2/data/mabel/mabel_docs.php
  • 6. ICESat/ICESat-2 SSDT Goals • Design products and write software for ICESat2. • Design products and write software for the ICESat-2 demonstrator instrument (MABEL). • Transform GLAS data products into something interoperable and future-friendly. (GLAS_HDF)
  • 7. Hmm… • All three datasets are fairly similar in type: – Sparse, irregular, multi-rate point data. • So, let’s make the products of similar design! • Benefits: – Promotes interoperability. – Enables natural progression of development experience. – Enhances code reuse/enables common codebase.
  • 8. How Do We Do This? • Used MABEL for initial product development. Designed products in HDF5, wrote software, processed data and created 5 product releases. • Are writing transformation software and designing products for ICESat data (GLAS_HDF) using what learned with MABEL. • Will integrate lessons learned in GLAS_HDF to improve future releases of MABEL products. • Will apply all lessons-learned to ICESat-2.
  • 9. SDT Desires • SIMPLICITY : a=plot(time,elev) • Embrace Standards (both required and desired). • Self-Describing. • NetCDF4 “Friendly”. • Leverage Existing GLAS Codebase. • Minimize 3rd Party Libraries
  • 10. Implementation Matrix Feature GLAS_HDF MABEL ICESat-2 File Format HDF5 HDF5 HDF5 Granule-level Metadata ECHO+ ECHO+ (Initial) ISO-19115 (Planned) ISO 19115 Collection DOIs YES YES YES CF Conventions YES YES YES Self-Describing YES YES YES NetCDF4-friendly YES YES TBD Granule UUIDs YES YES TBD Development End Date May 2012 TBD TBD
  • 11. GLAS_HDF Product Definition • Let’s shift presentation focus to GLAS_HDF but remember there are other drivers in play…
  • 12. Technical Design • HDF5 (1.8.8) • Each parameter is a SIMPLE dataset. – Simple & NetCDF4-friendly. – Allows attached parameter attributes. – Allows user to easily read parameters they want. • Parameters will be chunked/gzipped. – This is a –must- given future data sizes.
  • 13. Product Challenges • • • • • Simplicity Multi-Rate Data Lots of Parameters Different Metadata Representations Provenance
  • 14. Simplicity=Approachability • Ungridded=No Tool Support • So, make coding easy. • 15 lines of code plots elevation (the primary data parameter). pro plot_elev ; ; Open the file ; f_id=H5F_OPEN("GLAH06_864_2109_001_1326_3_01_0002.h5") ; ; Read Time ; time_id=H5D_OPEN(f_id, "/Data_40HZ/Time/d_UTCTime") time=H5D_READ(time_id) H5D_CLOSE, time_id ; ; Read Elevation values and the fill value attribute ; elev_id=H5D_OPEN(f_id, "/Data_40HZ/Elevation_Surfaces/d_elev") elev=H5D_READ(elev_id) at_id=H5A_OPEN_NAME(elev_id, "_FillValue") bad_val=H5A_READ(at_id) H5A_CLOSE, at_id H5D_CLOSE, elev_id ; ; Plot the good data ; good=where(elev ne bad_val[0]) a=plot(time[good]-time[0], elev[good]) H5F_CLOSE, f_id end
  • 15. Logical Design • Rate Group – A solution for multi-rate data. – All Data of a particular rate are bundled into a toplevel “rate” group. Each rate group has an associated time parameter with a 1-to-1 array index correspondence. – Yes, time is repeated, but is simpler than indexing and allows for “a=plot(x,y)”. • Data are further grouped logically per discipline.
  • 17. Metadata • Focus Primarily on Content, Not Presentation – Presentation can be external transformation, but only with identifiable content. • Methods of Storage – Global Attributes – Grouped Datasets – Grouped Attributes
  • 19. OR… Metadata : Grouped Datasets
  • 20. Or… Metadata : Grouped Attributes
  • 21. Provenance GLAS_HDF is a “transformation” process. • We want to preserve processing information from the process that created the original GLAS file. • This is a placeholder • What is the right way?
  • 22. Development Challenge • GLAS data consists of 15 products with a total of over 2000 parameters. • That’s a lot of code to write! • We can read the integer-binary with existing routines • MABEL development revealed that product development shares a significant amount of coding constructs.
  • 23. Workflow • Prep Work – Export cf-style parameter metadata from existing data dictionary into text-based product_spec. – Massage the product_spec to add rate/logical grouping. • Code Generation – Feed the product_spec into a code generator to generate Fortran90 product code.
  • 24. gla_codegen • • • • • • Internal-quality “evolutionary” code generator. Written in Fortran90; writes Fortran90 code. Calls SDT library routines & HDF5 library. Writes modular API code based on input product_spec. Is Rate & Logical Group oriented. Handles: – – – – – – Limited datatypes Up to rank=2 arrays CF attributes Basic granule-level metadata Chunking, gzip compression HTML data dictionary generation
  • 26. Output : Generated Product API Module Functionality init_ Initializes the data structure for the group allocate_ Allocates the data buffer deallocate_ Deallocates the data buffer h5_create_ Creates group and initializes for writing h5_init_ Initializes the HDF5 data structures h5_open_ Opens group and reads parameter attributes h5_close_ Closes group and any open spaces h5_read_chunk_ Reads a chunk of data from file to memory h5_write_chunk_ Writes a chunk of data from memory to HDF file print_attr_ Prints parameter attributes print_data_ Prints parameter data print_head_ Prints parameter headings print_data_dict_ Prints structure for DD sync_ Synchronizes group with time h5_set_ds_ Sets parameter dimensional scales
  • 27. Generated Code • GLAH06 Example: – Read 193 lines of product description – Wrote 21K lines of code to instantiate the API. – Pre-existing code + APID provides over 90% of the code required for the transformation process.
  • 28. The Poster Thank You. Comments, Suggestions, Corrections? Jeffrey.e.lee@nasa.gov