58 USE modi_init_io_surf_n
60 USE modi_end_io_surf_n
63 USE yomhook
,ONLY : lhook, dr_hook
64 USE parkind1
,ONLY : jprb
75 TYPE(bem_t),
INTENT(INOUT) :: b
77 TYPE(teb_t),
INTENT(INOUT) :: t
81 CHARACTER(LEN=6),
INTENT(IN) :: hprogram
87 CHARACTER(LEN=12) :: yrecfm
88 CHARACTER(LEN=100):: ycomment
91 REAL(KIND=JPRB) :: zhook_handle
96 IF (lhook) CALL dr_hook(
'WRITE_DIAG_PGD_TEB_N',0,zhook_handle)
98 hprogram,
'TOWN ',
'TEB ',
'WRITE')
105 ycomment=
'building fraction (-)'
107 hprogram,yrecfm,t%CUR%XBLD(:),iresp,hcomment=ycomment)
110 ycomment=
'Wall surface over plan area surface (-)'
112 hprogram,yrecfm,t%CUR%XWALL_O_HOR(:),iresp,hcomment=ycomment)
115 ycomment=
'Building Height (m)'
117 hprogram,yrecfm,t%CUR%XBLD_HEIGHT(:),iresp,hcomment=ycomment)
120 ycomment=
'Town roughness length (m)'
122 hprogram,yrecfm,t%CUR%XZ0_TOWN(:),iresp,hcomment=ycomment)
125 ycomment=
'Road direction'
127 hprogram,yrecfm,t%CUR%XROAD_DIR(:),iresp,hcomment=ycomment)
130 ycomment=
'Garden fraction (-)'
132 hprogram,yrecfm,t%CUR%XGARDEN(:),iresp,hcomment=ycomment)
134 yrecfm=
'GREENROOF_FRAC'
135 ycomment=
'Greenroof fraction (-)'
137 hprogram,yrecfm,t%CUR%XGREENROOF(:),iresp,hcomment=ycomment)
140 ycomment=
'Solar Panel fraction (-)'
142 hprogram,yrecfm,tpn%XFRAC_PANEL(:),iresp,hcomment=ycomment)
149 ycomment=
'Roof Albedo'
151 hprogram,yrecfm,t%CUR%XALB_ROOF(:),iresp,hcomment=ycomment)
154 ycomment=
'Roof Emissivity'
156 hprogram,yrecfm,t%CUR%XEMIS_ROOF(:),iresp,hcomment=ycomment)
158 DO jlayer=1,top%NROOF_LAYER
159 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_ROOF',jlayer
160 ycomment=
'Roof Heat Capacity'
162 hprogram,yrecfm,t%CUR%XHC_ROOF(:,jlayer),iresp,hcomment=ycomment)
165 DO jlayer=1,top%NROOF_LAYER
166 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_ROOF',jlayer
167 ycomment=
'Roof thermal conductivity'
169 hprogram,yrecfm,t%CUR%XTC_ROOF(:,jlayer),iresp,hcomment=ycomment)
172 DO jlayer=1,top%NROOF_LAYER
173 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_ROOF',jlayer
174 ycomment=
'Roof layer thickness'
176 hprogram,yrecfm,t%CUR%XD_ROOF(:,jlayer),iresp,hcomment=ycomment)
180 ycomment=
'Roof roughness'
182 hprogram,yrecfm,t%CUR%XROUGH_ROOF(:),iresp,hcomment=ycomment)
185 ycomment=
'WALL Albedo'
187 hprogram,yrecfm,t%CUR%XALB_WALL(:),iresp,hcomment=ycomment)
190 ycomment=
'WALL Emissivity'
192 hprogram,yrecfm,t%CUR%XEMIS_WALL(:),iresp,hcomment=ycomment)
194 DO jlayer=1,top%NWALL_LAYER
195 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_WALL',jlayer
196 ycomment=
'WALL Heat Capacity'
198 hprogram,yrecfm,t%CUR%XHC_WALL(:,jlayer),iresp,hcomment=ycomment)
201 DO jlayer=1,top%NWALL_LAYER
202 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_WALL',jlayer
203 ycomment=
'WALL thermal conductivity'
205 hprogram,yrecfm,t%CUR%XTC_WALL(:,jlayer),iresp,hcomment=ycomment)
208 DO jlayer=1,top%NWALL_LAYER
209 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_WALL',jlayer
210 ycomment=
'WALL layer thickness'
212 hprogram,yrecfm,t%CUR%XD_WALL(:,jlayer),iresp,hcomment=ycomment)
216 ycomment=
'Wall roughness'
218 hprogram,yrecfm,t%CUR%XROUGH_WALL(:),iresp,hcomment=ycomment)
222 ycomment=
'Residential use fraction'
224 hprogram,yrecfm,t%CUR%XRESIDENTIAL(:),iresp,hcomment=ycomment)
230 ycomment=
'ROAD Albedo'
232 hprogram,yrecfm,t%CUR%XALB_ROAD(:),iresp,hcomment=ycomment)
235 ycomment=
'ROAD Emissivity'
237 hprogram,yrecfm,t%CUR%XEMIS_ROAD(:),iresp,hcomment=ycomment)
239 DO jlayer=1,top%NROAD_LAYER
240 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_ROAD',jlayer
241 ycomment=
'ROAD Heat Capacity'
243 hprogram,yrecfm,t%CUR%XHC_ROAD(:,jlayer),iresp,hcomment=ycomment)
246 DO jlayer=1,top%NROAD_LAYER
247 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_ROAD',jlayer
248 ycomment=
'ROAD thermal conductivity'
250 hprogram,yrecfm,t%CUR%XTC_ROAD(:,jlayer),iresp,hcomment=ycomment)
253 DO jlayer=1,top%NROAD_LAYER
254 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_ROAD',jlayer
255 ycomment=
'ROAD layer thickness'
257 hprogram,yrecfm,t%CUR%XD_ROAD(:,jlayer),iresp,hcomment=ycomment)
265 ycomment=
'Traffic Heat Flux'
267 hprogram,yrecfm,t%CUR%XH_TRAFFIC(:),iresp,hcomment=ycomment)
270 ycomment=
'Traffic Latent Flux'
272 hprogram,yrecfm,t%CUR%XLE_TRAFFIC(:),iresp,hcomment=ycomment)
275 ycomment=
'INDUSTRY Heat Flux'
277 hprogram,yrecfm,t%CUR%XH_INDUSTRY(:),iresp,hcomment=ycomment)
280 ycomment=
'INDUSTRY Latent Flux'
282 hprogram,yrecfm,t%CUR%XLE_INDUSTRY(:),iresp,hcomment=ycomment)
288 IF (top%CBEM==
'BEM')
THEN
290 ycomment=
'Number of floors'
292 hprogram,yrecfm,b%CUR%XN_FLOOR(:),iresp,hcomment=ycomment)
294 DO jlayer=1,bop%NFLOOR_LAYER
295 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_FLOOR',jlayer
296 ycomment=
'FLOOR Heat Capacity'
298 hprogram,yrecfm,b%CUR%XHC_FLOOR(:,jlayer),iresp,hcomment=ycomment)
301 DO jlayer=1,bop%NFLOOR_LAYER
302 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_FLOOR',jlayer
303 ycomment=
'FLOOR thermal conductivity'
305 hprogram,yrecfm,b%CUR%XTC_FLOOR(:,jlayer),iresp,hcomment=ycomment)
308 DO jlayer=1,bop%NFLOOR_LAYER
309 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_FLOOR',jlayer
310 ycomment=
'FLOOR layer thickness'
312 hprogram,yrecfm,b%CUR%XD_FLOOR(:,jlayer),iresp,hcomment=ycomment)
321 IF (lhook) CALL dr_hook(
'WRITE_DIAG_PGD_TEB_N',1,zhook_handle)
subroutine init_io_surf_n(DTCO, DGU, U, HPROGRAM, HMASK, HSCHEME, HACTION)
subroutine end_io_surf_n(HPROGRAM)
subroutine write_diag_pgd_teb_n(DTCO, DGU, U, B, BOP, T, TOP, TPN, HPROGRAM)