Introduction to HDF5 Session Four Java Products

Slides:



Advertisements
Similar presentations
1 Projection Indexes in HDF5 Rishi Rakesh Sinha The HDF Group.
Advertisements

The HDF Group November 3-5, 2009HDF/HDF-EOS Workshop XIII1 HDF-Java Products Peter Cao The HDF Group The 13 th HDF and HDF-EOS Workshop.
The HDF Group ESIP Summer Meeting HDF-Java Overview Joel Plutchak The HDF Group 1 July 8 – 11, 2014.
The Future of NetCDF Russ Rew UCAR Unidata Program Center Acknowledgments: John Caron, Ed Hartnett, NASA’s Earth Science Technology Office, National Science.
11/6/07HDF and HDF-EOS Workshop XI, Landover, MD1 Introduction to HDF5 HDF and HDF-EOS Workshop XI November 6-8, 2007.
NetCDF An Effective Way to Store and Retrieve Scientific Datasets Jianwei Li 02/11/2002.
JAVA PROGRAMING LANGUAGE. Content of Java 2 SDK  Development Tools (In the bin subdirectory.) Tools and utilities that will help you develop, execute,
POSIX: Files Introduction to Operating Systems: Discussion 1 Read Solaris System Interface Guide: Ch. 5.1 Basic File I/O.
Status of netCDF-3, netCDF-4, and CF Conventions Russ Rew Community Standards for Unstructured Grids Workshop, Boulder
Introduction to Java Appendix A. Appendix A: Introduction to Java2 Chapter Objectives To understand the essentials of object-oriented programming in Java.
® Page 1 Intel Compiler Lab – Intel Array Visualizer HDF Workshop VIII October 27, 2004 John Readey
1 of 14 Substituting HDF5 tools with Python/H5py scripts Daniel Kahn Science Systems and Applications Inc. HDF HDF-EOS Workshop XIV, 28 Sep
The HDF Group April 17-19, 2012HDF/HDF-EOS Workshop XV1 Introduction to HDF5 Barbara Jones The HDF Group The 15 th HDF and HDF-EOS Workshop.
HDF5 A new file format & software for high performance scientific data management.
February 2-3, 2006SRB Workshop, San Diego P eter Cao, NCSA Mike Wan, SDSC Sponsored by NLADR, NFS PACI Project in Support of NCSA-SDSC Collaboration Object-level.
1 Introduction to HDF5 Data Model, Programming Model and Library APIs HDF and HDF-EOS Workshop VIII October 26, 2004.
The HDF Group Multi-threading in HDF5: Paths Forward Current implementation - Future directions May 30-31, 2012HDF5 Workshop at PSI 1.
Chapter 1: Introducing JAVA. 2 Introduction Why JAVA Applets and Server Side Programming Very rich GUI libraries Portability (machine independence) A.
Roopa.T PESIT, Bangalore. Source and Credits Dalvik VM, Dan Bornstein Google IO 2008 The Dalvik virtual machine Architecture by David Ehringer.
The netCDF-4 data model and format Russ Rew, UCAR Unidata NetCDF Workshop 25 October 2012.
The HDF Group HDF5 Tools Updates Peter Cao, The HDF Group September 28-30, 20101HDF and HDF-EOS Workshop XIV.
HDF Dimension Scales in HDF5 HDF-EOS Workshop IX San Francisco, CA November 30 - December 2, 2005 Pedro Vicente Nunes THG/NCSA Champaign-Urbana, IL HDF.
The HDF Group October 28, 2010NetcDF Workshop1 Introduction to HDF5 Quincey Koziol The HDF Group Unidata netCDF Workshop October 28-29,
CIS-165 C++ Programming I CIS-165 C++ Programming I Bergen Community College Prof. Faisal Aljamal.
HDF and HDF-EOS Workshop VIII, October 26-28, /12 Peter Cao, National Center for Supercomputing Applications This work is supported in part by a.
1 HDF5 Life cycle of data Boeing September 19, 2006.
NetCDF Data Model Issues Russ Rew, UCAR Unidata NetCDF 2010 Workshop
1 Introduction to HDF5 Data Model, Programming Model and Library APIs HDF and HDF-EOS Workshop IX November 30, 2005.
Core Java Introduction Byju Veedu Ness Technologies httpdownload.oracle.com/javase/tutorial/getStarted/intro/definition.html.
The HDF Group Introduction to netCDF-4 Elena Pourmal The HDF Group 110/17/2015.
NetCDF-4: Software Implementing an Enhanced Data Model for the Geosciences Russ Rew, Ed Hartnett, and John Caron UCAR Unidata Program, Boulder
October 15-17, 2008HDF and HDF-EOS Workshop XII1 HDF-Java Products Peter Cao The HDF Group HDF and HDF-EOS Workshop XII October 15, 2008.
Modern Programming Language. Web Container & Web Applications Web applications are server side applications The most essential requirement.
Inheritance and Class Hierarchies Chapter 3. Chapter 3: Inheritance and Class Hierarchies2 Chapter Objectives To understand inheritance and how it facilitates.
Inheritance and Class Hierarchies Chapter 3. Chapter Objectives  To understand inheritance and how it facilitates code reuse  To understand how Java.
Spring 2009 Programming Fundamentals I Java Programming XuanTung Hoang Lecture No. 8.
The HDF Group 10/17/151 Introduction to HDF5 ICALEPCS 2015.
1 Introduction to HDF5 Programming and Tools Boeing September 19, 2006.
The HDF Group Introduction to HDF5 Session 7 Datatypes 1 Copyright © 2010 The HDF Group. All Rights Reserved.
Unidata Infrastructure for Data Services Russ Rew GO-ESSP Workshop, LLNL
NetCDF Data Model Details Russ Rew, UCAR Unidata NetCDF 2009 Workshop
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
 It is a pure oops language and a high level language.  It was developed at sun microsystems by James Gosling.
HDF/HDF-EOS Meeting Oct th 2008, Aurora CO Proposal for adding Named Dimensions to HDF5 Arrays Daniel Kahn Science Systems and Applications, Inc.
The HDF Group Introduction to HDF5 Session ? High Performance I/O 1 Copyright © 2010 The HDF Group. All Rights Reserved.
The HDF Group Introduction to HDF5 Session Three HDF5 Software Overview 1 Copyright © 2010 The HDF Group. All Rights Reserved.
1 Library emulation: combating library aging Fabio Corubolo London, December 3 rd 2009.
Object Oriented Programming in
Basic Introduction to C#
Assembly Language for x86 Processors 6th Edition
Moving from HDF4 to HDF5/netCDF-4
SRNWP Interoperability Workshop
Introduction to HDF5 Session Five Reading & Writing Raw Data Values
Decisions Chapter 4.
BY GAWARE S.R. COMPUTER SCI. DEPARTMENT
Tad Scheiblich RSI December 2, 2005
Tutorial C#.
Starting JavaProgramming
Unit-2 Objects and Classes
null, true, and false are also reserved.
An overview of Java, Data types and variables
In this class, we will cover:
Introduction to HDF5 Mike McGreevy The HDF Group
Moving applications to HDF
Units with – James tedder
Units with – James tedder
Java for IOI.
Dimension Scales in HDF-EOS2 & HDF-EOS5
Java SE 7 One and Multi Dimensional Arrays Module 6
In this class, we will cover:
Presentation transcript:

Introduction to HDF5 Session Four Java Products Copyright © 2010 The HDF Group. All Rights Reserved

HDF5 Java Products HDF Java Wrapper Object Package Viewer Editor Copyright © 2010 The HDF Group. All Rights Reserved

Java Wrapper or Native Library? Pure Java Library HDF JNI a programming framework that allows Java code to call and be called by applications and libraries written in other languages NetCDF-Java library HDF Copyright © 2010 The HDF Group. All Rights Reserved

Pure Java Library Pros: True platform independence Direct access to file (no data conversion between C and Java) Pure Java Library Cons: Substantial amount of work to support existing features in the C library. Duplicates development effort in C HDF Copyright © 2010 The HDF Group. All Rights Reserved

HDF JNI Pros: Easy to implement Easy to keep up with the library changes HDF Cons: Requires data conversion between C and Java The JNI is platform dependent HDF Copyright © 2010 The HDF Group. All Rights Reserved

Java Wrapper C Java h5Imp.c H5.java C Native HDF Impl. Copyright © 2010 The HDF Group. All Rights Reserved

Java Wrapper: File Open in Java and C public static native int H5Fopen ( String name, int flags, int access_id); hid_t H5Fopen ( const char *name, unsigned flags, hid_t access_id ); Copyright © 2010 The HDF Group. All Rights Reserved

Java Wrapper: Reading Data A very simple example. 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); Is there an easy way? Copyright © 2010 The HDF Group. All Rights Reserved

Object Package: The easy way… theData = Dataset.read(); For application developers: Less function calls Easy to extend for specific needs Copyright © 2010 The HDF Group. All Rights Reserved

Object Package: Basic Classes File Group Dataset Datatype Attribute http://www.hdfgroup.org/hdf-java-html/hdf-object/ Copyright © 2010 The HDF Group. All Rights Reserved

HDFView Copyright © 2010 The HDF Group. All Rights Reserved

Limitations of HDF-Java Products No support for HDF5 API routines with callbacks Some HDF5 datatype features not supported: Unsigned integer datatypes Nested compound datatype creation JVM resource limits can restrict operations Some “low priority” C API routines not covered: http://www.hdfgroup.uiuc.edu/RFC/HDF5/hdf-java/ “High level” C API routines not covered: Dimension scales, Images, Tables, etc. Copyright © 2010 The HDF Group. All Rights Reserved

Multiple Dimensions in Java 1-D arrays map directly from Java to C float a = new float[1000] Multi-Dimensional arrays ( > 1D) are arrays of objects float b = new float[100][100] Allowed, but very slow currently Suggest using 1-D array for I/O and mapping to multi-D in application Copyright © 2010 The HDF Group. All Rights Reserved

Stretch Break Copyright © 2010 The HDF Group. All Rights Reserved