-
Notifications
You must be signed in to change notification settings - Fork 47
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Alternate grid mappings for geometry containers #156
Comments
Conformance edits: Ch7 edits: |
Thanks Tim - this looks good to me. I was surprised to see the auxiliary coordinates having "nodes" attributes in https://github.com/twhiteaker/cf-conventions/blob/master/ch07.adoc - I thought that that idea had been rejected in favour of just using the "bounds" attribute? I will try to dig out the correspondence on this to check .... David |
The from David Hassell, 2018-07-10, trimmed for brevityI fear that I made a slight mistake when I suggested that a coordinate variable should point to its node variable with the "bounds" attribute. The cross referencing is fine, but the use of the "bounds" attribute is problematic. The node variable has its own dimension, so this will confuse applications that expect the bounds variable to have have the same dimensions as the coordinate variable, with a trailing dimension for the number of cell vertices. There is, of course, a precedent for storing bounds with a different attribute, to alert the user that the bounds are not all they might seem to be: "climatology". I propose a new attribute on a coordinate variable called "nodes" to point to the node variable. Then geometry-unaware applications will not break, and geometry-aware applications will be fine. P.S. This occurred to me whilst trying to read geometry netCDF files with python CFDM reference implementation, which is a good example of why having such an implementation is a good idea, I think: The proof of the pudding is in the eating |
Tim, Thanks for digging this out, and pasting it into GitHub. I'm as happy now as I was in July with the decision to use "nodes". I think that the key point is to prevent any attempt to parse node coordinates as if they were "normal" cell bounds. David |
I wonder if both grid mapping should be linked from the data variable, as allowed since CF-1.6:
|
What's the motivation for adding the projected grid mapping to the data variable? Might it be confusing that x and y will likely use a different dimension than the data variable? |
That's a good point, about the fact that However, in the event that there are no coordinate variables, the data variable's grid mapping does indeed refer to
so I think it would be generally more consistent for the data variable to always refer to the grid mapping of the node coordinates. |
OK, that's fine with me then. |
The relevant revised text would read: If a |
Make the comparison between grid mappings, between the node and coordinate variables.
It's better to see the pull requests for the latest edits. |
I agree, this change makes sense. At the moment, App A permits a Jonathan |
I believe this is already resolved in App A on GitHub. App A at cfconventions.org is out of date. |
Ah, OK, thanks. It's out of date in the working version of 1.8 as well. I wonder why this isn't updated. |
So is this issue essentially resolved, pending acceptance of my pull request? I realize now I should have submitted separate pull requests for this issue vs. the more controversial geometry dimension issue. Still learning! |
I'm happy with this, yes thank you. Jonathan |
Fixed in #158 and cf-convention/Conformance#6 |
Title: Alternate grid mappings for geometry containers
Moderator: @davidhassell
Requirement Summary:
Allow geometries to have a grid_mapping different than the data variable. For example, data variable coordinates could be in geographic coordinates, while coordinates for watershed polygons could be in a projected coordinate system.
Technical Proposal Summary:
Allow the
grid_mapping
attribute value on the geometry container to differ from thegrid_mapping
attribute on the data variable, provided the auxiliary coordinates do not have the nodes as bounds.Benefits: This benefits those who have defined their geometries in a coordinate system different than the coordinates used for the data variable.
Status Quo:
According to Chapter 7, a data variable's coordinate variables can have a
nodes
attribute which identifies the equivalent variable from a geometry. Thus, nodes act as bounds to the coordinates, and bounds are considered as metadata to the coordinates. Therefore, following this logic, bounds can't have a different coordinate system.Detailed Proposal:
Allow the different grid mapping on the geometry container variable, provided the auxiliary coordinates do not have the nodes as bounds, e.g.
"lat" and "lon" could have bounds, so long as they not "y" and "x".
The text was updated successfully, but these errors were encountered: