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

ufs.configure.s2sw_slow.IN is not using ESMF threading #2060

Closed
JessicaMeixner-NOAA opened this issue Dec 21, 2023 · 11 comments
Closed

ufs.configure.s2sw_slow.IN is not using ESMF threading #2060

JessicaMeixner-NOAA opened this issue Dec 21, 2023 · 11 comments
Assignees
Labels
bug Something isn't working

Comments

@JessicaMeixner-NOAA
Copy link
Collaborator

Description

Perhaps not a "bug" but an observation I made is that ufs.configure.s2sw_slow.IN is not templated to use ESMF managed threading. I think this is simply an oversight not necessarily intentional. I noticed this when updating the model in the workflow as this is inconsistent between the two.

Additional Info

Look at the https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/parm/ufs.configure.s2sw_slow.IN and note we do not have omp for each component. Since this is used in the GFSv17 tests, which should likley use esmf managed threading since that's currently the goal and what's used in the workflow.

@JessicaMeixner-NOAA JessicaMeixner-NOAA added the bug Something isn't working label Dec 21, 2023
@junwang-noaa
Copy link
Collaborator

Thanks for sharing your observations. Actually we are considering to have one traditional threading test depending on the HR3b timing testing. At this time we can update the template here to be consistent with GW if needed.

@junwang-noaa
Copy link
Collaborator

We will add a new template ufs.configure.s2swa_slow.IN corresponding to ufs.configure.s2sw_slow.IN and have the s2swa coupled tests to use this template until the issue #1764 is resolved.

@junwang-noaa
Copy link
Collaborator

@JessicaMeixner-NOAA Currently ufs.configure.s2sw.IN has ESMF managed threading, the difference between ufs.configure.s2sw_slow.IN and ufs.configure.s2sw.IN is that wave is running in slow or fast coupling loop. If I remember correctly, your group is testing the timing of wave coupling in slow and fast loop, may I ask if you have the results yet? My understanding is the moving wave to slow loop does not improve the computational/scientific performance, if that is the case, can we remove the ufs.configure.s2sw_slow.IN? Otherwise, maybe we can remove the ufs.configure.s2sw.IN and rename ufs.configure.s2sw_slow.IN to ufs.configure.s2sw.IN rather than keeping two templates? Thanks

@JessicaMeixner-NOAA
Copy link
Collaborator Author

@junwang-noaa I will search for the results to post here. The summary is that it was computationally faster to use the slow loop in the GEFS and GFS configurations we tested. I think the reason some tests might not have seen this advantage was because of resolutions being tested or WW3 internal time-steps. Both GFSv17 and GEFSv13 are moving forward with the wave component in the slow-loop at this time.

@JessicaMeixner-NOAA
Copy link
Collaborator Author

Here's a slide I found with one figure and some results:
Screenshot 2024-01-03 at 4 27 02 PM

I have another spreadsheet from some old P8c runs where with 1/4 deg inner loop, it took ~ 3964s/day whereas outerloop was only 600s per day. Again, a lot of this depends on what the inner versus outerloop timesteps are and what the corresponding WW3 time steps in the two scenarios are. I do not have recent timing results. I believe @DeniseWorthen wanted the innerloop configuration for some ice-coupling work so I'd double check with her before removing the inner-loop option.

@junwang-noaa
Copy link
Collaborator

junwang-noaa commented Jan 3, 2024

Thanks for confirming that the wave grid or internal time step themselves do not have impact on the total timing, the outloop P8c runs faster because the wave runs with larger time step. We will make plan to remove the wave fast loop coupling then. Thanks.

@junwang-noaa
Copy link
Collaborator

@JessicaMeixner-NOAA a quick question before we remove the wave fast loop template, can the unstructured mesh grid use the larger time step too? Just want to confirm we don't need to keep two templates.

@DeniseWorthen
Copy link
Collaborator

@junwang-noaa We need to keep at least one configuration with waves in the fast loop for the wave-ice coupling.

@junwang-noaa
Copy link
Collaborator

@JessicaMeixner-NOAA @DeniseWorthen We will keep tests to use both fast loop and slow loop for wave at this time. The ufs.configure.s2sw.IN has wave in slow loop and use traditional threads due to issues in GFSv3 HR3b (c1152). Please let me know if you have further questions.

@junwang-noaa
Copy link
Collaborator

The code changes in Rahul's PR #2074, which was committed on Jan 9.

@junwang-noaa
Copy link
Collaborator

The PR was committed in PR#2172, close issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
No open projects
Development

No branches or pull requests

5 participants