SlideShare une entreprise Scribd logo
1  sur  24
The HDF Group

HDF-Java Products

Peter Cao
The HDF Group
The 13th HDF and HDF-EOS Workshop
November 3-5, 2009

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 HDF5 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
Package
HDF/HDF-EOS Workshop XIII

Viewer
Editor
3

www.hdfgroup.org
Java Wrapper

Pure Java
Library

HDF
JNI

NetCDF-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 (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 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.

H5.java

h5Imp.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
H5Fopen (
String name,
int flags,
int access_id);

November 3-5, 2009

hid_t
H5Fopen (
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 XIII

Viewer
Editor
9

www.hdfgroup.org
Java Wrapper: read data
A very simple example.

Is there an easy way?
int fid, did, sid, tid, rank;
long dims[], maxDims[];
Object theData;

fid = H5.H5Fopen( fname, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT);
did = H5.H5Dopen(fid, dname);
sid = H5.H5Dget_space(did);
tid = H5.H5Dget_type(did);
rank = H5.H5Sget_simple_extent_ndims(sid);
dims = new long[rank];
maxDims = new long[rank];
H5.H5Sget_simple_extent_dims(sid, dims, maxDims);
theData = allocateArray(tid, dims);
H5.H5Dread( did, tid, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, theData);
H5.H5Sclose(sid);
H5.H5Tclose(tid);
H5.H5Dclose(did);
H5.H5Fclose(fid);

November 3-5, 2009

HDF/HDF-EOS Workshop XIII

10

www.hdfgroup.org
Object Package: the easy way

theData = 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 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.hdfgroup.org
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
Outline

• HDF-Java products
• Short demo of advanced features to
support NPOESS data
• Full support of HDF5 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 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/HDF5/hdf-java/v25p3/

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
• Full support of HDF5 1.8 in HDF-Java

November 3-5, 2009

HDF/HDF-EOS Workshop XIII

18

www.hdfgroup.org
HDF5 1.8 support
Take advantages of HDF5 1.8 library
• New capabilities.
• Performance improvements.

November 3-5, 2009

HDF/HDF-EOS Workshop XIII

19

www.hdfgroup.org
HDF5 1.8 support
• Support HDF5 1.8 APIs in JHI5
• Use new APIs in the hdf-java objects
• Add 1.8 features in HDFView

www.hdfgroup.uiuc.edu/RFC/HDF5/hdf-java/

November 3-5, 2009

HDF/HDF-EOS Workshop XIII

20

www.hdfgroup.org
HDF5 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
HDF5 1.8 support: possible changes
• Package names
• “org.hdfgroup.hdf.”
• “hdf.”
• “ncsa.hdf.”

• Class structure
• H5, H5D, H5F, etc.

November 3-5, 2009

HDF/HDF-EOS Workshop XIII

22

www.hdfgroup.org
Acknowledgements
This work was supported by cooperative agreement
number NNX08AO77A 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

www.hdfgroup.org

Contenu connexe

Tendances

Running Oracle Database on Docker
Running Oracle Database on DockerRunning Oracle Database on Docker
Running Oracle Database on Dockergvenzl
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer GuideDeon Huang
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuningJukka Zitting
 
Building Your Data Streams for all the IoT
Building Your Data Streams for all the IoTBuilding Your Data Streams for all the IoT
Building Your Data Streams for all the IoTDevOps.com
 
Was 5.1 To 6.1
Was 5.1 To 6.1Was 5.1 To 6.1
Was 5.1 To 6.1tsmanyam
 
It Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeIt Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeKarsten Dambekalns
 
Managing Drupal interface translation
Managing Drupal interface translationManaging Drupal interface translation
Managing Drupal interface translationLimoenGroen
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database gvenzl
 
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...DataWorks Summit
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registryVipin Mandale
 
FOSDEM '18 - Tools for large scale collection and analysis of source code re...
FOSDEM '18  - Tools for large scale collection and analysis of source code re...FOSDEM '18  - Tools for large scale collection and analysis of source code re...
FOSDEM '18 - Tools for large scale collection and analysis of source code re...seoul_engineer
 
Domain Specific Development using T4
Domain Specific Development using T4Domain Specific Development using T4
Domain Specific Development using T4Joubin Najmaie
 
HBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsHBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsDataWorks Summit
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPKarsten Dambekalns
 
CICS TS 5.1 Loader Domain enhancements
CICS TS 5.1 Loader Domain enhancementsCICS TS 5.1 Loader Domain enhancements
CICS TS 5.1 Loader Domain enhancementsLarry Lawler
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repositoryJukka Zitting
 

Tendances (20)

Running Oracle Database on Docker
Running Oracle Database on DockerRunning Oracle Database on Docker
Running Oracle Database on Docker
 
NiFi Developer Guide
NiFi Developer GuideNiFi Developer Guide
NiFi Developer Guide
 
Repository performance tuning
Repository performance tuningRepository performance tuning
Repository performance tuning
 
Building Your Data Streams for all the IoT
Building Your Data Streams for all the IoTBuilding Your Data Streams for all the IoT
Building Your Data Streams for all the IoT
 
Adding new servicees for HDF in THREDDS Data Server (TDS)
Adding new servicees for HDF in THREDDS Data Server (TDS)Adding new servicees for HDF in THREDDS Data Server (TDS)
Adding new servicees for HDF in THREDDS Data Server (TDS)
 
Was 5.1 To 6.1
Was 5.1 To 6.1Was 5.1 To 6.1
Was 5.1 To 6.1
 
MODIS Land and HDF-EOS
MODIS Land and HDF-EOSMODIS Land and HDF-EOS
MODIS Land and HDF-EOS
 
It Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real lifeIt Works! Presenting DBAL use in real life
It Works! Presenting DBAL use in real life
 
Managing Drupal interface translation
Managing Drupal interface translationManaging Drupal interface translation
Managing Drupal interface translation
 
Dockerizing Oracle Database
Dockerizing Oracle Database Dockerizing Oracle Database
Dockerizing Oracle Database
 
Apache NiFi Crash Course Intro
Apache NiFi Crash Course IntroApache NiFi Crash Course Intro
Apache NiFi Crash Course Intro
 
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
Comparative Performance Analysis of AWS EC2 Instance Types Commonly Used for ...
 
Jfrog artifactory as private docker registry
Jfrog artifactory as private docker registryJfrog artifactory as private docker registry
Jfrog artifactory as private docker registry
 
FOSDEM '18 - Tools for large scale collection and analysis of source code re...
FOSDEM '18  - Tools for large scale collection and analysis of source code re...FOSDEM '18  - Tools for large scale collection and analysis of source code re...
FOSDEM '18 - Tools for large scale collection and analysis of source code re...
 
Domain Specific Development using T4
Domain Specific Development using T4Domain Specific Development using T4
Domain Specific Development using T4
 
HBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, SolutionsHBase coprocessors, Uses, Abuses, Solutions
HBase coprocessors, Uses, Abuses, Solutions
 
Implementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHPImplementing a JSR-283 Content Repository in PHP
Implementing a JSR-283 Content Repository in PHP
 
CICS TS 5.1 Loader Domain enhancements
CICS TS 5.1 Loader Domain enhancementsCICS TS 5.1 Loader Domain enhancements
CICS TS 5.1 Loader Domain enhancements
 
HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)HDF Update for DAAC Managers (2017-02-27)
HDF Update for DAAC Managers (2017-02-27)
 
OSGifying the repository
OSGifying the repositoryOSGifying the repository
OSGifying the repository
 

Similaire à HDF-Java Products

Similaire à HDF-Java Products (20)

HDF OPeNDAP project update and demo
HDF OPeNDAP project update and demoHDF OPeNDAP project update and demo
HDF OPeNDAP project update and demo
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
Support for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF GroupSupport for NPP/NPOESS by The HDF Group
Support for NPP/NPOESS by The HDF Group
 
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout MapsEnsuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
Ensuring Long Term Access to Remotely Sensed HDF4 Data with Layout Maps
 
Easy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAPEasy Access of NASA HDF data via OPeNDAP
Easy Access of NASA HDF data via OPeNDAP
 
HDF OPeNDAP update
HDF OPeNDAP updateHDF OPeNDAP update
HDF OPeNDAP update
 
HDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and DemoHDF5-OPeNDAP Project Update and Demo
HDF5-OPeNDAP Project Update and Demo
 
Hdf5 intro
Hdf5 introHdf5 intro
Hdf5 intro
 
HDF5 Software Process
HDF5 Software ProcessHDF5 Software Process
HDF5 Software Process
 
Easy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAPEasy Remote Access Via OPeNDAP
Easy Remote Access Via OPeNDAP
 
Support for NPP/NPOESS/JPSS by The HDF Group
 Support for NPP/NPOESS/JPSS by The HDF Group Support for NPP/NPOESS/JPSS by The HDF Group
Support for NPP/NPOESS/JPSS by The HDF Group
 
Integrating HDF5 with SRB
Integrating HDF5 with SRBIntegrating HDF5 with SRB
Integrating HDF5 with SRB
 
HDF Project Status and Plans
HDF Project Status and PlansHDF Project Status and Plans
HDF Project Status and Plans
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
HDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSSHDF Group Support for NPP/NPOESS/JPSS
HDF Group Support for NPP/NPOESS/JPSS
 
Introduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming ModelsIntroduction to HDF5 Data and Programming Models
Introduction to HDF5 Data and Programming Models
 
HDF Update
HDF UpdateHDF Update
HDF Update
 
Introduction to HDF5
Introduction to HDF5Introduction to HDF5
Introduction to HDF5
 
HDF Updae
HDF UpdaeHDF Updae
HDF Updae
 

Plus de The HDF-EOS Tools and Information Center

STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...The HDF-EOS Tools and Information Center
 

Plus de The HDF-EOS Tools and Information Center (20)

Cloud-Optimized HDF5 Files
Cloud-Optimized HDF5 FilesCloud-Optimized HDF5 Files
Cloud-Optimized HDF5 Files
 
Accessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDSAccessing HDF5 data in the cloud with HSDS
Accessing HDF5 data in the cloud with HSDS
 
The State of HDF
The State of HDFThe State of HDF
The State of HDF
 
Highly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance FeaturesHighly Scalable Data Service (HSDS) Performance Features
Highly Scalable Data Service (HSDS) Performance Features
 
Creating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 FilesCreating Cloud-Optimized HDF5 Files
Creating Cloud-Optimized HDF5 Files
 
HDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance DiscussionHDF5 OPeNDAP Handler Updates, and Performance Discussion
HDF5 OPeNDAP Handler Updates, and Performance Discussion
 
Hyrax: Serving Data from S3
Hyrax: Serving Data from S3Hyrax: Serving Data from S3
Hyrax: Serving Data from S3
 
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLABAccessing Cloud Data and Services Using EDL, Pydap, MATLAB
Accessing Cloud Data and Services Using EDL, Pydap, MATLAB
 
HDF - Current status and Future Directions
HDF - Current status and Future DirectionsHDF - Current status and Future Directions
HDF - Current status and Future Directions
 
HDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and FutureHDFEOS.org User Analsys, Updates, and Future
HDFEOS.org User Analsys, Updates, and Future
 
HDF - Current status and Future Directions
HDF - Current status and Future Directions HDF - Current status and Future Directions
HDF - Current status and Future Directions
 
H5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only LibraryH5Coro: The Cloud-Optimized Read-Only Library
H5Coro: The Cloud-Optimized Read-Only Library
 
MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10MATLAB Modernization on HDF5 1.10
MATLAB Modernization on HDF5 1.10
 
HDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDFHDF for the Cloud - Serverless HDF
HDF for the Cloud - Serverless HDF
 
HDF5 <-> Zarr
HDF5 <-> ZarrHDF5 <-> Zarr
HDF5 <-> Zarr
 
HDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server FeaturesHDF for the Cloud - New HDF Server Features
HDF for the Cloud - New HDF Server Features
 
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
Apache Drill and Unidata THREDDS Data Server for NASA HDF-EOS on S3
 
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
STARE-PODS: A Versatile Data Store Leveraging the HDF Virtual Object Layer fo...
 
HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?HDF5 and Ecosystem: What Is New?
HDF5 and Ecosystem: What Is New?
 
HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020HDF5 Roadmap 2019-2020
HDF5 Roadmap 2019-2020
 

Dernier

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 

Dernier (20)

How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 

HDF-Java Products

  • 1. The HDF Group HDF-Java Products Peter Cao The HDF Group The 13th HDF and HDF-EOS Workshop November 3-5, 2009 November 3-5, 2009 HDF/HDF-EOS Workshop XIII 1 www.hdfgroup.org
  • 2. Outline • HDF-Java products • Short demo of NPOESS features • Full support of HDF5 1.8 in HDF-Java November 3-5, 2009 HDF/HDF-EOS Workshop XIII 2 www.hdfgroup.org
  • 3. 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
  • 4. Java Wrapper Pure Java Library HDF JNI NetCDF-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
  • 5. 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
  • 6. 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
  • 7. Java Wrapper C Java HDF C Native Impl. H5.java h5Imp.c November 3-5, 2009 HDF/HDF-EOS Workshop XIII 7 www.hdfgroup.org
  • 8. Java Wrapper: C versus Java C Java public static native int H5Fopen ( String name, int flags, int access_id); November 3-5, 2009 hid_t H5Fopen ( const char *name, unsigned flags, hid_t access_id ); HDF/HDF-EOS Workshop XIII 8 www.hdfgroup.org
  • 9. Object Package HDF-Java HDF Java Wrapper November 3-5, 2009 Object Package HDF/HDF-EOS Workshop XIII Viewer Editor 9 www.hdfgroup.org
  • 10. Java Wrapper: read data A very simple example. Is there an easy way? int fid, did, sid, tid, rank; long dims[], maxDims[]; Object theData; fid = H5.H5Fopen( fname, HDF5Constants.H5F_ACC_RDWR, HDF5Constants.H5P_DEFAULT); did = H5.H5Dopen(fid, dname); sid = H5.H5Dget_space(did); tid = H5.H5Dget_type(did); rank = H5.H5Sget_simple_extent_ndims(sid); dims = new long[rank]; maxDims = new long[rank]; H5.H5Sget_simple_extent_dims(sid, dims, maxDims); theData = allocateArray(tid, dims); H5.H5Dread( did, tid, HDF5Constants.H5S_ALL, HDF5Constants.H5S_ALL, HDF5Constants.H5P_DEFAULT, theData); H5.H5Sclose(sid); H5.H5Tclose(tid); H5.H5Dclose(did); H5.H5Fclose(fid); November 3-5, 2009 HDF/HDF-EOS Workshop XIII 10 www.hdfgroup.org
  • 11. Object Package: the easy way theData = Dataset.read(); November 3-5, 2009 HDF/HDF-EOS Workshop XIII 11 www.hdfgroup.org
  • 12. 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
  • 13. Object Package: basic objects File Group Dataset Datatype Attribute http://www.hdfgroup.org/hdf-java-html/hdf-object/ www.hdfgroup.org
  • 15. HDFView November 3-5, 2009 HDF/HDF-EOS Workshop XIII 15 www.hdfgroup.org
  • 16. Outline • HDF-Java products • Short demo of advanced features to support NPOESS data • Full support of HDF5 1.8 in HDF-Java November 3-5, 2009 HDF/HDF-EOS Workshop XIII 16 www.hdfgroup.org
  • 17. 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/HDF5/hdf-java/v25p3/ November 3-5, 2009 HDF/HDF-EOS Workshop XIII 17 www.hdfgroup.org
  • 18. Outline • HDF-Java products • Short demo of advanced features to support NPOESS data • Full support of HDF5 1.8 in HDF-Java November 3-5, 2009 HDF/HDF-EOS Workshop XIII 18 www.hdfgroup.org
  • 19. HDF5 1.8 support Take advantages of HDF5 1.8 library • New capabilities. • Performance improvements. November 3-5, 2009 HDF/HDF-EOS Workshop XIII 19 www.hdfgroup.org
  • 20. HDF5 1.8 support • Support HDF5 1.8 APIs in JHI5 • Use new APIs in the hdf-java objects • Add 1.8 features in HDFView www.hdfgroup.uiuc.edu/RFC/HDF5/hdf-java/ November 3-5, 2009 HDF/HDF-EOS Workshop XIII 20 www.hdfgroup.org
  • 21. HDF5 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
  • 22. HDF5 1.8 support: possible changes • Package names • “org.hdfgroup.hdf.” • “hdf.” • “ncsa.hdf.” • Class structure • H5, H5D, H5F, etc. November 3-5, 2009 HDF/HDF-EOS Workshop XIII 22 www.hdfgroup.org
  • 23. Acknowledgements This work was supported by cooperative agreement number NNX08AO77A 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
  • 24. The HDF Group Thank You! Questions/comments? November 3-5, 2009 HDF/HDF-EOS Workshop XIII 24 www.hdfgroup.org