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 likenamelist.py should specify a minimal, extensible namelist class that can be inherited in Pace, pyFV3, and pySHiELD namelists.
For constants.py ¯\(ツ)/¯
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 inndsl/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. Forconstants.py
¯\(ツ)/¯