Top Banner
www.hdfgroup.org The HDF Group HDF/HDF-EOS Workshop XV 1 Tools to Improve the Usability of NASA HDF Data Kent Yang and Joe Lee The HDF Group April 17, 2012
49

Www.hdfgroup.org 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.

Jan 04, 2016

Download

Documents

Nancy Moore
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Www.hdfgroup.org 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.

www.hdfgroup.org

The HDF Group

HDF/HDF-EOS Workshop XV 1

Tools to Improve the Usability of NASA HDF Data

Kent Yang and Joe LeeThe HDF Group

April 17, 2012

Page 2: Www.hdfgroup.org 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.

www.hdfgroup.org

Tutorial Outline

Introduction

5 Tools

1. H4CF Conversion Toolkit (h4cf)

2. h4toh5 Conversion Tool (h4toh5)

3. HDF-EOS5 to netCDF-4 Converter (eos52nc4)

4. HDF-EOS5 Augmentation Tool (aug_eos5)

5. HDF-EOS2 Dumper (eos2dump)

Demo

HDF/HDF-EOS Workshop XV 2April 17, 2012

Page 3: Www.hdfgroup.org 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.

www.hdfgroup.org

Who Said Users Don’t Matter?

April 17, 2012 HDF/HDF-EOS Workshop XV 3

Page 4: Www.hdfgroup.org 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.

www.hdfgroup.org

NASAHDF/HDF-EOS

Data

Usability of NASA HDF Data

April 17, 2012 HDF/HDF-EOS Workshop XV 4

IDL

MATLAB

Panoply IDV

A school teacher’s viewPanoply IDV

A school teacher’s expectation

Page 5: Www.hdfgroup.org 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.

www.hdfgroup.org

The 5 Tools

April 17, 2012 HDF/HDF-EOS Workshop XV 5

Improve the usability of NASA Data

Supported by The HDF Group

Funded by NASA / Raytheon

http://hdfeos.org/software/tool.php

Page 6: Www.hdfgroup.org 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.

www.hdfgroup.org

h4cf

eos2 dump

aug_eos5

eos52nc4

h4toh5

hdf4

5 Tools that Improve Usability

April 17, 2012 HDF/HDF-EOS Workshop XV 6

eos2

eos5ASCII

NETCDF-4

NETCDF-3Panoply / IDV

MATLAB IDLNCL

Page 7: Www.hdfgroup.org 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.

www.hdfgroup.org

H4CF Conversion Toolkit

Follow CF conventionBoth Library and Toolshttp://hdfeos.org/software/h4cflib

April 17, 2012 HDF/HDF-EOS Workshop XV 7

hdf4

eos2

NETCDF-4

NETCDF-3 h4cfPanoply / IDV

Page 8: Www.hdfgroup.org 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.

www.hdfgroup.org

H4CF Conversion Toolkit

Two ways to build:

1. Use configure script.

2. Edit Makefile

template.

April 17, 2012 HDF/HDF-EOS Workshop XV 8

Page 9: Www.hdfgroup.org 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.

www.hdfgroup.org

H4CF Conversion Library

• Variables (datasets) list• Attributes (metadata) list

• All Vars & Attrs follow CF conventions• Develop your own CF application!

April 17, 2012 HDF/HDF-EOS Workshop XV 9

Page 10: Www.hdfgroup.org 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.

www.hdfgroup.org

H4CF Library APIs Example

// open the example HDF fileh4cf_open("geo.hdf");

// HDF file attributes are obtained in a C++ STL map objectconst map<string, string> file_attrs = h4cf_get_file_attrs();

// HDF file variables are obtained in a C++ STL list objectconst list<var*> pvars = h4cf_get_vars();

// close the HDF fileh4cf_close();

April 17, 2012 HDF/HDF-EOS Workshop XV 10

Page 11: Www.hdfgroup.org 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.

www.hdfgroup.org

H4CF Conversion Tools

2 Tools based on H4CF APIs:

cdldumper

h4tonccf

April 17, 2012 HDF/HDF-EOS Workshop XV 11

Page 12: Www.hdfgroup.org 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.

www.hdfgroup.org

cdldumper

• Usage: cdldumper filename.hdf

• Dump file in Common Data Language.• Useful for quick check and debugging purpose.

April 17, 2012 HDF/HDF-EOS Workshop XV 12

Page 13: Www.hdfgroup.org 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.

www.hdfgroup.org

cdldumper Demo

April 17, 2012 HDF/HDF-EOS Workshop XV 13

Number of attributes=1_FillValue=255

Page 14: Www.hdfgroup.org 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.

www.hdfgroup.org

cdldumper Demo

April 17, 2012 HDF/HDF-EOS Workshop XV 14

%./cdldumper -H AMSR_E_L3_5DaySnow_V09_20050126.hdf netCDF AMSR_E_L3_5DaySnow_V09_20050126.hdf {dimensions: XDim_Northern_Hemisphere = 721, XDim_Southern_…variables: ubyte Flags_NorthernPentad(YDim_Northern_Hemis… Flags_NorthernPentad:_FillValue = 255; Flags_NorthernPentad:origname = "/Northern… Flags_NorthernPentad:long_name = "/Northern… Flags_NorthernPentad:coordinates = "latitude…

Number of attributes=4_FillValue=255orig_namelong_namecoordinates

Page 15: Www.hdfgroup.org 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.

www.hdfgroup.org

h4tonccf

• Usage: h4tonccf filename.hdf [filename.nc]• generates either netcdf-3 or netcdf-4 file.

• follows netcdf classic model.

April 17, 2012 HDF/HDF-EOS Workshop XV 15

Page 16: Www.hdfgroup.org 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.

www.hdfgroup.org

h4tonccf Demo

April 17, 2012 HDF/HDF-EOS Workshop XV 16

Page 17: Www.hdfgroup.org 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.

www.hdfgroup.org

Don’t Follow CF Conventions Blindly

April 17, 2012 HDF/HDF-EOS Workshop XV 17

[1] CF: scale * value + offset[2] MODIS: scale * (value – offset)

Scale = 0.01Value = 5000Offset = -15000.0

[1] 0.01 * 5000 + (-15000) = -14950[2] 0.01 * (5000 – (-15000)) = 200

Page 18: Www.hdfgroup.org 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.

www.hdfgroup.org

-14950 Kelvin?

April 17, 2012 HDF/HDF-EOS Workshop XV 18

Page 19: Www.hdfgroup.org 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.

www.hdfgroup.org

MODIS Scale / Offset Correction

HDF/HDF-EOS Workshop XV 19April 18, 2012

Page 20: Www.hdfgroup.org 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.

www.hdfgroup.org

Converted File Size Comparison

April 17, 2012 HDF/HDF-EOS Workshop XV 20

72M

128M

656M

HDF-EOS2

Netcdf-4

Netcdf-3

9X

Page 21: Www.hdfgroup.org 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.

www.hdfgroup.org

Limitation – No Support Yet

April 17, 2012 HDF/HDF-EOS Workshop XV 21

MISR (SOM/LAMAZ)

MERRAAVHRRLISTO

QuikSCAT/SeaWindMOPITT L2

etc.

Page 22: Www.hdfgroup.org 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.

www.hdfgroup.org

h4toh5 Conversion Tool

Convert any hdf4 to hdf5.

http://hdfgroup.org/h4toh5

April 17, 2012 HDF/HDF-EOS Workshop XV 22

eos2

NETCDF-4

h4toh5

Usage: h4toh5 –eos –nc4 in.hdf out.nc

Static Binary w/ –eos & -nc4:

http://hdfeos.org/software/h4toh5/bin/

Page 23: Www.hdfgroup.org 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.

www.hdfgroup.org

h4tonccf vs. h4toh5

April 17, 2012 HDF/HDF-EOS Workshop XV 23

h4tonccf h4toh5w/ -eos –nc4

Handle non-eos2 hdf4

Yes No

FollowCF

conventions

Yes No

Outputnetcdf classic

Yes No

Outputnetcdf

enhanced

No Yes

Page 24: Www.hdfgroup.org 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.

www.hdfgroup.org

eos52nc4

• converts hdf-eos5 to netcdf-4.• follows netcdf enhanced model.• does not follow CF conventions. • Usage: eos52nc4 test.he5 test.nc• http://hdfeos.org/software/convert_hdfeos5.php

April 17, 2012 HDF/HDF-EOS Workshop XV 24

eos5

NETCDF-4eos52nc4

Page 25: Www.hdfgroup.org 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.

www.hdfgroup.org

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.• http://hdfeos.org/software/aug_hdfeos5.php

April 17, 2012 HDF/HDF-EOS Workshop XV 25

eos5

NETCDF-4aug_eos

5

Page 26: Www.hdfgroup.org 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.

www.hdfgroup.org

hdf5

netcdf4

Augmentation Concept

April 17, 2012 HDF/HDF-EOS Workshop XV 26

hdf-eos5HDF-EOS5

APINETCDF-4

API

aug_eos5

augmentation

hdf-eos5

HDF5 API

Page 27: Www.hdfgroup.org 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.

www.hdfgroup.org

Why NetCDF-4 Doesn’t Work

April 17, 2012 HDF/HDF-EOS Workshop XV 27

[nLevels][nTimes]

NETCDF-4 API

hdf-eos5

Page 28: Www.hdfgroup.org 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.

www.hdfgroup.org

What aug_eos5 Does

April 17, 2012 HDF/HDF-EOS Workshop XV 28

[nLevels][nTimes]

NETCDF-4 API

hdf-eos5

Page 29: Www.hdfgroup.org 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.

www.hdfgroup.org

Options in aug_eos5

1. Default option

• -i option

2.-f map_file option

April 17, 2012 HDF/HDF-EOS Workshop XV 29

Page 30: Www.hdfgroup.org 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.

www.hdfgroup.org

Default option in aug_eos5

Grid

•XDim, YDim: calculated

• Other dims: default fill value

Swath / ZA• All dims: default fill value

April 17, 2012 HDF/HDF-EOS Workshop XV 30

Page 31: Www.hdfgroup.org 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.

www.hdfgroup.org

Better -i option in aug_eos5

• Grid• XDim, YDim: calculated

•Other dims: 1,2,…,n

• Swath / ZA

•All dims: 1,2,…,n

April 17, 2012 HDF/HDF-EOS Workshop XV 31

Page 32: Www.hdfgroup.org 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.

www.hdfgroup.org

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

April 17, 2012 HDF/HDF-EOS Workshop XV 32

Page 33: Www.hdfgroup.org 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.

www.hdfgroup.org

aug_eos5 Input File Format

Each line in input file contains

1. How: 0,1,2

2. What: dim name3. Where: data file or existing variable in file.

4. (Optional) Multiple grid/swath/za case only:• grid/swath/za name:<name>

April 17, 2012 HDF/HDF-EOS Workshop XV 33

Page 34: Www.hdfgroup.org 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.

www.hdfgroup.org

aug_eos5 Input File Example

0 nTimes Time

1 nLevels data.txt

2 nCandidates

April 17, 2012 HDF/HDF-EOS Workshop XV 34

Copy the data

Read file data.txt

Fill 1,2,…, n

How What Where

95% cases – Copy the data

Page 35: Www.hdfgroup.org 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.

www.hdfgroup.org

Multiple Swath Case

swath name: BrO

0 nTimes Time

1 nLevels data1.txt

2 nCandidates

April 17, 2012 HDF/HDF-EOS Workshop XV 35

How What Where

swath name: BrO column

2 nTimes

1 nLevels data2.txt

Multiple

Page 36: Www.hdfgroup.org 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.

www.hdfgroup.org

aug_eos5 vs eos52nc4

April 17, 2012 HDF/HDF-EOS Workshop XV 36

aug_eos5 eos52nc4

hdfeos-5 Yes No

netcdf-4 Yes Yes

Page 37: Www.hdfgroup.org 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.

www.hdfgroup.org

HIRDLS/MLS Team Use aug_eos5

April 17, 2012 HDF/HDF-EOS Workshop XV 37

So You Can!

Page 38: Www.hdfgroup.org 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.

www.hdfgroup.org

eos2 dump

HDF-EOS2 Dumper Tool

Useful for tools that can’t handle some projections.

April 17, 2012 HDF/HDF-EOS Workshop XV 38

eos2

ASCII

MATLAB IDLNCL

http://hdfeos.org/zoo

Page 39: Www.hdfgroup.org 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.

www.hdfgroup.org

Important Tool for Zoo Maintenance

April 17, 2012 HDF/HDF-EOS Workshop XV 39

Page 40: Www.hdfgroup.org 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.

www.hdfgroup.org

Why Tools Need HDF-OES2 Dumper

April 17, 2012 HDF/HDF-EOS Workshop XV 40

Lat / Lonin

ASCII

MATLAB IDLNCL

HDF-EOS2dumper

LaRC MISR SOM Projection

HDF-EOS2

Lat / Lon

Page 41: Www.hdfgroup.org 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.

www.hdfgroup.org

HDF-EOS2 Dumper Options

Usage: eos2dump options filename.hdf

What: 1=lat / 2 =lonFormat: m=5 values per line

April 17, 2012 HDF/HDF-EOS Workshop XV 41

Page 42: Www.hdfgroup.org 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.

www.hdfgroup.org

eos2dump Latitude Example

eos2dump –c1 filename.hdf > latitude.txt

What: latFormat: one value per line (default)

April 17, 2012 HDF/HDF-EOS Workshop XV 42

9080706050403020100-10-20-30

Page 43: Www.hdfgroup.org 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.

www.hdfgroup.org

eos2dump Longitude Example

eos2dump –c2m filename.hdf > longitude.txt

What: lon

Format: 5 values per lineMATLAB cannot read it.

April 17, 2012 HDF/HDF-EOS Workshop XV 43

180 175 170 165 160155 150 145 140 135130 125 120 115 110

Page 44: Www.hdfgroup.org 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.

www.hdfgroup.org

Got Tools?

April 17, 2012 HDF/HDF-EOS Workshop XV 44

Page 45: Www.hdfgroup.org 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.

www.hdfgroup.org

h4cf

eos2 dump

aug_eos5

eos52nc4

h4toh5

hdf4

Enjoy the NASA HDF Data!

April 17, 2012 HDF/HDF-EOS Workshop XV 45

eos2

eos5ASCII

NETCDF-4

NETCDF-3Panoply / IDV

MATLAB IDLNCL

NASA HDFdata users

Page 46: Www.hdfgroup.org 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.

www.hdfgroup.org

… and observe the Earth!

April 17, 2012 HDF/HDF-EOS Workshop XV 46

Page 47: Www.hdfgroup.org 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.

www.hdfgroup.org

The HDF Group

HDF/HDF-EOS Workshop XV 47

Thank you !

April 17, 2012

Page 48: Www.hdfgroup.org 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.

www.hdfgroup.org

Acknowledgements

HDF/HDF-EOS Workshop XV 48April 17, 2012

This work was supported by Subcontract number 114820 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, orrecommendations 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.

Page 49: Www.hdfgroup.org 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.

www.hdfgroup.org

The HDF Group

Questions/comments?

HDF/HDF-EOS Workshop XV 49April 17, 2012