I ran a file with the following header through the compliance checker and got 
these errors:

```
ERROR: (7.3): Invalid 'name' in cell_methods attribute: lon
ERROR: (7.3): Invalid 'name' in cell_methods attribute: lat
```

the header:

```java
netcdf burst.nc {
  dimensions:
    ntimeMax = 18857983;
    timeSeries = 5;
  variables:
    int timeSeries(timeSeries);
      :long_name = "Unique identifier for each feature instance";
      :cf_role = "timeseries_id";

    double time(timeSeries, ntimeMax);
      :units = "days since 0001-01-01 00:00:00 -0:00";
      :calendar = "proleptic_gregorian";
      :long_name = "Time";
      :standard_name = "time";
      :axis = "T";

    double lat(timeSeries);
      :valid_min = -90.0;
      :valid_max = 90.0;
      :long_name = "Latitude";
      :standard_name = "latitude";
      :units = "degrees_north";
      :axis = "Y";

    double lon(timeSeries);
      :standard_name = "longitude";
      :units = "degrees_east";
      :axis = "X";
      :valid_min = -180.0;
      :valid_max = 180.0;
      :long_name = "Longitude";

    int pressure(timeSeries, ntimeMax);
      :units = "decibar";
      :long_name = "Sum of atmospheric pressure and sea pressure";
      :standard_name = "sea_water_pressure";
      :scale_factor = 1.0E-4;
      :coordinates = "time lat lon";
      :coverage_content_type = "physicalMeasurement";
      :grid_mapping = "crs";
      :cell_methods = "time: point lon: point lat: point";

    int crs;
      :grid_mapping_name = "latitude_longitude";
      :epsg_code = "EPSG:4326";
      :semi_major_axis = 6378137.0;
      :inverse_flattening = 298.257223563;

  // global attributes:
  :featureType = "timeSeries";
  ...and so on
}
```

For background, my file is based on the [NCEI 
template](https://www.nodc.noaa.gov/data/formats/netcdf/v2.0/) for timeSeries 
Incomplete data, which gives `"time: point lon: point lat: point"` as an 
example for cell_methods.  Reading [CF 7.3] 
(https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html#cell-methods),
 it looks like the `name` part of the cell method can be:

> a dimension of the variable, a scalar coordinate variable, a valid standard 
> name, or the word "area". 

For discrete sampling geometry data like the above example, although I have 
time, lat, and lon variables in the file, the data variable is dimensioned by 
`(timeSeries, ntimeMax)`, so the way I'm reading it, it is invalid to use time, 
lat, or lon as the  name part of a cell method.  I suppose one way to look at 
it is, there isn't really a notion of a cell in space in this example since 
these are discrete locations. However, you could have a cell method for the 
time dimension, which is perhaps why the checker didn't raise an error about 
`time: point`?  But `time` isn't the name of the one of the dimensions of the 
data variable, so it should still fail according to 7.3, right?

Elucidation would be much appreciated.  Once I have a clearer picture, I'd be 
happy to advise NCEI on how to update the examples in their templates.

Thanks!

-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/cf-convention/cf-conventions/issues/279

This list forwards relevant notifications from Github.  It is distinct from 
[email protected], although if you do nothing, a subscription to the 
UCAR list will result in a subscription to this list.
To unsubscribe from this list only, send a message to 
[email protected].

Reply via email to