Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CCPP-ize PUMAS #118

Open
16 tasks
nusbaume opened this issue Sep 13, 2024 · 0 comments
Open
16 tasks

CCPP-ize PUMAS #118

nusbaume opened this issue Sep 13, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request

Comments

@nusbaume
Copy link
Collaborator

nusbaume commented Sep 13, 2024

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 repo:

  • Remove all uses of CESM-specific source code from internal PUMAS routines (except the qsat_X routines, which will need to be a dependency).
  • 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:

  • 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 :

  • 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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: To Do
Development

No branches or pull requests

1 participant