58 USE yomhook
,ONLY : lhook, dr_hook
59 USE parkind1
,ONLY : jprb
70 TYPE(teb_t),
INTENT(INOUT) :: t
73 INTEGER,
INTENT(IN) :: kflag
79 REAL :: zwr, ztg, zwg, zresa, zanfm, zdef
81 REAL(KIND=JPRB) :: zhook_handle
88 IF (lhook) CALL dr_hook(
'FLAG_TEB_GREENROOF_N',0,zhook_handle)
98 ELSEIF (kflag==2)
THEN
109 DO jl1=1,tgro%NLAYER_GR
110 WHERE (t%CUR%XGREENROOF(:)==0.)
111 tgr%CUR%XTG (:,jl1) = ztg
112 tgr%CUR%XWG (:,jl1) = zwg
113 tgr%CUR%XWGI(:,jl1) = zdef
117 WHERE (t%CUR%XGREENROOF(:)==0.)
118 tgr%CUR%XWR (:) = zwr
119 tgr%CUR%XRESA(:) = zresa
122 IF (tvg%CPHOTO/=
'NON')
THEN
124 WHERE (t%CUR%XGREENROOF(:)==0.)
125 tgr%CUR%XANFM (:) = zanfm
126 tgr%CUR%XAN (:) = zdef
127 tgr%CUR%XANDAY(:) = zdef
128 tgr%CUR%XLE (:) = zdef
131 ELSE IF (tvg%CPHOTO==
'LAI' .OR. tvg%CPHOTO==
'LST' .OR. tvg%CPHOTO==
'NIT' .OR. tvg%CPHOTO==
'NCB')
THEN
133 WHERE (t%CUR%XGREENROOF(:)==0.) tgrpe%CUR%XLAI(:) = zdef
135 ELSE IF (tvg%CPHOTO==
'AGS' .OR. tvg%CPHOTO==
'AST')
THEN
137 DO jl1=1,
SIZE(tgr%CUR%XBIOMASS,2)
138 WHERE (t%CUR%XGREENROOF(:)==0.)
139 tgr%CUR%XBIOMASS (:,jl1) = zdef
140 tgr%CUR%XRESP_BIOMASS(:,jl1) = zdef
153 CALL
flag_gr_snow(kflag,t%CUR%XGREENROOF(:)==0.,tgr%CUR%TSNOW)
159 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB = 0.2
160 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB_VEG = 0.2
161 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB_SOIL = 0.2
162 ELSEIF (kflag==2)
THEN
163 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB = xundef
164 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB_VEG = xundef
165 WHERE (t%CUR%XGREENROOF==0.) tgr%CUR%XSNOWFREE_ALB_SOIL = xundef
170 IF (lhook) CALL dr_hook(
'FLAG_TEB_GREENROOF_N',1,zhook_handle)
subroutine flag_gr_snow(KFLAG, OMASK, TPSNOW)
subroutine flag_teb_greenroof_n(TGR, TGRO, TGRPE, T, TVG, KFLAG)