Www.hdfgroup.org The HDF Group ESIP 2012 Summer Meeting1 NASA HDF/HDF-EOS Data for Dummies (and Developers) Joe Lee The HDF Group July 19, 2012.

Slides:



Advertisements
Similar presentations
1 NASA CEOP Status & Demo CEOS WGISS-25 Sanya, China February 27, 2008 Yonsook Enloe.
Advertisements

The HDF Group July 8, Summer ESIP Federation Meeting How to Meet the CF Conventions with NcML for NASA HDF/HDF-EOS Hyo-Kyung.
The HDF Group ESIP Summer Meeting Easy access HDF files via Hyrax Kent Yang The HDF Group 1 July 8 – 11, 2014.
The HDF Group HDF/HDF-EOS Workshop XIV1 Easy Remote Access via OPeNDAP Kent Yang and Joe Lee The HDF Group The 14 th HDF/HDF-EOS Workshop.
The HDF Group HDF Group Support for NPP/JPSS Mike Folk, Elena Pourmal, Larry Knox, Albert Cheng The HDF Group The 15 th HDF and HDF-EOS.
The HDF Group November 3-5, 2009HDF/HDF-EOS Workshop XIII1 Using visualization tools to access HDF data via OPeNDAP Joe Lee and Kent Yang.
The HDF Group ESIP Summer Meeting HDF-Java Overview Joel Plutchak The HDF Group 1 July 8 – 11, 2014.
HDF5 OPeNDAP Project Update and Demo MuQun Yang and Hyo-Kyung Lee (The HDF Group) James Gallagher (OPeNDAP, Inc.)
The HDF Group HDF4 Mapping Status and Proposal Mike Folk, Ruth Aydt The HDF Group Oct. 17, 2012 Apr , 2012HDF/HDF-EOS Workshop XV.
The HDF Group Apr , 2012HDF/HDF-EOS Workshop XV1 Interoperability with netCDF-4 Kent Yang, Larry Knox, Elena Pourmal The HDF Group.
University of Illinois at Urbana-ChampaignHDF 1McGrath/Yang 2/27/02 Transitioning from HDF4 to HDF5 Robert E. McGrath Kent Yang.
Support EOS: Review and Discussions Kent Yang and Joe Lee The HDF Group October 16, 2012 Oct. 16, 2012Annual HDF Briefing to ESDIS1.
The HDF Group HDF/HDF-EOS Workshop XIV1 Easy Access of NASA HDF data via OPeNDAP Kent Yang and Joe Lee The HDF Group September 28,2010.
The HDF Group July 8, 2014HDF 2014 ESIP Summer Meeting HDF Product Designer Aleksandar Jelenak, H. Joe Lee, Ted Habermann The.
EARTH SCIENCE MARKUP LANGUAGE “Define Once Use Anywhere” INFORMATION TECHNOLOGY AND SYSTEMS CENTER UNIVERSITY OF ALABAMA IN HUNTSVILLE.
EOSDIS User survey follow-up Mike Folk, Kent Yang, Elena Pourmal The HDF Group Oct. 17, 2012 Annual HDF Briefing to ESDIS1.
1 HDF-EOS and Related Tools Status Update. 2 Overview.
The HDF Group ESIP Summer Meeting HDF OPeNDAP update Kent Yang The HDF Group 1 July 8 – 11, 2014.
1 HDF-EOS Status, Related Tools and Issues. 2 Overview.
Important ESDIS 2009 tasks review Kent Yang, Mike Folk The HDF Group April 1st, /1/20151Annual briefing to ESDIS.
DM_PPT_NP_v01 SESIP_0715_AJ HDF Product Designer Aleksandar Jelenak, H. Joe Lee, Ted Habermann Gerd Heber, John Readey, Joel Plutchak The HDF Group HDF.
The HDF Group September 28, 2010HDF/HDF-EOS Workshop XIV1 Easy Access of HDF data via NCL/IDL/MATLAB Kent Yang, Tong Qi, Ziying Li, Yi.
Page 1 HDF-EOS Tools Abe Taaheri, Raytheon IIS ESIP Meeting Chapel Hill, NC July 9, 2013.
ArcGIS and NASA EOS Data NASA GES DISC Team: Aijun Chen, Wenli Yang, Peisheng Zhao, Long Pham, Chris Lynnes, Gail Wade NASA ESDIS: Ross Bagwell, Francis.
Unidata TDS Workshop TDS Overview – Part I XX-XX October 2014.
Improving the usability of HDF-EOS2 data Kent Yang, Joe Lee, Choonghwan Lee The HDF Group March 31 st, /26/2016Annual briefing to ESDIS1.
Giovanni for AQ Gregory Leptoukh NASA Goddard Space Flight Center Goddard Earth Sciences Data and Information Services Center (GES DISC)
Mid-Course Review: NetCDF in the Current Proposal Period Russ Rew
Why do I want to know about HDF and HDF- EOS? Hierarchical Data Format for the Earth Observing System (HDF-EOS) is NASA's primary format for standard data.
Tools for Interoperability between HDF and NetCDF Mike Folk and MuQun Yang The HDF Group The HDF Group provides the following tools for the NASA HDF and.
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
The HDF Group HDF5 Tools Updates Peter Cao, The HDF Group September 28-30, 20101HDF and HDF-EOS Workshop XIV.
11/7/2007HDF and HDF-EOS Workshop XI, Landover, MD1 HDF5 Software Process MuQun Yang, Quincey Koziol, Elena Pourmal The HDF Group.
The HDF Group November 3-5, 2009 HDF-OPeNDAP Project Update HDF/HDF-EOS Workshop XIII1 Joe Lee and Kent Yang The HDF Group James Gallagher.
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps Ruth Duerr, NSIDC Christopher Lynnes, GES DISC The HDF Group Oct HDF and.
HDF5 OPeNDAP Project Update and Demo MuQun Yang and Hyo-Kyung Lee (The HDF Group) James Gallagher (OPeNDAP, Inc.) 1HDF and HDF-EOS Workshop XII10/17/2008.
1 HDF-EOS Status, Related Tools and Issues. 2 Overview.
1 NASA CEOP Status & Demo CEOS WGISS-24 Oberpfaffenhofen, Germany October 15, 2007 Yonsook Enloe.
HDF OPeNDAP Project Update MuQun Yang and Hyo-Kyung Lee The HDF Group March 31, Annual briefing to ESDIS10/31/2015.
The HDF Group HDF/HDF-EOS Workshop XV1 Tools to Improve the Usability of NASA HDF Data Kent Yang and Joe Lee The HDF Group April 17, 2012.
GES DISC DAAC February 28, 2002HDF-EOS Workshop V1 The Goddard DAAC The Goddard DAAC Presented by:
The HDF Group Support for NPP/NPOESS by The HDF Group Mike Folk, Elena Pourmal, Peter Cao The HDF Group November 5, 2009 November 3-5,
NetCDF file generated from ASDC CERES SSF Subsetter ATMOSPHERIC SCIENCE DATA CENTER Conversion of Archived HDF Satellite Level 2 Swath Data Products to.
HDF4 OPeNDAP Project Progress Report MuQun Yang and Hyo-Kyung Lee 1 HDF Developers' Meeting11/24/2015.
HDF5 OPeNDAP Project Update and Demo MuQun Yang and Hyo-Kyung Lee (The HDF Group) James Gallagher (OPeNDAP, Inc.) 1 HDF and HDF-EOS Workshop XII10/17/2008.
Using a Friendly OPeNDAP Client Library to Access HDF5 Data MuQun Yang and Hyo-Kyung Lee (The HDF Group) 1 25th IIPS Conference01/14/2009.
HDF5 OPeNDAP Project Update and Demo MuQun Yang and Hyo-Kyung Lee (The HDF Group) James Gallagher (OPeNDAP, Inc.) 1HDF and HDF-EOS Workshop XII, Aurora,
The HDF Group Data Interoperability The HDF Group Staff Sep , 2010HDF/HDF-EOS Workshop XIV1.
The HDF Group HDF/HDF-EOS Workshop XV1 HDF-OPeNDAP Project Update Joe Lee and Kent Yang The HDF Group April 18, 2012.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
1 Status of HDF-EOS, Related Software and Tools. 2 TOOLKIT / HDF-EOS Support.
Aura HDF-EOS File Format Guidelines: Overview and Status Cheryl Craig.
10/16/2012Annual HDF briefing1 HDF OPeNDAP support Kent Yang, Joe Lee, Mike Folk The HDF Group Oct. 16, 2012.
11/8/2007HDF and HDF-EOS Workshop XI, Landover, MD1 Software to access HDF5 Datasets via OPeNDAP MuQun Yang, Hyo-Kyung Lee The HDF Group.
The HDF Group November 3-5, 2009HDF/HDF-EOS Workshop XIII1 The New HDF-EOS Web Site - How it can help you Kent Yang, Joe Lee The HDF Group.
Update on Unidata Technologies for Data Access Russ Rew
NetCDF Data Model Details Russ Rew, UCAR Unidata NetCDF 2009 Workshop
HDF5 OPeNDAP Project Update and Demo MuQun Yang and Hyo-Kyung Lee (The HDF Group) James Gallagher (OPeNDAP, Inc.) 1HDF and HDF-EOS Workshop XII, Aurora,
Guided Tour of Pythonian Museum
Adding CF Attributes to an HDF5 File
Data Are from Mars, Tools Are from Venus
Easy Access of HDF data via NCL/IDL/MATLAB
Moving from HDF4 to HDF5/netCDF-4
Kent Yang, Mike Folk The HDF Group March 31, 2009
Efficiently serving HDF5 via OPeNDAP
Access HDF5 Datasets via OPeNDAP’s Data Access Protocol (DAP)
HDF Support for NASA Data Producers
HDF5 Performance Enhancements with the Elimination of Unlimited Dimension Debbie Mao, Daniel Ziskin, Merritt Deeter, Sara Martinez-alonso MOPITT is an.
HDF-EOS Workshop XXI / The 2018 ESIP Summer Meeting
HDF5 Tools Updates and Discussions
Presentation transcript:

The HDF Group ESIP 2012 Summer Meeting1 NASA HDF/HDF-EOS Data for Dummies (and Developers) Joe Lee The HDF Group July 19, 2012

How many dummies in this room? ESIP 2012 Summer Meeting2July 19, 2012 I’ve never used NASA HDF data. (What is HDF…?)

I was and I am still a dummy ESIP 2012 Summer Meeting3July 19, 2012 because NASA HDF is complex! Even after 5 years of work at The HDF Group, I still have something to learn.

I still remember the day one ESIP 2012 Summer Meeting4July 19, 2012 as a NASA HDF dummy so I’d like to share common mistakes very useful tips for handling NASA HDF data products from the perspective of new users like you.

Let’s feel the pain of a new user. ESIP 2012 Summer Meeting5July 19, 2012 Analyze Drought in Madison,WI using NASA EOS data. July 16 – Images of the Day – earthobservatory.org (6/25-7/10)

Possible tasks for a new user ESIP 2012 Summer Meeting6July 19, 2012 Compare the current drought period (6/25-7/10) data against the average data of the same period in last 10 years in terms of: Rainfall Ozone Normalized Difference Vegetation Index (NDVI) Wildfire and visualize the data! Can a new user do it easily with NASA satellite data?

The answer will be no ESIP 2012 Summer Meeting7July 19, 2012 because the user should master the skill of handling many different NASA data products in HDF.

Rainfall task example ESIP 2012 Summer Meeting8July 19, 2012 A simple internet search will eventually lead to GES DISC TRMM web page that distributes data in HDF.

Same for Ozone, NDVI, and Wildfire ESIP 2012 Summer Meeting9July 19, 2012 A simple internet search will eventually lead to various NASA data centers web page that distributes data in HDF. HDF is simply indispensable...

So what is HDF? ESIP 2012 Summer Meeting10July 19, 2012 I downloaded the.hdf file but no application can open. PDF HDF It’s a file format for scientific data. It needs an application like HDFView to open it.

Why does NASA use HDF? ESIP 2012 Summer Meeting11July 19, 2012 Why didn’t NASA use these well-known file formats? ASCII Spreadsheet (MS Excel) Database (MySQL, Oracle) Image (JPEG, GeoTIFF, GIF) XML because HDF is efficient data management solution in terms of space (storage) and time (performance).

Is HDF also efficient for users? ESIP 2012 Summer Meeting12July 19, 2012 Not necessarily because users may need to learn new tools and APIs how to process the data correctly Yet, there’s no “NASA HDF for Dummies” book. Instead, help is always available through hdfgroup.org and hdfeos.org.

What’s inside NASA HDF? ESIP 2012 Summer Meeting13July 19, 2012 A typical NASA HDF file has attributes (metadata) describing the file contents itself coordinate variables (time, location – lat/lon/height) data variable (fire, water, air, land)

NASA HDF has four faces ESIP 2012 Summer Meeting14July 19, 2012 NASA data centers provide files in HDF4 (.h4,.hdf) HDF-EOS2 (he2, he) HDF5 (.h5) HDF-EOS5 (he5) They are all different although they share same HDF prefix.

HDF4 vs HDF5 ESIP 2012 Summer Meeting15July 19, 2012 HDF4 is old. File starts with ^N^C^S^A. HDF5 is new. File starts with \211HDF. They are not compatible. You need different tools and APIs to access them. HDF4: Hopen() HDF5: H5open()

NASA HDF vs. HDF-EOS ESIP 2012 Summer Meeting16July 19, 2012 HDF- EOS is HDF + GCTP. GCTP: General Cartographic Transformation Package Library HDF: has latitude/longitude dataset. HDF-EOS: has no latitude/longitude dataset.

Why does HDF-EOS includes GCTP? ESIP 2012 Summer Meeting17July 19, 2012 Save space for geo-location (map) information data by storing only a few parameters in the special StructMetadata file attribute.

HDF-EOS is based on HDF API (1) ESIP 2012 Summer Meeting18July 19, 2012 so HDF APIs can read all HDF-EOS objects. However, there’s no easy way to figure out geo-location information with HDF APIs alone. exception: geographic projection / regular grid

HDF-EOS API vs. HDF API ESIP 2012 Summer Meeting19July 19, 2012 Thus, use HDF-EOS APIs for HDF-EOS products instead of HDF APIs to resolve lat/lon. HDF-EOS2: GDopen() HDF4: Hopen() HDF-EOS5:HE5GDopen() HDF5:H5Open() HDF-EOS APIs start with (HE5) GD/SW.

What are GD/SW in HDF-EOS APIs? ESIP 2012 Summer Meeting20July 19, 2012 GD: Grid Level 3 data global SW: Swath Level 2 data regional HDF-EOS API is specific to Earth Science domain. HDF API is for any domain such as finance and biology.

HDF-EOS API is based on HDF API (2) ESIP 2012 Summer Meeting21July 19, 2012 so HDF APIs can modify all HDF-EOS objects. Data producers can add new data using HDF API later. HDF-EOS APIs cannot access such data.

NASA HDF format summary ESIP 2012 Summer Meeting22July 19, 2012 If the NASA file ends with Use.he2HDF-EOS2 API.hdf,.h4HDF4 API.he5HDF-EOS5 API.h5HDF5 API

NASA HDF format review ESIP 2012 Summer Meeting23July 19, 2012 Quiz: If file ends with.he2 but has some additional objects that HDF-EOS2 cannot access, what a user should do? Answer: Open and read twice. First, with HDF-EOS2 API. Second, with HDF4 API for additional objects.

So far, we talked about formats only ESIP 2012 Summer Meeting24July 19, 2012 Show me the real example.

#include int main(int argc, char **argv) { /* Open 'MCD43C4.A hdf' using grid API */ if ((gridfile1 = GDopen("MCD43C4.A hdf", DFACC_RDONLY)) == -1) { } /* Open a grid named 'MCD_CMG_BRDF_0.05Deg' */ if ((grid1 = GDattach(gridfile1, "MCD_CMG_BRDF_0.05Deg")) == -1) { } /* Retrieve information about 'Nadir_Reflectance_Band1' datafield */ if ((GDfieldinfo(grid1, "Nadir_Reflectance_Band1", &datafield1rank, datafield1dimsize, &datafield1type, datafield1dimname)) == -1) { } /* Allocate buffer for 'Nadir_Reflectance_Band1' */ if ((datafield1data = malloc(sizeof(int16) * 3600 * 7200)) == NULL) { } /* Read data from 'Nadir_Reflectance_Band1' */ if ((GDreadfield(grid1, "Nadir_Reflectance_Band1", NULL, NULL, NULL, datafield1data)) == -1) { } /* Close the grid named 'MCD_CMG_BRDF_0.05Deg' */ if ((GDdetach(grid1)) == -1) { } /* Close 'MCD43C4.A hdf' */ if ((GDclose(gridfile1)) == -1) { } return 0; } Read HDF-EOS2 Grid data in C ESIP 2012 Summer Meeting25July 19, 2012

Read HDF-EOS5 Swath data in FORTRAN ESIP 2012 Summer Meeting26July 19, 2012 c Open 'OMI-Aura_L2-OMAERO_2004m1001t0003-o01132_v003.he5' using swath c API swathfile1 = he5_swopen $ ('OMI-Aura_L2-OMAERO_2004m1001t0003-o01132_v003.he5', $ HE5F_ACC_RDONLY) c Open a swath named 'ColumnAmountAerosol' swath1 = he5_swattach(swathfile1, 'ColumnAmountAerosol') c Retrieve information about 'AerosolIndexUV' datafield status = he5_swfldinfo(swath1, 'AerosolIndexUV', datafield1rank, $ datafield1dimsize, datafield1type, datafield1dimname, $ datafield1maxdimname) c Select necessary range of elements datafield1start(1) = 0 datafield1stride(1) = 1 datafield1edge(1) = 60 datafield1start(2) = 0 datafield1stride(2) = 1 datafield1edge(2) = 1644 c Read data from 'AerosolIndexUV' status = he5_swrdfld(swath1, 'AerosolIndexUV', datafield1start, $ datafield1stride, datafield1edge, datafield1data) c Dump data from 'AerosolIndexUV' do i = 1, 16 do j = 1, 6 write(*,*), datafield1data(j,i) enddo write(*,*) enddo

Complete Examples for Dummies ESIP 2012 Summer Meeting27July 19, 2012 Complete and more examples: Don’t miss how to read lat/lon :

HDF/HDF-EOS API look too difficult ESIP 2012 Summer Meeting28July 19, 2012 Is there a simple API like netCDF?

H4CF Conversion Library APIs // open the example HDF file h4cf_open("geo.hdf"); // HDF file attributes are obtained in a C++ STL map object const map file_attrs = h4cf_get_file_attrs(); // HDF file variables are obtained in a C++ STL list object const list pvars = h4cf_get_vars(); // close the HDF file h4cf_close(); July 19, 2012ESIP 2012 Summer Meeting29

H4CF Conversion Library works on both HDF4 and HDF-EOS2. Variables (datasets) list Attributes (metadata) list All Vars & Attrs follow CF conventions Develop your own CF application! July 19, 2012ESIP 2012 Summer Meeting30

What is CF conventions? Metadata conventions for earth science data. Sharing of files created with the NetCDF APIs, but not specifically to netCDF. The CF conventions are now increasingly gaining acceptance. URL: Apr , 2012HDF/HDF-EOS Workshop XV31

Don’t follow CF conventions blindly. July 19, 2012ESIP 2012 Summer Meeting32 [1] CF: scale * value + offset [2] MODIS: scale * (value – offset) Scale = 0.01 Value = 5000 Offset = [1] 0.01 * (-15000) = [2] 0.01 * (5000 – (-15000)) = 200

Kelvin? July 19, 2012ESIP 2012 Summer Meeting33

MODIS Scale / Offset Correction ESIP 2012 Summer Meeting34July 19, 2012

Limitation – No Support Yet July 19, 2012ESIP 2012 Summer Meeting35 MISR (SOM/LAMAZ) MERRA AVHRR LISTO QuikSCAT/SeaWind MOPITT L2 etc.

Is H5CF Conversion Library available? July 19, 2012ESIP 2012 Summer Meeting36 Unfortunately, no. Compared to HDF4/HDF-EOS2, HDF5/HDF-EOS5 products are not diverse. HDF-EOS5 products follow NASA AURA file guidelines and use only geographic projections. New HDF5 products will follow CF- conventions.

How about programming dummies? ESIP 2012 Summer Meeting37July 19, 2012 What is FORTRAN? What is C? What is C++? …

Why do I need APIs to read data? July 19, 2012ESIP 2012 Summer Meeting38 Do you use PDF APIs to read PDF document? For most users, PDF reader application is enough. Same for most HDF users. HDF reader application is enough.

Read HDF data in ASCII July 19, 2012ESIP 2012 Summer Meeting39 Use generic HDF “dump” tools hdp for HDF-EOS2 and HDF4 files h5dump for HDF-EOS5 and HDF5 files They are only good for attributes and data. Cannot extract lat/lon from HDF-EOS Grid

eos2 dump HDF-EOS2 Dumper Tool Useful for tools that can’t handle some projections. July 19, 2012ESIP 2012 Summer Meeting40 eos2 ASCII MATLAB IDL NCL

Important Tool for Zoo Maintenance July 19, 2012ESIP 2012 Summer Meeting41

Why Tools Need HDF-EOS2 Dumper July 19, 2012ESIP 2012 Summer Meeting42 Lat / Lon in ASCII MATLAB IDL NCL HDF-EOS2 dumper LaRC MISR SOM Projection HDF-EOS2 Lat / Lon

HDF-EOS2 Dumper Options Usage: eos2dump options filename.hdf What: 1=lat / 2 =lon Format: m=5 values per line July 19, 2012ESIP 2012 Summer Meeting43

eos2dump Latitude Example eos2dump –c 1 filename.hdf > latitude.txt What: lat Format: one value per line (default) July 19, 2012ESIP 2012 Summer Meeting

eos2dump Longitude Example eos2dump –c2 m filename.hdf > longitude.txt What: lon Format: 5 values per line MATLAB cannot read it. July 19, 2012ESIP 2012 Summer Meeting

How about eos5dump? July 19, 2012ESIP 2012 Summer Meeting46 It’s not necessary because all HDF-EOS5 Grid use geographic projection. You can easily generate lat/lon using the parameters stored in StructMetadata. E.g., 360 / x-dimension, 180 / y-dimension

How about visualization? ESIP 2012 Summer Meeting47July 19, … ASCII data is boring!

HDFView July 19, 2012ESIP 2012 Summer Meeting48 THE GUI Tool equivalent to Acrobat Reader. It can visualize data as image. It can even edit some data. Critical drawback: no map! Why? Again, it’s a general purpose tool. Not for Earth science users only.

HDFView HDF-EOS Plug-in July 19, 2012ESIP 2012 Summer Meeting49 An additional download for HDFView. It can visualize HDF-EOS2 and HDF-EOS5. It supports map.

HDFView HDF-EOS Plug-in screenshot July 19, 2012ESIP 2012 Summer Meeting50 Close but no cigar – it works only for HDF-EOS! There are many generic HDF data products.

Then, what should dummies do? ESIP 2012 Summer Meeting51July 19, 2012 Any visualization tool that works for both HDF and HDF-EOS?

Use a script language tool ESIP 2012 Summer Meeting52July 19, 2012 such as NCL IDL MATLAB with eos2dump tool

Rich Dummy Poor Dummy ESIP 2012 Summer Meeting53July 19, 2012 MATLAB and IDL licenses are expensive!

Solution for Poor Dummy ESIP 2012 Summer Meeting54July 19, 2012 Try NCL. Free yet powerful. page has complete codes for visualizing most NASA data products in NCL. mailing list will rock

Solution for Rich Dummy ESIP 2012 Summer Meeting55July 19, 2012 Visit Comprehensive Examples page. page has complete codes for visualizing most NASA data products in IDL and MATLAB.

Poor and Lazy Dummy ESIP 2012 Summer Meeting56July 19, 2012 I hate programming. Any free visualization tool that works for both HDF/HDF-EOS?

Recall: H4CF Conversion Library works on both HDF4 and HDF-EOS2. Variables (datasets) list Attributes (metadata) list All Vars & Attrs follow CF conventions Develop your own CF application! July 19, 2012ESIP 2012 Summer Meeting57

Solution: h4tonccf Usage: h4tonccf filename.hdf [filename.nc] generates either netcdf-3 or netcdf-4 file. follows netcdf classic model. is based on H4CF Conversion Library. July 19, 2012ESIP 2012 Summer Meeting58 Use free netcdf visualization tool like Panoply and IDV after conversion.

h4tonccf Demo July 19, 2012ESIP 2012 Summer Meeting59

Converted File Size Comparison July 19, 2012ESIP 2012 Summer Meeting60 HDF-EOS2 Netcdf-4 Netcdf-3 9X

Same Limitation – No Support Yet July 19, 2012ESIP 2012 Summer Meeting61 MISR (SOM/LAMAZ) MERRA AVHRR LISTO QuikSCAT/SeaWind MOPITT L2 etc.

How about h5tonccf? July 19, 2012ESIP 2012 Summer Meeting62 Recall: no H5CF Conversion Library exists. The latest IDV and Panoply may open and visualize HDF-EOS5 directly. However, no luck with HDF5.

No hope for Poor and Lazy Dummy? ESIP 2012 Summer Meeting63July 19, 2012 I hate programming. I want free visualization tool that works for both HDF/HDF-EOS. Am I hopeless?

Solution for the hopeless: OPeNDAP ESIP 2012 Summer Meeting64July 19, 2012 Why OPeNDAP? What is HDF Handler? How important CF conventions?

Access HDF via FTP ESIP 2012 Summer Meeting65 Users FTP Clients IDL FTP Servers HDF Files AIRS/OMI FTP Local HDF Files Aqua/Aura July 19, 2012

Client Library (libnc_dap) Data Access Protocol (DAP) via Internet Server (Hyrax) Handler (hdf4/5_handler) Remote Data (HDF4/5) View Data (User) OPeNDAP concept 66 Visualization Tools (gradsdap) Typical remote access problem FTP/HTTP Visualization tools (e.g., GrADS) ESIP 2012 Summer MeetingJuly 19, 2012

Access remote data easily July 19, 2012ESIP 2012 Summer Meeting67

without worrying about data plans. July 19, 2012ESIP 2012 Summer Meeting68

Visualize remote data easily, too. July 19, 2012ESIP 2012 Summer Meeting69

HDF handler is key ESIP 2012 Summer Meeting70 Users OPeNDAP Clients IDV OPeNDAP Servers HDF Files Hyrax AIRS/OMI DAP NetCDF Java Visualization Tools HDF HANDLER Aqua/Aura July 19, 2012

because if handler doesn’t follow CF July 19, 2012ESIP 2012 Summer Meeting71 No Visualization Bonus!

If handler gives up extra bonus July 19, 2012ESIP 2012 Summer Meeting72 HDF / HDF-EOS DAP Server DAP handler development is easier.

What’s involved in extra bonus July 19, 2012ESIP 2012 Summer Meeting73 DAP Server CF Conventions DAP DAP Client Visualization Earth Scientist HDF / HDF-EOS

How handler developers feel July 19, 2012ESIP 2012 Summer Meeting74

Because we care all NASA products. July 19, 2012ESIP 2012 Summer Meeting75 ? AURA NPP AQUA TERRA MISR

Developers’ Dream July 19, 2012ESIP 2012 Summer Meeting76 … all data are created equal, that they shall be visualized by all client tools easily…

What if all people agreed… July 19, 2012ESIP 2012 Summer Meeting77 UDF (Imaginary) DAP Server DAP DAP Client Visualization Earth Scientist development might have been much easier. Check once.

Lessons from handler development July 19, 2012ESIP 2012 Summer Meeting78 Communicate and work together among different groups. Standardize everything from data products to visualization tools. Follow conventions and standards.

Redesign of HDF5 handler Goal: Support all NASA HDF5 products. Modularize for future product support. Follow CF conventions robustly. July 19, 2012ESIP 2012 Summer Meeting79 Product

Why did we redesign? July 19, 2012ESIP 2012 Summer Meeting80 In 2007, was enough for AURA Grid HDF5 handler

Why did we redesign? July 19, 2012ESIP 2012 Summer Meeting81 In 2011, wasn’t enough for AURA Grid AURA Swath AURA ZA GSSTF

Why did we redesign? July 19, 2012ESIP 2012 Summer Meeting82 In 2011, wasn’t enough for AURA Grid AURA Swath AURA ZA GSSTF

and more… so we gave up! July 19, 2012ESIP 2012 Summer Meeting83 GOSAT ICESat-2 Aquarius SMAP

We rebuilt one that can scale up July 19, 2012ESIP 2012 Summer Meeting84

by modularizing the design July 19, 2012ESIP 2012 Summer Meeting85 HDF5 handlerCFHDF5GOSATAquariusSMAP HDF- EOS5 GRIDSWATHZAGeneric with a big room for future products.

Key updates on HDF5 handler July 19, 2012ESIP 2012 Summer Meeting86 version1.5.x2.0.0 CF-convention Support PrimitiveRobust Range of NASA Data Products LimitedAll Mulitiple Grids/Swath/ZA NoYes Configuration Options Static BuildRun-time Support for Future Products RigidFlexible

HDF-EOS5 products supported OMI Swath, Grid MLS Swath HIRDLS Swath, ZA TES Swath, Grid GSSTF July 19, 2012ESIP 2012 Summer Meeting87

HDF5 products supported Aquarius Grid MEaSUREs SeaWiFS DeepBlue SBUV2 Ozone (O3) Profile SMAP (Simulation) July 19, 2012ESIP 2012 Summer Meeting88

HIRDLS Zonal Average July 19, 2012ESIP 2012 Summer Meeting89

New TES Swath July 19, 2012ESIP 2012 Summer Meeting90

MEaSUREs GSSTF July 19, 2012ESIP 2012 Summer Meeting91

Aquarius Grid (Simulation) July 19, 2012ESIP 2012 Summer Meeting92

MEaSUREs SeaWiFS DeepBlue July 19, 2012ESIP 2012 Summer Meeting93

Ozone Profile (BUV) July 19, 2012ESIP 2012 Summer Meeting94

SMAP Swath (Simulation) July 19, 2012ESIP 2012 Summer Meeting95

SMAP Swath (Simulation) July 19, 2012ESIP 2012 Summer Meeting96

No CF magic for some products Tool / CF Limitation GOSAT/acos: 1-D trajectory ICESat-2 OMI L2G: Lat/Lon with 3-D Java-NetCDF Client Limitation Dataset w/ long string July 19, 2012ESIP 2012 Summer Meeting97

It doesn’t mean handler failure July 19, 2012ESIP 2012 Summer Meeting98 because other tools like can still access and visualize data.

MATLAB and IDL will work too. July 19, 2012ESIP 2012 Summer Meeting99 HDF5 Examples under zoo will work. Visit Replace local file access with OPeNDAP URL access. MATLAB: Try new OPeNDAP functions. The rest will be same.

Read if you can’t see July 19, 2012ESIP 2012 Summer Meeting100 Aura_OMI_Level3/OMTO3e.003/2012/OMI-Aura_L3- OMTO3e_2012m0416_v m0418t he5.ascii?lon[1029:1:1029],lat[513:1:513],_HDFEOS_GRIDS_OMI_Column_Amount_O3_Data_Fields_ColumnAmountO3[513:1:513][1029:1:1029] Dataset: OMI-Aura_L3-OMTO3e_2012m0416_v m041 8t he5 lon, lat, _HDFEOS_GRIDS_OMI_Column_Amount_O3_Data_Fields_ColumnAmountO3.lon, _HDFEOS_GRIDS_OMI_Column_Amount_O3_Data_Fields_ColumnAmountO3._HDFEOS_GRIDS_O MI_Column_Amount_O3_Data_Fields_ColumnAmountO3[_HDFEOS_GRIDS_OMI_Column_Amount_ O3_Data_Fields_ColumnAmount O3.lat=38.375], 309.6

or hear from Siri? July 19, 2012ESIP 2012 Summer Meeting101

HDF4 OPeNDAP handler update Corrected the handling the scale/offset for MODIS products. Added the support for Lambert azimuthal equal-area (LAMAZ). Added the support for Space-oblique Mercator projection (SOM). Other minor bug fixes. ESIP 2012 Summer Meeting102July 19, 2012

Key updates on HDF4 handler July 19, 2012ESIP 2012 Summer Meeting103 version Some MODIS Scale/offset WrongCorrected LAMAZ projection support NoYes SOM projection support NoYes

MODIS scale / offset correction ESIP 2012 Summer Meeting104July 19, 2012

Support for LAMAZ projection ESIP 2012 Summer Meeting105July 19, 2012

Support for SOM projection ESIP 2012 Summer Meeting106July 19, 2012 Dataset { UInt16 Blue_Radiance_RDQIU1[SOMBlockDimD1 = 180][XDimD2 = 128][YDimD3 = 512]; Int32 SOMBlockDimU2[SOMBlockDimD1 = 180]; Float32 LatitudeU3[XDimD2 = 128][YDimD3 = 512]; Float32 LongitudeU4[XDimD2 = 128][YDimD3 = 512]; … } Dataset { UInt16 Blue_Radiance_RDQIU1[SOMBlockDimD1 = 180][XDimD2 = 128][YDimD3 = 512]; Int32 SOMBlockDimU2[SOMBlockDimD1 = 180]; Float32 LatitudeU3[SOMBlockDim = 180][XDimD2 = 128][YDimD3 = 512]; Float32 LongitudeU4[SOMBlockDim = 180][XDimD2 = 128][YDimD3 = 512]; … }

HDF-EOS2 products supported GES DISC AIRS / MERRA / TOMS LAADS / LP DAAC / NSIDC Many MODIS products NSIDC AMSR_E / NISE / MODIS LaRC MISR / MOPITT / some CERES (TRMM) ESIP 2012 Summer Meeting107July 19, 2012

HDF4 products supported GES DISC TRMM L1B, L2B Swath TRMM L3 Grid 42B & 43B products OBPG (Ocean Color) SeaWiFS / MODIST / MODISA CZCS / OCTS ESIP 2012 Summer Meeting108July 19, 2012

HDF4 products supported CERES CER_AVG CER_ES4 CER_ISCCP-D2like-Day CER_ISCCP-D2like-GEO CER_SRBAVG CER_SYN CER_ZAVG ESIP 2012 Summer Meeting109July 19, 2012

HDF4 handler limitations HDF-EOS2 + additional HDF4 objects In some products, some additional HDF4 objects will be ignored. Other HDF4 products not listed in previous slides are not tested and may not be visualized by Java OPeNDAP clients. ESIP 2012 Summer Meeting110July 19, 2012

Other limitations CF conventions Limitation _FillValue inside latitude and longitude Java-NetCDF Limitation Java Heap Memory ESIP 2012 Summer Meeting111July 19, 2012

Summary: we’ve updated handlers ESIP 2012 Summer Meeting112July 19, 2012 OPeNDAP HDF Handlers HDF- EOS2 HDF5 HDF- EOS5 HDF4 … and will continue.

GES DISC Uses Handlers ESIP 2012 Summer Meeting113July 19, 2012

Please try HDF4/HDF5 handlers ESIP 2012 Summer Meeting114July 19, 2012 New hdf5_handler is released! Source codes and RPMs: Demo HDF5/HDF4 servers:

and give us feedback. ESIP 2012 Summer Meeting115July 19, 2012

Got HDF? July 19, 2012ESIP 2012 Summer Meeting116 I’m not a dummy any more.

Enjoy observing the Earth! July 19, 2012ESIP 2012 Summer Meeting117

Topics for advanced dummies ESIP 2012 Summer Meeting118July 19, 2012 That’s it? How about netCDF-4 interoperability?

Clarification –netCDF format netCDF-3 format Simple self-describing data format based on netCDF classic data model netCDF-4 format Uses HDF5 as a storage layer Exploits Compression, chunking, parallel-IO Group hierarchy, user-defined data types, etc. Supports both netCDF enhanced and netCDF classic data models Interoperability with netCDF-4 format in this talk Apr , 2012HDF/HDF-EOS Workshop XV119

Clarification – netCDF packages netCDF software packages netCDF-C Support both netCDF-3 and netCDF-4 formats C++/Fortran Wrappers netCDF-Java Support both netCDF-3 and netCDF-4 formats The implementation of the Common Data Model netCDF version 4 Generally mean the version 4 package of the netCDF-C library (Not only support netCDF-4 format) Apr , 2012HDF/HDF-EOS Workshop XV120

Why netCDF-4 Big user community User-friendly data models Tools Home-grown and third-party visualization and analysis tools - ncdump, ncgen, IDV, Panoply, Ferret etc. Apr , 2012HDF/HDF-EOS Workshop XV121

NetCDF Classic Model Apr , 2012HDF/HDF-EOS Workshop XV122

NetCDF enhanced model Apr , 2012HDF/HDF-EOS Workshop XV123

Conversion July 19, 2012ESIP 2012 Summer Meeting124 Creating a new netCDF-4 file from HDF5 file.

eos52nc4 converts hdf-eos5 to netcdf-4. follows netcdf enhanced model. does not follow CF conventions. Usage: eos52nc4 test.he5 test.nc July 19, 2012ESIP 2012 Summer Meeting125 eos5 NETCDF-4 eos52nc4

Augmentation July 19, 2012ESIP 2012 Summer Meeting126 Making an HDF5 file look like a netCDF-4 file.

aug_eos5 augments hdf-eos5 to netcdf-4. Both HDF-EOS5 and NetCDF4 can access it. Usage: aug_eos5 [-i|-f map] test.h5 modifies the input file directly. does not follow CF conventions. July 19, 2012ESIP 2012 Summer Meeting127 eos5 NETCDF-4 aug_eos5

hdf5 netcdf4 Augmentation Concept July 19, 2012ESIP 2012 Summer Meeting128 hdf-eos5 HDF-EOS5 API NETCDF-4 API aug_eos5 augmentation hdf-eos5 HDF5 API

Why NetCDF-4 Doesn’t Work July 19, 2012ESIP 2012 Summer Meeting129 [nLevels][nTimes] NETCDF-4 API hdf-eos5

What aug_eos5 Does July 19, 2012ESIP 2012 Summer Meeting130 [nLevels][nTimes] NETCDF-4 API hdf-eos5

Options in aug_eos5 1.Default option -i option 2.-f map_file option July 19, 2012ESIP 2012 Summer Meeting131

Default option in aug_eos5 Grid XDim, YDim: calculated Other dims: default fill value Swath / ZA All dims: default fill value July 19, 2012ESIP 2012 Summer Meeting132

Better -i option in aug_eos5 Grid XDim, YDim: calculated Other dims: 1,2,…,n Swath / ZA All dims: 1,2,…,n July 19, 2012ESIP 2012 Summer Meeting133

Best -f option in aug_eos5 Needs an input map file. Input file specifies 3 rules : 1.What to be filled in 2.How to fill in 3.Where to get the values Most useful and flexible option July 19, 2012ESIP 2012 Summer Meeting134

aug_eos5 Input File Format Each line in input file contains 1.How: 0,1,2 2.What: dim name 3.Where: data file or existing variable in file. 4.(Optional) Multiple grid/swath/za case only: grid/swath/za name: July 19, 2012ESIP 2012 Summer Meeting135

aug_eos5 Input File Example 0 nTimes Time 1 nLevels data.txt 2 nCandidates July 19, 2012ESIP 2012 Summer Meeting136 Copy the data Read file data.txt Fill 1,2,…, n HowWhatWhere 95% cases – Copy the data

Multiple Swath Case swath name: BrO 0 nTimes Time 1 nLevels data1.txt 2 nCandidates July 19, 2012ESIP 2012 Summer Meeting137 HowWhatWhere swath name: BrO column 2 nTimes 1 nLevels data2.txt Multiple

aug_eos5 vs eos52nc4 July 19, 2012ESIP 2012 Summer Meeting138 aug_eos5eos52nc4 hdfeos-5YesNo netcdf-4Yes

HIRDLS/MLS Team Use aug_eos5 July 19, 2012ESIP 2012 Summer Meeting139 So You Can!

The HDF Group ESIP 2012 Summer Meeting140 Thank you! July 19, 2012

Acknowledgements ESIP 2012 Summer Meeting141July 19, 2012 This work was supported by Subcontract number under Raytheon Contract number NNG10HP02C, funded by the National Aeronautics and Space Administration (NASA) and by cooperative agreement number NNX08AO77A from the NASA. Any opinions, findings, conclusions, or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of Raytheon or the National Aeronautics and Space Administration.

The HDF Group Questions/comments? ESIP 2012 Summer Meeting142July 19, 2012