Skip to content
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

Add new "register" phase #572

Open
peverwhee opened this issue Jun 21, 2024 · 1 comment
Open

Add new "register" phase #572

peverwhee opened this issue Jun 21, 2024 · 1 comment

Comments

@peverwhee
Copy link
Collaborator

Description

In addition to "init," "timestep_init", "run," "timestep_final," and "final", there will be a "register" phase that will be called by the host prior to grid set-up.

Solution

The register phase will be implemented as any other phase, with the bonus of also handling any run-time constituents for a scheme (this will replace the existing dyn_const_routine field in the metadata header).

@peverwhee peverwhee self-assigned this Jun 21, 2024
@dustinswales
Copy link
Collaborator

@peverwhee This is a great idea and there is a need for such a phase for NOAA applications.
A few examples come to mind where this would be useful.

  • For physics suites that have groups called outside of the physics loop (i.e. from the dynamical core), we need to be able to initialize this group on the host side before both the physics and dynamical core. @yangfanglin @RuiyuSun
  • There are some physics schemes that require dynamic allocation of interstitials (e.g NRL photochemistry, RRTMGP, MG-MP). These schemes all have a run-time data component that needs to be known so that the interstitials can be allocated properly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants