6 SUBROUTINE init_teb_garden_n (DTCO, UG, U, DMTO, TOP, IO, DTV, K, P, PEK, &
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_garden_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
92 TYPE(
diag_t),
INTENT(INOUT) :: DK
97 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
98 CHARACTER(LEN=3),
INTENT(IN) :: HINIT
99 INTEGER,
INTENT(IN) :: KI
100 INTEGER,
INTENT(IN) :: KSW
101 REAL,
DIMENSION(KSW),
INTENT(IN) :: PSW_BANDS
102 INTEGER,
INTENT(IN) :: KPATCH
113 CHARACTER(LEN=3) :: YPATCH
115 REAL,
DIMENSION(KI) :: ZWG1
116 REAL,
DIMENSION(KI) :: ZTG1
117 REAL,
DIMENSION(KI,KSW) :: ZDIR_ALB
118 REAL,
DIMENSION(KI,KSW) :: ZSCA_ALB
119 REAL,
DIMENSION(KI) :: ZEMIS
120 REAL,
DIMENSION(KI) :: ZTSRAD
122 REAL(KIND=JPRB) :: ZHOOK_HANDLE
128 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GARDEN_N',0,zhook_handle)
139 IF( io%CCPSURF==
'DRY' .AND.
lcpl_arp )
THEN 140 CALL abor1_sfx(
'CCPSURF=DRY must not be used with LCPL_ARP')
145 IF (hinit/=
'ALL')
THEN 146 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GARDEN_N',1,zhook_handle)
153 ALLOCATE(k%XFFLOOD (ki))
155 ALLOCATE(k%XFFG (ki))
156 ALLOCATE(k%XFFV (ki))
157 ALLOCATE(k%XFFROZEN(ki))
158 ALLOCATE(k%XALBF (ki))
159 ALLOCATE(k%XEMISF (ki))
168 ALLOCATE(k%XFSAT(ki))
180 IF (top%NTEB_PATCH>1)
WRITE(ypatch,fmt=
'(A,I1,A)')
'T',kpatch,
'_' 184 dtv%LIMP_VEG = .false.
185 dtv%LIMP_Z0 = .false.
186 dtv%LIMP_EMIS = .false.
189 CALL init_veg_n(io, k, p, pek, dtv, dmto%LSURF_DIAG_ALBEDO, zdir_alb, zsca_alb, zemis, ztsrad )
191 zwg1(:) = pek%XWG(:,1)
192 ztg1(:) = pek%XTG(:,1)
194 IF (.NOT. io%LPAR)
THEN 195 CALL soil_albedo(io%CALBEDO, k%XWSAT(:,1),zwg1, k, pek,
"ALL" )
197 IF (top%TTIME%TDATE%MONTH /=
nundef)
THEN 198 idecade = 3 * ( top%TTIME%TDATE%MONTH - 1 ) + min(top%TTIME%TDATE%DAY-1,29) / 10 + 1
206 WHERE (pek%XALBNIR_SOIL(:)==
xundef)
207 pek%XALBNIR_SOIL(:)=0.225
208 pek%XALBVIS_SOIL(:)=0.15
209 pek%XALBUV_SOIL (:)=0.07965
218 IF (
lhook)
CALL dr_hook(
'INIT_TEB_GARDEN_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 init_teb_garden_n(DTCO, UG, U, DMTO, TOP, IO, DTV, K, P, PEK, DK, DEK, DECK, DMK, HPROGRAM, HINIT, KI, KSW, PSW_BANDS, KPATCH)
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 init_from_data_teb_veg_n(DTV, K, P, PEK, KDECADE, OUPD
subroutine avg_albedo_emis_teb_veg(PEK, HALBEDO, PTG1, PSW_BANDS,
subroutine read_teb_garden_n(DTCO, U, IO, P, PEK, HPROGRAM, HPATCH