-
Notifications
You must be signed in to change notification settings - Fork 3
Description
The purpose of this issue is to determine what new attributes for data variables are needed. These variables in CF hold scientific data discretized within a domain and are represented by the Field construct in the CF data model.
There seems to be enough agreement for a new attribute, similar to the grid_mapping attribute. One proposed name for it is tie_point_interpolation. Its value is the name of a container variable which describes the interpolation method for computing coordinate data at the same domain resolution as the field construct to which this attribute is assigned.
Are any additional new attributes needed?
Whenever a field construct depends on multidimensional (rank > 1) coordinates, or a dimension (rank = 1) coordinate is named differently than its dimension, such variables must be listed in a coordinates attribute. This means that every subsampled coordinate will have to be included in this attribute. Or a new one with the same role as the coordinates attribute.
The following short example illustrates using just the coordinates attribute assigned to the swath_data variable (a field construct):
dimensions :
time = UNLIMITED;
scan = 512;
band = 5;
press = 15;
sub_time = 100;
sub_scan = 64;
variables :
float swath_data(time, scan, press, band);
swath_data : coordinates = "time lat lon";
float lat(sub_time, sub_scan);
lat : standard_name = "latitude";
lat : units = "degrees_north";
float lon(sub_time, sub_scan);
lon : standard_name = "longitude";
lon : units = "degrees_east";
double time(sub_time);
time : standard_name = "time";
time : units = "<units> since <datetime string>";
time : calendar = "gregorian";
If using a new attribute, the above would become:
dimensions :
time = UNLIMITED;
scan = 512;
band = 5;
press = 15;
sub_time = 100;
sub_scan = 64;
variables :
float swath_data(time, scan, press, band);
swath_data : subsampled_coordinates = "time lat lon";
float lat(sub_time, sub_scan);
lat : standard_name = "latitude";
lat : units = "degrees_north";
float lon(sub_time, sub_scan);
lon : standard_name = "longitude";
lon : units = "degrees_east";
double time(sub_time);
time : standard_name = "time";
time : units = "<units> since <datetime string>";
time : calendar = "gregorian";
The new attribute, here named subsampled_coordinates, is to be used only for subsampled coordinates that otherwise qualify for inclusion in the coordinates attribute. One reason for the new attribute is because neither of the time, lat, or lon coordinates depend on any of the swath_data's dimensions. So far in CF, variables listed in the coordinates attribute always shared at least one common dimension.