ESCOMP / CAM-SIMA

Community Atmosphere Model - System for Integrated Modeling of the Atmosphere
4 stars 12 forks source link

Create dp_coupling-independent derived_phys routine. #153

Open nusbaume opened 3 years ago

nusbaume commented 3 years ago

Currently every dycore has a derived_phys subroutine that calculates many physics state variables that are not automatically provided by the dycore itself for various reasons (e.g. the dycore uses dry pressure instead of moist pressure). In CAMDEN we can know ahead of time which variables will not be calculated by the dycore, and thus could call a physics routine that automatically calculates any missing state variables that physics needs, thus providing a derived_phys routine that is independent of the specific dycore chosen, or at least the dp_coupling layer. It could also provide a path to potentially CCPP-ize the derived_phys routine itself.

That being said, there are some infrastructure details that need to be worked out in order for this to occur, such as how this new derived_phys routine will actually know which variables need to be calculated at runtime, which in-turn may require some new auto-generated code. Thus this issue will act as a landing place for potential ideas and/or concerns that should be discussed, at least until a working prototype has been developed.