ESCOMP / ESCOMP/atmospheric_physics

Move constituent registration out of rrtmgp_constituents to schemes that own/provide the constituents

Open
#435 1 comment 0 reactions 1 assignee Claimed by @jimmielin View on GitHub
cleanup
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.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.