Current Implementations

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽

The GrADS Data Server (GDS)

Institution

The Center for Ocean-Land-Atmosphere Studies of the Institute for Global Environment and Society

Documentation

Overview and details about server-side processing.

Implementation Details

A Java Servlet implemented on top of the bespoke Anagram Framework using the Java Runtime environment to execute the GrADS application to perform the data access and analysis and using the Java OPeNDAP library for DAP communication.

Functions

Any valid [GrADS expression].

Syntax

http://machine_name:9090/dods/_expr_ followed immediately by three sets of curly braces containing arguments, as follows:

{dataset1,dataset2,...}{expression}{x1:x2,y1:y2,z1:z2,t1:t2}

where the first set of braces contains a list of data sets to be used in the analysis, expression is any valid GrADS expression operating on the variables in the scope of the referenced data sets and the thirds set of braces is the boundaries for the evaluation of the expression in world coordinates.

The Ferret-Thredds Data Server (F-TDS)

Institution

Documentation

Implementation Details

Functions

Syntax

Ingrid

Institution

The [Data Library] of the [The International Research Institute for Climate and Society]

Documentation

[Overview]

Implementation Details

Mix of FORTRAN/C implementing a delayed-execution data-flow architecture. Supports a number of data formats/exchange protocols. Local code not under wide distribution.

Functions

Any Ingrid expression, which is RPN grammer on top of a large library of words (i.e. functions). There are many functions which operate on variables/datasets of which currently 166 are documented [detailed here]. This documentation is generated from a semantic framework which is intended to help map interoperable functions.

Syntax

A URL-based (not in the query string) RPN notation.

For example:

http://iridl.ldeo.columbia.edu/expert/SOURCES/.NOAA/.NCEP/.CPC/.GMSM/.w/5/add/

SOURCES .NOAA .NCEP .CPC .GMSM .w (the OPeDNAP data variable)

5 add (the constant 5; the operation desired)

http://iridl.ldeo.columbia.edu/expert/SOURCES/.NOAA/.NCDC/.ERSST/.version2/.SST/X/(170W)(120W)RANGE/Y/(5S)(5N)RANGE[X/Y]average/ (The actual URL is usually encoded. See the link contents.)

SOURCES .NOAA .NCDC .ERSST .version2 .SST (The OPeNDAP data variable)

X (170W) (120W) RANGE (A range in X of the data variable's underlying grid in world coordinates)

Y (5S) (5N) RANGE (A range in Y of the data variable's underlying grid in world coordinates)

[X Y]average (the dimensions to be operated on; the operation)

In this case, the OPeNDAP variable is three dimensional (X Y T), so after averaging we are left with a one dimensional variable (depending on T).

If we had alternatively averaged only over X

[X] average

we would be left with a two-dimensional variable (depending on Y and T).

An OPeNDAP service is created at any point by appending dods, e.g. dods.das,dods.dds,dods.dods -- this is, of course, index-based subsetting. Users do not normally do index-based subsetting explicitly, though there are methods within the independent variables (first, second, secondtolast, last, valuetoindex, indextovalue) that would make it possible to do so.

pyDap

Institution

Independent implementation by Roberto De Almeida, initially developed at the Oceanographic Institute of the University of São Paulo, and currently at the Center of Weather Forecast and Climate Studies.

Documentation

Server-side functions are currently being implemented for the next major release of pydap (2.3), still under development. There's an overview of the planned implementation.

Implementation Details

A WSGI stack with a pydap-aware middleware that handles server-side functions. The middleware converts OPeNDAP requests with server calls to regular data requests and pass them to the pydap server. The data returned by the server are used by the middleware to complete the function calls, with the result being passed back to the client.

Functions

geogrid and fill_value. Supports an auto-discovery mechanism for third-party functions installed separately.

Syntax

Follows the DAP 2 spec: http://example.com/dataset?function(param_1,param_2,...,param_n).

SWAMP

Institution

Documentation

Implementation Details

Functions

Syntax