⇐ ⇒

[CF-metadata] quantities requiring parameters to define them

From: Jonathan Gregory <j.m.gregory>
Date: Fri, 22 Oct 2004 15:12:33 +0100

Dear All

Some quantities cannot be fully defined by a standard name because their
definition includes a numeric parameter. If we included numeric parameters in
the name, the standard name table would become (uncountably) infinitely long.
For example, air and sea water potential temperature have a reference pressure,
usually assumed to be 1 atmosphere, but not necessarily so (especially in the
ocean). The ocean mixed layer thickness is often defined as being the depth
at which the temperature differs by some amount from the surface temperature,
and there are various choices for this number.

One option would be to store the reference pressure and the temperature
difference as scalar coordinate variables or coordinate variables with a size
of unity, and identify them with standard names. I think this is the right
approach in some cases. For example, the depth of the 20 degC isotherm in the
ocean can be given a standard name of depth and a scalar coordinate of 20 degC.
For the two examples above, however, it doesn't seem so good to me because
"reference pressure for potential temperature" and "temperature anomaly from
surface in mixed layer definition" aren't physical quantities that you'd like
to have standard names for. They are literally just parameters in a formula.

Another approach would be to define attributes for these numbers. I don't like
that idea very much either because it would lead to a lot of new attributes
being necessary.

My proposal is that we should extend the use of the formula_terms attribute to
cover this situation. At present formula_terms is used to supply variables for
computing dimensional vertical coordinates from dimensionless ones. It can be
an attribute only of a variable containing coordinate information, and the
contents it can have depend on the standard_name of the variable it is attached
to. I propose that we should allow formula_terms also to be attached to data
variables as well. In the same way, the contents it could have would depend on
the standard_name of the variable. Hence my two examples would become

variables:
  float ild(time,lat,lon)
    ild:standard_name="ocean_mixed_layer_thickness_diagnosed_from_temperature";
    ild:units="m";
    ild:formula_terms="temperature_difference: tanom";
  float pottem(time,level,lat,lon);
    pottem:standard_name = "sea_water_potential_temperature";
    pottem:units = "degC" ;
    pottem:formula_terms="reference_pressure: pref";
  float tanom;
    tanom:units="degC";
  float pref;
    pref:units="dbar";
data:
  tanom=0.5;
  pref=2000;

Any views?

Best wishes

Jonathan
Received on Fri Oct 22 2004 - 08:12:33 BST

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

⇐ ⇒