NOAA-GFDL/NDSL

Namelist parameters and many physical constants don't really belong in NDSL

Opened this issue · 0 comments

Is your feature request related to a problem? Please describe.
Namelist elements and default values are specified in ndsl/namelist.py which means that model developers have to esid ndsl code when implementing a scheme with new runtime parameters in pyFV3 or pySHiELD. Similarly if a scheme needs a new physical constant (like a heat capacity at a new temperature) it gets implemented in ndsl/constants.py. Moreover it is very unclear how to set up experiments with different values, such as simulating Earth with a smaller radius.

Describe the solution you'd like
namelist.py should specify a minimal, extensible namelist class that can be inherited in Pace, pyFV3, and pySHiELD namelists.
For constants.py ¯\(ツ)