ESCOMP / ESCOMP/atmospheric_physics
Move constituent registration out of rrtmgp_constituents to schemes that own/provide the constituents
- Dominant language
- Fortran
- Stars
- 12
- Forks
- 38
- Avg merge
- 11h 16m
- Merged PRs (30d)
- 5
Description
Right now `rrtmgp_constituents_register` registers a dynamic constituent for every entry in the `rad_climate` namelist, e.g.,
https://github.com/ESCOMP/atmospheric_physics/blob/64b254f0de4780e6f645997e9c4381280738aaef/schemes/rrtmgp/rrtmgp_constituents.F90#L75-L80
But rrtmgp_constituents does not *provide* values for any of those constituents; other schemes do, e.g., prescribe_radiative_gas_concentrations.
We should move the registration out of the `rrtmgp_constituents` to be consistent with our approach that schemes that own/provide the constituent registers it.
Additionally:
CAM's `rad_climate` entries are `source:source_name:gas_name`, e.g.
`'N:CFC11STAR:CFC11'`: the field named CFC11STAR (CFC11 with the minor
halon species folded in for LW radiation) feeds radiation's CFC11 gas slot.
The name on the left of the mapping identifies where the data comes from and
the name on the right identifies which radiation gas it fills.
The CAM-SIMA format dropped this, entries are `flag:long_name:gas_name`,
the third field is used as both the registered constituent's standard name
and the radiation gas name, and `rrtmgp_constituents_run` looks
constituents up by gas name. There is no way to say "constituent X feeds
radiation gas Y", so surrogates like CFC11STAR cannot be expressed. CAM7's
ghg_mam4 configuration uses `N:CFC11STAR:CFC11`, so this is needed for CAM7.
I think we could change the middle field to be the `diag_name` (which was introduced after RRTMGP was CCPPized)
tagging @peverwhee @nusbaume !
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.