6 SUBROUTINE read_prep_teb_snow(HPROGRAM,HSNOW_ROOF,KSNOW_ROOF,HSNOW_ROAD,KSNOW_ROAD,HFILE,HFILETYPE,HFILEPGD,HFILEPGDTYPE)
49 USE modi_open_namelist
50 USE modi_close_namelist
54 USE modd_prep_teb, ONLY : xwsnow_roof_p=>xwsnow_roof, xtsnow_roof_p=>xtsnow_roof, xlwcsnow_roof_p=>xlwcsnow_roof, &
55 xrsnow_roof_p=>xrsnow_roof, xasnow_roof, &
56 xwsnow_road_p=>xwsnow_road, xtsnow_road_p=>xtsnow_road, xlwcsnow_road_p=>xlwcsnow_road,&
57 xrsnow_road_p=>xrsnow_road, xasnow_road, &
58 cfile_snow_teb, ctype_snow, cfilepgd_snow_teb, &
59 ctypepgd_snow, lsnow_ideal_teb
63 USE yomhook
,ONLY : lhook, dr_hook
64 USE parkind1
,ONLY : jprb
71 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
72 CHARACTER(LEN=3),
INTENT(OUT) :: hsnow_roof
73 CHARACTER(LEN=3),
INTENT(OUT) :: hsnow_road
74 INTEGER,
INTENT(OUT) :: ksnow_roof
75 INTEGER,
INTENT(OUT) :: ksnow_road
76 CHARACTER(LEN=28),
OPTIONAL,
INTENT(OUT) :: hfile
77 CHARACTER(LEN=6),
OPTIONAL,
INTENT(OUT) :: hfiletype
78 CHARACTER(LEN=28),
OPTIONAL,
INTENT(OUT) :: hfilepgd
79 CHARACTER(LEN=6),
OPTIONAL,
INTENT(OUT) :: hfilepgdtype
85 REAL,
DIMENSION(NSNOW_LAYER_MAX) :: xwsnow_road, xrsnow_road, xtsnow_road, xlwcsnow_road, &
86 xwsnow_roof, xrsnow_roof, xtsnow_roof, xlwcsnow_roof
91 REAL(KIND=JPRB) :: zhook_handle
93 namelist/nam_prep_teb_snow/csnow_roof, csnow_road, cfile_snow_teb, ctype_snow, &
94 lsnow_ideal_teb, cfilepgd_snow_teb, ctypepgd_snow, &
95 xwsnow_roof, xtsnow_roof, xlwcsnow_roof, xrsnow_roof, xasnow_roof, &
96 xwsnow_road, xtsnow_road, xlwcsnow_road, xrsnow_road, xasnow_road
103 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_SNOW',0,zhook_handle)
111 cfilepgd_snow_teb =
' '
116 xlwcsnow_roof(:) = 0.
117 xrsnow_roof(:) = xrhosmax
118 xasnow_roof = xansmin
122 xlwcsnow_road(:) = 0.
123 xrsnow_road(:) = xrhosmax
124 xasnow_road = xansmin
133 CALL
posnam(ilunam,
'NAM_PREP_TEB_SNOW',gfound,iluout)
134 IF (gfound)
READ(unit=ilunam,nml=nam_prep_teb_snow)
139 ALLOCATE(xwsnow_roof_p(1))
140 ALLOCATE(xrsnow_roof_p(1))
141 ALLOCATE(xtsnow_roof_p(1))
142 ALLOCATE(xlwcsnow_roof_p(1))
144 xwsnow_roof_p=xwsnow_roof(1)
145 xrsnow_roof_p=xrsnow_roof(1)
146 xtsnow_roof_p=xtsnow_roof(1)
147 xlwcsnow_roof_p=xlwcsnow_roof(1)
149 ALLOCATE(xwsnow_road_p(1))
150 ALLOCATE(xrsnow_road_p(1))
151 ALLOCATE(xtsnow_road_p(1))
152 ALLOCATE(xlwcsnow_road_p(1))
154 xwsnow_road_p=xwsnow_road(1)
155 xrsnow_road_p=xrsnow_road(1)
156 xtsnow_road_p=xtsnow_road(1)
157 xlwcsnow_road_p=xlwcsnow_road(1)
163 hsnow_roof = csnow_roof
164 hsnow_road = csnow_road
168 IF (len_trim(cfile_snow_teb)>0 .AND. len_trim(ctype_snow)>0 &
169 .AND.len_trim(cfilepgd_snow_teb)>0.AND.len_trim(ctypepgd_snow)>0)
THEN
170 IF (present(hfile)) hfile = cfile_snow_teb
171 IF (present(hfiletype)) hfiletype = ctype_snow
172 IF (present(hfilepgd)) hfilepgd = cfilepgd_snow_teb
173 IF (present(hfilepgdtype)) hfilepgdtype = ctypepgd_snow
176 IF (lhook) CALL dr_hook(
'READ_PREP_TEB_SNOW',1,zhook_handle)
subroutine read_prep_teb_snow(HPROGRAM, HSNOW_ROOF, KSNOW_ROOF, HSNOW_ROAD, KSNOW_ROAD, HFILE, HFILETYPE, HFILEPGD, HFILEPGDTYPE)
subroutine close_namelist(HPROGRAM, KLUNAM)
subroutine posnam(KULNAM, HDNAML, OFOUND, KLUOUT)
subroutine get_luout(HPROGRAM, KLUOUT)
subroutine open_namelist(HPROGRAM, KLUNAM, HFILE)