Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

23
Visualizing and Analyzing of Visualizing and Analyzing of HDF-EOS and HDF data with NCL HDF-EOS and HDF data with NCL Wei Huang, Dave Brown, Mary Haley, Rick Brownrigg CISL/NCAR Dennis Shea, Adam Philips CGD/NCAR [email protected]

description

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.

Transcript of Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Page 1: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Visualizing and Analyzing ofVisualizing and Analyzing ofHDF-EOS and HDF data with NCLHDF-EOS and HDF data with NCL

Wei Huang, Dave Brown, Mary Haley, Rick Brownrigg

CISL/NCAR

Dennis Shea, Adam PhilipsCGD/NCAR

[email protected]

Page 2: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

What is NCLWhat 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

Page 3: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 Released April, 2010HDF-EOS5 Released April, 2010HDF-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

Page 4: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 SampleHDF-EOS5 Sample

02/17/14 CISL/NCAR

Page 5: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 Sample (continue)HDF-EOS5 Sample (continue)

02/17/14 CISL/NCAR

Page 6: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 Sample (continue)HDF-EOS5 Sample (continue)

02/17/14 CISL/NCAR

Reflectivity of the ground pixel

Page 7: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF5 in Beta ReleaseHDF5 in Beta Release

02/17/14 CISL/NCAR

Page 8: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Sample Script to Read HDF5Sample 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

Page 9: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Group in HDF5 and Sample ScriptGroup 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

Page 10: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF5 Sample PlotHDF5 Sample Plot

02/17/14 CISL/NCAR

Page 11: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF5 Sample Plot (continue)HDF5 Sample Plot (continue)

02/17/14 CISL/NCAR

Page 12: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF5 Sample Plot (continue)HDF5 Sample Plot (continue)

02/17/14 CISL/NCAR

Page 13: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF5 Sample Plot (continue)HDF5 Sample Plot (continue)

02/17/14 CISL/NCAR

Page 14: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Read Compound data from HDF5Read 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

Page 15: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Print-outPrint-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

Page 16: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

02/17/14 CISL/NCAR

Page 17: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 OpenDapHDF-EOS5 OpenDapUsing liboc-dap-0.0.2

In Alpha Version

02/17/14 CISL/NCAR

Page 18: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 OpenDap HDF-EOS5 OpenDap -- a sample script-- a sample script

url = "http://acdisc.gsfc.nasa.gov/opendap/HDF-EOS5/Aura_OMI_Level3/OMAEROe.003/2010/"

filename = url + "OMI-Aura_L3-OMAEROe_2010m0712_v003-2010m0714t203639.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

Page 19: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

HDF-EOS5 OpenDap –sample plotHDF-EOS5 OpenDap –sample plot

02/17/14 CISL/NCAR

Page 20: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

ConclusionConclusionHDF-EOS5 is already released◦ 5.2.0 in April, 2010

◦ 5.2.1 in July, 2010HDF5 will be released soon◦ Being tested with lots of data

◦ In Beta VersionHDF-EOS5 OpenDap is on the way◦ With limited test

◦ In Alpha Version

02/17/14 CISL/NCAR

Page 21: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Questions?Questions?

Thank You!

02/17/14 CISL/NCAR

Page 22: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Write HDF5 with NCLWrite HDF5 with NCLWrite HDF5 with Options:◦ Compression

At File Level At Variable Level

◦ Chunking At File Level At Variable Level

02/17/14 CISL/NCAR

Page 23: Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL

Sample Script to Write HDF5Sample Script to Write HDF5

02/17/14 CISL/NCAR