11
The HDF Group www.hdfgroup.or g July 8, 2014 2014 Summer ESIP Federation Meeting / HDF and HDF- EOS Workshop XVII Adding new services for HDF in THREDDS Data Server (TDS) Hyo-Kyung Joe Lee and Ted Habermann The HDF Group 1

The HDF Group July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

Embed Size (px)

Citation preview

Page 1: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

The HDF Group

1 www.hdfgroup.orgJuly 8, 2014 2014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII

Adding new services for HDF in THREDDS Data Server (TDS)

Hyo-Kyung Joe Lee and Ted HabermannThe HDF Group

Page 2: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 2

A User Story

I would like to examine a big HDF file X with command line tool Y that runs on platform Z.

However, my mobile platform is not Z. So, I can’t run Y. X is too big for my device as well.

Page 3: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 3

Web Service is the answer.

Almost all platforms support web browser.

Page 4: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 4

Web Service Solution

Run web server on Z.The server executes command Y on X.Send output over the web. THREDDS Data Server is a good candidate.

Page 5: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 5

Why THREDDS Data Server?

Portable – 100% JavaEasy to add a new serviceData and services go together.Maximum control on services with data

Page 6: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 6

How to add a new service

1. Create a YServiceController class (e.g., H4MapServiceController.java)

2. handleRequest() method Invokes runtime.exec(command).

3. Read stdout and build a string outStr.4. Return ResponseEntity<string>(outStr,…)5. Set up catalog for Y service for X data.6. Run the custom TDS on Z.

Page 7: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 7

New HDF Services for non-Java apps

• HDF4 File Content Map (h4map)• For HDF4 files only• C / Linux & Mac

• HDF5 JSON (h5json)• For HDF5 files only• C++

• NCO/CF checker (ncdismember)• For both HDF4 and HDF5• C/C++/Python

Page 8: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 8

Quick Demo

http://eosdap.hdfgroup.uiuc.edu:8887/thredds/catalog.html

Some files are located at FTP server and mounted via NFS, not at TDS.

Services are triggered based on file extension.

Page 9: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 9

Benefit

Try URLs with online XML / JSON browser.• xmlgrid.net• jsonviewer.stack.hu

You can develop your own XML/JSON apps on top of the new HDF web services.

Run command while browsing data – a good testbed for a new product.

Page 10: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 10

Future Work

Supplying command line options?

Generalization of CLI services through Catalog?

What other HDF services do you want to see?(e.g., GeoJSON)

Page 11: The HDF Group  July 8, 20142014 Summer ESIP Federation Meeting / HDF and HDF-EOS Workshop XVII Adding new services for HDF in THREDDS Data

www.hdfgroup.org2014 Summer ESIP Federation Meeting 11

Acknowledgement

This work was supported by Subcontract number 114820 under Raytheon Contract number NNG10HP02C, funded by the National Aeronautics and Space Administration (NASA). Any opinions, findings, conclusions, or recommendations 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.