Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

859 views

Published on

NCAR Command Language (NCL) is an interpreted language designed for sceintific data analysis and visualization with high quality graphics, espeially for atmospherice scince. NCL has been support NetCDF 3/4, GRIB 1/2, HDF-SDS, HDF_EOS, shapefiles, binary, and ASCII files for years. Now HDF-EOS5 is the released version, and HDF5 in beta-test stage.

Now NCL team are developing NCL to write HDF5 files, and to read HDF-EOS5 data with OPeNDAP.

NCL team will share with people their experience to visualize and analyze HDF-EOS5 and HDF5 data.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
859
On SlideShare
0
From Embeds
0
Number of Embeds
9
Actions
Shares
0
Downloads
23
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

  1. 1. Visualizing and Analyzing of HDF-EOS and HDF data with NCL Wei Huang, Dave Brown, Mary Haley, Rick Brownrigg CISL/NCAR Dennis Shea, Adam Philips CGD/NCAR huangwei@ucar.edu
  2. 2. What is NCL ◦ NCL stands for NCAR Command Language  http://www.ncl.ucar.edu for more information ◦ NCL is developed at CISL/NCAR, for scientific data analysis and visualization ◦ Free available as binaries, open source ◦ Supports NetCDF (3 and 4), GRIB (1 and 2), HDF, HDF-EOS 2 and 5 (as Spring of 2010) ◦ Newly added HDF5 and OpenDap (in 2010) ◦ High quality graphics ◦ Lots of example scripts 02/17/14 CISL/NCAR
  3. 3. HDF-EOS5 Released April, 2010 HDF-EOS5 included NCL ◦ 5.2.0 released in April, 2010 ◦ 5.2.1 released in July, 2010 HDF, and HDF-EOS2/5 Examples ◦ http://www.ncl.ucar.edu/Applications/HDF.shtml ◦ Use “ncl_filedump” to check variables in HDF, and HDF-EOS2/5 files ◦ Use “ncl_convert2nc” to convert HDF-EOS2/5 and HDF files to NetCDF files 02/17/14 CISL/NCAR
  4. 4. HDF-EOS5 Sample 02/17/14 CISL/NCAR
  5. 5. HDF-EOS5 Sample (continue) 02/17/14 CISL/NCAR
  6. 6. HDF-EOS5 Sample (continue) Reflectivity of the ground pixel 02/17/14 CISL/NCAR
  7. 7. HDF5 in Beta Release 02/17/14 CISL/NCAR
  8. 8. Sample Script to Read HDF5  f = addfile(”./data/MOD13A2A.h5", "r”) ◦ printVarSummary(f)  grps = getfilegroups(f, "/", 0) ◦ print(grps)  grps2 = getfilegroups(f, "/MODIS_Grid_16DAY_1km_VI", 0) ◦ print(grps2)  v1 = f->1_km_16_days_red_reflectance ◦   printVarSummary(v1) vn = grps2(0)+"/1 km 16 days blue reflectance” v2 = f->$vn$ ◦ printVarSummary(v2) 02/17/14 CISL/NCAR
  9. 9. Group in HDF5 and Sample Script  f = addfile(”./data/NISESSMI.h5", "r") ◦ print(f)   gn = "/Northern Hemisphere” g1 = f=>$gn$ ◦ print(g1)   g2n = "/Northern Hemisphere/Data Fields” g2 = g1=>$g2n$ ◦ print(g2)   vn = "/Northern Hemisphere/Data Fields/Age" v1 = g1->$vn$ ◦ printVarSummary(v1)  v2 = g2->$vn$ ◦ printVarSummary(v2) 02/17/14 CISL/NCAR
  10. 10. HDF5 Sample Plot 02/17/14 CISL/NCAR
  11. 11. HDF5 Sample Plot (continue) 02/17/14 CISL/NCAR
  12. 12. HDF5 Sample Plot (continue) 02/17/14 CISL/NCAR
  13. 13. HDF5 Sample Plot (continue) 02/17/14 CISL/NCAR
  14. 14. Read Compound data from HDF5  fn = "K1VHR_23SEP2008_2330_L02_SST.h5”  f = addfile(fn, "r”) ◦ print(f)  lon1d = f->/SST/SST_Composite.Longitude  lat1d = f->/SST/SST_Composite.Latitude  sst1d = f->/SST/SST_Dataset.SST 02/17/14 CISL/NCAR
  15. 15. Print-out      filename: K1VHR_23SEP2008_2330_L02_SST file global attributes: dimensions: DIM_000 = 36381 variables:  group </PRODUCT_INFORMATION>  group </PRODUCT_METADATA>  group </PRODUCT_METADATA/PRODUCT_DETAILS>  group </PRODUCT_METADATA/PROJECTION_PARAMETERS>  group </SST>  compound <SST_Composite> (Latitude, Longitude, SST) (DIM_000)  compound <SST_Dataset> (Latitude, Longitude, SST) (DIM_000)  group </SST/GP_PARAM_INFO> 02/17/14 CISL/NCAR
  16. 16. 02/17/14 CISL/NCAR
  17. 17. HDF-EOS5 OpenDap Using liboc-dap-0.0.2 In Alpha Version 02/17/14 CISL/NCAR
  18. 18. HDF-EOS5 OpenDap -- a sample script     url = "http://acdisc.gsfc.nasa.gov/opendap/HDFEOS5/Aura_OMI_Level3/OMAEROe.003/2010/" filename = url + "OMI-Aura_L3-OMAEROe_2010m0712_v0032010m0714t203639.he5” f = addfile(filename,"r”) ◦ print(f) vis_aerosol = f->SingleScatteringAlbedoPassedThresholdMean ◦ printVarSummary(vis_aerosol)   lat = f->Latitude ◦ printVarSummary(lat) lon = f->Longitude ◦ printVarSummary(lon) 02/17/14 CISL/NCAR
  19. 19. HDF-EOS5 OpenDap –sample plot 02/17/14 CISL/NCAR
  20. 20. Conclusion HDF-EOS5 is already released ◦ 5.2.0 in April, 2010 ◦ 5.2.1 in July, 2010 HDF5 will be released soon ◦ Being tested with lots of data ◦ In Beta Version HDF-EOS5 OpenDap is on the way ◦ With limited test ◦ In Alpha Version 02/17/14 CISL/NCAR
  21. 21. Questions? Thank You! 02/17/14 CISL/NCAR
  22. 22. Write HDF5 with NCL Write HDF5 with Options: ◦ Compression  At File Level  At Variable Level ◦ Chunking  At File Level  At Variable Level 02/17/14 CISL/NCAR
  23. 23. Sample Script to Write HDF5 02/17/14 CISL/NCAR

×