ESCOMP / ESCOMP/CAM

Convert vertical diffusion to CCPP and move to atmospheric_physics repo

Open
#1,205 0 comments 0 reactions 2 assignees Claimed by @mwaxmonsky View on GitHub
ccpp-conversion
Dominant language
No language data
Stars
91
Forks
183
Avg merge
6d 2m
Merged PRs (30d)
9

Description

### 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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.