Prev Up Next Index
Go backward to 3.1 How it works
Go up to 3 Practice II: Configuring the OPeNDAP Catalog/Aggregation Server
Go forward to 3.3 Mapping Datasets to Internal Files

3.2 Dataset URLs

The Dataset URLis the URL that clients use to access an Aggregation Server dataset. This would be http://opendap.org:8080/RUC/01070516 in Example 5 (assuming that Tomcat is listening to port 8080). For those who are familiar with the operation of other OPeNDAP servers, note that in the Aggregation Server catalog, you do not use the usual OPeNDAP suffixes (.dds, .das, .info, .html, and so on). These are automatically added by the Aggregation Server when constructing html pages, and by THREDDS clients when they read the catalog.xml file directly.

In general, THREDDS catalogs can specify Datasets that may come from multiple OPeNDAP (and even non-OPeNDAP) servers. For Aggregation Server catalogs, typically we want to specify just Datasets that are served by this Aggregation Server. The following fragment shows how a typical Aggregation Server catalog begins:

 

Example 6

<catalog name="Example Agg Server Catalog" version="0.6" >
<dataset name="Top level" dataType="Grid" serviceName="this">
  <service name="this" serviceType="DODS" base=""/>
     ...
    <dataset name="NCEP RUC Model Output" urlPath="NCEP/RUC">
    ...
    </dataset>
</dataset>
</catalog>

The first line shows the root catalog element. A catalog element always has exactly one dataset element, sometimes known as the "top-level" dataset, shown on the second line. The third line defines the OPeNDAP service that is the Aggregation Server itself. By convention, the Aggregation Server in its own catalog is called this. The top-level dataset element makes this service the default service for all datasets in the catalog. Notice that this service has a base consisting of an empty string.

One thing about Aggregation Server catalogs that may be slightly confusing is that a dataset element may define an OPeNDAP dataset, or it may just be a container for other dataset elements. In Example 6, the dataset element called "Top level" is just a container, because it doesn't have a urlPath attribute or contained access elements. The dataset element called "NCEP RUC Model Output" does define an OPeNDAP dataset, because it has a urlPath of NCEP/RUC. In this document, we use "Dataset" to mean an OPeNDAP dataset, and "dataset element" to mean an element in the XML document.

The Dataset URL is constructed by concatenating the service base and the dataset urlPath:

Dataset URL = service.base + dataset.urlPath

Dataset urlPaths should thus be relative to the service, and typically not be absolute URLs. By leaving the Aggregation Server this service base empty, the Dataset URLs become relative to the catalog XML doc itself. The Aggregation Server relies on this, so it's a very good idea for you to follow this convention. The important things to remember are:

  1. Dataset urlPaths should be relative,
  2. dataset urlPaths must be unique within an Aggregation Server catalog, and
  3. dataset urlPaths for aggregated datasets are arbitrary, since the Aggregation Server is mapping these to the actual files specified in the aggregation element. You should use meaningful names however, since the urlPath shows up as the dataset name in the DDS.

Tom Sgouros, 2004/07/07

Prev Up Next