49 USE yomhook
,ONLY : lhook, dr_hook
50 USE parkind1
,ONLY : jprb
56 INTEGER,
INTENT(IN) :: kflag
58 LOGICAL,
DIMENSION(:),
INTENT(IN) :: omask
65 INTEGER :: jlayer, jpatch
66 REAL(KIND=JPRB) :: zhook_handle
68 IF (lhook) CALL dr_hook(
'FLAG_GR_SNOW',0,zhook_handle)
72 ELSEIF (kflag==2)
THEN
76 DO jpatch = 1,
SIZE(tpsnow%WSNOW,3)
78 DO jlayer = 1,tpsnow%NLAYER
80 WHERE(omask(:)) tpsnow%WSNOW(:,jlayer,jpatch) = zval
84 WHERE(omask(:)) tpsnow%RHO (:,jlayer,jpatch) = xundef
86 IF (
SIZE(tpsnow%TEMP ) >0)
THEN
88 tpsnow%TEMP (:,jlayer,jpatch) = xundef
89 tpsnow%HEAT (:,jlayer,jpatch) = xundef
93 IF (
SIZE(tpsnow%T ) >0)
WHERE(omask(:)) tpsnow%T(:,jlayer,jpatch) = xundef
95 IF (
SIZE(tpsnow%GRAN1) >0)
THEN
97 tpsnow%GRAN1(:,jlayer,jpatch) = xundef
98 tpsnow%GRAN2(:,jlayer,jpatch) = xundef
99 tpsnow%HIST (:,jlayer,jpatch) = xundef
100 tpsnow%AGE (:,jlayer,jpatch) = xundef
110 WHERE(omask(:)) tpsnow%ALB (:,jpatch) = xundef
111 WHERE(omask(:)) tpsnow%ALBVIS (:,jpatch) = xundef
112 WHERE(omask(:)) tpsnow%ALBNIR (:,jpatch) = xundef
113 WHERE(omask(:)) tpsnow%ALBFIR (:,jpatch) = xundef
115 IF (
SIZE(tpsnow%EMIS ) >0)
THEN
117 tpsnow%EMIS (:,jpatch) = xundef
118 tpsnow%TS (:,jpatch) = xundef
126 IF (lhook) CALL dr_hook(
'FLAG_GR_SNOW',1,zhook_handle)
subroutine flag_gr_snow(KFLAG, OMASK, TPSNOW)