Skip to content

Commit 31a233f

Browse files
gammz initialization required
1 parent 3178b8b commit 31a233f

File tree

1 file changed

+9
-12
lines changed

1 file changed

+9
-12
lines changed

src/science/soilsnow/cbl_soilsnow_init_special.F90

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -27,15 +27,12 @@ SUBROUTINE spec_init_soil_snow(dels, soil, ssnow, canopy, met, bal, veg,heat_cap
2727
REAL, DIMENSION(mp) :: xx, tgg_old, tggsn_old
2828
REAL(r_2), DIMENSION(mp) :: xxx,deltat,sinfil1,sinfil2,sinfil3
2929
REAL :: zsetot
30-
INTEGER, SAVE :: ktau =0
3130
REAL :: heat_cap_lower_limit(mp,ms)
3231

33-
ktau = ktau +1
3432
! since CMIP5 only ever (potentially) TRUE offline if special initialization
33+
! requested and then only on first timestep
3534
IF( .NOT.cable_user%cable_runtime_coupled ) THEN
3635

37-
IF( ktau_gl <= 1 ) THEN
38-
3936
! after discussion with BP
4037
! N.B. snmin should exceed sum of layer depths, i.e. .11 m
4138
ssnow%wbtot = 0.0
@@ -75,18 +72,18 @@ SUBROUTINE spec_init_soil_snow(dels, soil, ssnow, canopy, met, bal, veg,heat_cap
7572
ssnow%gammzz(:,1) = MAX( (1.0 - soil%ssat) * soil%css * soil%rhosoil &
7673
& + (ssnow%wb(:,1) - ssnow%wbice(:,1) ) * Ccswat * Cdensity_liq &
7774
& + ssnow%wbice(:,1) * Ccsice * Cdensity_ice, xx ) * soil%zse(1)
78-
END IF
75+
7976
ENDIF ! if(.NOT.cable_runtime_coupled)
8077

8178
! this is done in all cases? overwrites gammzz from above and mediates thru
8279
! snowd% (but only for single layer snow)
83-
IF (ktau <= 1) THEN
84-
xx=heat_cap_lower_limit(:,1)
85-
ssnow%gammzz(:,1) = MAX( (1.0 - soil%ssat) * soil%css * soil%rhosoil &
86-
& + (ssnow%wb(:,1) - ssnow%wbice(:,1) ) * Ccswat * Cdensity_liq &
87-
& + ssnow%wbice(:,1) * Ccsice * Cdensity_ice, xx ) * soil%zse(1) + &
88-
& (1. - ssnow%isflag) * Ccgsnow * ssnow%snowd
89-
END IF
80+
81+
! Evaluated on first timestep offline/ ESM1.5
82+
xx=heat_cap_lower_limit(:,1)
83+
ssnow%gammzz(:,1) = MAX( (1.0 - soil%ssat) * soil%css * soil%rhosoil &
84+
& + (ssnow%wb(:,1) - ssnow%wbice(:,1) ) * Ccswat * Cdensity_liq &
85+
& + ssnow%wbice(:,1) * Ccsice * Cdensity_ice, xx ) * soil%zse(1) + &
86+
& (1. - ssnow%isflag) * Ccgsnow * ssnow%snowd
9087

9188
END SUBROUTINE spec_init_soil_snow
9289

0 commit comments

Comments
 (0)