Skip to content

[Update | Modernize] Move Remapping and sub-components to NDSLRuntime/Locals#128

Open
FlorianDeconinck wants to merge 6 commits intoNOAA-GFDL:developfrom
FlorianDeconinck:update/modernize_remapping
Open

[Update | Modernize] Move Remapping and sub-components to NDSLRuntime/Locals#128
FlorianDeconinck wants to merge 6 commits intoNOAA-GFDL:developfrom
FlorianDeconinck:update/modernize_remapping

Conversation

@FlorianDeconinck
Copy link
Copy Markdown
Collaborator

@FlorianDeconinck FlorianDeconinck commented Apr 3, 2026

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:

  • Fillz was 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 the self._filtered_tracer_dict and are now filling all tracers the same (poke @oelbert and the GFDL FV crew to check on my conclusions)

  • MapNTracers was building a list of remapping objects to allow for maximum flexibility for kord. But the reality of the code shows that all tracers but graupel are remapped with the same kord. 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.compiletime to allow the PR to merge. In a subsequent PR we will rely on the yet-to-be-merged DataDimensionField to 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 numpy version of the translate test. I ran orchestrated & stencil DaCe locally.

Checklist:

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • Any dependent changes have been merged and published in downstream modules
  • New check tests, if applicable, are included
  • Targeted model if this changed was triggered by a model need/shortcoming

@FlorianDeconinck FlorianDeconinck requested a review from oelbert April 3, 2026 20:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant