-
Notifications
You must be signed in to change notification settings - Fork 446
P3 CRM Integration
Matt Norman edited this page Apr 16, 2021
·
17 revisions
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
- Kyle theorizes it's because of AB + MPDATA
- Walter theorizes it's because of micro effects on liquid-ice static energy. (This was likely debunked though)
- Order:
- Buoyancy
- Forcing
- radiation
- damping
- ice fall
- surface fluxes
- SGS
- dynamics
- compute fields at (t+1/2)
- advection (MPDATA)
- micro
-
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.
-
Include the entire SCREAM as a submodule in externals or something
- This automagically brings in EKAT and other stuff
- Already has SHOC, and Peter C will want to do this eventually anyway
- SHOC is BL and SGS
- Need P3 and SHOC to interact similarly to SCREAM
- BUT! Let's ignore this for now.
- 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 will own P3-facing interface for PAM
-
Create a CRM-facing interface layer on top of P3 source code to transform to / from SCREAM "pack" data structures
- Matt 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
-
Testing the interface for P3
- We only need to test the interface, not P3, and Matt will create unit tests for P3 --> YAKL data structures
- Might need a few more unit tests, but it does not, in general, require realistic input / output data for P3