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 a better way to pass global communicator (w/o I/O tasks) to physics #253

Closed
climbfuji opened this issue Mar 4, 2021 · 3 comments
Closed
Labels
enhancement New feature or request

Comments

@climbfuji
Copy link
Collaborator

Description

When the CCPP physics were introduced, it was required to pass the global communicator that includes all compute tasks, but not the I/O tasks, to the physics for the purpose of broadcasting lookup tables at physics init time etc.

This was implemented by @climbfuji by exporting commglobal from the dycore to populate a member of the GFS control DDT. As @bensonr pointed out, we should be able to get this communicator directly from ESMF (which passes it to the dycore in the first place).

Solution

Pass the global communicator that includes all compute tasks, but not the I/O tasks, from ESMF directly to atmos_model.F90 and stop exporting commglobal from the dycore.

Alternatives

Keep the current, inelegant solution.

Testing:

n/a

Dependent PRs:

n/a

@climbfuji climbfuji added the enhancement New feature or request label Mar 4, 2021
@junwang-noaa
Copy link
Collaborator

@bensonr the forecast tasks communicator is passed to fms_init in the code here, can we get the communicator out from mpp or fms functions?

@bensonr
Copy link
Contributor

bensonr commented Mar 11, 2021 via email

@junwang-noaa
Copy link
Collaborator

Code changes are committed in PR#345, close issue.

LarissaReames-NOAA pushed a commit to LarissaReames-NOAA/fv3atm that referenced this issue Nov 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants