The HDF Group HDFJava Products Peter Cao The

  • Slides: 24
Download presentation
The HDF Group HDF-Java Products Peter Cao The HDF Group The 13 th HDF

The HDF Group HDF-Java Products Peter Cao The HDF Group The 13 th HDF and HDF-EOS Workshop November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 1 www. hdfgroup. org

Outline • HDF-Java products • Short demo of NPOESS features • Full support of

Outline • HDF-Java products • Short demo of NPOESS features • Full support of HDF 5 1. 8 in HDF-Java November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 2 www. hdfgroup. org

What are the HDF-Java products? HDF-Java HDF Java Wrapper November 3 -5, 2009 Object

What are the HDF-Java products? HDF-Java HDF Java Wrapper November 3 -5, 2009 Object Package HDF/HDF-EOS Workshop XIII Viewer Editor 3 www. hdfgroup. org

Java Wrapper Pure Java Library HDF JNI Net. CDF-Java library a programming framework that

Java Wrapper Pure Java Library HDF JNI Net. CDF-Java library a programming framework that allows Java code to call and be called by applications and libraries written in other languages HDF November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 4 www. hdfgroup. org

Pure Java Library • Pros: • True platform independence • Direct access to file

Pure Java Library • Pros: • True platform independence • Direct access to file (no data conversion between C and Java) Pure Java Library • Cons: HDF November 3 -5, 2009 - Substantial amount of work to support features in the C library. HDF/HDF-EOS Workshop XIII 5 www. hdfgroup. org

HDF JNI • Pros: HDF • Easy to implement • Easy to keep up

HDF JNI • Pros: HDF • Easy to implement • Easy to keep up with the library changes • Cons: HDF November 3 -5, 2009 - Requires data conversion between C and Java - The JNI is platform dependent HDF/HDF-EOS Workshop XIII 6 www. hdfgroup. org

Java Wrapper C Java HDF C Native Impl. H 5. java h 5 Imp.

Java Wrapper C Java HDF C Native Impl. H 5. java h 5 Imp. c November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 7 www. hdfgroup. org

Java Wrapper: C versus Java C Java public static native int H 5 Fopen

Java Wrapper: C versus Java C Java public static native int H 5 Fopen ( String name, int flags, int access_id); November 3 -5, 2009 hid_t H 5 Fopen ( const char *name, unsigned flags, hid_t access_id ); HDF/HDF-EOS Workshop XIII 8 www. hdfgroup. org

Object Package HDF-Java HDF Java Wrapper November 3 -5, 2009 Object Package HDF/HDF-EOS Workshop

Object Package HDF-Java HDF Java Wrapper November 3 -5, 2009 Object Package HDF/HDF-EOS Workshop XIII Viewer Editor 9 www. hdfgroup. org

Java Wrapper: read data Is there an easy way? A very simple example. int

Java Wrapper: read data Is there an easy way? A very simple example. int fid, did, sid, tid, rank; long dims[], max. Dims[]; Object the. Data; fid = H 5 Fopen( fname, HDF 5 Constants. H 5 F_ACC_RDWR, HDF 5 Constants. H 5 P_DEFAULT); did = H 5 Dopen(fid, dname); sid = H 5 Dget_space(did); tid = H 5 Dget_type(did); rank = H 5 Sget_simple_extent_ndims(sid); dims = new long[rank]; max. Dims = new long[rank]; H 5 Sget_simple_extent_dims(sid, dims, max. Dims); the. Data = allocate. Array(tid, dims); H 5 Dread( did, tid, HDF 5 Constants. H 5 S_ALL, HDF 5 Constants. H 5 P_DEFAULT, the. Data); H 5 Sclose(sid); H 5 Tclose(tid); H 5 Dclose(did); H 5 Fclose(fid); November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 10 www. hdfgroup. org

Object Package: the easy way the. Data = Dataset. read(); November 3 -5, 2009

Object Package: the easy way the. Data = Dataset. read(); November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 11 www. hdfgroup. org

Object Package: main purposes For the application developers • Less function calls • Easy

Object Package: main purposes For the application developers • Less function calls • Easy to extend for specific needs November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 12 www. hdfgroup. org

Object Package: basic objects File Group Dataset Datatype Attribute http: //www. hdfgroup. org/hdf-java-html/hdf-object/ www.

Object Package: basic objects File Group Dataset Datatype Attribute http: //www. hdfgroup. org/hdf-java-html/hdf-object/ www. hdfgroup. org

HDFView HDF-Java HDF Java Wrapper November 3 -5, 2009 Object Package HDF/HDF-EOS Workshop XIII

HDFView HDF-Java HDF Java Wrapper November 3 -5, 2009 Object Package HDF/HDF-EOS Workshop XIII Viewer Editor 14 www. hdfgroup. org

HDFView November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 15 www. hdfgroup. org

HDFView November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 15 www. hdfgroup. org

Outline • HDF-Java products • Short demo of advanced features to support NPOESS data

Outline • HDF-Java products • Short demo of advanced features to support NPOESS data • Full support of HDF 5 1. 8 in HDF-Java November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 16 www. hdfgroup. org

Features to support NPOESS data • Aggregated granules • dataset pointed by an object

Features to support NPOESS data • Aggregated granules • dataset pointed by an object reference • Granules • Subset pointed a region reference • Quality Flags • bits of quality flags packed in one byte • HDFView version 2. 5 patch 3 http: //www. hdfgroup. org/ftp/HDF 5/hdf-java/v 25 p 3/ November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 17 www. hdfgroup. org

Outline • HDF-Java products • Short demo of advanced features to support NPOESS data

Outline • HDF-Java products • Short demo of advanced features to support NPOESS data • Full support of HDF 5 1. 8 in HDF-Java November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 18 www. hdfgroup. org

HDF 5 1. 8 support Take advantages of HDF 5 1. 8 library •

HDF 5 1. 8 support Take advantages of HDF 5 1. 8 library • New capabilities. • Performance improvements. November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 19 www. hdfgroup. org

HDF 5 1. 8 support • Support HDF 5 1. 8 APIs in JHI

HDF 5 1. 8 support • Support HDF 5 1. 8 APIs in JHI 5 • Use new APIs in the hdf-java objects • Add 1. 8 features in HDFView www. hdfgroup. uiuc. edu/RFC/HDF 5/hdf-java/ November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 20 www. hdfgroup. org

HDF 5 1. 8 support: New APIs No. of APIs High 53 Comp. Date

HDF 5 1. 8 support: New APIs No. of APIs High 53 Comp. Date Feb. 2010 Mar. 2010 ? November 3 -5, 2009 Medium 46 HDF/HDF-EOS Workshop XIII Low 71 21 www. hdfgroup. org

HDF 5 1. 8 support: possible changes • Package names • “org. hdfgroup. hdf.

HDF 5 1. 8 support: possible changes • Package names • “org. hdfgroup. hdf. ” • “ncsa. hdf. ” • Class structure • H 5, H 5 D, H 5 F, etc. November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 22 www. hdfgroup. org

Acknowledgements This work was supported by cooperative agreement number NNX 08 AO 77 A

Acknowledgements This work was supported by cooperative agreement number NNX 08 AO 77 A from the National Aeronautics and Space Administration (NASA). Any opinions, findings, conclusions, or recommendations expressed in this material are those of the author[s] and do not necessarily reflect the views of the National Aeronautics and Space Administration. November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 23 www. hdfgroup. org

The HDF Group Thank You! Questions/comments? November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 24

The HDF Group Thank You! Questions/comments? November 3 -5, 2009 HDF/HDF-EOS Workshop XIII 24 www. hdfgroup. org