56 USE modi_init_io_surf_n
58 USE modi_end_io_surf_n
71 CHARACTER(LEN=*),
DIMENSION(:),
INTENT(IN) :: HSELECT
73 TYPE(
bem_t),
INTENT(INOUT) :: B
75 TYPE(
teb_t),
INTENT(INOUT) :: T
79 CHARACTER(LEN=6),
INTENT(IN) :: HPROGRAM
85 CHARACTER(LEN=12) :: YRECFM
86 CHARACTER(LEN=100):: YCOMMENT
89 REAL(KIND=JPRB) :: ZHOOK_HANDLE
94 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_PGD_TEB_N',0,zhook_handle)
95 CALL init_io_surf_n(dtco, u, hprogram,
'TOWN ',
'TEB ',
'WRITE',
'TEB_PGD.OUT.nc' 102 ycomment=
'building fraction (-)' 103 CALL write_surf(hselect,hprogram,yrecfm,t%XBLD(:),iresp,hcomment=ycomment
106 ycomment=
'Wall surface over plan area surface (-)' 107 CALL write_surf(hselect,hprogram,yrecfm,t%XWALL_O_HOR(:),iresp,hcomment
110 ycomment=
'Building Height (m)' 111 CALL write_surf(hselect,hprogram,yrecfm,t%XBLD_HEIGHT(:),iresp,hcomment
114 ycomment=
'Town roughness length (m)' 115 CALL write_surf(hselect,hprogram,yrecfm,t%XZ0_TOWN(:),iresp,hcomment=ycomment
118 ycomment=
'Road direction' 119 CALL write_surf(hselect,hprogram,yrecfm,t%XROAD_DIR(:),iresp,hcomment=ycomment
122 ycomment=
'Garden fraction (-)' 123 CALL write_surf(hselect,hprogram,yrecfm,t%XGARDEN(:),iresp,hcomment=ycomment
125 yrecfm=
'GREENROOF_FRAC' 126 ycomment=
'Greenroof fraction (-)' 127 CALL write_surf(hselect,hprogram,yrecfm,t%XGREENROOF(:),iresp,hcomment=ycomment
130 ycomment=
'Solar Panel fraction (-)' 131 CALL write_surf(hselect,hprogram,yrecfm,tpn%XFRAC_PANEL(:),iresp,hcomment
138 ycomment=
'Roof Albedo' 139 CALL write_surf(hselect,hprogram,yrecfm,t%XALB_ROOF(:),iresp,hcomment=ycomment
142 ycomment=
'Roof Emissivity' 143 CALL write_surf(hselect,hprogram,yrecfm,t%XEMIS_ROOF(:),iresp,hcomment=ycomment
145 DO jlayer=1,top%NROOF_LAYER
146 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_ROOF',jlayer
147 ycomment=
'Roof Heat Capacity' 148 CALL write_surf(hselect,hprogram,yrecfm,t%XHC_ROOF(:,jlayer),iresp,hcomment
151 DO jlayer=1,top%NROOF_LAYER
152 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_ROOF',jlayer
153 ycomment=
'Roof thermal conductivity' 154 CALL write_surf(hselect,hprogram,yrecfm,t%XTC_ROOF(:,jlayer),iresp,hcomment
157 DO jlayer=1,top%NROOF_LAYER
158 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_ROOF',jlayer
159 ycomment=
'Roof layer thickness' 160 CALL write_surf(hselect,hprogram,yrecfm,t%XD_ROOF(:,jlayer),iresp,hcomment
164 ycomment=
'Roof roughness' 165 CALL write_surf(hselect,hprogram,yrecfm,t%XROUGH_ROOF(:),iresp,hcomment
168 ycomment=
'WALL Albedo' 169 CALL write_surf(hselect,hprogram,yrecfm,t%XALB_WALL(:),iresp,hcomment=ycomment
172 ycomment=
'WALL Emissivity' 173 CALL write_surf(hselect,hprogram,yrecfm,t%XEMIS_WALL(:),iresp,hcomment=ycomment
175 DO jlayer=1,top%NWALL_LAYER
176 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_WALL',jlayer
177 ycomment=
'WALL Heat Capacity' 178 CALL write_surf(hselect,hprogram,yrecfm,t%XHC_WALL(:,jlayer),iresp,hcomment
181 DO jlayer=1,top%NWALL_LAYER
182 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_WALL',jlayer
183 ycomment=
'WALL thermal conductivity' 184 CALL write_surf(hselect,hprogram,yrecfm,t%XTC_WALL(:,jlayer),iresp,hcomment
187 DO jlayer=1,top%NWALL_LAYER
188 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_WALL',jlayer
189 ycomment=
'WALL layer thickness' 190 CALL write_surf(hselect,hprogram,yrecfm,t%XD_WALL(:,jlayer),iresp,hcomment
194 ycomment=
'Wall roughness' 195 CALL write_surf(hselect,hprogram,yrecfm,t%XROUGH_WALL(:),iresp,hcomment
199 ycomment=
'Residential use fraction' 200 CALL write_surf(hselect,hprogram,yrecfm,t%XRESIDENTIAL(:),iresp,hcomment
206 ycomment=
'ROAD Albedo' 207 CALL write_surf(hselect,hprogram,yrecfm,t%XALB_ROAD(:),iresp,hcomment=ycomment
210 ycomment=
'ROAD Emissivity' 211 CALL write_surf(hselect,hprogram,yrecfm,t%XEMIS_ROAD(:),iresp,hcomment=ycomment
213 DO jlayer=1,top%NROAD_LAYER
214 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_ROAD',jlayer
215 ycomment=
'ROAD Heat Capacity' 216 CALL write_surf(hselect,hprogram,yrecfm,t%XHC_ROAD(:,jlayer),iresp,hcomment
219 DO jlayer=1,top%NROAD_LAYER
220 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_ROAD',jlayer
221 ycomment=
'ROAD thermal conductivity' 222 CALL write_surf(hselect,hprogram,yrecfm,t%XTC_ROAD(:,jlayer),iresp,hcomment
225 DO jlayer=1,top%NROAD_LAYER
226 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_ROAD',jlayer
227 ycomment=
'ROAD layer thickness' 228 CALL write_surf(hselect,hprogram,yrecfm,t%XD_ROAD(:,jlayer),iresp,hcomment
236 ycomment=
'Traffic Heat Flux' 237 CALL write_surf(hselect,hprogram,yrecfm,t%XH_TRAFFIC(:),iresp,hcomment=ycomment
240 ycomment=
'Traffic Latent Flux' 241 CALL write_surf(hselect,hprogram,yrecfm,t%XLE_TRAFFIC(:),iresp,hcomment
244 ycomment=
'INDUSTRY Heat Flux' 245 CALL write_surf(hselect,hprogram,yrecfm,t%XH_INDUSTRY(:),iresp,hcomment
248 ycomment=
'INDUSTRY Latent Flux' 249 CALL write_surf(hselect,hprogram,yrecfm,t%XLE_INDUSTRY(:),iresp,hcomment
255 IF (top%CBEM==
'BEM')
THEN 257 ycomment=
'Number of floors' 258 CALL write_surf(hselect,hprogram,yrecfm,b%XN_FLOOR(:),iresp,hcomment=ycomment
260 DO jlayer=1,bop%NFLOOR_LAYER
261 WRITE(yrecfm,fmt=
'(A,I1.1)')
'HC_FLOOR',jlayer
262 ycomment=
'FLOOR Heat Capacity' 263 CALL write_surf(hselect,hprogram,yrecfm,b%XHC_FLOOR(:,jlayer),iresp
266 DO jlayer=1,bop%NFLOOR_LAYER
267 WRITE(yrecfm,fmt=
'(A,I1.1)')
'TC_FLOOR',jlayer
268 ycomment=
'FLOOR thermal conductivity' 269 CALL write_surf(hselect,hprogram,yrecfm,b%XTC_FLOOR(:,jlayer),iresp
272 DO jlayer=1,bop%NFLOOR_LAYER
273 WRITE(yrecfm,fmt=
'(A,I1.1)')
'D_FLOOR',jlayer
274 ycomment=
'FLOOR layer thickness' 275 CALL write_surf(hselect,hprogram,yrecfm,b%XD_FLOOR(:,jlayer),iresp,hcomment
284 IF (
lhook)
CALL dr_hook(
'WRITE_DIAG_PGD_TEB_N',1,zhook_handle)
subroutine write_diag_pgd_teb_n(DTCO, HSELECT, U, B, BOP, T, TOP,
subroutine end_io_surf_n(HPROGRAM)
logical, save lfanocompact
subroutine init_io_surf_n(DTCO, U, HPROGRAM, HMASK, HSCHEME, HACTION