Dear Thomas
> Would that mean something like:
>
> float snow_extent(time) ;
> snow_extent:standard_name = "surface_snow_extent" ;
> snow_extent:cell_methods = "area: sum where land" ;
Yes, that's right. Also
snow_extent:units="m2"; // or equivalent
> To define such a threshold might be tricky :) Intuitively it should be a
> threshold on area_fraction, but maybe not always. In our processing, we
> compute a "probability of snow", and apply a threshold on this probability
> for deciding on snow/no-snow. This probability and how we compute it in the
> first place has nothing standardized.
>
> But let's take the sea_ice_extent as an example. Sea ice extent is (usually)
> the area of sea ice where sea_ice_area_fraction is more than 0.15. How should
> we properly define a ice_extent variable that specifies the threshold?
We already have a standard_name of sea_ice_extent, as you pointed out, and
I think its definition should include the threshold to define what defines
the ice edge, as a default. However if you wanted to state the threshold
explicitly, I'd do it like this:
float ice_extent(time) ;
ice_extent:standard_name = "sea_ice_extent"; // the existing stdname
ice_extent:cell_methods = "area: sum";
ice_extent:coordinates = "threshold"; // time is a Unidata coord var
ice_extent:units = "m^2"
float threshold;
threshold:standard_name = "sea_ice_area_fraction"
threshold:long_name = "scalar value to separate ice-covered from ice-free
area"
int time(time);
time:units = "seconds since xxxx"
That's essentially what you said, but we don't need "where" in this case,
I think, because the sea ice extent can only apply where there is sea ice,
unlike the snow extent.
Best wishes
Jonathan
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata