-
Notifications
You must be signed in to change notification settings - Fork 18
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
Feature/tclune/mapl3 latlongeomfactory #2309
Feature/tclune/mapl3 latlongeomfactory #2309
Conversation
We could just wrap copy and modify LatLonGridFactor, but there are several issues that should be altered in this pass. First, the various bits of logic should be teased apart into separate procedures and modules. Also the logic can be cleaned in various points.
Probably "mostly" work.
Added some tests
…actory' into feature/tclune/mapl3-latlongeomfactory
And a bit of cleanup.
Just wouldn't stay away.
Corner case of non-periodic axis needs extra point for corner of last process. (A triple corner case {periodic, corner, last pe}.
…actory' into feature/tclune/mapl3-latlongeomfactory
@tclune, I don't see a hook in the new GeomFactory for the equivalent of append_variable_metadata that was in the old factory |
I'm hoping that we do not need it in the new design. Basically Geom produces the baseline metadata. Other layers can append, but Geom is the initializer. There are few other "missing" things that are in a similar state: I'm hoping I can avoid the need. If not ... we circle back and add them back. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see a lot of the helper procedures needed to specify the bounds for the output file are no longer here. Append_variable_metdata caught my eye first, that probably needs to be returned. The rest generate_file_bounds, generate_file_reference*, the question can the logic that those were implement be done in a way that it need not be attached to the specific grid for the IO layer.
The one I would insist on being restored before I approve is append_variable_metadata. The rest we can find other ways as you say. The generator_file_reference and generate_file_bounds stuff, that could be put into a generic layer and queue off the fact that the cube grid is a multi-tile grid (making the assumption the tile index gets its own dimension). Some of the others such as get_grid_vars, get_file_format_vars could be derived from the metadata once that is made. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems zero diff to the old lat-lon grid factory.
I do think that the append_variable_metdata helper procedure needs restoration. That is the only helper procedure from the old factory I see that I could not work around or that could be derived from the metadata and keep our existing IO system working with this new layer.
Why does the metadata object need to be 1st created somewhere else? The create metadata routine is the former "append" plus the assumption that it will be first in the pipeline. I can't immediately recall how I convinced myself of this, but will certainly amend the interface as the use cases come in. Trying to keep it simple for the moment - just the stuff I can immediately see how it fits in the process. |
Please go look at what the old append_variable_metdata is doing, I don't think you are understanding what it is for. This is NOT for appending the overall file metadata. |
OK - I understand. But still, it can wait for now. It will be straightforward enough to bring in when the time comes. Yes - we have to implement it for each factory subclass, but it's the same work now as it will be then, and my short term need is to use the factory to produce distinct grids so that generic can induce a regrid operation. |
Description
Related Issue
Motivation and Context
How Has This Been Tested?
Types of changes
Checklist: