7 hprogram,hinit,ki,ksw,psw_bands,kpatch)
60 USE modi_read_prep_greenroof_snow
61 USE modi_allocate_teb_greenroof
63 USE modi_read_teb_greenroof_n
64 USE modi_init_veg_garden_n
66 USE modi_init_from_data_greenroof_n
67 USE modi_avg_albedo_emis_greenroof
69 USE yomhook
,ONLY : lhook, dr_hook
70 USE parkind1
,ONLY : jprb
85 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
86 CHARACTER(LEN=3),
INTENT(IN) :: hinit
87 INTEGER,
INTENT(IN) :: ki
88 INTEGER,
INTENT(IN) :: ksw
89 REAL,
DIMENSION(KSW),
INTENT(IN) :: psw_bands
90 INTEGER,
INTENT(IN) :: kpatch
99 CHARACTER(LEN=3) :: ypatch
101 REAL,
DIMENSION(KI) :: zwg1
102 REAL,
DIMENSION(KI) :: ztg1
103 REAL,
DIMENSION(KI,KSW) :: zdir_alb
104 REAL,
DIMENSION(KI,KSW) :: zsca_alb
105 REAL,
DIMENSION(KI) :: zemis
106 REAL,
DIMENSION(KI) :: ztsrad
108 REAL(KIND=JPRB) :: zhook_handle
114 IF (lhook) CALL dr_hook(
'INIT_TEB_GREENROOF_N',0,zhook_handle)
124 IF (hinit==
'PRE')
THEN
127 IF (grm%TGR%CUR%TSNOW%SCHEME.NE.
'3-L' .AND. grm%TGR%CUR%TSNOW%SCHEME.NE.
'CRO' &
128 .AND. grm%TGRO%CISBA_GR==
'DIF')
THEN
129 CALL
abor1_sfx(
"INIT_TEB_GREENROOF_n: WITH CISBA_GR = DIF, CSNOW MUST BE 3-L OR CRO")
131 IF (lhook) CALL dr_hook(
'INIT_TEB_GREENROOF_N',1,zhook_handle)
137 ki, grm%TGRO%NLAYER_GR)
141 IF( tvg%CCPSURF==
'DRY' .AND. lcpl_arp )
THEN
142 CALL
abor1_sfx(
'CCPSURF=DRY must not be used with LCPL_ARP')
147 IF (hinit/=
'ALL')
THEN
148 IF (lhook) CALL dr_hook(
'INIT_TEB_GREENROOF_N',1,zhook_handle)
161 IF (top%NTEB_PATCH>1)
WRITE(ypatch,fmt=
'(A,I1,A)')
'T',kpatch,
'_'
168 tvg%CPHOTO, grm%TGRP%XLAIMIN, grm%TGRP%XH_TREE, grm%TGRP%XVEGTYPE, &
169 grm%TGRPE%CUR%XLAI, grm%TGRPE%CUR%XZ0, grm%TGRPE%CUR%XVEG, &
170 grm%TGRPE%CUR%XEMIS, grm%TGRO%LTR_ML_GR, grm%TGR%CUR%XFAPARC, &
171 grm%TGR%CUR%XFAPIRC, grm%TGR%CUR%XLAI_EFFC, grm%TGR%CUR%XMUS, &
172 grm%TGRP%XALBNIR_SOIL, grm%TGRP%XALBVIS_SOIL, grm%TGRP%XALBUV_SOIL, &
173 grm%TGRPE%CUR%XALBNIR, grm%TGRPE%CUR%XALBVIS, grm%TGRPE%CUR%XALBUV, &
174 dgmto%LSURF_DIAG_ALBEDO, grm%TGR%CUR%XPSN, grm%TGR%CUR%XPSNG, &
175 grm%TGR%CUR%XPSNV, grm%TGR%CUR%XPSNV_A, &
176 zdir_alb, zsca_alb, zemis, ztsrad )
178 zwg1(:) = grm%TGR%CUR%XWG(:,1)
179 ztg1(:) = grm%TGR%CUR%XTG(:,1)
181 IF (.NOT. grm%TGRO%LPAR_GREENROOF)
THEN
183 grm%TGRP%XWSAT(:,1),zwg1, &
184 grm%TGRP%XALBVIS_DRY,grm%TGRP%XALBNIR_DRY,grm%TGRP%XALBUV_DRY, &
185 grm%TGRP%XALBVIS_WET,grm%TGRP%XALBNIR_WET,grm%TGRP%XALBUV_WET, &
186 grm%TGRP%XALBVIS_SOIL,grm%TGRP%XALBNIR_SOIL,grm%TGRP%XALBUV_SOIL )
188 IF (top%TTIME%TDATE%MONTH /= nundef)
THEN
189 idecade = 3 * ( top%TTIME%TDATE%MONTH - 1 ) + min(top%TTIME%TDATE%DAY-1,29) / 10 + 1
194 idecade,tvg%CPHOTO, &
195 palbnir_soil=grm%TGRP%XALBNIR_SOIL, &
196 palbvis_soil=grm%TGRP%XALBVIS_SOIL, &
197 palbuv_soil=grm%TGRP%XALBUV_SOIL )
203 grm%TGRPE%CUR%XVEG,grm%TGRPE%CUR%XZ0,grm%TGRPE%CUR%XLAI,ztg1, &
205 grm%TGRP%XALBNIR_VEG,grm%TGRP%XALBVIS_VEG,grm%TGRP%XALBUV_VEG, &
206 grm%TGRP%XALBNIR_SOIL,grm%TGRP%XALBVIS_SOIL,grm%TGRP%XALBUV_SOIL, &
207 grm%TGRPE%CUR%XEMIS, grm%TGR%CUR%TSNOW, &
208 grm%TGRPE%CUR%XALBNIR,grm%TGRPE%CUR%XALBVIS,grm%TGRPE%CUR%XALBUV, &
209 zdir_alb, zsca_alb, &
214 IF (lhook) CALL dr_hook(
'INIT_TEB_GREENROOF_N',1,zhook_handle)
subroutine allocate_teb_greenroof(TGR, TVG, KLU, KLAYER_GR)
subroutine read_prep_greenroof_snow(HPROGRAM, HSNOW, KSNOW_LAYER, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, OUNIF)
subroutine init_veg_garden_n(KI, OCANOPY, HROUGH, TPSNOW, HPHOTO, PLAIMIN, PH_TREE, PVEGTYPE, PLAI, PZ0, PVEG, PEMIS, OTR_ML, PFAPARC, PFAPIRC, PLAI_EFFC, PMUS, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PALBNIR, PALBVIS, PALBUV, OSURF_DIAG_ALBEDO, PPSN, PPSNG, PPSNV, PPSNV_A, PDIR_ALB, PSCA_ALB, PEMIS_OUT, PTSRAD)
subroutine abor1_sfx(YTEXT)
subroutine init_teb_greenroof_n(DTCO, U, DGMTO, TOP, TVG, GRM, HPROGRAM, HINIT, KI, KSW, PSW_BANDS, KPATCH)
subroutine init_from_data_greenroof_n(DTGR, TGRO, KDECADE, HPHOTO, POM_GR, PSAND_GR, PCLAY_GR, PVEG, PLAI, PRSMIN, PGAMMA, PWRMAX_CF, PRGL, PCV, PDG, PD_ICE, PZ0, PZ0_O_Z0H, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PEMIS, PVEGTYPE, PROOTFRAC, PGMES, PBSLAI, PLAIMIN, PSEFOLD, PGC, PDMAX, PF2I, OSTRESS, PH_TREE, PRE25, PCE_NITRO, PCF_NITRO, PCNA_NITRO, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine avg_albedo_emis_greenroof(TGR, HALBEDO, PVEG, PZ0, PLAI, PTG1, PSW_BANDS, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PEMIS_ECO, TPSNOW, PALBNIR_ECO, PALBVIS_ECO, PALBUV_ECO, PDIR_ALB, PSCA_ALB, PEMIS, PTSRAD)
subroutine read_teb_greenroof_n(DTCO, U, TVG, GRM, HPROGRAM, HPATCH)