rad_aer_diag_init, rad_cnst_out only called for climate list: mass per layer/column burden missing for diagnostic list species
- Dominant language
- No language data
- Stars
- 91
- Forks
- 183
- Avg merge
- 6d 2m
- Merged PRs (30d)
- 9
Description
### What happened?
Observed CAM code
Grepping for `rad_aer_diag_init` and `rad_cnst_out` shows they are only called for the climate list and not individual diagnostic lists.
The subroutine are wired up for diagnostic lists (`_d1`, `_d2`, ... suffix) but never called.
The following diagnostics would be missing for diagnostic lists
* `m__dN` (mass per layer), `cb_dN` (column burden)
* `m__dN`, `cb__dN` **bulk aerosols only** (MAM and CARMA work)
All other diag list features like radiation are working
### What are the steps to reproduce the bug?
run `git grep -n "rad_cnst_out" cam6_4_181 -- src`
```
cam6_4_181:src/chemistry/aerosol/radiative_aerosol.F90:1198: rad_aer_diag_init
cam6_4_181:src/chemistry/aerosol/radiative_aerosol.F90:1227: call rad_aer_diag_init(bulk_aerosol_list(0))
cam6_4_181:src/physics/cam/aerosol_mmr_cam.F90:38:public :: rad_aer_diag_init
cam6_4_181:src/physics/cam/aerosol_mmr_cam.F90:850:subroutine rad_aer_diag_init(alist)
cam6_4_181:src/physics/cam/aerosol_mmr_cam.F90:897: write(iulog,*) 'rad_aer_diag_init: '//trim(name)//' longer than ', fieldname_len, ' characters'
cam6_4_181:src/physics/cam/aerosol_mmr_cam.F90:898: call endrun('rad_aer_diag_init: name too long: '//trim(name))
cam6_4_181:src/physics/cam/aerosol_mmr_cam.F90:903:end subroutine rad_aer_diag_init
```
```
cam6_4_181:src/physics/cam/rad_constituents.F90:67: rad_cnst_out ! output constituent diagnostics (mass per layer and column burden)
cam6_4_181:src/physics/cam/rad_constituents.F90:428:subroutine rad_cnst_out(list_idx, state, pbuf)
cam6_4_181:src/physics/cam/rad_constituents.F90:448: character(len=*), parameter :: subname = 'rad_cnst_out'
cam6_4_181:src/physics/cam/rad_constituents.F90:479:end subroutine rad_cnst_out
cam6_4_181:src/physics/camrt/radiation.F90:791: use rad_constituents, only: rad_cnst_get_gas, rad_cnst_out
cam6_4_181:src/physics/camrt/radiation.F90:1165: if (write_output) call rad_cnst_out(0, state, pbuf)
cam6_4_181:src/physics/rrtmg/radiation.F90:21:use rad_constituents, only: rad_cnst_get_gas, rad_cnst_out, oldcldoptics, liqcldoptics, icecldoptics
cam6_4_181:src/physics/rrtmg/radiation.F90:1297: call rad_cnst_out(0, state, pbuf)
cam6_4_181:src/physics/rrtmgp/radiation.F90:24:use rad_constituents, only: rad_cnst_out
cam6_4_181:src/physics/rrtmgp/radiation.F90:1217: call rad_cnst_out(0, state, pbuf)
```
### What CAM tag were you using?
cam6_4_181
### What machine were you running CAM on?
CISL machine (e.g. cheyenne)
### What compiler were you using?
Intel
### Path to a case directory, if applicable
_No response_
### Will you be addressing this bug yourself?
Any CAM SE can do this
### Extra info
_No response_
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.