Data Services
Standard Data Services
The TDS has a set of Standard Data Services that are always available (unless explicitly disabled) and can be referenced from any configuration catalog:
- cdmRemote
- dap4
- httpService
- resolver
- netcdfSubsetGrid
- netcdfSubsetPoint
- notebook
- opendap
- wcs
- wms
Available Services
The TDS configures the appropriate set of standard data services for each dataType/featureType. You can configure the available data services globally, and they will be applied to all datasets of that dataType/featureType. If you do not specify a service for a dataset, but you do specify its dataType/featureType, then the datatype-appropriate services will be enabled for it.
User-Defined Services
You can still define your own services, either globally in the root catalog, or locally in any configuration catalog.
- Services placed in the root catalog are global and can be referenced in any other config catalog.
- Services placed in any other catalog are local, are used only in that catalog, and override (by name) any global services.
Declared Services Control Access
Enabling a service in threddsConfig.xml makes it available to the whole server; it does not make it available for every dataset.
A data access request succeeds only if the service is enabled server-wide and declared for the requested dataset in its configuration catalog.
Requesting an undeclared service returns 403 Forbidden with a Service Not Allowed: ... body, even if the URL is otherwise valid.
allowOnlyDeclared escape hatch.
Server Information Services
Server Information Services provide human- and machine-readable access to information about the server installation. E.g., an abstract and a list of keywords summarizing the services and data available on the server, contact information and other information about the group hosting the server, and the version of the THREDDS Data Server (TDS) running.
Basic Configuration:
| Service Name | Default Availability | Access Point |
|---|---|---|
| Server Information (HTML) | Enabled | /thredds/serverInfo.html |
| Server Information (XML) | Enabled | /thredds/serverInfo.xml |
| Server Version Information (Text) | Enabled | /thredds/serverVersion.txt |
Catalog Services
Catalog Services provide subsetting and HTML conversion services for THREDDS catalogs. Catalogs served by the TDS can be subset and/or viewed as HTML. Remote catalogs, if allowed/enabled, can be validated, displayed as HTML, or subset.
Basic Configuration:
| Service Name | Default Availability | Access Point |
|---|---|---|
| THREDDS Catalog Services | Enabled | /thredds/catalog.{xml|html}/thredds/catalog/*/catalog.{xml|html}/thredds/catalog/*/*.{xml|html} |
| Remote THREDDS Catalog Service | Disabled | /thredds/remoteCatalogService |
ncISO Metadata Services
The ncISO plugin adds the ncISO Metadata Services, which facilitate the generation of ISO 19115 metadata representation from data in NetCDF.
The three ncISO Metadata Services are:
ISO
The ISO Metadata Service provides ISO 19115 metadata representation of a dataset’s structure and metadata.
NCML
The NCML Metadata Service provides NCML representation of a dataset.
UDDC
Provide an evaluation of how well the metadata contained in a dataset conforms to the NetCDF Attribute Convention for Data Discovery (NACDD).
Basic Configuration:
| Service Name | Default Availability | Access Point |
|---|---|---|
| ISO | Disabled | /thredds/iso/* |
| NCML | Disabled | /thredds/ncml/* |
| UDDC | Disabled | /thredds/uddc/* |
Catalog Service Configuration:
(These are the exact required values to enable these service.)
| Service Name | Service Type | Service Base URL |
|---|---|---|
| ISO | ISO |
/thredds/iso/ |
| NCML | NCML |
/thredds/ncml/ |
| UDDC | UDDC |
/thredds/uddc/ |
Data Access Services
The TDS provides a number of different Data Access Services, including:
OPeNDAP
The OPeNDAP DAP2 data access protocol.
NetCDF Subset Service
The NetCDF Subset Service (NCSS) is a web service for subsetting CDM scientific datasets.
CDM Remote
The cdmremote/ncstream data access service is automatically enabled when an appropriate FeatureCollection is used.
OGC Web Coverage Service (WCS)
OGC Web Coverage Service (WCS) supports access to geospatial data as “coverages”.
OGC Web Map Service (WMS)
The OGC Web Map Service (WMS) supports access to geo-registered map images from geoscience datasets.
HTTP File Download
The HTTP File Download service supports HTTP byte ranges.
JupyterNotebook Service
The JupyterNotebook Service provides a method of bootstrapping the process of visualizing and analyzing TDS datasets without large data transfers using Python.
Basic Configuration:
| Service Name | Default Availability | Access Point |
|---|---|---|
| OPeNDAP DAP2 | Enabled | /thredds/dodsC/* |
| NetCDF Subset Service | Enabled | /thredds/ncss/* |
| CDM Remote | Enabled | /thredds/cdmremote/* |
| OGC Web Coverage Service (WCS) | Enabled | /thredds/wcs/* |
| OGC Web Map Service (WMS) | Enabled | /thredds/wms/* |
| HTTP File Download | Enabled | /thredds/fileServer/* |
| Jupyter Notebook Service | Enabled | /thredds/notebook/* |
Catalog Service Configuration:
(These are the exact required values to enable these service.)
| Service Name | Service Type | Service Base URL |
|---|---|---|
| OPeNDAP DAP2 | OPeNDAP |
/thredds/dodsC/ |
| NetCDF Subset Service | NetcdfSubset |
/thredds/ncss/ |
| CDM Remote | cdmremote |
/thredds/cdmremote/* |
| OGC Web Coverage Service (WCS) | WCS |
/thredds/wcs/ |
| OGC Web Map Service (WMS) | WMS |
/thredds/wms/ |
| HTTP File Download | HTTPServer |
/thredds/fileServer/ |
| JupyterNotebook | JupyterNotebook |
/thredds/notebook/ |
TDS Requirements For THREDDS Catalog service Elements
Since the TDS provides data access services at predefined URL base paths, services whose access is listed as a THREDDS Catalog service element:
- must use the appropriate value for the
serviceTypeattribute; - must use the appropriate value for the service
baseURL attribute; and - may use any value (unique to the catalog) for the service
nameattribute
Examples of All Individual Services
The serviceType and base values are required in the following examples:
OPeNDAP
<service name="odap" serviceType="OPeNDAP" base="/thredds/dodsC/"/>
NetCDF Subset Service
For Feature Type GRID, use:
<service name="ncssGrid" serviceType="NetcdfSubset" base="/thredds/ncss/grid/" />
For Feature Types POINT or STATION, use:
<service name="ncssPoint" serviceType="NetcdfSubset" base="/thredds/ncss/point/" />
WCS
<service name="wcs" serviceType="WCS" base="/thredds/wcs/"/>
WMS
<service name="wms" serviceType="WMS" base="/thredds/wms/" />
HTTP Bulk File Service
<service name="fileServer" serviceType="HTTPServer" base="/thredds/fileServer/" />
ncISO
<service name="iso" serviceType="ISO" base="/thredds/iso/" />
<service name="ncml" serviceType="NCML" base="/thredds/ncml/" />
<service name="uddc" serviceType="UDDC" base="/thredds/uddc/" />
Jupyter Notebook
<service name="notebook" serviceType="JupyterNotebook" base="/thredds/notebook/"/>
Compound service Element Example
<service name="all" serviceType="Compound" base="">
<service name="HTTPServer" serviceType="HTTPServer" base="/thredds/fileServer/"/>
<service name="opendap" serviceType="OPENDAP" base="/thredds/dodsC/"/>
<service name="ncssGrid" serviceType="NetcdfSubset" base="/thredds/ncss/grid/"/>
<service name="cdmremote" serviceType="CdmRemote" base="/thredds/cdmremote/"/>
<service name="wcs" serviceType="WCS" base="/thredds/wcs/"/>
<service name="wms" serviceType="WMS" base="/thredds/wms/"/>
<service name="iso" serviceType="ISO" base="/thredds/iso/"/>
<service name="ncml" serviceType="NCML" base="/thredds/ncml/"/>
<service name="uddc" serviceType="UDDC" base="/thredds/uddc/"/>
<service name="notebook" serviceType="JupyterNotebook" base="/thredds/notebook/"/>
</service>