7 HATMFILE,HATMFILETYPE,HPGDFILE,HPGDFILETYPE,KLUOUT,OUNIF)
42 USE modi_read_prep_surf_atm_conf
45 USE modd_prep_teb_garden
, ONLY : cfile_gd, ctype, cfilepgd_gd, ctypepgd, &
46 cfile_hug_gd, ctype_hug, &
47 cfile_hug_surf_gd, cfile_hug_root_gd, cfile_hug_deep_gd, &
48 xhug_surf_gd, xhug_root_gd, xhug_deep_gd, &
49 xhugi_surf_gd, xhugi_root_gd, xhugi_deep_gd, &
50 cfile_tg_gd, ctype_tg, &
51 cfile_tg_surf_gd, cfile_tg_root_gd, cfile_tg_deep_gd, &
52 xtg_surf_gd, xtg_root_gd, xtg_deep_gd
67 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
68 CHARACTER(LEN=7),
INTENT(IN) :: HVAR
69 CHARACTER(LEN=28),
INTENT(OUT) :: HFILE
70 CHARACTER(LEN=6),
INTENT(OUT) :: HFILETYPE
71 CHARACTER(LEN=28),
INTENT(OUT) :: HFILEPGD
72 CHARACTER(LEN=6),
INTENT(OUT) :: HFILEPGDTYPE
73 CHARACTER(LEN=28),
INTENT(IN) :: HATMFILE
74 CHARACTER(LEN=6),
INTENT(IN) :: HATMFILETYPE
75 CHARACTER(LEN=28),
INTENT(IN) :: HPGDFILE
76 CHARACTER(LEN=6),
INTENT(IN) :: HPGDFILETYPE
77 INTEGER,
INTENT(IN) :: KLUOUT
78 LOGICAL,
INTENT(OUT) :: OUNIF
88 CHARACTER(LEN=28) :: YNAMELIST
91 REAL(KIND=JPRB) :: ZHOOK_HANDLE
95 IF (
lhook)
CALL dr_hook(
'READ_PREP_TEB_GARDEN_CONF',0,zhook_handle)
111 IF (len_trim(cfile_hug_gd)>0 .AND. len_trim(ctype_hug)>0 )
THEN 113 hfiletype = ctype_hug
116 IF (len_trim(cfile_tg_gd)>0 .AND. len_trim(ctype_tg)>0 )
THEN 122 IF (len_trim(hfile)==0 .AND. len_trim(cfile_gd)>0 .AND. len_trim(ctype)>
THEN 127 IF (len_trim(hfilepgd)==0 .AND. len_trim(cfilepgd_gd)>0 .AND. len_trim(ctypepgd
THEN 128 hfilepgd = cfilepgd_gd
129 hfilepgdtype = ctypepgd
135 IF (len_trim(hfile)==0)
THEN 147 IF ( len_trim(ctype_hug )>0 .AND. &
148 len_trim(cfile_hug_surf_gd)>0 .AND. &
149 len_trim(cfile_hug_root_gd)>0 .AND. &
150 len_trim(cfile_hug_deep_gd)>0 )
THEN 151 hfiletype = ctype_hug
153 IF (hvar==
'WGI ' .AND. hfiletype==
'ASCLLV')
THEN 155 IF (
lhook)
CALL dr_hook(
'READ_PREP_TEB_GARDEN_CONF',1,zhook_handle
159 IF ( len_trim(ctype_tg )>0 .AND. &
160 len_trim(cfile_tg_surf_gd)>0 .AND. &
161 len_trim(cfile_tg_root_gd)>0 .AND. &
162 len_trim(cfile_tg_deep_gd)>0 )
THEN 174 ounif = (xhug_surf_gd/=
xundef) .OR. (xhug_root_gd/=
xundef) .OR. (xhug_deep_gd
175 IF (ounif .AND. (xhug_surf_gd==
xundef))
THEN 176 WRITE(kluout,*)
'ONE OF XHUG_SURF_GD, XHUG_ROOT_GD OR XHUG_DEEP_GD IS GIVEN' 177 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUG_SURF_GD MUST BE SET' 179 IF (ounif .AND. (xhug_root_gd==
xundef))
THEN 180 WRITE(kluout,*)
'ONE OF XHUG_SURF_GD, XHUG_ROOT_GD OR XHUG_DEEP_GD IS GIVEN' 181 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUG_ROOT_GD MUST BE SET' 183 IF (ounif .AND. (xhug_deep_gd==
xundef))
THEN 184 WRITE(kluout,*)
'ONE OF XHUG_SURF_GD, XHUG_ROOT_GD OR XHUG_DEEP_GD IS GIVEN' 185 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUG_DEEP_GD MUST BE SET' 189 ounif = (xhugi_surf_gd/=
xundef) .OR. (xhugi_root_gd/=
xundef) .OR. (xhugi_deep_gd
190 IF (ounif .AND. (xhugi_surf_gd==
xundef))
THEN 191 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GD, XHUGI_ROOT_GD OR XHUGI_DEEP_GD IS GIVEN' 192 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUGI_SURF_GD MUST BE SET' 194 IF (ounif .AND. (xhugi_root_gd==
xundef))
THEN 195 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GD, XHUGI_ROOT_GD OR XHUGI_DEEP_GD IS GIVEN' 196 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUGI_ROOT_GD MUST BE SET' 198 IF (ounif .AND. (xhugi_deep_gd==
xundef))
THEN 199 WRITE(kluout,*)
'ONE OF XHUGI_SURF_GD, XHUGI_ROOT_GD OR XHUGI_DEEP_GD IS GIVEN' 200 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XHUGI_DEEP_GD MUST BE SET' 204 ounif = (xtg_surf_gd/=
xundef) .OR. (xtg_root_gd/=
xundef) .OR. (xtg_deep_gd
205 IF (ounif .AND. (xtg_surf_gd==
xundef))
THEN 206 WRITE(kluout,*)
'ONE OF XTG_SURF_GD, XTG_ROOT_GD OR XTG_DEEP_GD IS GIVEN' 207 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XTG_SURF_GD MUST BE SET' 209 IF (ounif .AND. (xtg_root_gd==
xundef))
THEN 210 WRITE(kluout,*)
'ONE OF XTG_SURF_GD, XTG_ROOT_GD OR XTG_DEEP_GD IS GIVEN' 211 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XTG_ROOT_GD MUST BE SET' 213 IF (ounif .AND. (xtg_deep_gd==
xundef))
THEN 214 WRITE(kluout,*)
'ONE OF XTG_SURF_GD, XTG_ROOT_GD OR XTG_DEEP_GD IS GIVEN' 215 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: XTG_DEEP_GD MUST BE SET' 226 IF (len_trim(hfiletype)==0 .AND. .NOT. ounif)
THEN 227 IF (hvar(1:2)/=
'TG' .AND. hvar(1:2)/=
'WG' .OR. hvar(1:3)==
'WGI')
THEN 228 IF (hvar(1:2)/=
'ZS')
WRITE(kluout,*)
'NO FILE FOR FIELD ',hvar, &
229 ': UNIFORM DEFAULT FIELD IS PRESCRIBED' 230 IF (hvar(1:3)==
'WGI')
THEN 236 IF (
lhook)
CALL dr_hook(
'READ_PREP_TEB_GARDEN_CONF',1,zhook_handle)
239 WRITE(kluout,*)
'AN INPUT FILE OR A UNIFORM VALUE IS REQUIRED FOR FIELD: ' 240 WRITE(kluout,*)
'Please complete NAM_PREP_TEB_GARDEN' 241 CALL abor1_sfx(
'READ_PREP_TEB_GARDEN_CONF: AN INPUT FILE OR A UNIFORM VALUE IS REQUIRED FOR ' 244 IF (
lhook)
CALL dr_hook(
'READ_PREP_TEB_GARDEN_CONF',1,zhook_handle)
subroutine abor1_sfx(YTEXT)
subroutine read_prep_teb_garden_conf(HPROGRAM, HVAR, HFILE, HFILETYPE
subroutine read_prep_surf_atm_conf(HPROGRAM, HFILE, HFILETYPE, HFILEP