Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Correct initialization of soil liquid water content for Noah-MP #1244

Open
wants to merge 1 commit into
base: hotfix-v8.2.3
Choose a base branch
from

Conversation

ldfowler58
Copy link
Contributor

This PR corrects the computation of the soil temperature (TSLB) in the Noah-MP land surface scheme. In this PR, we added the initialization of the soil liquid water (SH2O) in subroutine noahmp_init in module mpas_atmphys_lsm_noahmpinit.F prior to calling subroutine NoahmpInitMain.

Prior to adding the initialization of SH2O, running Noah-MP led TSLB to be set to ConstFreezePoint (273.16 K) in SoilSnowWaterPhaseChangeMod.F90 although the input TSLB was greater than ConstFreezePoint on the very first time step. This error occurred because TSLB is calculated as a function of the soil liquid (MassWatLiqTmp) and ice (MassWatIceTmp) water mass, and MassWatLiqTmp is always equal to 0 when not properly initializing SH2O.

@mgduda mgduda changed the title * Correct initialization of soil liquid water content for Noah-MP Correct initialization of soil liquid water content for Noah-MP Nov 1, 2024
Copy link
Contributor

@mgduda mgduda left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be very helpful to add some comments to the code to explain what each branch is doing. For example, which cells are affected by this condition

       if(ivgtyp(i) == mpas_noahmp%isice_table .and. xice(i) .le. 0._RKIND) then

and which are affected by this condition

       if(bexp.gt.0. .and. smcmax.gt.0. .and. psisat.gt.0.) then

?
It could also help to give names (and explanatory comments) for the constants used in the code (263.15, 273.149, 0.02).

src/core_atmosphere/physics/mpas_atmphys_lsm_noahmpinit.F Outdated Show resolved Hide resolved
…ed the initialization

  of variable sh2o (soil liquid water) prior to calling subroutine NoahmpInitMain in
  subroutine noahmp_init.
@ldfowler58
Copy link
Contributor Author

I corrected the index n to ns in the computation of smois. I added a couple of comments to the initialization, as in the non-refactored version of Noah-MP (also refer to module_sf_noahmpdrv.F in WRF/phys).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants