7 HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE,KLUOUT,OUNIF)
43 USE modi_read_prep_surf_atm_conf
47 USE modd_prep_teb_greenroof
, ONLY : cfile_gr, ctype, cfilepgd_gr, ctypepgd, &
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
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)>
THEN 129 IF (len_trim(hfilepgd)==0 .AND. len_trim(cfilepgd_gr)>0 .AND. len_trim(ctypepgd
THEN 130 hfilepgd = cfilepgd_gr
131 hfilepgdtype = ctypepgd
137 IF (len_trim(hfile)==0)
THEN 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
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
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
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: ' 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 ' 240 IF (
lhook)
CALL dr_hook(
'READ_PREP_TEB_GREENROOF_CONF',1,zhook_handle)
subroutine read_prep_teb_greenroof_conf(HPROGRAM, HVAR, HFILE, HFILET
subroutine abor1_sfx(YTEXT)
subroutine read_prep_surf_atm_conf(HPROGRAM, HFILE, HFILETYPE, HFILEP