⇐ ⇒

[CF-metadata] statistic indices

From: Jonathan Gregory <j.m.gregory>
Date: Thu, 20 Dec 2007 18:34:39 +0000

Dear Heinke

To return to the discussion about thresholds.

>>> The percentile is not only a value for example 0 degC. It is not
>>> enough to say the percentile is a threshold with value '90 th' and period
>>> 1961-1990.' It is a field. The percentile depends on lat and lon.
>>> What can we do ?
>>
>> In the general case, the air_temperature_threshold is simply a given field, and
>> the quantity you want is defined as the fraction of occasions which exceeded
>> this threshold field, which is a function of lat and lon. In that case the
>> air_temperature_threshold would not be given as a coordinate value; some other
>> method would be needed to point to the air_temperature_threshold variable. The
>> description of the statistic itself would be simpler, while the
>> air_temperature_threshold field would describe itself. That would be more
>> convenient, because the field would have its own coordinate variables and so on
>> and these could be used to specify the time-period, the percentile, etc.
>>
>This looks good. Do you want to allow a link to the
>air_temperature_threshold
>file in the header. Is this possible ?

I think that the air_temperature_threshold could be an auxiliary coordinate
variable. That would be consistent with using a scalar coordinate variable for
a constant threshold. For instance

variables:
  float n1(lat,lon);
    n1:standard_name="number_of_days_with_air_temperature_above_threshold";
    n1:coordinates="c1 time";
    n1:cell_methods="time: minimum within days time: sum over days"
  float c1;
    c1:standard_name="air_temperature";
    c1:units="K";
  float n2(c2,lat,lon);
    n2:standard_name="number_of_days_with_air_temperature_above_threshold";
    n2:coordinates="time";
    n2:cell_methods="time: minimum within days time: sum over days"
  float c2(c2);
    c2:standard_name="air_temperature";
    c2:units="K";
  float n3(lat,lon);
    n3:standard_name="number_of_days_with_air_temperature_above_threshold";
    n3:coordinates="c3 time";
    n3:cell_methods="time: minimum within days time: sum over days"
  float c3(lat,lon);
    c3:standard_name="air_temperature";
    c3:units="K";
  double time;
    time:units="days since 1960-1-1";

for specifying the number of days with minimum temperature above a single
threshold c1, a number of thresholds c2, or a geographically dependent
threshold c3. c3 could be described by further attributes. It could, for
example, be a data variable with its own scalar time coordinate and its own
cell_methods, describing a climatological mean.

It would be a requirement of a quantity having the standard name
number_of_days_with_air_temperature_above_threshold that there must be a
coordinate variable, scalar coordinate variable or auxiliary coordinate
variable with standard name air_temperature to provide the threshold. It would
also be stated that a cell_methods entry for "within days" would indicate the
time-processing done on the air temperature before the threshold was
applied. It would be fine to provide a description in the long_name as well,
as you currently do.

>I am still waiting for the 'where' proposal.
That proposal is on the CF trac system at
http://cf-pcmdi.llnl.gov/trac/ticket/17
and you are welcome to comment there.

Best wishes

Jonathan
Received on Thu Dec 20 2007 - 11:34:39 GMT

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

⇐ ⇒