Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg #56
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Updates to allow land perturbation scheme to be applied for Noah-MP. Currently, for Noah-MP model parameters can perturb only vegetation fraction, to address issue #55.
Three linked PRS:
stochastic_physics ( Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg #56)
ufs-weather-model (add land perturbation scheme for Noah-MP fractional veg #1143
fv3-atm ( Feature/lndp noahmp2 : add land perturbation scheme for Noah-MP fractional veg NOAA-EMC/fv3atm#513)
Main code changes:
-added lsm_noahmp model option to lndp_type==2 land perturbation scheme (fv3-atm, stochastic_physics)
-updated comments
-cleaned up the namelists to make the different options clearer. Removed misleading lndp_each_step variable from gfs_physics_nml, and replaced it with "lndp_model_type" in the nam_sfcperts namelist for the different forecast types (cycling DA, short forecasts, perturbing only initial conditions) (fv3-atm, stochastic_physics, ufs-weather-model)
NOTE: see note below, re: specification of smc perturbation for RAP/HRRR/etc (lndp_model_type==2)
-revised code in stochastic_physics_wrapper to only allocate arrays that will be used when passed into lndp_apply_perts (fv3-atm)
-deleted unused albedo arrays in stochastic_physics_wrapper and lndp_apply_perts (fv3-atm, stochastic_physics)
-fixed bug causing precision errors when calculating the soil moisture ice content (often ~0.0; stochastic_physics)
-fixed bug in which lndp_apply_perts wasn't called for nscyc = 0. (fv3-atm)
-increased max_nvar_lndp at Jeff Ator's request (fv3-atm)
-added a new test for the Noah-MP and lndp==2 combination (ufs-weather-model)
Changes to tests:
-added new control_p8_lndp to test Noah-MP land perts
-updated previous lndp tests with new results, now that precision errors when calculating the soil moisture ice content is fixed
-also, for rap_lndp_debug the perturbation to smc at the initial conditions (applied only once) was previously specified as a rate, then divided by the time step before being applied. This makes the magnitude of perturbation dependent on the model time step. This has been fixed with the introduction of the lndp_model_type==2 option for regional sysyems, so that the perturbation is now specified as an absolute amount (changed 0.2 to 0.017 in the test). The previously used smc pert needs to be multiplied by timestep/3600 to get the same results with the new code.
New tests are here on hera:
/scratch2/BMC/gsienkf/Clara.Draper/stmp4/Clara.Draper/FV3_RT/REGRESSION_TEST_INTEL
Note: long term, we will probably want to move the Noah-MP perturbations into the land model driver, as it's getting increasingly awkward in it's current location.