⇐ ⇒

[CF-metadata] CF Controlled Vocabulary

From: Jonathan Gregory <j.m.gregory>
Date: Thu, 6 Sep 2007 17:21:16 +0100

Dear Frank

I agree with the idea of having an additional vocabulary for groups of
attributes. This vocabulary would be for indexing and searching the contents
of files, I imagine. The advantage of maintaining such a system independent
of the metadata *in* the files is that the vocabulary can be modified and
expanded without affecting the validity of existing files.

I think "controlled vocabulary" is not a sufficiently explicit term, as there
are several aspects of CF with controlled vocabularies, especially the standard
name. What about "metadata bundle names".

Your first example provides a synonym for a standard name alone:
> <!-- example 1: topic is alias for standard_name: radiation ========== -->
> <item controlledName="toa incoming shortwave flux">
> <variable typeName="float tisf">
I don't think this is a good idea. That doesn't really make the nc file easier
to use, I would say.

However, I think that this example is useful, as it combines two items of
metadata:
> <!-- example 3: scalar coordinate: 2m level ========================== -->
> <item controlledName="air_temperature-at2m">
> <variable typeName="float t2m">
> <longName>air temperature at 2 metres height</longName>
> <standardName>air_temperature</standardName>
> <coordinates>lev2m</coordinates>
> </variable>
> <variable typeName="float lev2m">
> <longName>level of 2 metres height</longName>
> <units>meter</units>
> </variable>
> <data variable="lev2m">2.</data>
> </item>
To be precise about this, you also have to give the standard name of the
vertical coordinate viz. height. Possibly this idea would be even more useful
if the name was "surface air temperature" rather than "air temperature at 2 m"
because then you could specify a permissible *range* of heights.

Daily max and min temperature are also commonly used quantities:
> <!-- example 4: cell methods + scalar coord: daily temp max at 2m ==== -->
> <item controlledName="maximum 2-meter temperature">
> <variable typeName="float tmax_2m">
> <longName>daily air 2m temperature maxima</longName>
> <standardName>air_temperature</standardName>
> <units>K</units>
> <cellMethods>time: maximum (interval: 1 day)</cellMethods>
> <coordinates>lev2m</coordinates>
> </variable>
...
This use of "interval" isn't right. The "interval" keyword is for specifying
the spacing of the time epochs before the statistic (maximum) was calculated
i.e. the sampling frequency. The period within which the statistic is
calculated is recorded by the bounds of the time coordinate variable. You
therefore need some general way of indicating that the difference between the
lower and upper time bound of each cell should be 1 day.

Best wishes

Jonathan
Received on Thu Sep 06 2007 - 10:21:16 BST

This archive was generated by hypermail 2.3.0 : Tue Sep 13 2022 - 23:02:40 BST

⇐ ⇒