Weathertop Consulting, LLC Server-side OPeNDAP Analysis - A General Approach Utilizing Legacy Applications through TDS Roland Schweitzer Weathertop Consulting,

Slides:



Advertisements
Similar presentations
1 NASA CEOP Status & Demo CEOS WGISS-25 Sanya, China February 27, 2008 Yonsook Enloe.
Advertisements

The Live Access Server (Access to observational data) Jonathan Callahan (University of Washington) Steve Hankin (NOAA/PMEL – PI) Roland Schweitzer, Kevin.
Unidata Seminar Series - 30 January 2004 OPeNDAP and THREDDS: Access and Discovery of Distributed Scientific Data Yuan Ho Ethan Davis UCAR Unidata.
The HDF Group ESIP Summer Meeting Easy access HDF files via Hyrax Kent Yang The HDF Group 1 July 8 – 11, 2014.
Reading HDF family of formats via NetCDF-Java / CDM
Recent Work in Progress
The Model Output Interoperability Experiment in the Gulf of Maine: A Success Story Made Possible By CF, NcML, NetCDF-Java and THREDDS Rich Signell (USGS,
Climate Analytics on Global Data Archives Aparna Radhakrishnan 1, Venkatramani Balaji 2 1 DRC/NOAA-GFDL, 2 Princeton University/NOAA-GFDL 2. Use-case 3.
Streaming NetCDF John Caron July What does NetCDF do for you? Data Storage: machine-, OS-, compiler-independent Standard API (Application Programming.
THREDDS, CDM, OPeNDAP, netCDF and Related Conventions John Caron Unidata/UCAR Sep 2007.
The Future of NetCDF Russ Rew UCAR Unidata Program Center Acknowledgments: John Caron, Ed Hartnett, NASA’s Earth Science Technology Office, National Science.
GrADS 1.9 and the GrADS-DODS Server Jennifer Adams, Brian Doty, Joe Wielgosz Center for Ocean-Land-Atmosphere Studies (COLA) AMS/IIPS 13 January 2004.
LAS & NVODS S.Hankin -- Sep NVODS and the Live Access Server (LAS) Steve Hankin, PI (NOAA/PMEL) Jon Callahan (U of WA/JISAO) Ansley Manke (NOAA/PMEL)
Introduction to Java web programming Dr Jim Briggs JWP intro1.
Unidata TDS Workshop THREDDS Data Server Overview October 2014.
Introduction Downloading and sifting through large volumes of data stored in differing formats can be a time-consuming and sometimes frustrating process.
HYCOM Data Service New Datasets, Functionality and Future Development Ashwanth Srinivasan, (FSU) Steve Hankin (NOAA/PMEL) Major contributors: Jon Callahan.
A Super-Regional Modeling Testbed for Improving Forecasts of Environmental Processes for the U.S. Atlantic and Gulf of Mexico Coasts Cyberinfrastructure.
OPeNDAP and the Data Access Protocol (DAP) Original version by Dave Fulker.
GADS: A Web Service for accessing large environmental data sets Jon Blower, Keith Haines, Adit Santokhee Reading e-Science Centre University of Reading.
GrADS: Essential Component of COLA’s Cyberinfrastructure Brian Doty Jennifer Adams.
Unidata’s TDS Workshop TDS Overview – Part II October 2012.
OOI CyberInfrastructure: Technology Overview - Hyrax January 2009 Claudiu Farcas OOI CI Architecture & Design Team UCSD/Calit2.
Unidata TDS Workshop TDS Overview – Part I XX-XX October 2014.
Unidata’s Common Data Model John Caron Unidata/UCAR Nov 2006.
THREDDS Data Server Ethan Davis GEOSS Climate Workshop 23 September 2011.
Weathertop Consulting, LLC Wednesday, January 14, 2009 IIPS 11A.2 1 A General Purpose System for Server-side Analysis of Earth Science Data Roland Schweitzer.
1 AJAX and Dapper: The Good, the Bad, and the Ugly Joe Sirott PMEL/NOAA.
Contrasting styles of Web UI Development: GWT vs Native JavaScript Roland Schweitzer Weathertop Consulting, LLC Jeremy Malczyk JISAO.
Mid-Course Review: NetCDF in the Current Proposal Period Russ Rew
10/13/2015 ©2006 Scott Miller, University of Victoria 1 Content Serving Static vs. Dynamic Content Web Servers Server Flow Control Rev. 2.0.
Cross Site Integration “mashups” cross site scripting.
Accomplishments and Remaining Challenges: THREDDS Data Server and Common Data Model Ethan Davis Unidata Policy Committee Meeting May 2011.
THREDDS Data Server Unidata’s Common Data Model Background / Summary John Caron Unidata/UCAR Mar 2007.
1 Dapper and Argo Joe Sirott PMEL/NOAA. 2 What is Dapper? Web server that provides distributed access to in-situ data via OPeNDAP protocol Clients include.
DAP4 James Gallagher & Ethan Davis OPeNDAP and Unidata.
Unidata TDS Workshop THREDDS Data Server Overview
Easily Serving and Accessing HDF-EOS2 Datasets Using DODS Technologies Richard Chinman, UCAR-IITA, DODS Project Manager
Recent developments with the THREDDS Data Server (TDS) and related Tools: covering TDS, NCML, WCS, forecast aggregation and not including stuff covered.
THREDDS Catalogs Ethan Davis UCAR/Unidata NASA ESDSWG Standards Process Group meeting, 17 July 2007.
Unidata’s TDS Workshop TDS Overview – Part I July 2011.
UAF/OSMC Presenters: Kevin O’Brien and Eugene Burger Abstract: Kevin O’Brien and Eugene Burger are from NOAA’s Pacific Marine Environmental Laboratory.
NQuery: A Network-enabled Data-based Query Tool for Multi-disciplinary Earth-science Datasets John R. Osborne.
A Data Access Framework for ESMF Model Outputs Roland Schweitzer Steve Hankin Jonathan Callahan Kevin O’Brien Ansley Manke.
DAP Servers and Services Section 2 APAC ‘07 OPeNDAP Workshop 12 Oct 2007 James Gallagher Thanks to Jennifer Adams, John Caron, Roberto De Almeida, Nathan.
Improving Data Catalogs with Free and Open Source Software Kevin O’Brien University of Washington Joint Institute for the Study of the Atmosphere and Ocean.
OPeNDAP Hyrax Harnessing the power of the BES OPeNDAP Hyrax Back-End Server Patrick West
Information Technology: GrADS INTEGRATED USER INTERFACE Maps, Charts, Animations Expressions, Functions of Original Variables General slices of { 4D Grids.
Module: Software Engineering of Web Applications Chapter 2: Technologies 1.
Product-Generation in ESG: some explorations of the user experience Steve Hankin – March, 2007.
GrADS-DODS Server An open-source tool for distributed data access and analysis Joe Wielgosz, Brian Doty, Jennifer Adams COLA/IGES - Calverton, MD
April 2008ESG All-Hands meeting ESG Product Services Overview of components Issues in need of discussion Steve Hankin, NOAA/PMEL Roland Schweitzer, Weathertop.
Weathertop Consulting, LLC Server-side OPeNDAP Analysis – Concrete steps toward a generalized framework via a reference implementation using F-TDS Roland.
LAS and THREDDS: Partners for Education Roland Schweitzer Steve Hankin Jonathan Callahan Joe Mclean Kevin O’Brien Ansley Manke Yonghua Wei.
OPeNDAP Developer’s Workshop Feb Server-side Functions for Geo-spatial Selection James Gallagher 22 Feb 2007.
OPeNDAP’s Server4: Building a High Performance Data Server for the DAP Using Existing Software James Gallagher*, Nathan Potter*, Patrick West**, Jose Garcia**
OGC Web Services with complex data Stephen Pascoe How OGC Web Services relate to GML Application Schema.
GO-ESSP The Earth System Grid The Challenges of Building Web Client Geo-Spatial Applications Eric Nienhouse NCAR.
9/21/04 James Gallagher Server-Side: The Basics This part of the workshop contains an overview of the two servers which OPeNDAP has developed. One uses.
Update on Unidata Technologies for Data Access Russ Rew
NQuery: A Network-enabled Data-based Query Tool for Multi-disciplinary Earth-science Datasets John R. Osborne 1, Kevin T. McHugh 2, and Donald W. Denbo.
NetCDF-Java version 2.2 Common Data Model John Caron Unidata/UCAR Dec 10, 2004.
Data Browsing/Mining/Metadata
DAP+NETCDF Using the netCDF-4 Data Model
z/Ware 2.0 Technical Overview
IRI Data Library Overview
The Server-Side with F-TDS
Access HDF5 Datasets via OPeNDAP’s Data Access Protocol (DAP)
Live Access Server (LAS)
OPeNDAP/Hyrax Interfaces
Presentation transcript:

Weathertop Consulting, LLC Server-side OPeNDAP Analysis - A General Approach Utilizing Legacy Applications through TDS Roland Schweitzer Weathertop Consulting, LLC Steve Hankin and Ansley Manke NOAA/PMEL

Weathertop Consulting, LLC Highlights Server-side analysis Server-side analysis Motivation Motivation LAS as OPeNDAP Client and Server LAS as OPeNDAP Client and Server Evolution of the server implementation Evolution of the server implementation Community call to action Community call to action Summary Summary

Weathertop Consulting, LLC Server-side Analysis In general server-side analysis is a computation made by an OPeNDAP server at the request of a client. In general server-side analysis is a computation made by an OPeNDAP server at the request of a client. The specification of the computation is transmitted to the server via the OPeNDAP URL. The specification of the computation is transmitted to the server via the OPeNDAP URL.

Weathertop Consulting, LLC Motivation We are interested in server-side analysis for use with the Live Access Server (LAS). We are interested in server-side analysis for use with the Live Access Server (LAS). Primarily as a way to implement comparisons between data defined on different grids Primarily as a way to implement comparisons between data defined on different grids We want our implementation to leverage the analysis capabilities of legacy applications like Ferret and GrADS. We want our implementation to leverage the analysis capabilities of legacy applications like Ferret and GrADS. We want to use our experience running legacy applications (like Ferret) from within a Java runtime environment. We want to use our experience running legacy applications (like Ferret) from within a Java runtime environment.

Weathertop Consulting, LLC A highly configurable Web server designed to provide flexible access to geo-referenced scientific data The Live Access Server (LAS)

Weathertop Consulting, LLC LAS Architecture Product Server SQL Backend Service DRDS Backend Service Metadata (XML) Local RDBMS LAS Product Server client product metadata product request XML (REST) back end request (SOAP) netCDF data OPeNDAP server Remote RDBMS DRDS server Local netCDF data Ferret Backend Service Ferret

Weathertop Consulting, LLC Comparing OPeNDAP datasets metadata product request XML (REST) back end request (SOAP) Product Server SQL Backend Service DRDS Backend Service Metadata (XML) LAS user product netCDF data 2 OPeNDAP server netCDF data 1 OPeNDAP server Suppose the variables are on different grids? Ferret Backend Service Ferret

Weathertop Consulting, LLC LAS as an OPeNDAP Server Data on grids which are available via LAS are guaranteed to be geo-referenced and at least COARDS compliant. Data on grids which are available via LAS are guaranteed to be geo-referenced and at least COARDS compliant. We can often repair (including re-gridding) the data and/or metadata by associating a script of Ferret commands with the data source in the LAS configuration. We can often repair (including re-gridding) the data and/or metadata by associating a script of Ferret commands with the data source in the LAS configuration. Wouldnt it be nice to make these repaired data available via OPeNDAP? Wouldnt it be nice to make these repaired data available via OPeNDAP?

Weathertop Consulting, LLC The Ferret Data Server FDS made this possible. FDS made this possible. FDS provides an OPeNDAP view of the data being served by LAS and makes any transformations specified by the associated script before serving the data. FDS provides an OPeNDAP view of the data being served by LAS and makes any transformations specified by the associated script before serving the data. FDS also implements server-side analysis (including the ability to pass in external data sources). FDS also implements server-side analysis (including the ability to pass in external data sources).

Weathertop Consulting, LLC A GDS Digression The GrADS Data (DODS) Server is the first implementation of this concept. The GrADS Data (DODS) Server is the first implementation of this concept. In fact, FDS used the Anagram framework upon which GDS is built. In fact, FDS used the Anagram framework upon which GDS is built. Both GDS and FDS use the Java Runtime environment to invoke the associated legacy app (GrADS or Ferret) to do the heavy lifting. Both GDS and FDS use the Java Runtime environment to invoke the associated legacy app (GrADS or Ferret) to do the heavy lifting.

Weathertop Consulting, LLC FDS Capabilities FDS took advantage of several characteristics of the underlying engine (Ferret). FDS took advantage of several characteristics of the underlying engine (Ferret). New "virtual" data variables can be defined New "virtual" data variables can be defined Can build the metadata (netCDF header described by dimensions, coordinate variables and the structure of data variables) without performing any heavy calculations for both data read from files and virtual data variables Can build the metadata (netCDF header described by dimensions, coordinate variables and the structure of data variables) without performing any heavy calculations for both data read from files and virtual data variables Only performs calculations when the data are requested Only performs calculations when the data are requested Only calculates the minimal set needed to fulfill the current request Only calculates the minimal set needed to fulfill the current request

Weathertop Consulting, LLC FDS Evolution Keep these advantages and evolve the implementation. Keep these advantages and evolve the implementation. The Java netCDF library allows new data container formats to be plugged-in by implementing the I/O Service Provider interface. The Java netCDF library allows new data container formats to be plugged-in by implementing the I/O Service Provider interface. Once plugged-in clients using nj22 have access to the data from this container. Once plugged-in clients using nj22 have access to the data from this container. We implemented a Ferret I/O Service provider which can read Ferret command scripts and direct Ferret to perform the calculations as needed to satisfy data requests. We implemented a Ferret I/O Service provider which can read Ferret command scripts and direct Ferret to perform the calculations as needed to satisfy data requests.

Weathertop Consulting, LLC Example % more data/simple4.jnl use levitus_climatology let/d=levitus_climatology temp_20 set var/title="surface heat content"/units="deg C temp_20[d=levitus_climatology]

Weathertop Consulting, LLC Example dncdump -c float TEMP(ZAXLEVITR, YAXLEVITR, XAXLEVITR) ; TEMP:units = "DEG C" ; TEMP:long_name = "TEMPERATURE" ; TEMP:_FillValue = -1.e+10f ; TEMP:missing_value = -1.e+10f ; TEMP:dataset = "levitus_climatology.cdf" ; float TEMP_20(YAXLEVITR, XAXLEVITR) ; TEMP_20:dataset = "levitus_climatology" ; TEMP_20:direction = "IJ" ; TEMP_20:units = "deg C" ; TEMP_20:long_name = "surface heat content" ; TEMP_20:missing_value = " E+34" ; TEMP_20:virtual = "true" ;

Weathertop Consulting, LLC IOSP* *Stolen directly from John Caron with only this measly acknowledgement. Application The low-level part of the NetCDF-Java version 2.2 architecture NetCDF-3 HDF5 I/O service provider GRIB GINI NIDS NetcdfFile NetCDF-4 Nexrad DMSP Java Runtime Ferret GrADS readData open isValid

Weathertop Consulting, LLC The THREDDS Data Server TDS is an OPeNDAP server. TDS is an OPeNDAP server. nj22 I/O Service Providers can be plugged in to TDS. nj22 I/O Service Providers can be plugged in to TDS. The combination of the Ferret I/O Service Provider and TDS (aka F-TDS) serves via OPeNDAP data which are represented by Ferret command scripts (both data read from disk by Ferret and virtual data computed on-the-fly by Ferret). The combination of the Ferret I/O Service Provider and TDS (aka F-TDS) serves via OPeNDAP data which are represented by Ferret command scripts (both data read from disk by Ferret and virtual data computed on-the-fly by Ferret).

Weathertop Consulting, LLC F-TDS and Server-Side Analysis A DataSource handler can also be plugged in to TDS which allows custom handling of OPeNDAP requests based on the contents of the HTTPServletRequest Object (and by implication the URL). A DataSource handler can also be plugged in to TDS which allows custom handling of OPeNDAP requests based on the contents of the HTTPServletRequest Object (and by implication the URL). We built such a DataSource handler which recognizes URL with embedded analysis expressions. We built such a DataSource handler which recognizes URL with embedded analysis expressions. The three groups of input to the server-side analysis were copied from GDS. The three groups of input to the server-side analysis were copied from GDS. The three sets are: The three sets are: Data sources (e.g. OPeNDAP URLs). Data sources (e.g. OPeNDAP URLs). Analysis commands which are implementation specific. Analysis commands which are implementation specific. A sub-region. A sub-region.

Weathertop Consulting, LLC An Analysis URL Part of the original GDS specification, not necessary and not often used with FDS

Weathertop Consulting, LLC FDS-Specific Example _expr_ { {DIF=SST[d=1]-TEMP[d=2,g=SST[d=1]]}.asc?DIF

Weathertop Consulting, LLC Community Action Can we define a implementation-indepedent syntax for server-side analysis requests? Can we define a implementation-indepedent syntax for server-side analysis requests? Some common operations (averaging, differencing, linear interpolation) with standard name and syntax Some common operations (averaging, differencing, linear interpolation) with standard name and syntax Server-specific (native) operations Server-specific (native) operations What mechanism? What mechanism? An encoded XML string? An encoded XML string? We use this technique in LAS with good success We use this technique in LAS with good success A simple command language? A simple command language?

Weathertop Consulting, LLC XML Analysis Expression "my_local_dset.nc" " DIFF sst sst "my_local_dset.nc" " DIFF sst sst

Weathertop Consulting, LLC With native Operation my_local_dset.nc my_local_dset.nc LET diff = sst[d=2]-sst[d=1] LET diff = sst[d=2]-sst[d=1]

Weathertop Consulting, LLC Summary Server-side analysis is critical for the future LAS. Server-side analysis is critical for the future LAS. NetCDF Java 2.2 and the THREDDS Data Server is a great platform for implementing this type of analysis with a legacy analysis application (like Ferret). NetCDF Java 2.2 and the THREDDS Data Server is a great platform for implementing this type of analysis with a legacy analysis application (like Ferret). A community-developed server-side analysis framework would make it easier to get the advantages of server-side analysis from other servers. A community-developed server-side analysis framework would make it easier to get the advantages of server-side analysis from other servers.

Weathertop Consulting, LLC Acknowledgments From COLA From COLA Jennifer Adams Jennifer Adams Brian Doty Brian Doty Joe Wielgosz Joe Wielgosz From Unidata From Unidata John Caron John Caron Ethan Davis Ethan Davis Former TMAP Former TMAP Richard Rogers Richard Rogers Yonghua Wei Yonghua Wei