7 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,kluout,ounif)
43 USE modi_read_prep_surf_atm_conf
46 USE modd_prep_teb, ONLY : cfile_teb, ctype, cfilepgd_teb, ctypepgd, &
47 cfile_ws, ctype_ws, xws_roof, xws_road, &
48 xts_roof, xts_road, xts_wall, xti_bld, xti_road, &
49 xt_can, xq_can, xws_roof_def, xws_road_def, xti_bld_def, &
50 xhui_bld_def, xhui_bld
56 USE yomhook
,ONLY : lhook, dr_hook
57 USE parkind1
,ONLY : jprb
66 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
67 CHARACTER(LEN=7),
INTENT(IN) :: hvar
68 CHARACTER(LEN=28),
INTENT(OUT) :: hfile
69 CHARACTER(LEN=6),
INTENT(OUT) :: hfiletype
70 CHARACTER(LEN=28),
INTENT(OUT) :: hfilepgd
71 CHARACTER(LEN=6),
INTENT(OUT) :: hfilepgdtype
72 CHARACTER(LEN=28),
INTENT(IN) :: hatmfile
73 CHARACTER(LEN=6),
INTENT(IN) :: hatmfiletype
74 CHARACTER(LEN=28),
INTENT(IN) :: hpgdfile
75 CHARACTER(LEN=6),
INTENT(IN) :: hpgdfiletype
76 INTEGER,
INTENT(IN) :: kluout
77 LOGICAL,
INTENT(OUT) :: ounif
87 CHARACTER(LEN=28) :: ynamelist
90 REAL(KIND=JPRB) :: zhook_handle
94 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_CONF',0,zhook_handle)
109 CASE (
'WS_ROOF',
'WS_ROAD')
110 IF (len_trim(cfile_ws)>0 .AND. len_trim(ctype_ws)>0 )
THEN
114 CASE (
'T_ROOF ',
'T_ROAD ',
'T_WALL ',
'T_WALLA',
'T_WALLB',
'T_FLOOR',
'T_MASS',
'T_WIN1 ',
'T_CAN ',
'Q_CAN')
115 IF (len_trim(cfile_ts)>0 .AND. len_trim(ctype_ts)>0 )
THEN
121 IF (len_trim(hfile)==0 .AND. len_trim(cfile_teb)>0 .AND. len_trim(ctype)>0)
THEN
126 IF (len_trim(hfilepgd)==0 .AND. len_trim(cfilepgd_teb)>0 .AND. len_trim(ctypepgd)>0)
THEN
127 hfilepgd = cfilepgd_teb
128 hfilepgdtype = ctypepgd
134 IF (len_trim(hfile)==0)
THEN
137 hatmfile,hatmfiletype,hpgdfile,hpgdfiletype,kluout)
147 ounif = (xws_roof/=xundef)
149 ounif = (xws_road/=xundef)
151 ounif = (xti_bld/=xundef)
153 ounif = (xti_road/=xundef)
155 ounif = (xts_road/=xundef)
156 CASE (
'T_WALL ',
'T_WALLA',
'T_WALLB')
157 ounif = (xts_wall/=xundef)
159 ounif = (xts_roof/=xundef)
161 ounif = (xti_road/=xundef)
163 ounif = (xti_bld/=xundef)
165 ounif = (xts_wall/=xundef)
167 ounif = (xti_bld/=xundef)
169 ounif = (xhui_bld/=xundef .AND. xti_bld/=xundef)
186 IF (len_trim(hfiletype)==0 .AND. .NOT. ounif)
THEN
191 xws_roof = xws_roof_def
194 xws_road = xws_road_def
197 xti_bld = xti_bld_def
200 IF (xt_can/=xundef)
THEN
201 xq_can = xhui_bld_def *
qsat(xt_can, 100000.)
204 CALL
abor1_sfx(
"READ_PREP_TEB_CONF: DON'T KNOW HOW TO INITIALIZE Q_CAN ")
207 IF (xts_road/=xundef)
THEN
209 ELSE IF (xts_wall/=xundef)
THEN
211 ELSE IF (xts_roof/=xundef)
THEN
214 CALL
abor1_sfx(
'READ_PREP_TEB_CONF: AN INPUT VALUE IS REQUIRED FOR '//hvar)
217 IF (xts_wall==xundef)
THEN
218 CALL
abor1_sfx(
'READ_PREP_TEB_CONF: AN INPUT VALUE IS REQUIRED FOR TS_WALL TO INITIALIZE T_WIN1')
223 xti_bld = xti_bld_def
226 xhui_bld = xhui_bld_def
229 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_CONF',1,zhook_handle)
231 CASE (
'SN_ROOF',
'SN_ROAD')
234 CALL
abor1_sfx(
'READ_PREP_TEB_CONF: AN INPUT FILE OR A UNIFORM VALUE IS REQUIRED FOR '//hvar)
242 IF (hfiletype==
' ' .AND. .NOT. ounif)
THEN
243 IF (hvar(1:2)/=
'ZS')
WRITE(kluout,*)
'NO FILE FOR FIELD ',hvar, &
244 ': UNIFORM DEFAULT FIELD IS PRESCRIBED'
247 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_CONF',1,zhook_handle)
subroutine read_prep_teb_conf(HPROGRAM, HVAR, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, KLUOUT, OUNIF)
subroutine abor1_sfx(YTEXT)
subroutine read_prep_surf_atm_conf(HPROGRAM, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE, HATMFILE, HATMFILETYPE, HPGDFILE, HPGDFILETYPE, KLUOUT)