⇐ ⇒

[CF-metadata] New standard_name values for some cloud and aerosol related variables

From: Jonathan Gregory <j.m.gregory>
Date: Fri, 2 Oct 2015 15:16:46 +0100

Dear Maarten

> The calculation is done on two reflectances, typically on two 1 nm
> wide bands. Several pairs have been used to avoid instrumental
> artefacts, but 340/380 nm and 354/388 nm are typical value pairs. A
> size two coordinate variable seems most appropriate.

Thanks for further explanation. I agree, that makes sense, since it depends
on two values, and they aren't a range. However, it can't be a coordinate
or auxiliary coordinate variable in the usual way, since the dimension (of
size 2) is not a dimension of the data variable. This would be illegal:

dimensions:
  pair=2;
variables:
  float wavelength(pair);
    wavelength:standard_name="radiation_wavelength";
    wavelength:units="nm";
  float uvindex(lat,lon);
    uvindex:standard_name="ultraviolet_aerosol_index";
    uvindex:coordinates="wavelength";

because pair is not a dimension of uvindex.

Suppose that you wanted to give an index for more than one pair of
wavelengths in one data variable (say for both 340/380 nm and 354/388 nm).
I appreciate that you don't want to do this, but it's an extrapolation which
can happen in other similar cases. I think the CF way to do it would be by
auxiliary coordinate variables:

dimensions:
  wavelength=2;
variables:
  float firstwavelength(wavelength);
    firstwavelength:units="nm";
  float secondwavelength(wavelength);
    secondwavelength:units="nm";
  float uvindex(wavelength,lat,lon);
    uvindex:standard_name="ultraviolet_aerosol_index";
    uvindex:coordinates="firstwavelength secondwavelength";
data:
  firstwavelength=340, 354;
  secondwavelength=380, 388;

This is CF-compliant. For your case, you would put wavelength=1. The
dimension is good to include because the two wavelengths belong together.
If you make them both scalars (by omitting the dimension), it would still
be CF-compliant, but the association between the two wavelengths would not
be indicated.

I expect this seems more cumbersome to you, but it's consistent with the
treatment of other cases with parameters. It's just more complicated because
you have two numbers, rather than one. However, if the two numbers are
functionally exchangeable, so you don't mind which way round they are, I
see no reason why they shouldn't have the same standard name of
radiation_wavelength. It's not illegal to have more than one coordinate
variable with a given standard_name, but usually it's not a good idea since
it would be ambiguous.

Best wishes

Jonathan
Received on Fri Oct 02 2015 - 08:16:46 BST

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

⇐ ⇒