ESCOMP / ESCOMP/atmospheric_physics
CCPP-ize PUMAS
- Dominant language
- Fortran
- Stars
- 12
- Forks
- 38
- Avg merge
- 11h 16m
- Merged PRs (30d)
- 5
Description
This issue is here to help track the CCPP-ization of the current CAM interface to the PUMAS microphysics package, with the eventual goal of having a version of PUMAS runnable in CAM-SIMA.
Also notifying @Katetc and @andrewgettelman that I'll start work on this soon, and so may have some questions for them at some point.
--------------------------------------------
The following is a list of needed tasks to assist with tracking progress on PUMAS CCPP-ization:
Tasks needed explicitly in the [ESCOMP/PUMAS](https://github.com/ESCOMP/PUMAS) repo:
- [x] Remove all uses of CESM-specific source code from internal PUMAS routines (except the `qsat_X` routines, which will need to be a dependency).
- [x] Create a CCPP cap for the main PUMAS routine (and ensure it works in CAM).
- [ ] Create Metadata files for the PUMAS CCPP cap and the "proc_rates_type" DDT.
- [ ] Create Github Action which validates the metadata files whenever a PR is made.
- [ ] Add PUMAS submodule to NCAR/ccpp-physics repo, along with needed dependencies.
Tasks needed for a complete PUMAS interstitial scheme that lives in [NCAR/ccpp-physics](https://github.com/NCAR/ccpp-physics):
- [ ] Register all constituents needed by PUMAS.
- [ ] Subset variables into expected microphysics dimensions (e.g. subcolumns, when enabled).
- [ ] Convert microphysics-dimensioned variables back into regular-dimensioned variables.
- [ ] Apply any associated tendencies to their states, possibly in several subcycling steps.
- [ ] Calculate (and apply if necessary) the "final", post-subcycle microphysics tendencies.
- [ ] Calculate size distribution parameters and Liquid Water Path needed for diagnostics and radiation (i.e. the `size_dist_param_X` subroutine calls in CAM)
- [ ] Calculate remaining diagnostic variables, such as precipitation efficiency.
- [ ] Output diagnostics using CAM-SIMA-specific method (non-portable)
Tasks needed to fully-implement a CCPP-ized PUMAS in [ESCOMP/CAM-SIMA](https://github.com/ESCOMP/CAM-SIMA) :
- [ ] Create a CAM-SIMA-specific `pumas_namelist.xml` file to support PUMAS namelist variables in CAM-SIMA.
- [ ] Develop the correct directory structure between PUMAS, ccpp-physics, atmospheric_physics, and CAM-SIMA, which will likely require at least small modifications in all repos.
- [ ] Create a PUMAS SDF needed to properly test PUMAS in CAM-SIMA and implement it in the CAM7 SDF. This will likely include the use of the "subcyle" CCPP-framework feature.
Any additional tasks that are discovered during the development process will be added to this list accordingly.
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.