E3SM-Project / E3SM-Project/E3SM
CARMA is incompatible with RRTMGP
- Dominant language
- Fortran
- Stars
- 440
- Forks
- 481
- Avg merge
- 4d 7h
- Merged PRs (30d)
- 33
Description
CARMA is expected to fail when configured with RRTMGP. This is because `carma_register` attempts to grab information about the spectral bands in use from the `radconstants` module, but with RRTMGP this information is not setup until the inputdata is read by `radiation_init` which comes after the register routines. Thus, calling `carma_register` will attempt to grab uninitialized data from `radconstants`. There a few possible fixes for this: 1) move the file i/o for RRTMGP to the `radiation_register` routine, and move `radiation_register` before `carma_register`; 2) revert to hard-coding the band information into `radconstants`. I'm not a huge fan of hard-coding these values since it makes the code less flexible, but we are probably unlikely to change these values, and perhaps we could then add a check at initialization to make sure the hard-coded values match what is read from the inputfiles.
Contributor guide
Research direction
Start by tracing carma_register, radiation_register, and radiation_init, then inspect how radconstants receives spectral-band data for RRTMGP. Compare the ordering of registration and inputdata initialization to determine which proposed approach fits the existing flow. Done means CARMA can be configured with RRTMGP without reading uninitialized band information.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fortran
- Domain
- hpc
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100