CAM
CAM copied to clipboard
Convert vertical diffusion to CCPP and move to atmospheric_physics repo
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:
Some of the more challenging parts are:
- Adding radiative constituents flags to the aerosols in the constituents object (init).
- Remove host model dependencies from
pbl_utils.F90and 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 outcompute_hb_free_atm_difffromhb_diff.F90and place it in atmospheric_physics with dependencies onpbl_utils.F90. - Moving
tracer_data.F90(incl. pio and interpolation util dependencies) into the CAM-SIMA host model, in order to send data structures toupper_bc.F90routines, which will also need to be CCPP'ized and moved into the atmospheric_physics repo. - 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.F90and 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