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

Convert vertical diffusion to CCPP and move to atmospheric_physics repo #1205

Open
adamrher opened this issue Dec 9, 2024 · 0 comments
Open
Assignees

Comments

@adamrher
Copy link

adamrher commented Dec 9, 2024

Issue Type

Other (please describe below)

Issue Description

This vertical diffusion CCPP work will be broken into several parts due to all its dependencies, and this issue won't be resolved until all parts have been completed and all the relevant modules have been moved over to the atmospheric_physics repo.

The tentative plan is to modularize the various steps in vertical_diffusion.F90 into the following init, ts_init and run sequences:

Screenshot 2024-12-09 at 2 05 11 PM

Some of the more challenging parts are:

  1. Adding radiative constituents flags to the aerosols in the constituents object (init).
  2. Remove host model dependencies from pbl_utils.F90 and move into a share_util/ directory in atmospheric_physics repo. This requires modifying schemes that rely on this util in ESCOMP/CAM. At that stage we can strip out compute_hb_free_atm_diff from hb_diff.F90 and place it in atmospheric_physics with dependencies on pbl_utils.F90.
  3. Moving tracer_data.F90 (incl. pio and interpolation util dependencies) into the CAM-SIMA host model, in order to send data structures to upper_bc.F90 routines, which will also need to be CCPP'ized and moved into the atmospheric_physics repo.
  4. vertical_diffusion_tend is envisioned to only call compute_vdiff, and to compute diagnostics. compute_vdiff will need to be stripped of host model dependencies, and since it is also called by the gravity wave scheme (@jtruesdal can you confirm?), it should be moved into the share_util/ directory, along with it's dependencies vdiff_lu_solver.F90 and its other 3 dependencies currently residing in the to_be_ccppized/ directory (related to this issue: Modularize Vertical Diffusion Solver Step #1173).

The other steps in this issue are hopefully more straightforward, but we'll see! This will be a collaboration among several SEs (@mwaxmonsky @jimmielin @mattldawson, and perhaps more...).

Will this change answers?

Yes

Will you be implementing this yourself?

Yes, but I will need some help

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

No branches or pull requests

2 participants