The term metadata refers to "data about data". The term is ambiguous, as it is used for two fundamentally different concepts. Structural metadata is about the design and specification of data structures and is more properly called "data about the containers of data"; descriptive metadata, on the other hand, is about individual instances of application data, the data content
A simple catalog may contain very minimal information about its datasets, at minimum just a name, a service and a URL for each dataset. An enhanced catalog is one in which you have added enough metadata that its possible to create a Digital Library record for import into one of the Data Discovery Centers like GCMD, DLESE, or NSDL.
The THREDDS catalog specification allows you to add all kinds of metadata, in fact, you can put any information you want into metadata elements by using separate XML namespaces. The TDS comes with an example enhanced catalog that contains a recommended set of metadata that you can use as a template. We recommend that you aim for this level of metadata in all the datasets you want to publish.
The example enhanced catalog lives at ${tomcat_home}/content/thredds/enhancedCatalog.xml:
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="http://www.unidata.ucar.edu/namespaces/thredds/InvCatalog/v1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
(1) name="Unidata THREDDS/IDD Data Server" version="1.0.1">
(2) <service name="latest" serviceType="Resolver" base="" />
(3) <service name="both" serviceType="Compound" base="">
<service name="ncdods" serviceType="OPENDAP" base="/thredds/dodsC/" />
<service name="HTTPServer" serviceType="HTTPServer" base="/thredds/fileServer/" />
</service>
(4)<dataset name="NCEP Model Data">
(5) <metadata inherited="true">
<serviceName>both</serviceName>
<authority>edu.ucar.unidata</authority>
<dataType>Grid</dataType>
<dataFormat>NetCDF</dataFormat>
<documentation type="rights">Freely available</documentation>
<documentation xlink:href="http://www.emc.ncep.noaa.gov/modelinfo/index.html" xlink:title="NCEP Model documentation" />
<creator>
<name vocabulary="DIF">DOC/NOAA/NWS/NCEP</name>
<contact url="http://www.ncep.noaa.gov/" email="http://www.ncep.noaa.gov/mail_liaison.shtml" />
</creator>
<publisher>
<name vocabulary="DIF">UCAR/UNIDATA</name>
<contact url="https://www.unidata.ucar.edu/" email="support@unidata.ucar.edu" />
</publisher>
<timeCoverage>
<end>present</end>
<duration>14 days</duration>
</timeCoverage>
</metadata>
(6) <datasetScan name="ETA Model/CONUS 80 km" ID="NCEP-ETA"
path="testEnhanced" location="content/dodsC/data/">
(7) <metadata inherited="true">
(8) <documentation type="summary">NCEP North American Model : AWIPS 211 (Q) Regional - CONUS (Lambert Conformal).
Model runs are made at 12Z and 00Z, with analysis and forecasts every 6 hours out to 60 hours.
Horizontal = 93 by 65 points, resolution 81.27 km, LambertConformal projection.
Vertical = 1000 to 100 hPa pressure levels.</documentation>
(9) <geospatialCoverage>
<northsouth>
<start>26.92475</start>
<size>15.9778</size>
<units>degrees_north</units>
</northsouth>
<eastwest>
<start>-135.33123</start>
<size>103.78772</size>
<units>degrees_east</units>
</eastwest>
</geospatialCoverage>
(10) <variables vocabulary="CF-1">
<variable name="Z_sfc" vocabulary_name="geopotential_height" units="gp m">Geopotential height, gpm</variable>
</variables>
</metadata>
(11) <filter>
<include wildcard="*eta_211.nc" />
</filter>
<addDatasetSize/>
<addProxies/>
<simpleLatest />
</addProxies>
<addTimeCoverage datasetNameMatchPattern="([0-9]{4})([0-9]{2})([0-9]{2})([0-9]{2})_eta_211.nc$" startTimeSubstitutionPattern="$1-$2-$3T$4:00:00" duration="60 hours" />
</datasetScan>
</dataset>
</catalog>
Annotations:
There are a number of existing metadata standards available for describing datasets. These include:
Any metadata records can be included directly in or referenced from a THREDDS metadata element. Here is an example of how to include a Dublin Core
record directly in a THREDDS metadata element:
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/">
<dc:title>NCEP GFS Model - Alaska 191km </dc:title>
<dc:creator>NOAA/NCEP</dc:creator>
...
</metadata>
Here is an example of how to reference a metadata record (XLink attributes are used):
<metadata xlink:title="NCEP GFS Model - Alaska 191km"
xlink:href="http://server/dc/ncep.gfs.alaska_191km.xml" />
When the material is an XML file meant for software to read, use a metadata element. When its an HTML page meant for a human to read, use a documentation element:
<documentation xlink:title="My Data" xlink:href="http://my.server/md/data1.html" />