Skip to content

Tempo Implementation#250

Closed
AndersJensen-NOAA wants to merge 20 commits into
ufs-community:ufs/devfrom
AndersJensen-NOAA:tempo_dev
Closed

Tempo Implementation#250
AndersJensen-NOAA wants to merge 20 commits into
ufs-community:ufs/devfrom
AndersJensen-NOAA:tempo_dev

Conversation

@AndersJensen-NOAA
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA AndersJensen-NOAA commented Feb 4, 2025

This PR replaces #245

Development of the Thompson-Eidhammer microphysics is transitioning to a submodule, and this submodule is: https://github.com/NCAR/TEMPO

TEMPO stand for Thompson-Eidhammer Microphysics Parameterization for Operations.

The use of a submodule will enable centralized community development (and testing) of the microphysics scheme for various applications and dynamical cores. This submodule will eventually replace the Thompson parameterization currently in the CCPP after approval from all parties involved and significant testing.

@grantfirl
Copy link
Copy Markdown
Collaborator

grantfirl commented Feb 7, 2025

@AndersJensen-NOAA Is this the final PR? It makes it very difficult to review this when new PRs replace old ones. For example, in order to see what comments were addressed from #245, I have to go back and forth between that one and this one and check for changes manually. If you had just made your changes in #245, it would have been much easier to continue reviewing this because GitHub highlights changes for you.

@AndersJensen-NOAA
Copy link
Copy Markdown
Collaborator Author

@AndersJensen-NOAA Is this the final PR? It makes it very difficult to review this when new PRs replace old ones. For example, in order to see what comments were addressed from #245, I have to go back and forth between that one and this one and check for changes manually. If you had just made your changes in #245, it would have been much easier to continue reviewing this because GitHub highlights changes for you.

@grantfirl Yes, this is the final PR. Apologies for the continued replacement PRs. The issue mentioned in this discussion
NOAA-EMC/ufsatm#923
tripped me up for so long (several days) that I decided to start over and rebuild the PR in one sitting, piece by piece to track it down.

Comment thread .gitmodules Outdated
[submodule "physics/MP/TEMPO/TEMPO"]
path = physics/MP/TEMPO/TEMPO
url = https://github.com/NCAR/TEMPO
branch = main No newline at end of file
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I noticed that the TEMPO submodule pointer isn't pointing to the latest commit of the main branch. Is this intentional?

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grantfirl , Yes TEMPO has moved forward with MPAS development since the PR to ccpp.

qs_mp (i,k) = tracer1(i,k,ntsw)/(1.-qvs)
if(nint(slmsk(i)) == 1) then
nc_mp (i,k) = Nt_c_l*orho(i,k)
if (imp_physics == imp_physics_thompson) then
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as https://github.com/ufs-community/ccpp-physics/pull/245/files#r1907698791. If performance isn't a concern right now, then you can disregard.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grantfirl Let's disregard for now.

endif

if (imp_physics == imp_physics_thompson .and. (ntlnc>0 .or. ntinc>0)) then
if ((imp_physics == imp_physics_thompson .or. imp_physics == imp_physics_tempo) .and. &
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for fixing this from #245

Comment thread physics/MP/TEMPO/mp_tempo.F90 Outdated
if (is_initialized) return

! Set local TEMPO MP module constants from host model
! PI = con_pi
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are these commented out? With the code as-is, this scheme is using the redefined "default" values of these constants in the TEMPO repo, module_mp_tempo_params.F90, right? This allows this scheme to introduce inconsistencies with the rest of the physics and the host with respect to physical constants.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@grantfirl, The quickest way to implement the PR was to use the constants from TEMPO. These parameters can (and probably) should be brought in. When should that be done, before or after this merges?

@grantfirl
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA Everything looks good from a CCPP point of view with the exception of not actually using the constants coming from the host in the init phase. The 'if' statements within loops over the domain are slow, but don't have to be fixed if speed doesn't matter much right now. I went into the TEMPO repo and reviewed for CCPP problems in module_mp_tempo_main.F90 as well. I'll approve once the physical constants problem is worked out.

For future PRs, where changes within the TEMPO submodule are made, there will be PRs to update that main branch, right? Plus, there will be periodic PRs into the ccpp-physics branch to update the TEMPO submodule hash as development continues, correct? Otherwise, if a bunch of development goes into the main branch of TEMPO without PRs, that will lead to hard-to-review ccpp-physics PRs in the future.

@grantfirl
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA Also, please be sure to fill out the PR description here (should just be a copy/paste from previous PRs).

@AndersJensen-NOAA
Copy link
Copy Markdown
Collaborator Author

@AndersJensen-NOAA Everything looks good from a CCPP point of view with the exception of not actually using the constants coming from the host in the init phase. The 'if' statements within loops over the domain are slow, but don't have to be fixed if speed doesn't matter much right now. I went into the TEMPO repo and reviewed for CCPP problems in module_mp_tempo_main.F90 as well. I'll approve once the physical constants problem is worked out.

For future PRs, where changes within the TEMPO submodule are made, there will be PRs to update that main branch, right? Plus, there will be periodic PRs into the ccpp-physics branch to update the TEMPO submodule hash as development continues, correct? Otherwise, if a bunch of development goes into the main branch of TEMPO without PRs, that will lead to hard-to-review ccpp-physics PRs in the future.

@grantfirl @dustinswales Do I need to update the constants or can one of you do that update? In the future, updates to TEMPO will go to the main repository and there will be period PRs to ccpp. The frequency of PRs to ccpp is yet-to-be-determined, but we should figure out a cadence that works well for everyone. Of course, big changes should be merged faster, while smaller changes can likely accumulate unless they are major bug fixes.

@grantfirl
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA Everything looks good from a CCPP point of view with the exception of not actually using the constants coming from the host in the init phase. The 'if' statements within loops over the domain are slow, but don't have to be fixed if speed doesn't matter much right now. I went into the TEMPO repo and reviewed for CCPP problems in module_mp_tempo_main.F90 as well. I'll approve once the physical constants problem is worked out.
For future PRs, where changes within the TEMPO submodule are made, there will be PRs to update that main branch, right? Plus, there will be periodic PRs into the ccpp-physics branch to update the TEMPO submodule hash as development continues, correct? Otherwise, if a bunch of development goes into the main branch of TEMPO without PRs, that will lead to hard-to-review ccpp-physics PRs in the future.

@grantfirl @dustinswales Do I need to update the constants or can one of you do that update? In the future, updates to TEMPO will go to the main repository and there will be period PRs to ccpp. The frequency of PRs to ccpp is yet-to-be-determined, but we should figure out a cadence that works well for everyone. Of course, big changes should be merged faster, while smaller changes can likely accumulate unless they are major bug fixes.

@AndersJensen-NOAA Could you please add my GitHub user as a collaborator that can push to your forks of ccpp-physics, fv3atm, and ufs-weather-model? If there is a shutdown, I can push updates to your PRs and we can continue testing for the merge queue as long as HPC platforms are still up.

Also, I can make the physical constants change that I suggested.

@AndersJensen-NOAA
Copy link
Copy Markdown
Collaborator Author

@grantfirl The green check turned into a red x. Is there anything that I need to do? What is the status on this?

@dustinswales
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA There has been a change to GitHub's billing policy for CI testing in forked repositories, NCAR#1138 (comment), so we shut off CI in forked repos.

@scrasmussen It it expected that the CI test would be stalled like it is?
https://github.com/ufs-community/ccpp-physics/actions/runs/14797953252/job/41549611880
I thought that the checks would vanish on the forks, not remain and fail?

@grantfirl
Copy link
Copy Markdown
Collaborator

@grantfirl The green check turned into a red x. Is there anything that I need to do? What is the status on this?

@AndersJensen-NOAA You can safely ignore this. There is a good chance that this will get merged in the next couple of weeks. There's nothing to do except occasionally updating this to the latest develop code, which I've been doing periodically.

@grantfirl
Copy link
Copy Markdown
Collaborator

@AndersJensen-NOAA @dustinswales This commit should fix the failure once we push from NCAR:main to ufs/dev: NCAR@e45f198

@scrasussen fixed this in the NCAR:main repo.

@dustinswales
Copy link
Copy Markdown
Collaborator

Combined with #195

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.

4 participants