7 DK, DEK, DECK, DMK, HPROGRAM,HINIT,KI,KSW,PSW_BANDS,KPATCH)
57 USE modd_data_cover_par
, ONLY: nvegtype
63 USE modi_allocate_teb_veg
65 USE modi_read_teb_greenroof_n
68 USE modi_init_from_data_teb_veg_n
69 USE modi_avg_albedo_emis_teb_veg
70 USE modi_diag_teb_veg_init_n
91 TYPE(
diag_t),
INTENT(INOUT) :: DK
96 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
97 CHARACTER(LEN=3),
INTENT(IN) :: HINIT
98 INTEGER,
INTENT(IN) :: KI
99 INTEGER,
INTENT(IN) :: KSW
100 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
101 INTEGER,
INTENT(IN) :: KPATCH
110 CHARACTER(LEN=3) :: YPATCH
112 REAL,
DIMENSION(KI) :: ZWG1
113 REAL,
DIMENSION(KI) :: ZTG1
114 REAL,
DIMENSION(KI,KSW) :: ZDIR_ALB
115 REAL,
DIMENSION(KI,KSW) :: ZSCA_ALB
116 REAL,
DIMENSION(KI) :: ZEMIS
117 REAL,
DIMENSION(KI) :: ZTSRAD
119 REAL(KIND=JPRB) :: ZHOOK_HANDLE
125 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GREENROOF_N',0,zhook_handle)
134 IF( io%CCPSURF==
'DRY' .AND.
lcpl_arp )
THEN 135 CALL abor1_sfx(
'CCPSURF=DRY must not be used with LCPL_ARP')
140 IF (hinit/=
'ALL')
THEN 141 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GREENROOF_N',1,zhook_handle)
148 ALLOCATE(k%XFFLOOD (ki))
150 ALLOCATE(k%XFFG (ki))
151 ALLOCATE(k%XFFV (ki))
152 ALLOCATE(k%XFFROZEN(ki))
153 ALLOCATE(k%XALBF (ki))
154 ALLOCATE(k%XEMISF (ki))
163 ALLOCATE(k%XFSAT(ki))
175 IF (top%NTEB_PATCH>1)
WRITE(ypatch,fmt=
'(A,I1,A)')
'T',kpatch,
'_' 179 dtv%LIMP_VEG = .false.
180 dtv%LIMP_Z0 = .false.
181 dtv%LIMP_EMIS = .false.
184 CALL init_veg_n(io, k, p, pek, dtv, dmto%LSURF_DIAG_ALBEDO, zdir_alb, zsca_alb, zemis, ztsrad )
186 zwg1(:) = pek%XWG(:,1)
187 ztg1(:) = pek%XTG(:,1)
189 IF (.NOT. io%LPAR)
THEN 190 CALL soil_albedo(io%CALBEDO, k%XWSAT(:,1),zwg1, k, pek,
"ALL" )
192 IF (top%TTIME%TDATE%MONTH /=
nundef)
THEN 193 idecade = 3 * ( top%TTIME%TDATE%MONTH - 1 ) + min(top%TTIME%TDATE%DAY-1,29) / 10 + 1
200 WHERE (pek%XALBNIR_SOIL(:)==
xundef)
201 pek%XALBNIR_SOIL(:)=0.225
202 pek%XALBVIS_SOIL(:)=0.15
203 pek%XALBUV_SOIL (:)=0.07965
212 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GREENROOF_N',1,zhook_handle)
subroutine init_veg_n(IO, KK, PK, PEK, DTV, OSURF_DIAG_ALBEDO, PDIR_ALB, PSCA_ALB, PEMIS_OUT, PTSRAD)
subroutine abor1_sfx(YTEXT)
subroutine allocate_teb_veg(PEK, KLU, KGROUND_LAYER, KNBIOMASS)
integer, parameter nundef
subroutine diag_teb_veg_init_n(DK, DEK, DECK, DMK, KLU, KSNOW_LAYE
subroutine soil_albedo(HALBEDO, PWSAT, PWG1, KK, PEK, HBAND)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine read_teb_greenroof_n(DTCO, U, IO, P, PEK, HPROGRAM, HPA
subroutine init_teb_greenroof_n(DTCO, U, DMTO, TOP, IO, DTV, K, P, PEK, DK, DEK, DECK, DMK, HPROGRAM, HINIT, KI, KSW, PSW_BANDS, KPATCH)
subroutine init_from_data_teb_veg_n(DTV, K, P, PEK, KDECADE, OUPD
subroutine avg_albedo_emis_teb_veg(PEK, HALBEDO, PTG1, PSW_BANDS,