ufs-community / ccpp-physics

UFS fork for CCPP
Other
4 stars 33 forks source link

Submodule for Thompson cloud microphysics (and maybe others) #151

Open dustinswales opened 9 months ago

dustinswales commented 9 months ago

Description

Move the core of the Thompson cloud microphysics from ccpp-physics into a submodule that could be referenced by ccpp-physics within the UFS, and by other hosts. With this reorganization, a testing framework will be added for hierarchical offline testing (e.g. unit-tests of scheme components-> idealized cases). The hope is to provide relief for developers that have to maintain schemes shared across hosts, or host applications, while also hardening up the testing.

Questions

Where should this submodule reside? It's history weaves through many NOAA and non-NOAA labs and centers, so it's complicated. (Currently here for testing) What should it be called? thompson_cloud_physics?

@yangfanglin @lisa-bengtsson @ligiabernardet @gthompsnWRF @AndersJensen-NOAA

yangfanglin commented 9 months ago

@RuiyuSun adding Ruiyu to the discussion.

My preference is to keep this scheme/submodule under the CCPP repo, if it is feasible. I understand rrtmgp is an exception but we should prevent the physics package from being further scattered in different individual and/or institutional repos.

"thompson_cloud_physics" looks to be a good choice.

@dustinswales is there an intention to change most if not all parameterizations to submodules ? Sorry for asking if this has been discussed before. What are the pros and cons ?

dustinswales commented 9 months ago

@yangfanglin There is some interest by scheme developers to do this, but it's small fraction, isolated to schemes that are currently being developed in parallel across multiple hosts (Thompson MP and C3).

We've touched on using submodules here and there in the ccpp physics management meetings, along with at the CCPP Visioning workshop, but this is the first time that code is being moved from ccpp-physics into a submodule. The idea of isolating the model-agnostic part of the scheme and placing it in it's own repository is to centralize the development and reduce the code management burden for the developers.

lisa-bengtsson commented 9 months ago

@dustinswales @yangfanglin for C3, we have a meeting scheduled on January 9th to discuss pros and cons with this approach, I believe it is not yet decided that this will be the way to go. @yangfanglin I can add you to that meeting if you would like.