-
Notifications
You must be signed in to change notification settings - Fork 360
P3 CRM Integration
Matt Norman edited this page Apr 16, 2021
·
17 revisions
People working on this: Kyle P., Walter H., Xingqiu Y., Isaac L., Matt N.
P3 code location: https://github.com/E3SM-Project/scream/tree/master/components/scream/src/physics/p3
Steps for integration into samxx and PAM:
-
Identify why ice_fall is performed before micro_proc in sam (Kyle will talk to Mikhial O.)
- Walter is reaching out to Marat and Peter Bl. about this
- For now, we can just assume it doesn't matter, and ifdef for SAM microphysics only
-
Find the ideal way to get P3 source code into E3SM
- Keep Peter Caldwell and Jim Foucar, Jeff Johnson (EKAT expert among other things), and Rob Jacob in the loop for this
- The main problem with this is multiple copies of YAKL and Kokkos, etc.
- We would probably have to use our own CMake rather than SCREAM's. Not sure how hard that would be.
- It would be nice to include scream as a submodule, but...
- This automatically brings in EKAT and other stuff
- Already has SHOC, and Peter C will want to do this eventually anyway
- The scream repo has other major components in it already, and there does not appear to be a standalone scream or P3 repo.
- For now, we just need to copy files manually and create our own standalone repo, maybe.
- Keep Peter Caldwell and Jim Foucar, Jeff Johnson (EKAT expert among other things), and Rob Jacob in the loop for this
-
SAM will require both CRM-facing and E3SM-facing interfaces at the same time
- Walter will own E3SM-facing samxx interface for P3 stuff for MMF forcing
- Xingqiu and Kyle will own P3-facing interface for SAM++
- Example in Marat's Fortran SAM already with Fortran P3
- We could potentially just GPU-port to YAKL the Fortran interface code...
- Really helps us with thermodynamics being done correctly
-
PAM can integrate P3 in true standalone with no E3SM-facing interface
- Isaac and Matt will own P3-facing interface for PAM
-
Create unit tests for interfacing SCREAM packs with YAKL Arrays for CRM code
- Matt and Isaac will own with Kyle's help, the creation of unit tests to interface with SPACKs
- This will differ between SAM and PAM with potential common files as well
-
Might have inconsistency in current interface where number concentration can have non-zero tendency while mass is zero
- {Mass , number} --> particle size for sedimentation according to some distribution
- We're going to ignore this for now, but will look at it later (Kyle and Walter)