Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
HDF-EOS APIs, tools, etc.
1. HDF-EOS APIs, tools, etc.
Larry Klein, Abe Taaheri, and Cid Praderas
L-3 Communications
Government Services, Inc.
November 30, 2005
1
2. What is HDF-EOS ?
• HDF (Hierarchical Data Format) is the format
chosen by NASA as the standard for the EOS
program
• HDF-EOS is an extension to HDF which
standardizes storage of and access to common Earth
Sciences data structures
– By providing a single interface to data structures
common to earth science
– By providing a container for EOS inventory,
archive and product specific metadata
– By establishing a consistent relationship between
geolocation and science data.
2
3. HDF-EOS Grid Structure
• Usage - Data which is organized
by regular geographic spacing,
specified by projection parameters.
• Structure
– Any number of 2-D to 8-D data arrays per structure, one
per data type (e.g. temperature)
– Geolocation information contained in projection formula,
coupled by structural metadata.
– Any number of Grid structures per file allowed.
3
4. HDF-EOS Swath Structure
• Data which is organized by time, or other track
parameter.
• Spacing can be irregular.
• Structure
– Geolocation information stored explicitly in
Geolocation Field (2-D array)
– Data stored in 2-D or 3-D arrays
– Time stored in 1-D or 2-D array, TAI is standard.
– Geolocation/science data connected by structural
metadata
4
6. HDF-EOS Point Structure
• Data is specified temporally and/or spatially,
but with no particular organization
• Structure
– Tables used to store science data at a particular
Lat/Long/Height
– Up to eight levels of data allowed. Structural
metadata specifies relationship between levels.
6
7. Zonal Average Structure
• Generalized array structure with no
geolocation linkage
• Data can be organized by time or track
parameter
• Data spacing can be irregular
• Structure
– Data stored in multidimensional arrays
– Time stored in 1-D or 2-D array
7
8. HDF-EOS 2
• HDF4 - based, storage format for EOS standard
products.
• Used operationally by MODIS, MISR, ASTER,
Landsat, AIRS and other EOS instruments
• Support for Grid/Point/Swath structures
• HDF4 and HDF-EOS 2 will be supported by
NCSA/NASA for the fore-seeable future.
8
9. HDF-EOS 5
• Based on HDF5, a complete rewrite of HDF4 with
a different user interface.
– First released in 2000.
– Format used by EOS Aura instruments
• Designed to ‘resemble’ HDF-EOS 2 to the
maximum extent possible.
– Supports same data structures
– Added prefix ‘HE5_’ to HDF-EOS 2 functions.
– Doesn’t preclude HDF5 functionality.
9
10. Top Level of HDF-EOS 5 File
Root -- “/”
Root -- “/”
HDFEOS
HDFEOS
INFORMATION
INFORMATION
HDFEOS
HDFEOS
ECS METADATA
ECS METADATA
ADDITIONAL
ADDITIONAL
STRUC. METADATA
STRUC. METADATA
ARRAY SWATH
ARRAY SWATH
GRID
GRID
POINT
POINT
Global (File)
Global (File)
Attributes
Attributes
10
11. Basic HDF-EOS Functions
• Access - Open, create, close objects/files
• Definition - Set key parameters of data sets
• Input/Output - Read/Write data
• Inquiry - Return information about data
• Subset - Read data from specified region
11
28. Programming Model
• Open the HDF-EOS5 file
• Create or Attach to a specified
Grid/Swath/Point/ZA object
• Define key object features and/or
perform necessary operations (with
the data sets, attributes, etc)
• Detach from the Grid/Swath/Point/ZA
object
• Close the HDF-EOS5 file
28
29. HDF-EOS Functionality
•
•
•
•
•
•
Basic File I/O
Swath Interface
Grid Interface
Point Interface
Profile Interface
Generalized Array
Interface (Zonal Avg.
(HDF5))
• Subsetting
• Fill Values
• Compression (gzip,
szip, shuffling)
• Chunking/Tiling
• Aliases
• Global (File), Group
& Local Attributes
• Threadsafe Version
29
30. Applications
• HE5View (HDF5 - based browser)
• EOSView (HDF4 - based browser)
• HDFView (with HDF-EOS Plug-in), Java EOS
Browser (HDF-EOS 2 and 5 access)
• heconvert (converts HDF4 - based Grid/Point/Swath
structures to HDF-EOS 5 equivalents)
– Compliments HDF4 -> HDF5 conversion tool
– Not tested on all products
• HEG (HDF-EOS to GeoTIFF Converter/Subsetter)
30
31. HDFView
•
•
•
•
•
HDFView: A Java-based browser from NCSA for
HDF4 and HDF5 – based data.
HDF-EOS plug-in extends HDFView to browse
HDF-EOS data in both versions.
– One reason: EOSView is becoming obsolete
The extension is a plug-in module and does not
change NCSA HDFView functionality. All copy,
save, editing, image display, etc. for HDF4 and 5
objects remains.
Identical look and feel when displaying HDF and
HDF-EOS objects.
Users can access a complete breakdown of HDFEOS objects. e.g. grid information, projection
information, dimensions, datafields, and attributes
are displayed.
31
32. HDFView (Cont.)
• Release 2.2 October 2005
- A separate HDF-EOS plug-in: Users install HDFView
2.2 and integrates HDF-EOS plug-in into it.
- Ability to do "Save as" for HDF-EOS5: modify
individual values in grid or swath data. Delete entire
grids or swaths. Save the result.
- Separate help window for HDF-EOS objects
• Release 2.3 January 2006
- Point Object viewing capability
- Geolocating pixels for swath and grid images
Future Plans:
- Ability to modify input HDF-EOS2 granules.
- Ability to cut/paste objects, modify/delete attributes.
32
- Ability to create new grids/swaths
34. HDF-EOS to GeoTIFF Converter
(HEG)
• A utility that converts EOSDIS data from HDF-EOS
format to common Geographical Information System
(GIS)-compatible formats.
• Two versions available:
– A downloadable desktop version
– Access through NASA archive online storage (Data
Pools)
– Implemented also in prototypes for Stand-alone Data
Pool, OGC (Open Geospatial Consortium) for Web
Services Chaining, and DOWS (Deploy OGC Web
Services) on the DAACs
• Details of internal file structures are transparent to users.
34
35. HEG Functionality
• Subsetting (spatial, field, band)
• Performs conversion to a single-band or multiband GeoTIFF’s
• HDF-EOS Swath to HDF-EOS Grid and Swath
• HDF-EOS Swath or Grid to GeoTIFF
• HDF-EOS Swath or Grid to generic Binary (with
metadata file)
• Stitching (mosaicing) + subsetting + Reprojecting
• Running from Command Line (batch jobs) or with
Java-based GUI
• Reprojection ( to UTM, PS, TM, STP, LCC, LAMAZ,
GEO, SIN)
• Subsampling (Subsample stacks)
35
36. HEG Functionality
• Metadata preservation/creation.
• Currently supports MODIS, MISR, ASTER, AIRS and
AMSR-E products on TERRA and AQUA (>110
products), AURA/HDF-EOS5 support in progress
• Allows file selection from users local storage
• Operable on Sun, SGI, Win, Linux (64-bit soon), MAC
• Integrated into ECS Data Pool
– Reduces the transfer time of HDF-EOS data sets (if
subset is requested)
– Provides the end-user with the exact file required by
their application
• User Interface
– Portable, written in Java.
– Not dependent on COTS (eg. IDL). 36