Sébastien,
I think mesh_grid_i/j_index standard names would be good additions. The
units associated with standard names in the table are not requirements,
but the use of the projection_xy_coordinate standard names would be
somewhat misleading, especially if there is no CRS involved. The
definitions could explain, in general terms, the relationship between
these and the 2D lat and lon grids. The satellite community has a
similar issue for image swath data. The native 1D coordinates are often
scan and sample (or names like that), which are unitless and have a
complex and dynamic relationship to latitude and longitude.
You are right to feel weird about identifying 2D lat and lon as Y and X
axes. The axis attribute should never be applied to 2D variables. It is
only valid for 1D "true" coordinate variables.
CF compliance is a fuzzy thing. You can have next to no CF attributes in
your file and still be CF compliant as long as the attributes you did
put in your file are properly formed and its structure is valid. I know
people are working on completeness metrics of various sorts, but I don't
think we have an application that will grade a file on how full its CF
implementation is.
Grace and peace,
Jim
On 3/30/17 5:23 PM, Sebastien Villaume wrote:
Dear Jim and Karl,
thank you for your quick answers.
Karl, it seems that the tripolar grid mentioned in the link you sent is defined
in this paper:
Murray, R. J., 1996: Explicit generation of orthogonal grids for ocean models.
Journal of Computational Physics, 126, 251-273
which is cited by the paper from the NEMO group (Madec et al) that I mentioned in my
original question. I need to check carefully if the definition is really identical or if
they simply got inspired by the "Murray tripolar grid" and derived something
similar but not exactly identical. In that case, it means there are several types of
tripolar grids...
One first difference I can directly identify is that the separation between the
regular lat-lon and the modified part is not at the same latitude: 65N for
Murray tripolar grid and 40N for the NEMO one.
In any case, if someone already defined tripolar grids in a CF compliant way, I
can definitely start from there.
Regarding X and Y, I thought that "projection_[x|y]_coordinate" were used in the case of
a projection on an Euclidian plane since the units of both standard names are "meters".
What I am really after is more what you are suggesting later in your answer,
i.e. mesh_grid_[i|j]_index. It feels weird to have a 2-D lat and lon as
coordinates axis Y/X, this is why I need I would like to add those 1-D
coordinate variables. I also noticed the grid_latitude and grid_longitude in
the standard_name table but it is explicitly for rotated grids.
Would it be possible to request mesh_grid_i_index and mesh_grid_j_index?
(regardless of the feasibility of defining a proper tripolar crs)
____________________________________
Dr. Sébastien Villaume
Analyst
ECMWF Shinfield Park,
Reading RG2 9AX, UK
+44 7825 521592
[email protected]
____________________________________
----- Original Message -----
From: "Jim Biard" <[email protected]>
To: [email protected]
Sent: Thursday, 30 March, 2017 17:42:01
Subject: Re: [CF-metadata] CF compliant tripolar grid representation
Sébastien,
If I'm not mistaken, we would need to propose a new grid_mapping to be added to
the Conventions that would define a Tripolar Coordinate Reference System, along
with any attributes that don't currently exist that are needed to complete the
definition. I did a search for a standard tripolar CRS in proj4 or epsg, and
was unable to find one. Is it possible to make such a definition?
Regarding the standard names for your X and Y coordinate variables, I think you could use
"projection_x/y_coordinate" once a grid_mapping has been defined. Of course you
could always leave the attribute off, since a standard_name attribute is not a
requirement.
If making a new grid_mapping is not feasible, you could request standard names
along the lines of mesh_grid_i_index and mesh_grid_j_index. These standard
names would (on reading their definitions) make it clear that the measurements
are on a mesh grid for which there is no CRS. At least that's what comes to
mind at the moment.
Grace and peace,
Jim
On 3/30/17 11:52 AM, Sebastien Villaume wrote:
Hello all,
I am looking for the best approach to describe in a CF compliant way the
tripolar grids usually used in NEMO configurations.
Basically, the difference with a usual bipolar grid (north pole-south pole) is
that the north pole is split into 2 poles moved over Canada and Russia (to have
distortions/singularities not over the ocean). A good visual representation can
be found here:
http://www.geomar.de/typo3temp/pics/globe_grid2_14_b8edb639ae.png everything
south of the green line (40degN) is identical to a regular grid, but everything
north of it is computed using a technique described here:
Madec, G. and M. Imbard, 1996 : A global ocean mesh to overcome the north pole
singularity. Clim. Dyn., 12, 381–388.
The usual NEMO output of the grid looks like this:
float longitude(y, x) ;
longitude:standard_name = "longitude" ;
longitude:units = "degrees_east" ;
longitude:long_name = "longitude" ;
float latitude(y, x) ;
latitude:standard_name = "latitude" ;
latitude:units = "degrees_north" ;
latitude:long_name = "latitude" ;
Basically both latitudes and longitudes need to be specified for each grid
point, hence lat and lon are 2D arrays. This is not a problem itself but I
would like to give more information through maybe grid_mapping or crs so it is
clear that the grid is tripolar. This is useful information if one want to
project/interpolate this back to a more regular representation.
Looking at the CF conventions, I can see that grids can be fairly nicely
documented but nothing for tripolar grids.
Is there some documentation/guidelines on how to derive a proper
grid_mapping/crs with valid attributes for tripolar grids?
I would also like to add to my netcdf file a way to better describe axes:
double y(y) ;
y:units = "1" ;
y:long_name = "j-index of mesh grid" ;
y:standard_name = ??? ;
double x(x) ;
x:units = "1" ;
x:long_name = "i-index of mesh grid" ;
x:standard_name = ??? ;
what would be the standard name of these?
Thanks,
____________________________________
Dr. Sébastien Villaume
Analyst
ECMWF Shinfield Park,
Reading RG2 9AX, UK
+44 7825 521592 [email protected]
____________________________________
_______________________________________________
CF-metadata mailing list [email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata
--
CICS-NC <http://www.cicsnc.org/> Visit us on
Facebook <http://www.facebook.com/cicsnc> *Jim Biard*
*Research Scholar*
Cooperative Institute for Climate and Satellites NC <http://cicsnc.org/>
North Carolina State University <http://ncsu.edu/>
NOAA National Centers for Environmental Information <http://ncdc.noaa.gov/>
/formerly NOAA’s National Climatic Data Center/
151 Patton Ave, Asheville, NC 28801
e: [email protected] <mailto:[email protected]>
o: +1 828 271 4900
/Connect with us on Facebook for climate
<https://www.facebook.com/NOAANCEIclimate> and ocean and geophysics
<https://www.facebook.com/NOAANCEIoceangeo> information, and follow us
on Twitter at @NOAANCEIclimate <https://twitter.com/NOAANCEIclimate> and
@NOAANCEIocngeo <https://twitter.com/NOAANCEIocngeo>. /
_______________________________________________
CF-metadata mailing list
[email protected]
http://mailman.cgd.ucar.edu/mailman/listinfo/cf-metadata