E3SM-Project / E3SM-Project/E3SM

CARMA is incompatible with RRTMGP

Open
#3,533 14 comments 0 reactions 0 assignees View on GitHub
Atmosphere bug
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.