7 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,kluout,ounif)
43 USE modi_read_prep_surf_atm_conf
48 cfile_hug_gr, ctype_hug, &
49 cfile_hug_surf_gr, cfile_hug_root_gr, cfile_hug_deep_gr, &
50 xhug_surf_gr, xhug_root_gr, xhug_deep_gr, &
51 xhugi_surf_gr, xhugi_root_gr, xhugi_deep_gr, &
52 cfile_tg_gr, ctype_tg, &
53 cfile_tg_surf_gr, cfile_tg_root_gr, cfile_tg_deep_gr, &
54 xtg_surf_gr, xtg_root_gr, xtg_deep_gr
59 USE yomhook
,ONLY : lhook, dr_hook
60 USE parkind1
,ONLY : jprb
69 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
70 CHARACTER(LEN=7),
INTENT(IN) :: hvar
71 CHARACTER(LEN=28),
INTENT(OUT) :: hfile
72 CHARACTER(LEN=6),
INTENT(OUT) :: hfiletype
73 CHARACTER(LEN=28),
INTENT(OUT) :: hfilepgd
74 CHARACTER(LEN=6),
INTENT(OUT) :: hfilepgdtype
75 CHARACTER(LEN=28),
INTENT(IN) :: hatmfile
76 CHARACTER(LEN=6),
INTENT(IN) :: hatmfiletype
77 CHARACTER(LEN=28),
INTENT(IN) :: hpgdfile
78 CHARACTER(LEN=6),
INTENT(IN) :: hpgdfiletype
79 INTEGER,
INTENT(IN) :: kluout
80 LOGICAL,
INTENT(OUT) :: ounif
90 CHARACTER(LEN=28) :: ynamelist
93 REAL(KIND=JPRB) :: zhook_handle
97 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_GREENROOF_CONF',0,zhook_handle)
113 IF (len_trim(cfile_hug_gr)>0 .AND. len_trim(ctype_hug)>0 )
THEN
115 hfiletype = ctype_hug
118 IF (len_trim(cfile_tg_gr)>0 .AND. len_trim(ctype_tg)>0 )
THEN
124 IF (len_trim(hfile)==0 .AND. len_trim(cfile_gr)>0 .AND. len_trim(ctype)>0)
THEN
129 IF (len_trim(hfilepgd)==0 .AND. len_trim(cfilepgd_gr)>0 .AND. len_trim(ctypepgd)>0)
THEN
130 hfilepgd = cfilepgd_gr
131 hfilepgdtype = ctypepgd
137 IF (len_trim(hfile)==0)
THEN
140 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,kluout)
149 IF ( len_trim(ctype_hug )>0 .AND. &
150 len_trim(cfile_hug_surf_gr)>0 .AND. &
151 len_trim(cfile_hug_root_gr)>0 .AND. &
152 len_trim(cfile_hug_deep_gr)>0 )
THEN
153 hfiletype = ctype_hug
155 IF (hvar==
'WGI ' .AND. hfiletype==
'ASCLLV')
THEN
157 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_GREENROOF_CONF',1,zhook_handle)
161 IF ( len_trim(ctype_tg )>0 .AND. &
162 len_trim(cfile_tg_surf_gr)>0 .AND. &
163 len_trim(cfile_tg_root_gr)>0 .AND. &
164 len_trim(cfile_tg_deep_gr)>0 )
THEN
176 ounif = (xhug_surf_gr/=xundef) .OR. (xhug_root_gr/=xundef) .OR. (xhug_deep_gr/=xundef)
177 IF (ounif .AND. (xhug_surf_gr==xundef))
THEN
178 WRITE(kluout,*)
'ONE OF XHUG_SURF_GR, XHUG_ROOT_GR OR XHUG_DEEP_GR IS GIVEN'
179 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUG_SURF_GR MUST BE SET')
181 IF (ounif .AND. (xhug_root_gr==xundef))
THEN
182 WRITE(kluout,*)
'ONE OF XHUG_SURF_GR, XHUG_ROOT_GR OR XHUG_DEEP_GR IS GIVEN'
183 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUG_ROOT_GR MUST BE SET')
185 IF (ounif .AND. (xhug_deep_gr==xundef))
THEN
186 WRITE(kluout,*)
'ONE OF XHUG_SURF_GR, XHUG_ROOT_GR OR XHUG_DEEP_GR IS GIVEN'
187 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUG_DEEP MUST BE SET')
191 ounif = (xhugi_surf_gr/=xundef) .OR. (xhugi_root_gr/=xundef) .OR. (xhugi_deep_gr/=xundef)
192 IF (ounif .AND. (xhugi_surf_gr==xundef))
THEN
193 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GR, XHUGI_ROOT_GR OR XHUGI_DEEP_GR IS GIVEN'
194 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUGI_SURF_GR MUST BE SET')
196 IF (ounif .AND. (xhugi_root_gr==xundef))
THEN
197 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GR, XHUGI_ROOT_GR OR XHUGI_DEEP_GR IS GIVEN'
198 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUGI_ROOT_GR MUST BE SET')
200 IF (ounif .AND. (xhugi_deep_gr==xundef))
THEN
201 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GR, XHUGI_ROOT_GR OR XHUGI_DEEP_GR IS GIVEN'
202 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XHUGI_DEEP_GR MUST BE SET')
206 ounif = (xtg_surf_gr/=xundef) .OR. (xtg_root_gr/=xundef) .OR. (xtg_deep_gr/=xundef)
207 IF (ounif .AND. (xtg_surf_gr==xundef))
THEN
208 WRITE(kluout,*)
'ONE OF XTG_SURF_GR, XTG_ROOT_GR OR XTG_DEEP_GR IS GIVEN'
209 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XTG_SURF_GR MUST BE SET')
211 IF (ounif .AND. (xtg_root_gr==xundef))
THEN
212 WRITE(kluout,*)
'ONE OF XTG_SURF_GR, XTG_ROOT_GR OR XTG_DEEP_GR IS GIVEN'
213 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XTG_ROOT_GR MUST BE SET')
215 IF (ounif .AND. (xtg_deep_gr==xundef))
THEN
216 WRITE(kluout,*)
'ONE OF XTG_SURF_GR, XTG_ROOT_GR OR XTG_DEEP_GR IS GIVEN'
217 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: XTG_DEEP_GR MUST BE SET')
227 IF (len_trim(hfiletype)==0 .AND. .NOT. ounif)
THEN
228 IF (hvar(1:2)/=
'TG' .AND. hvar(1:2)/=
'WG')
THEN
229 IF (hvar(1:2)/=
'ZS')
WRITE(kluout,*)
'NO FILE FOR FIELD ',hvar, &
230 ': UNIFORM DEFAULT FIELD IS PRESCRIBED'
232 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_GREENROOF_CONF',1,zhook_handle)
235 WRITE(kluout,*)
'AN INPUT FILE OR A UNIFORM VALUE IS REQUIRED FOR FIELD: ',hvar
236 WRITE(kluout,*)
'Please complete NAM_PREP_TEB_GREENROOF'
237 CALL
abor1_sfx(
'READ_PREP_TEB_GREENROOF_CONF: AN INPUT FILE OR A UNIFORM VALUE IS REQUIRED FOR '//hvar)
240 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_GREENROOF_CONF',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine read_prep_surf_atm_conf(HPROGRAM, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, KLUOUT)
subroutine read_prep_teb_greenroof_conf(HPROGRAM, HVAR, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, KLUOUT, OUNIF)