fv3atm
fv3atm copied to clipboard
Refactor GFDLMP v1. Introduce GFDLMP v3. Fix initialization bug.
Description (*updated on 11/18/2024)
This PR contains host side changes to accommodate a new cloud microphysics parameterization in the physics.
For the refactoring, all of the configuration/namelist info is moved into a common module that is referenced by both MP versions and a shared fv_sat_adj.F90. There are default values for the scheme configurations defined within this module, and overwritten by the namelist, if provided. Both the v1 and v3 rely on some of the same parameters, but with different default values. This is handled by introducing a pre-processor directive into the new configuration module.
Note. The "initialization bug" results in itsy-bitsy changes to the results, and is not addressed in these changes. A complete solution would require the GFDL MP scheme namelist to be read in during the dycore initialization.
Testing
Tested on Hera using Intel No changes to GFDL MP v1 enabled baselines (control_iovr4 and hafs_regional_atm)
@dustinswales I'd like to test this version. How do I check this code? Thanks!
git clone --recursive --branch feature/gfdlmpv3 https://github.com/dustinswales/ufs-weather-model.git
Dependency: https://github.com/ufs-community/ccpp-physics/pull/195