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

Need to support multiple "internal states" in a GridComp #330

Open
tclune opened this issue Dec 10, 2024 · 0 comments
Open

Need to support multiple "internal states" in a GridComp #330

tclune opened this issue Dec 10, 2024 · 0 comments

Comments

@tclune
Copy link
Collaborator

tclune commented Dec 10, 2024

In GEOS/MAPL we canonically have 3 "internal" states for each user grid comp:

  1. wrapping an ordinary ESMF_State that is used to hold fields that are not part of import/export.
  2. wrapping a derived type used by the MAPL framework to provide additional services to a user gridcomp
  3. occasionally to wrap a user-defined derived type that encapsulates various things such as values retrieved from the resource file (avoid repeated I/O) but can also be various things that don't have good ESMF analogs. All private to the component.

For many years we have been using the undocumented interface ESMF_UserCompGetInternalState (and Set) and are trying to "do better". There is a similar interface that is supported: ESMF_GridCompGetInternalState (and Set), but this version only allows a single internal state. The undocumented one has an extra string argument that is used to name each internal state.

We would like to either elevate the undocumented interface to be part of the public API or have an optional string argument on the existing public interface that provides the additional functionality.

See also: GEOS-ESM/MAPL#3078

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

No branches or pull requests

1 participant