70 USE modi_ch_open_inputb
71 USE modi_convert_cover_ch_isba
73 USE modd_ch_isba, ONLY: xrcclayso2, xrcclayo3, xrcsandso2, xrcsando3, &
74 xrcsnowso2, xrcsnowo3, xlandrext
85 USE yomhook
,ONLY : lhook, dr_hook
86 USE parkind1
,ONLY : jprb
94 TYPE(isba_t
),
INTENT(INOUT) :: i
96 INTEGER,
INTENT(IN) :: kch
97 INTEGER,
INTENT(IN) :: kluout
98 INTEGER,
INTENT(IN) :: klu
102 CHARACTER(LEN=40) :: yformat
104 CHARACTER(LEN=40) :: youtformat =
'(A32,2E15.5)'
107 CHARACTER(LEN=40),
DIMENSION(:),
ALLOCATABLE :: yresisname
108 REAL ,
DIMENSION(:),
ALLOCATABLE :: zresisval
111 INTEGER :: ji, jnreal
112 REAL(KIND=JPRB) :: zhook_handle
119 IF (lhook) CALL dr_hook(
'CH_INIT_DEP_ISBA_N',0,zhook_handle)
131 IF (chi%CCH_DRY_DEP ==
"WES89")
THEN
135 ALLOCATE(chi%XSOILRC_SO2(klu,i%NPATCH))
136 ALLOCATE(chi%XSOILRC_O3(klu,i%NPATCH))
139 i%XCOVER,i%LCOVER,chi%XSOILRC_SO2,chi%XSOILRC_O3)
146 ALLOCATE(chi%XDEP(klu,chi%SVI%NBEQ,i%NPATCH))
151 "CH_INIT_DEP_ISBA_n: reading reactivity factor "
152 CALL ch_open_inputb(
"SURF_RES", kch, kluout)
156 WRITE(kluout,*)
"number of reactivity factor : ", iresis
159 READ(kch,
"(A)") yformat
160 WRITE(kluout,*)
"input format is: ", yformat
164 ALLOCATE(yresisname(iresis))
165 ALLOCATE(zresisval(iresis))
170 READ(kch,yformat) yresisname(ji), zresisval(ji)
171 WRITE(kluout,yformat) yresisname(ji), zresisval(ji)
176 DO jnreal = 1, iresis
177 IF (
'LANDREXT'== yresisname(jnreal) (1:8)) xlandrext = zresisval(jnreal)
178 IF (
'RCSANDSO2'== yresisname(jnreal) (1:9)) xrcsandso2 = zresisval(jnreal)
179 IF (
'RCSANDO3'== yresisname(jnreal) (1:8)) xrcsando3 = zresisval(jnreal)
180 IF (
'RCCLAYSO2'== yresisname(jnreal) (1:9)) xrcclayso2 = zresisval(jnreal)
181 IF (
'RCCLAYO3'== yresisname(jnreal) (1:8)) xrcclayo3 = zresisval(jnreal)
182 IF (
'RCSNOWSO2'== yresisname(jnreal) (1:9)) xrcsnowso2 = zresisval(jnreal)
183 IF (
'RCSNOWO3'== yresisname(jnreal) (1:8)) xrcsnowo3 = zresisval(jnreal)
186 WRITE(kluout,
'(A)')
'----------------------------------------------------'
187 WRITE(kluout,
'(A)')
'SURF_RES'
188 WRITE(kluout,
'(A)')
'surface resistances (s/m)'
189 WRITE(kluout,
'(I4)') 7
190 WRITE(kluout,
'(A)') youtformat
191 WRITE(kluout,youtformat)
'LANDREXT', xlandrext
192 WRITE(kluout,youtformat)
'RCSANDSO2', xrcsandso2
193 WRITE(kluout,youtformat)
'RCSANDO3', xrcsando3
194 WRITE(kluout,youtformat)
'RCCLAYSO2', xrcclayso2
195 WRITE(kluout,youtformat)
'RCCLAYO3', xrcclayo3
196 WRITE(kluout,youtformat)
'RCSNOWSO2', xrcsnowso2
197 WRITE(kluout,youtformat)
'RCSNOWO3', xrcsnowo3
199 DEALLOCATE(yresisname)
200 DEALLOCATE(zresisval)
202 ALLOCATE(chi%XDEP(0,0,0))
204 IF (lhook) CALL dr_hook(
'CH_INIT_DEP_ISBA_N',1,zhook_handle)
subroutine ch_init_dep_isba_n(CHI, DTCO, I, KCH, KLUOUT, KLU)
subroutine convert_cover_ch_isba(DTCO, PCOVER, OCOVER, PSOILRC_SO2, PSOILRC_O3)