Client

Ingrid can read data and metadata in a variety of formats, including THREDDS and DODS/OpenDAP.

explicit Top of THREDDS - To get Ingrid to read a THREDDS document, one can simply give a url for the THREDDS document to the readthredds command. Ingrid is then in a position to download any of the relevant metadata and data referenced from that document.
Implicit Top of THREDDS - One can can also hide this detail from the user, for a cleaner presentation. Here we have predefined THREDDS as equivalent to the previous readthredds command.

Examples

Having a THREDDS/DODS client gives us a rendition of (some of) what is available under the cooperative effort of DODS/OpenDAP/THREDDS.

Click for options and more information - CPC_.25x.25_Daily_US_UNIFIED_Precipitation Monthly Accumulated Precipitation

From this top THREDDS page, five clicks (Public Climate Data from the NOAA-CIRES Climate Diagnostics Center, CPC .25x.25 Daily US UNIFIED Precipitation, Monthly Accumulated Precipitation (twice), and ) give you this dataset opened in the data viewer.

This involves the cooperation of a number of servers and software. In addition to the Ingrid server (and her proxy server squid), there is motherlode.ucar.edu:8080 for the THREDDS top, www.cdc.noaa.gov for its THREDDS catalog, www.cdc.noaa.gov/dodsC AggServer, for the DODS dataset, and the underlying DODS server the AggServer was talking to get the individual datasets.


Current NCEP Eta Model Runs - a few days worth of twelve-hourly forecast runs distributed through IDD, in this case via a DODS server at UCAR. In this case the client has analyzed the pattern in the dataset names to generate a two-dimensional table to present the dataset choices, i.e. it is strictly based on the information in the THREDDS xml document.

Clicking on a and gets one into the data viewer. This time the view appears more complicated because

  1. the viewer has been applied to a entire dataset so that it attempts to render that relatively complicated structure, and
  2. this particular dataset is fairly complicated.
Across the top middle of the Data Viewer are all the variables that have a single value for this particular view (i.e. function only of record and/or level_c or not a function of anything). Then come the controls for those two independent variables: clicking on or entering 2 for the record will change the view and the single-valued parameters to the second record.

Below that is a view of the current variable absolute vorticity at record 1 and 1000 hectopascals, below that the controls to change the slice (independent variables) or (dependent) variable plotted.

The viewer is bit lacking for this particular dataset: the dataset was apparently translated into netcdf from a GRIB file, and the only indication of lat/long is buried in the GRIB/projection parameters in the metadata which we do not yet handle. But it is a start.


Click for options and more information - Reyn_SmithOIv2 weekly Sea Surface Temperature Anomaly This is a variable from one of the datasets available from the IRI Data Library (click on the image to get to the viewer), downloaded (from itsself) using THREDDS and DODS/OpenDAP. It starts at the top THREDDS node, chooses the IRI Data Library, and then follows the structure presented in the IRI's tree of THREDDS xml files. Once we get to this viewer level, the dataset looks and behaves very much like the dataset as served from the original server. And this is what one would see on any IRI Data Library mirror site, i.e. Ingrid set up to mirror the Data Library contents at iridl.ldeo.columbia.edu.

Issues

This at first glance suffices to access the content of a THREDDS site in general and the IRI Data Library in particular. There are, however, some sorts of metadata (that are on the original site) that we are not yet able to transmit in this framework.

Visualization metadata (colorscales)

Some datasets have particular colorscales assigned to them as part of their metadata. Currently we are transmitting only named colorscales (i.e. colorscales that Ingrid knows about on both ends). It would be quite useful to transmit actual color mappings (more on this in the suggestions).

variable/dataset interrelationships

Some of the variables served from the data library are calculated from other variables in the data library. On the original site, the interface knows about these relationships and can present "documentation" links from the entries to the calculations that create them.

direct - dataset on the original site with a calculation link
via THREDDS - dataset after being transmitted with THREDDS/DODS. Note that while we have lost the calculation link, we do still have the documentation link for the overall dataset.
Hopefully any functional representation introduced into DODS/OpenDAP to help formulate constraints will also be adaptable to a metadata role.

dataset restructuring

Currently Ingrid restructures datasets on transmission to DODS so that all the unique independent variables have unique names and are defined at the top of the dataset. Originally this was done so that the netcdf client could understand the datasets, but it also makes clear the common dimensions in a dataset which can significantly reduce transmission time. No meaning is lost in this transformation, it is just mentioned in case it becomes a source of confusion.

Literature references

The IRI Data Library has references to the scientific literature for some of its datasets. While that clearly could be translated to a simple text string, given the goals of THREDDS it would be better to pick an XML standard for transmitting references and use it.