diff --git a/src/clm5/biogeophys/CanopyTemperatureMod.F90 b/src/clm5/biogeophys/CanopyTemperatureMod.F90 index 7429fa130..f2d22e321 100644 --- a/src/clm5/biogeophys/CanopyTemperatureMod.F90 +++ b/src/clm5/biogeophys/CanopyTemperatureMod.F90 @@ -259,9 +259,7 @@ subroutine CanopyTemperature(bounds, & fac = min(1._r8, wx/watsat(c,1)) fac = max( fac, 0.01_r8 ) #ifdef COUP_OAS_PFL - ! clm3.5/bld/usr.src/Biogeophysics1Mod.F90 - if (pfl_psi(c,1)>= 0.0_r8) psit = 0._r8 - if (pfl_psi(c,1) < 0.0_r8) psit = pfl_psi(c,1) + psit = max(smpmin(c), min(0._r8, pfl_psi(c,1))) #else psit = -sucsat(c,1) * fac ** (-bsw(c,1)) psit = max(smpmin(c), psit) diff --git a/src/clm5/biogeophys/SoilStateInitTimeConstMod.F90 b/src/clm5/biogeophys/SoilStateInitTimeConstMod.F90 index 935e26c76..42d07590c 100644 --- a/src/clm5/biogeophys/SoilStateInitTimeConstMod.F90 +++ b/src/clm5/biogeophys/SoilStateInitTimeConstMod.F90 @@ -187,7 +187,11 @@ subroutine SoilStateInitTimeConst(bounds, soilstate_inst, nlfilename) begg = bounds%begg; endg= bounds%endg do c = begc,endc +#ifdef COUP_OAS_PFL + soilstate_inst%smpmin_col(c) = -1.e6_r8 +#else soilstate_inst%smpmin_col(c) = -1.e8_r8 +#endif end do ! -------------------------------------------------------------------- diff --git a/src/clm5/biogeophys/SoilWaterMovementMod.F90 b/src/clm5/biogeophys/SoilWaterMovementMod.F90 index bc6c5c5ac..f86212882 100644 --- a/src/clm5/biogeophys/SoilWaterMovementMod.F90 +++ b/src/clm5/biogeophys/SoilWaterMovementMod.F90 @@ -1489,6 +1489,7 @@ subroutine soilwater_parflow(bounds, num_hydrologyc, & associate(& smp_l => soilstate_inst%smp_l_col , & ! Input: [real(r8) (:,:) ] soil matrix potential [mm] h2osoi_liq => waterstate_inst%h2osoi_liq_col , & ! Input: [real(r8) (:,:) ] liquid water (kg/m2) + smpmin => soilstate_inst%smpmin_col , & ! Input: [real(r8) (:) ] restriction for min of soil potential (mm) pfl_h2osoi_liq => waterstate_inst%pfl_h2osoi_liq_col , & ! Input: [real(r8) (:,:) ] ParFlow soil water (mm) pfl_psi => waterstate_inst%pfl_psi_col & ! Input: [real(r8) (:,:) ] ParFlow pressure head (mm) ) ! end associate statement @@ -1502,7 +1503,7 @@ subroutine soilwater_parflow(bounds, num_hydrologyc, & do j = 1, nlevgrnd h2osoi_liq(c,j) = pfl_h2osoi_liq(c,j) if (pfl_psi(c,j) <= 0) then - smp_l(c,j) = pfl_psi(c,j) + smp_l(c,j) = max(smpmin(c), pfl_psi(c,j)) end if end do end do