CAM icon indicating copy to clipboard operation
CAM copied to clipboard

Convert vertical diffusion to CCPP and move to atmospheric_physics repo

Open adamrher opened this issue 1 year ago • 0 comments

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: https://github.com/ESCOMP/CAM/issues/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

adamrher avatar Dec 09 '24 21:12 adamrher