Skip to content

Commit fa2d209

Browse files
authored
Merge pull request #124 from NCAR/develop
Sync with Develop branch for bug fix
2 parents 44bef28 + ce86364 commit fa2d209

File tree

5 files changed

+9
-6
lines changed

5 files changed

+9
-6
lines changed

README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@ Technical documentation freely available at http://dx.doi.org/10.5065/ew8g-yr95
2828

2929
**Noah-MP version 5.0 model description paper**: He, C., Valayamkunnath, P., Barlage, M., Chen, F., Gochis, D., Cabell, R., Schneider, T., Rasmussen, R., Niu, G.-Y., Yang, Z.-L., Niyogi, D., and Ek, M.: Modernizing the open-source community Noah with multi-parameterization options (Noah-MP) land surface model (version 5.0) with enhanced modularity, interoperability, and applicability, Geosci. Model Dev., 16, 5131–5151, https://doi.org/10.5194/gmd-16-5131-2023, 2023.
3030

31+
**Noah-MP development future priority paper**: He, C., Chen, F., Barlage, M., Yang, Z.-L., Wegiel, J. W., Niu, G.-Y., Gochis, D., Mocko, D. M., Abolafia-Rosenzweig, R., Zhang, Z., Lin, T.-S., Valayamkunnath, P., Ek, M., and Niyogi, D. (2023): Enhancing the community Noah-MP land model capabilities for Earth sciences and applications, Bull. Amer. Meteor. Soc., E2023–E2029, https://doi.org/10.1175/BAMS-D-23-0249.1
32+
3133

3234
## Noah-MP GitHub structure
3335

src/AtmosForcingMod.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -154,7 +154,7 @@ subroutine ProcessAtmosForcing(noahmp)
154154
! wet-bulb scheme (Wang et al., 2019 GRL), C.He, 12/18/2020, R. Abolafia-Rosnezweig, 02/01/2024
155155
if ( OptRainSnowPartition == 5 ) then
156156

157-
if ( TemperatureAirRefHeight >= (ConstFreezePoint+10) ) then !avoid numerical errors when temperature is high
157+
if ( TemperatureAirRefHeight >= (ConstFreezePoint+8) ) then !avoid numerical errors when temperature is high
158158
FrozenPrecipFrac = 0.0
159159
else
160160
TemperatureDegC = min( 50.0, max(-50.0,(TemperatureAirRefHeight-ConstFreezePoint)) ) ! Kelvin to degree Celsius with limit -50 to +50

src/PhenologyMainMod.F90

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ subroutine PhenologyMain (noahmp)
111111
ThicknessCanBury = min(max(SnowDepth-HeightCanopyBot,0.0), (HeightCanopyTop-HeightCanopyBot))
112112
CanopyFracSnowBury = ThicknessCanBury / max(1.0e-06, (HeightCanopyTop-HeightCanopyBot)) ! snow buried fraction
113113
if ( (HeightCanopyTop > 0.0) .and. (HeightCanopyTop <= 1.0) ) then ! MB: change to 1.0 & 0.2 to reflect changes to HeightCanopyTop in MPTABLE
114-
SnowDepthVegBury = HeightCanopyTop * exp(-SnowDepth / 0.2)
114+
SnowDepthVegBury = HeightCanopyTop * exp(-min(SnowDepth,10.0) / 0.2) ! CH: add limit to avoid numerical floating issue
115115
CanopyFracSnowBury = min(SnowDepth, SnowDepthVegBury) / SnowDepthVegBury
116116
endif
117117

src/ResistanceAboveCanopyChen97Mod.F90

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ subroutine ResistanceAboveCanopyChen97(noahmp, IterationInd)
6262
! local statement functions
6363
! LECH'S surface functions
6464
PSLMU(ZZ) = -0.96 * log(1.0 - 4.5 * ZZ)
65-
PSLMS(ZZ) = ZZ * RRIC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
65+
PSLMS(ZZ) = ZZ / RFC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
6666
PSLHU(ZZ) = -0.96 * log(1.0 - 4.5 * ZZ)
67-
PSLHS(ZZ) = ZZ * RFAC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
67+
PSLHS(ZZ) = ZZ * RFAC - 2.076 * (1.0 - exp(-1.2 * ZZ))
6868
! PAULSON'S surface functions
6969
PSPMU(XX) = -2.0*log( (XX+1.0)*0.5 ) - log( (XX*XX+1.0)*0.5 ) + 2.0*atan(XX) - PIHF
7070
PSPMS(YY) = 5.0 * YY

src/ResistanceBareGroundChen97Mod.F90

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,9 +63,10 @@ subroutine ResistanceBareGroundChen97(noahmp, IndIter)
6363
! local statement functions
6464
! LECH'S surface functions
6565
PSLMU(ZZ) = -0.96 * log(1.0 - 4.5 * ZZ)
66-
PSLMS(ZZ) = ZZ * RRIC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
66+
PSLMS(ZZ) = ZZ / RFC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
6767
PSLHU(ZZ) = -0.96 * log(1.0 - 4.5 * ZZ)
68-
PSLHS(ZZ) = ZZ * RFAC - 2.076 * (1.0 - 1.0/(ZZ + 1.0))
68+
PSLHS(ZZ) = ZZ * RFAC - 2.076 * (1.0 - exp(-1.2 * ZZ))
69+
6970
! PAULSON'S surface functions
7071
PSPMU(XX) = -2.0*log( (XX+1.0)*0.5 ) - log( (XX*XX+1.0)*0.5 ) + 2.0*atan(XX) - PIHF
7172
PSPMS(YY) = 5.0 * YY

0 commit comments

Comments
 (0)