[Update | Modernize] Move Remapping and sub-components to NDSLRuntime/Locals#128
Open
FlorianDeconinck wants to merge 6 commits intoNOAA-GFDL:developfrom
Open
[Update | Modernize] Move Remapping and sub-components to NDSLRuntime/Locals#128FlorianDeconinck wants to merge 6 commits intoNOAA-GFDL:developfrom
NDSLRuntime/Locals#128FlorianDeconinck wants to merge 6 commits intoNOAA-GFDL:developfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Recent changes to NDSL have brought tools to describe local memory and ease writing orchestration-ready code. We bring those tools to bear on the Remapping as a first step to a deeper refactor that will remove the need for tracers to be described as a dictionary.
The changes are mostly at init time, but two main changes are brought on the science side:
Fillzwas filtering the tracers to be filled. But checking the current code on NOAA and the GEOS-modified code yielded none of this pre-filtering. We removed theself._filtered_tracer_dictand are now filling all tracers the same (poke @oelbert and the GFDL FV crew to check on my conclusions)MapNTracerswas building a list of remapping objects to allow for maximum flexibility forkord. But the reality of the code shows that all tracers butgraupelare remapped with the samekord. We reflect that logic at runtime for ease of reading.Not addressed in this PR
The tracers as a dict of Quantity is both unyielding for the users and orchestration alike. We flag them here as a
dace.compiletimeto allow the PR to merge. In a subsequent PR we will rely on the yet-to-be-mergedDataDimensionFieldto convert this to a proper natively-orchestratable type which will know how to query it's tracer by name.How Has This Been Tested?
CI covers a
numpyversion of the translate test. I ran orchestrated & stencil DaCe locally.Checklist: