[CF-metadata] curvilinear cartesian coordinates case
Bert Jagers
Bert.Jagers at wldelft.nl
Mon Nov 27 12:06:58 MST 2006
Hi Brian,
> Could you please provide a CDL example that shows how the association
> between the projection_x/y_coordinate and related grid_mapping is lost
> when
> the grid_mapping is attached to the data variable.
This is an example of a river model at the boundary of the Netherlands and
Germany. In the Netherlands, Rijksdriehoek coordinates (EPSG19914) are
commonly used, whereas in Germany one of the Gauss-Kruger projections should
be used. The grid_mappings indicated below are my best guess and I know that
oblique_stereographic is not a valid mapping name (and I'm not sure whether
I can just replace it by accepted name stereographic). Anyway, since the
model results will be used by both Dutch and German governmental institutes
both coordinate systems would be appropriate on the data file. However, I
can only refer to either the Dutch or the German coordinates using the
coordinates attribute of the quantities (x_sea_water_velocity,
y_sea_water_velocity and sea_surface_height). Furthermore, there is no
relation between the grid_mapping EPSG19914 and the auxiliary coordinate
variables zgrid_x_nl, zgrid_y_nl except for the order in which the
quantities are specified (similar for EPSG16362 and zgrid_x_de, zgrid_y_de).
If the visualisation program were to scan for auxiliary coordinate variables
with compatible dimensions, it could mix them up. It would be preferable if
the grid_mappings would refer to the auxiliary coordinate variables, or vice
versa.
dimensions:
Layer = 5 ;
M = 89;
N = 236;
TIME = UNLIMITED ; (6 currently)
variables:
double TIME(TIME);
TIME:units = "seconds since 2006-08-05 00:00:00"
float velocity_x(TIME,Layer,M,N);
velocity_x:long_name = "velocity, x-component" ;
velocity_x:units = "M/S" ;
velocity_x:standard_name = "x_sea_water_velocity" ;
velocity_x:coordinates = "zgrid_y_nl zgrid_x_nl" ;
float velocity_y(TIME,Layer,M,N);
velocity_y:long_name = "velocity, y-component" ;
velocity_y:units = "M/S" ;
velocity_y:standard_name = "y_sea_water_velocity" ;
velocity_y:coordinates = "zgrid_y_nl zgrid_x_nl" ;
float waterlevel(TIME,M,N);
waterlevel:long_name = "water level" ;
waterlevel:units = "M" ;
waterlevel:standard_name = "sea_surface_height" ;
waterlevel:positive = "up" ;
waterlevel:coordinates = "zgrid_y_nl zgrid_x_nl";
int EPSG19914; // Dutch Rijksdriehoek
EPSG19914:grid_mapping_name = "oblique_stereographic"; // not valid
EPSG19914:longitude_of_projection_origin = 5.38763;
EPSG19914:latitude_of_projection_origin = 52.15617;
EPSG19914:scale_factor_at_projection_origin = 0.9999079;
EPSG19914:false_easting = 155000;
EPSG19914:false_northing = 463000;
double zgrid_x_nl(M,N);
zgrid_x_nl:long_name = "grid cell centres, x-coordinate, EPSG19914" ;
zgrid_x_nl:units = "M" ;
zgrid_x_nl:standard_name = "projection_x_coordinate" ;
double zgrid_y_nl(M,N);
zgrid_y_nl:long_name = "grid cell centres, y-coordinate, EPSG19914" ;
zgrid_y_nl:units = "M" ;
zgrid_y_nl:standard_name = "projection_y_coordinate" ;
int EPSG16362; // German Gauss-Kruger CM 6E, zone 2N
EPSG16362:grid_mapping_name = "transverse_mercator";
EPSG16362:longitude_of_central_meridian = 6;
EPSG16362:latitude_of_projection_origin = 0;
EPSG16362:scale_factor_at_central_meridian = 1;
EPSG16362:false_easting = 500000;
EPSG16362:false_northing = 0;
double zgrid_x_de(M,N);
zgrid_x_de:long_name = "grid cell centres, x-coordinate, EPSG16362" ;
zgrid_x_de:units = "M" ;
zgrid_x_de:standard_name = "projection_x_coordinate" ;
double zgrid_y_de(M,N);
zgrid_y_de:long_name = "grid cell centres, y-coordinate, EPSG16362" ;
zgrid_y_de:units = "M" ;
zgrid_y_de:standard_name = "projection_y_coordinate" ;
double z_lat(M,N);
z_lat:long_name = "grid cell centres, latitude coordinate, WGS84" ;
z_lat:units = "degrees_north" ;
z_lat:standard_name = "latitude" ;
double z_lon(M,N);
z_lon:long_name = "grid cell centres, longitude coordinate, WGS84" ;
z_lon:units = "degrees_east" ;
z_lon:standard_name = "longitude" ;
By the way should x_sea_water_velocity and y_sea_water_velocity be velocity
components in lat, lon directions or projection_x_coordinate and
projection_y_coordinate directions? I guess the former, if so, I would
suggest renaming the components to east_sea_water_velocity and
north_sea_water_velocity.
Best regards,
Bert
More information about the CF-metadata
mailing list