SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE CONVERT_PATCH_TEB(PCOVER,PDEF_ROAD_DIR, & 00003 PZ0_TOWN, & 00004 PALB_ROOF, & 00005 PEMIS_ROOF,PHC_ROOF,PTC_ROOF, & 00006 PD_ROOF, & 00007 PALB_ROAD, & 00008 PEMIS_ROAD,PHC_ROAD,PTC_ROAD, & 00009 PD_ROAD, & 00010 PALB_WALL, & 00011 PEMIS_WALL,PHC_WALL,PTC_WALL, & 00012 PD_WALL, & 00013 PBLD_HEIGHT, & 00014 PWALL_O_HOR,PBLD, & 00015 PGARDEN, PROAD_DIR, & 00016 PH_TRAFFIC, PLE_TRAFFIC, & 00017 PH_INDUSTRY, PLE_INDUSTRY, & 00018 PHC_FLOOR, PTC_FLOOR, PD_FLOOR, & 00019 PTCOOL_TARGET, PTHEAT_TARGET, & 00020 PF_WASTE_CAN, PEFF_HEAT, PQIN, & 00021 PQIN_FRAD, PSHGC, PU_WIN, PGR, & 00022 PSHGC_SH, PFLOOR_HEIGHT, PINF, & 00023 PF_WATER_COND, PQIN_FLAT, & 00024 PHR_TARGET, PV_VENT, PCAP_SYS_HEAT, & 00025 PCAP_SYS_RAT, PT_ADP, PM_SYS_RAT, & 00026 PCOP_RAT, PT_SIZE_MAX, PT_SIZE_MIN, & 00027 PSHADE, PNATVENT, PROUGH_ROOF, & 00028 PROUGH_WALL, PGREENROOF ) 00029 ! ############################################################## 00030 ! 00031 !!**** *CONVERT_PATCH_TEB* compilation of conver_cover_isba, pgd_isba_par and 00032 !! init_from_data_isba_parn 00033 !! 00034 !! PURPOSE 00035 !! ------- 00036 !! 00037 !! METHOD 00038 !! ------ 00039 !! 00040 ! 00041 !! EXTERNAL 00042 !! -------- 00043 !! 00044 !! IMPLICIT ARGUMENTS 00045 !! ------------------ 00046 !! 00047 !! REFERENCE 00048 !! --------- 00049 !! 00050 !! AUTHOR 00051 !! ------ 00052 !! 00053 !! S. Faroux Meteo-France 00054 !! 00055 !! MODIFICATION 00056 !! ------------ 00057 !! 00058 !! Original 16/11/10 00059 !! G. Pigeon /09/12: add ROUGH_ROOF and ROUGH_WALL coef for outdoor conv. coef 00060 !! 00061 !---------------------------------------------------------------------------- 00062 ! 00063 !* 0. DECLARATION 00064 ! ----------- 00065 ! 00066 USE MODD_SURF_PAR, ONLY : XUNDEF 00067 ! 00068 USE MODD_DATA_COVER_n, ONLY : XDATA_GARDEN, XDATA_BLD, XDATA_WALL_O_HOR 00069 USE MODD_DATA_COVER_PAR, ONLY : NDATA_ROAD_LAYER, NDATA_WALL_LAYER, & 00070 NDATA_ROOF_LAYER, NDATA_FLOOR_LAYER 00071 USE MODD_DATA_COVER, ONLY : XDATA_Z0_TOWN, XDATA_ALB_ROOF, & 00072 XDATA_EMIS_ROOF, XDATA_HC_ROOF, XDATA_TC_ROOF, & 00073 XDATA_D_ROOF, XDATA_ALB_ROAD, XDATA_EMIS_ROAD, & 00074 XDATA_HC_ROAD, XDATA_TC_ROAD, XDATA_D_ROAD, & 00075 XDATA_ALB_WALL, XDATA_EMIS_WALL, XDATA_HC_WALL, & 00076 XDATA_TC_WALL, XDATA_D_WALL, XDATA_BLD_HEIGHT, & 00077 XDATA_H_TRAFFIC, XDATA_LE_TRAFFIC, & 00078 XDATA_H_INDUSTRY, XDATA_LE_INDUSTRY, & 00079 XDATA_HC_FLOOR, XDATA_TC_FLOOR, XDATA_D_FLOOR, & 00080 XDATA_TCOOL_TARGET, XDATA_THEAT_TARGET, & 00081 XDATA_F_WASTE_CAN, XDATA_EFF_HEAT, XDATA_QIN, & 00082 XDATA_QIN_FRAD, XDATA_SHGC, XDATA_U_WIN, XDATA_GR,& 00083 XDATA_SHGC_SH, XDATA_FLOOR_HEIGHT, XDATA_INF, & 00084 XDATA_F_WATER_COND, XDATA_QIN_FLAT, & 00085 XDATA_HR_TARGET, XDATA_V_VENT, XDATA_CAP_SYS_HEAT,& 00086 XDATA_CAP_SYS_RAT, XDATA_T_ADP, XDATA_M_SYS_RAT, & 00087 XDATA_COP_RAT, XDATA_T_SIZE_MAX, XDATA_T_SIZE_MIN,& 00088 XDATA_SHADE, XDATA_NATVENT, XDATA_ROUGH_ROOF, & 00089 XDATA_ROUGH_WALL, XDATA_FRAC_GR 00090 USE MODD_DATA_TEB_n 00091 USE MODD_DATA_BEM_n 00092 ! 00093 USE MODD_TEB_n, ONLY : LGARDEN, CBLD_ATYPE 00094 USE MODD_BLD_DESCRIPTION, ONLY : NDESC_ROOF_LAYER, NDESC_WALL_LAYER, & 00095 NDESC_ROAD_LAYER, NDESC_FLOOR_LAYER 00096 ! 00097 USE MODI_THERMAL_LAYERS_CONF 00098 USE MODI_INI_DATA_PARAM_TEB 00099 USE MODI_AV_PGD 00100 ! 00101 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00102 USE PARKIND1 ,ONLY : JPRB 00103 ! 00104 USE MODI_ABOR1_SFX 00105 ! 00106 IMPLICIT NONE 00107 ! 00108 !* 0.1 Declaration of arguments 00109 ! ------------------------ 00110 ! 00111 REAL, DIMENSION(:,:), INTENT(IN) :: PCOVER 00112 REAL, INTENT(IN) :: PDEF_ROAD_DIR ! default road direction 00113 ! 00114 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PZ0_TOWN 00115 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PALB_ROOF 00116 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PEMIS_ROOF 00117 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PHC_ROOF 00118 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PTC_ROOF 00119 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PD_ROOF 00120 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PALB_ROAD 00121 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PEMIS_ROAD 00122 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PHC_ROAD 00123 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PTC_ROAD 00124 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PD_ROAD 00125 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PALB_WALL 00126 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PEMIS_WALL 00127 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PHC_WALL 00128 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PTC_WALL 00129 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PD_WALL 00130 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PBLD_HEIGHT 00131 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PWALL_O_HOR 00132 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PBLD 00133 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PGARDEN 00134 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PROAD_DIR 00135 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PH_TRAFFIC 00136 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PLE_TRAFFIC 00137 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PH_INDUSTRY 00138 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PLE_INDUSTRY 00139 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PHC_FLOOR 00140 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PTC_FLOOR 00141 REAL, DIMENSION(:,:), INTENT(OUT), OPTIONAL :: PD_FLOOR 00142 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PTCOOL_TARGET 00143 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PTHEAT_TARGET 00144 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PF_WASTE_CAN 00145 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PEFF_HEAT 00146 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PQIN 00147 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PQIN_FRAD 00148 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PSHGC 00149 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PU_WIN 00150 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PGR 00151 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PSHGC_SH 00152 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PFLOOR_HEIGHT 00153 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PINF 00154 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PF_WATER_COND 00155 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PQIN_FLAT 00156 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PHR_TARGET 00157 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PV_VENT 00158 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PCAP_SYS_HEAT 00159 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PCAP_SYS_RAT 00160 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PT_ADP 00161 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PM_SYS_RAT 00162 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PCOP_RAT 00163 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PT_SIZE_MAX 00164 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PT_SIZE_MIN 00165 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PSHADE 00166 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PNATVENT 00167 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PROUGH_ROOF 00168 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PROUGH_WALL 00169 REAL, DIMENSION(:), INTENT(OUT), OPTIONAL :: PGREENROOF 00170 ! 00171 !* 0.2 Declaration of local variables 00172 ! ------------------------------ 00173 ! 00174 REAL, DIMENSION(:,:), ALLOCATABLE :: ZTC, ZHC, ZD 00175 INTEGER :: JLAYER ! loop counter on layers 00176 INTEGER :: IL ! number of points 00177 ! 00178 CHARACTER(LEN=3) :: YAVG ! Type of averaging for buildings 00179 CHARACTER(LEN=4) :: YAREA ! Area where parameter is averaged 00180 ! 00181 !* 0.3 Declaration of namelists 00182 ! ------------------------ 00183 ! 00184 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00185 ! 00186 !------------------------------------------------------------------------------- 00187 ! 00188 !* 1. Initializations 00189 ! --------------- 00190 ! 00191 IF (LHOOK) CALL DR_HOOK('CONVERT_PATCH_TEB',0,ZHOOK_HANDLE) 00192 ! 00193 IF (CBLD_ATYPE=='ARI') THEN 00194 YAVG=CBLD_ATYPE 00195 YAREA='BLD' 00196 ELSE 00197 YAVG=CBLD_ATYPE 00198 YAREA='BLV' 00199 END IF 00200 ! 00201 IL = SIZE(PCOVER,1) 00202 !------------------------------------------------------------------------------- 00203 ! 00204 ! ROAD DIRECTION 00205 ! -------------- 00206 IF (PRESENT(PROAD_DIR)) THEN 00207 IF (LDATA_ROAD_DIR) THEN 00208 PROAD_DIR=XPAR_ROAD_DIR 00209 ELSE 00210 PROAD_DIR=PDEF_ROAD_DIR 00211 ENDIF 00212 ENDIF 00213 ! 00214 ! 00215 ! GARDEN fraction 00216 ! --------------- 00217 IF (PRESENT(PGARDEN)) THEN 00218 IF (LDATA_GARDEN) THEN 00219 PGARDEN=XPAR_GARDEN 00220 ELSE 00221 CALL AV_PGD (PGARDEN, PCOVER, XDATA_GARDEN(:),'TWN','ARI') 00222 ENDIF 00223 ENDIF 00224 ! 00225 ! 00226 ! BLD fraction 00227 ! ------------- 00228 IF (PRESENT(PBLD)) THEN 00229 IF (LDATA_BLD) THEN 00230 PBLD=XPAR_BLD 00231 ELSE 00232 CALL AV_PGD (PBLD, PCOVER, XDATA_BLD(:),'TWN','ARI') 00233 ENDIF 00234 ENDIF 00235 ! 00236 ! 00237 ! Z0_TOWN 00238 ! ---------- 00239 IF (PRESENT(PZ0_TOWN)) THEN 00240 IF (LDATA_Z0_TOWN) THEN 00241 PZ0_TOWN=XPAR_Z0_TOWN 00242 ELSE 00243 CALL AV_PGD (PZ0_TOWN ,PCOVER ,XDATA_Z0_TOWN (:),'TWN','CDN') 00244 ENDIF 00245 ENDIF 00246 ! 00247 ! BLD Height 00248 ! ---------- 00249 IF (PRESENT(PBLD_HEIGHT)) THEN 00250 IF (LDATA_BLD_HEIGHT) THEN 00251 PBLD_HEIGHT=XPAR_BLD_HEIGHT 00252 ELSE 00253 CALL AV_PGD (PBLD_HEIGHT ,PCOVER ,XDATA_BLD_HEIGHT (:),'BLD','ARI') 00254 ENDIF 00255 ENDIF 00256 ! 00257 ! WALL O HOR 00258 ! ---------- 00259 IF (PRESENT(PWALL_O_HOR)) THEN 00260 IF (LDATA_WALL_O_HOR) THEN 00261 PWALL_O_HOR=XPAR_WALL_O_HOR 00262 ELSE 00263 CALL AV_PGD (PWALL_O_HOR ,PCOVER ,XDATA_WALL_O_HOR (:),'BLD','ARI') 00264 ENDIF 00265 ENDIF 00266 ! 00267 ! ALB_ROOF 00268 ! ---------- 00269 IF (PRESENT(PALB_ROOF)) THEN 00270 IF (LDATA_ALB_ROOF) THEN 00271 PALB_ROOF=XPAR_ALB_ROOF 00272 ELSEIF (LDATA_BLDTYPE) THEN 00273 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PALB_ROOF=PALB_ROOF) 00274 ELSE 00275 CALL AV_PGD (PALB_ROOF ,PCOVER ,XDATA_ALB_ROOF (:),YAREA,YAVG) 00276 ENDIF 00277 ENDIF 00278 ! 00279 ! EMIS_ROOF 00280 ! ---------- 00281 IF (PRESENT(PEMIS_ROOF)) THEN 00282 IF (LDATA_EMIS_ROOF) THEN 00283 PEMIS_ROOF=XPAR_EMIS_ROOF 00284 ELSEIF (LDATA_BLDTYPE) THEN 00285 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PEMIS_ROOF=PEMIS_ROOF) 00286 ELSE 00287 CALL AV_PGD (PEMIS_ROOF ,PCOVER ,XDATA_EMIS_ROOF (:),YAREA,YAVG) 00288 ENDIF 00289 ENDIF 00290 ! 00291 ! HC_ROOF, TC_ROOF, D_ROOF 00292 ! ------------------------ 00293 ! 00294 IF (PRESENT(PHC_ROOF) .AND. PRESENT(PTC_ROOF) .AND. PRESENT(PD_ROOF)) THEN 00295 IF (LDATA_HC_ROOF) THEN 00296 CALL ALLOCATE_THERMAL_WORK(NPAR_ROOF_LAYER) 00297 ZHC=XPAR_HC_ROOF 00298 ZTC=XPAR_TC_ROOF 00299 ZD =XPAR_D_ROOF 00300 ELSEIF (LDATA_BLDTYPE) THEN 00301 CALL ALLOCATE_THERMAL_WORK(NDESC_ROOF_LAYER) 00302 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PHC_ROOF=ZHC) 00303 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PTC_ROOF=ZTC) 00304 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PD_ROOF =ZD ) 00305 ELSE 00306 CALL ALLOCATE_THERMAL_WORK(NDATA_ROOF_LAYER) 00307 DO JLAYER=1,NDATA_ROOF_LAYER 00308 CALL AV_PGD (ZHC(:,JLAYER), PCOVER, XDATA_HC_ROOF (:,JLAYER),YAREA,YAVG) 00309 CALL AV_PGD (ZTC(:,JLAYER), PCOVER ,XDATA_TC_ROOF (:,JLAYER),YAREA,YAVG) 00310 CALL AV_PGD (ZD (:,JLAYER), PCOVER ,XDATA_D_ROOF (:,JLAYER),YAREA,YAVG) 00311 ENDDO 00312 ENDIF 00313 CALL THERMAL_LAYERS_CONF('ROOF ',ZHC,ZTC,ZD,PHC_ROOF,PTC_ROOF,PD_ROOF) 00314 CALL DEALLOCATE_THERMAL_WORK 00315 ENDIF 00316 ! 00317 ! ALB_ROAD 00318 ! ---------- 00319 IF (PRESENT(PALB_ROAD)) THEN 00320 IF (LDATA_ALB_ROAD) THEN 00321 PALB_ROAD=XPAR_ALB_ROAD 00322 ELSEIF (LDATA_BLDTYPE) THEN 00323 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PALB_ROAD=PALB_ROAD) 00324 ELSE 00325 CALL AV_PGD (PALB_ROAD ,PCOVER ,XDATA_ALB_ROAD (:),'STR','ARI') 00326 ENDIF 00327 ENDIF 00328 ! 00329 ! EMIS_ROAD 00330 ! ---------- 00331 IF (PRESENT(PEMIS_ROAD)) THEN 00332 IF (LDATA_EMIS_ROAD) THEN 00333 PEMIS_ROAD=XPAR_EMIS_ROAD 00334 ELSEIF (LDATA_BLDTYPE) THEN 00335 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PEMIS_ROAD=PEMIS_ROAD) 00336 ELSE 00337 CALL AV_PGD (PEMIS_ROAD ,PCOVER ,XDATA_EMIS_ROAD (:),'STR','ARI') 00338 ENDIF 00339 ENDIF 00340 ! 00341 ! HC_ROAD, TC_ROAD, D_ROAD 00342 ! ------------------------ 00343 ! 00344 IF (PRESENT(PHC_ROAD) .AND. PRESENT(PTC_ROAD) .AND. PRESENT(PD_ROAD)) THEN 00345 IF (LDATA_HC_ROAD) THEN 00346 CALL ALLOCATE_THERMAL_WORK(NPAR_ROAD_LAYER) 00347 ZHC=XPAR_HC_ROAD 00348 ZTC=XPAR_TC_ROAD 00349 ZD =XPAR_D_ROAD 00350 ELSEIF (LDATA_BLDTYPE) THEN 00351 CALL ALLOCATE_THERMAL_WORK(NDESC_ROAD_LAYER) 00352 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PHC_ROAD=ZHC) 00353 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PTC_ROAD=ZTC) 00354 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PD_ROAD =ZD ) 00355 ELSE 00356 CALL ALLOCATE_THERMAL_WORK(NDATA_ROAD_LAYER) 00357 DO JLAYER=1,NDATA_ROAD_LAYER 00358 CALL AV_PGD (ZHC(:,JLAYER), PCOVER, XDATA_HC_ROAD (:,JLAYER),YAREA,YAVG) 00359 CALL AV_PGD (ZTC(:,JLAYER), PCOVER ,XDATA_TC_ROAD (:,JLAYER),YAREA,YAVG) 00360 CALL AV_PGD (ZD (:,JLAYER), PCOVER ,XDATA_D_ROAD (:,JLAYER),YAREA,YAVG) 00361 !CALL AV_PGD (PHC_ROAD(:,JLAYER), PCOVER, XDATA_HC_ROAD (:,JLAYER),YAREA,YAVG) 00362 !CALL AV_PGD (PTC_ROAD(:,JLAYER), PCOVER ,XDATA_TC_ROAD (:,JLAYER),YAREA,YAVG) 00363 !CALL AV_PGD (PD_ROAD(:,JLAYER), PCOVER ,XDATA_D_ROAD (:,JLAYER),YAREA,YAVG) 00364 ENDDO 00365 ENDIF 00366 CALL THERMAL_LAYERS_CONF('ROAD ',ZHC,ZTC,ZD,PHC_ROAD,PTC_ROAD,PD_ROAD) 00367 CALL DEALLOCATE_THERMAL_WORK 00368 ENDIF 00369 ! 00370 ! ALB_WALL 00371 ! ---------- 00372 IF (PRESENT(PALB_WALL)) THEN 00373 IF (LDATA_ALB_WALL) THEN 00374 PALB_WALL=XPAR_ALB_WALL 00375 ELSEIF (LDATA_BLDTYPE) THEN 00376 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PALB_WALL=PALB_WALL) 00377 ELSE 00378 CALL AV_PGD (PALB_WALL ,PCOVER ,XDATA_ALB_WALL (:),YAREA,YAVG) 00379 ENDIF 00380 ENDIF 00381 ! 00382 ! EMIS_WALL 00383 ! ---------- 00384 IF (PRESENT(PEMIS_WALL)) THEN 00385 IF (LDATA_EMIS_WALL) THEN 00386 PEMIS_WALL=XPAR_EMIS_WALL 00387 ELSEIF (LDATA_BLDTYPE) THEN 00388 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PEMIS_WALL=PEMIS_WALL) 00389 ELSE 00390 CALL AV_PGD (PEMIS_WALL ,PCOVER ,XDATA_EMIS_WALL (:),YAREA,YAVG) 00391 ENDIF 00392 ENDIF 00393 ! 00394 ! HC_WALL, TC_WALL, D_WALL 00395 ! ------------------------ 00396 ! 00397 IF (PRESENT(PHC_WALL) .AND. PRESENT(PTC_WALL) .AND. PRESENT(PD_WALL)) THEN 00398 IF (LDATA_HC_WALL) THEN 00399 CALL ALLOCATE_THERMAL_WORK(NPAR_WALL_LAYER) 00400 ZHC=XPAR_HC_WALL 00401 ZTC=XPAR_TC_WALL 00402 ZD =XPAR_D_WALL 00403 ELSEIF (LDATA_BLDTYPE) THEN 00404 CALL ALLOCATE_THERMAL_WORK(NDESC_WALL_LAYER) 00405 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PHC_WALL=ZHC) 00406 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PTC_WALL=ZTC) 00407 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PD_WALL =ZD ) 00408 ELSE 00409 CALL ALLOCATE_THERMAL_WORK(NDATA_WALL_LAYER) 00410 DO JLAYER=1,NDATA_WALL_LAYER 00411 CALL AV_PGD (ZHC(:,JLAYER), PCOVER, XDATA_HC_WALL (:,JLAYER),YAREA,YAVG) 00412 CALL AV_PGD (ZTC(:,JLAYER), PCOVER ,XDATA_TC_WALL (:,JLAYER),YAREA,YAVG) 00413 CALL AV_PGD (ZD (:,JLAYER), PCOVER ,XDATA_D_WALL (:,JLAYER),YAREA,YAVG) 00414 ENDDO 00415 ENDIF 00416 CALL THERMAL_LAYERS_CONF('WALL ',ZHC,ZTC,ZD,PHC_WALL,PTC_WALL,PD_WALL) 00417 CALL DEALLOCATE_THERMAL_WORK 00418 ENDIF 00419 ! 00420 ! HC_FLOOR, TC_FLOOR, D_FLOOR 00421 ! ------------------------ 00422 ! 00423 IF (PRESENT(PHC_FLOOR) .AND. PRESENT(PTC_FLOOR) .AND. PRESENT(PD_FLOOR)) THEN 00424 IF (LDATA_HC_FLOOR) THEN 00425 CALL ALLOCATE_THERMAL_WORK(NPAR_FLOOR_LAYER) 00426 ZHC=XPAR_HC_FLOOR 00427 ZTC=XPAR_TC_FLOOR 00428 ZD =XPAR_D_FLOOR 00429 ELSEIF (LDATA_BLDTYPE) THEN 00430 CALL ALLOCATE_THERMAL_WORK(NDESC_FLOOR_LAYER) 00431 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PHC_FLOOR=ZHC) 00432 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PTC_FLOOR=ZTC) 00433 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PD_FLOOR =ZD ) 00434 ELSE 00435 CALL ALLOCATE_THERMAL_WORK(NDATA_FLOOR_LAYER) 00436 DO JLAYER=1,NDATA_FLOOR_LAYER 00437 CALL AV_PGD (ZHC(:,JLAYER), PCOVER, XDATA_HC_FLOOR (:,JLAYER),YAREA,YAVG) 00438 CALL AV_PGD (ZTC(:,JLAYER), PCOVER ,XDATA_TC_FLOOR (:,JLAYER),YAREA,YAVG) 00439 CALL AV_PGD (ZD (:,JLAYER), PCOVER ,XDATA_D_FLOOR (:,JLAYER),YAREA,YAVG) 00440 ENDDO 00441 ENDIF 00442 CALL THERMAL_LAYERS_CONF('FLOOR',ZHC,ZTC,ZD,PHC_FLOOR,PTC_FLOOR,PD_FLOOR) 00443 CALL DEALLOCATE_THERMAL_WORK 00444 ENDIF 00445 ! 00446 ! H_TRAFFIC 00447 ! --------- 00448 IF (PRESENT(PH_TRAFFIC)) THEN 00449 IF (LDATA_H_TRAFFIC) THEN 00450 PH_TRAFFIC=XPAR_H_TRAFFIC 00451 ELSE 00452 CALL AV_PGD (PH_TRAFFIC ,PCOVER ,XDATA_H_TRAFFIC(:),'TWN','ARI') 00453 ENDIF 00454 ENDIF 00455 ! 00456 ! LE_TRAFFIC 00457 ! ---------- 00458 IF (PRESENT(PLE_TRAFFIC)) THEN 00459 IF (LDATA_LE_TRAFFIC) THEN 00460 PLE_TRAFFIC=XPAR_LE_TRAFFIC 00461 ELSE 00462 CALL AV_PGD (PLE_TRAFFIC ,PCOVER ,XDATA_LE_TRAFFIC(:),'TWN','ARI') 00463 ENDIF 00464 ENDIF 00465 ! 00466 ! H_INDUSTRY 00467 ! ---------- 00468 IF (PRESENT(PH_INDUSTRY)) THEN 00469 IF (LDATA_H_INDUSTRY) THEN 00470 PH_INDUSTRY=XPAR_H_INDUSTRY 00471 ELSE 00472 CALL AV_PGD (PH_INDUSTRY ,PCOVER ,XDATA_H_INDUSTRY(:),'TWN','ARI') 00473 ENDIF 00474 ENDIF 00475 ! 00476 ! LE_INDUSTRY 00477 ! ----------- 00478 IF (PRESENT(PLE_INDUSTRY)) THEN 00479 IF (LDATA_LE_INDUSTRY) THEN 00480 PLE_INDUSTRY=XPAR_LE_INDUSTRY 00481 ELSE 00482 CALL AV_PGD (PLE_INDUSTRY ,PCOVER ,XDATA_LE_INDUSTRY(:),'TWN','ARI') 00483 ENDIF 00484 ENDIF 00485 ! 00486 ! TCOOL_TARGET 00487 ! ----------- 00488 IF (PRESENT(PTCOOL_TARGET)) THEN 00489 IF (LDATA_TCOOL_TARGET) THEN 00490 PTCOOL_TARGET=XPAR_TCOOL_TARGET 00491 ELSEIF (LDATA_USETYPE) THEN 00492 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PTCOOL_TARGET=PTCOOL_TARGET) 00493 ELSE 00494 CALL AV_PGD (PTCOOL_TARGET ,PCOVER ,XDATA_TCOOL_TARGET(:),'TWN','ARI') 00495 ENDIF 00496 ENDIF 00497 ! 00498 ! THEAT_TARGET 00499 ! ----------- 00500 IF (PRESENT(PTHEAT_TARGET)) THEN 00501 IF (LDATA_THEAT_TARGET) THEN 00502 PTHEAT_TARGET=XPAR_THEAT_TARGET 00503 ELSEIF (LDATA_USETYPE) THEN 00504 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PTHEAT_TARGET=PTHEAT_TARGET) 00505 ELSE 00506 CALL AV_PGD (PTHEAT_TARGET ,PCOVER ,XDATA_THEAT_TARGET(:),'TWN','ARI') 00507 ENDIF 00508 ENDIF 00509 ! 00510 ! ----------- 00511 IF (PRESENT(PF_WASTE_CAN)) THEN 00512 IF (LDATA_F_WASTE_CAN) THEN 00513 PF_WASTE_CAN=XPAR_F_WASTE_CAN 00514 ELSEIF (LDATA_BLDTYPE) THEN 00515 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PF_WASTE_CAN=PF_WASTE_CAN) 00516 ELSE 00517 CALL AV_PGD (PF_WASTE_CAN ,PCOVER ,XDATA_F_WASTE_CAN(:),'TWN','ARI') 00518 ENDIF 00519 ENDIF 00520 ! 00521 ! EFF_HEAT 00522 ! ----------- 00523 IF (PRESENT(PEFF_HEAT)) THEN 00524 IF (LDATA_EFF_HEAT) THEN 00525 PEFF_HEAT=XPAR_EFF_HEAT 00526 ELSEIF (LDATA_BLDTYPE) THEN 00527 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PEFF_HEAT=PEFF_HEAT) 00528 ELSE 00529 CALL AV_PGD (PEFF_HEAT ,PCOVER ,XDATA_EFF_HEAT(:),'TWN','ARI') 00530 ENDIF 00531 ENDIF 00532 ! 00533 ! QIN 00534 ! ----------- 00535 IF (PRESENT(PQIN)) THEN 00536 IF (LDATA_QIN) THEN 00537 PQIN=XPAR_QIN 00538 ELSEIF (LDATA_USETYPE) THEN 00539 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PQIN=PQIN) 00540 ELSE 00541 CALL AV_PGD (PQIN ,PCOVER ,XDATA_QIN(:),'TWN','ARI') 00542 ENDIF 00543 ENDIF 00544 ! 00545 ! QIN_FRAD 00546 ! ----------- 00547 IF (PRESENT(PQIN_FRAD)) THEN 00548 IF (LDATA_QIN_FRAD) THEN 00549 PQIN_FRAD=XPAR_QIN_FRAD 00550 ELSEIF (LDATA_USETYPE) THEN 00551 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PQIN_FRAD=PQIN_FRAD) 00552 ELSE 00553 CALL AV_PGD (PQIN_FRAD ,PCOVER ,XDATA_QIN_FRAD(:),'TWN','ARI') 00554 ENDIF 00555 ENDIF 00556 ! 00557 ! SHGC 00558 ! ----------- 00559 IF (PRESENT(PSHGC)) THEN 00560 IF (LDATA_SHGC) THEN 00561 PSHGC=XPAR_SHGC 00562 ELSEIF (LDATA_BLDTYPE) THEN 00563 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PSHGC=PSHGC) 00564 ELSE 00565 CALL AV_PGD (PSHGC ,PCOVER ,XDATA_SHGC(:),'TWN','ARI') 00566 ENDIF 00567 ENDIF 00568 ! 00569 ! U_WIN 00570 ! ----------- 00571 IF (PRESENT(PU_WIN)) THEN 00572 IF (LDATA_U_WIN) THEN 00573 PU_WIN=XPAR_U_WIN 00574 ELSEIF (LDATA_BLDTYPE) THEN 00575 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PU_WIN=PU_WIN) 00576 ELSE 00577 CALL AV_PGD (PU_WIN ,PCOVER ,XDATA_U_WIN(:),'TWN','ARI') 00578 ENDIF 00579 ENDIF 00580 ! 00581 ! GR 00582 ! ----------- 00583 IF (PRESENT(PGR)) THEN 00584 IF (LDATA_GR) THEN 00585 PGR=XPAR_GR 00586 ELSEIF (LDATA_BLDTYPE) THEN 00587 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PGR=PGR) 00588 ELSE 00589 CALL AV_PGD (PGR ,PCOVER ,XDATA_GR(:),'TWN','ARI') 00590 ENDIF 00591 ENDIF 00592 ! 00593 ! SHGC_SH 00594 ! ----------- 00595 IF (PRESENT(PSHGC_SH)) THEN 00596 IF (LDATA_SHGC_SH) THEN 00597 PSHGC_SH=XPAR_SHGC_SH 00598 ELSEIF (LDATA_USETYPE) THEN 00599 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PSHGC_SH=PSHGC_SH) 00600 ELSE 00601 CALL AV_PGD (PSHGC_SH ,PCOVER ,XDATA_SHGC_SH(:),'TWN','ARI') 00602 ENDIF 00603 ENDIF 00604 ! 00605 ! FLOOR_HEIGHT 00606 ! ----------- 00607 IF (PRESENT(PFLOOR_HEIGHT)) THEN 00608 IF (LDATA_FLOOR_HEIGHT) THEN 00609 PFLOOR_HEIGHT=XPAR_FLOOR_HEIGHT 00610 ELSEIF (LDATA_BLDTYPE) THEN 00611 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PFLOOR_HEIGHT=PFLOOR_HEIGHT) 00612 ELSE 00613 CALL AV_PGD (PFLOOR_HEIGHT ,PCOVER ,XDATA_FLOOR_HEIGHT(:),'TWN','ARI') 00614 ENDIF 00615 ENDIF 00616 ! 00617 ! INF 00618 ! ----------- 00619 IF (PRESENT(PINF)) THEN 00620 IF (LDATA_INF) THEN 00621 PINF=XPAR_INF 00622 ELSEIF (LDATA_BLDTYPE) THEN 00623 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PINF=PINF) 00624 ELSE 00625 CALL AV_PGD (PINF ,PCOVER ,XDATA_INF(:),'TWN','ARI') 00626 ENDIF 00627 ENDIF 00628 ! 00629 ! F_WATER_COND 00630 ! ----------- 00631 IF (PRESENT(PF_WATER_COND)) THEN 00632 IF (LDATA_F_WATER_COND) THEN 00633 PF_WATER_COND=XPAR_F_WATER_COND 00634 ELSEIF (LDATA_BLDTYPE) THEN 00635 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PF_WATER_COND=PF_WATER_COND) 00636 ELSE 00637 CALL AV_PGD (PF_WATER_COND ,PCOVER ,XDATA_F_WATER_COND(:),'TWN','ARI') 00638 ENDIF 00639 ENDIF 00640 ! 00641 ! QIN_FLAT 00642 ! ----------- 00643 IF (PRESENT(PQIN_FLAT)) THEN 00644 IF (LDATA_QIN_FLAT) THEN 00645 PQIN_FLAT=XPAR_QIN_FLAT 00646 ELSEIF (LDATA_USETYPE) THEN 00647 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PQIN_FLAT=PQIN_FLAT) 00648 ELSE 00649 CALL AV_PGD (PQIN_FLAT ,PCOVER ,XDATA_QIN_FLAT(:),'TWN','ARI') 00650 ENDIF 00651 ENDIF 00652 ! 00653 ! HR_TARGET 00654 ! ----------- 00655 IF (PRESENT(PHR_TARGET)) THEN 00656 IF (LDATA_HR_TARGET) THEN 00657 PHR_TARGET=XPAR_HR_TARGET 00658 ELSEIF (LDATA_USETYPE) THEN 00659 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PHR_TARGET=PHR_TARGET) 00660 ELSE 00661 CALL AV_PGD (PHR_TARGET ,PCOVER ,XDATA_HR_TARGET(:),'TWN','ARI') 00662 ENDIF 00663 ENDIF 00664 ! 00665 ! V_VENT 00666 ! ----------- 00667 IF (PRESENT(PV_VENT)) THEN 00668 IF (LDATA_V_VENT) THEN 00669 PV_VENT=XPAR_V_VENT 00670 ELSEIF (LDATA_BLDTYPE) THEN 00671 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PV_VENT=PV_VENT) 00672 ELSE 00673 CALL AV_PGD (PV_VENT ,PCOVER ,XDATA_V_VENT(:),'TWN','ARI') 00674 ENDIF 00675 ENDIF 00676 ! 00677 ! CAP_SYS_HEAT 00678 ! ----------- 00679 IF (PRESENT(PCAP_SYS_HEAT)) THEN 00680 IF (LDATA_CAP_SYS_HEAT) THEN 00681 PCAP_SYS_HEAT=XPAR_CAP_SYS_HEAT 00682 ELSEIF (LDATA_BLDTYPE) THEN 00683 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PCAP_SYS_HEAT=PCAP_SYS_HEAT) 00684 ELSE 00685 CALL AV_PGD (PCAP_SYS_HEAT ,PCOVER ,XDATA_CAP_SYS_HEAT(:),'TWN','ARI') 00686 ENDIF 00687 ENDIF 00688 ! 00689 ! CAP_SYS_RAT 00690 ! ----------- 00691 IF (PRESENT(PCAP_SYS_RAT)) THEN 00692 IF (LDATA_CAP_SYS_RAT) THEN 00693 PCAP_SYS_RAT=XPAR_CAP_SYS_RAT 00694 ELSEIF (LDATA_BLDTYPE) THEN 00695 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PCAP_SYS_RAT=PCAP_SYS_RAT) 00696 ELSE 00697 CALL AV_PGD (PCAP_SYS_RAT ,PCOVER ,XDATA_CAP_SYS_RAT(:),'TWN','ARI') 00698 ENDIF 00699 ENDIF 00700 ! 00701 ! T_ADP 00702 ! ----------- 00703 IF (PRESENT(PT_ADP)) THEN 00704 IF (LDATA_T_ADP) THEN 00705 PT_ADP=XPAR_T_ADP 00706 ELSEIF (LDATA_BLDTYPE) THEN 00707 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PT_ADP=PT_ADP) 00708 ELSE 00709 CALL AV_PGD (PT_ADP ,PCOVER ,XDATA_T_ADP(:),'TWN','ARI') 00710 ENDIF 00711 ENDIF 00712 ! 00713 ! M_SYS_RAT 00714 ! ----------- 00715 IF (PRESENT(PM_SYS_RAT)) THEN 00716 IF (LDATA_M_SYS_RAT) THEN 00717 PM_SYS_RAT=XPAR_M_SYS_RAT 00718 ELSEIF (LDATA_BLDTYPE) THEN 00719 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PM_SYS_RAT=PM_SYS_RAT) 00720 ELSE 00721 CALL AV_PGD (PM_SYS_RAT ,PCOVER ,XDATA_M_SYS_RAT(:),'TWN','ARI') 00722 ENDIF 00723 ENDIF 00724 ! 00725 ! COP_RAT 00726 ! ----------- 00727 IF (PRESENT(PCOP_RAT)) THEN 00728 IF (LDATA_COP_RAT) THEN 00729 PCOP_RAT=XPAR_COP_RAT 00730 ELSEIF (LDATA_BLDTYPE) THEN 00731 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PCOP_RAT=PCOP_RAT) 00732 ELSE 00733 CALL AV_PGD (PCOP_RAT ,PCOVER ,XDATA_COP_RAT(:),'TWN','ARI') 00734 ENDIF 00735 ENDIF 00736 ! 00737 ! GREENROOF FRACTION 00738 ! ------------------ 00739 IF (PRESENT(PGREENROOF)) THEN 00740 IF (LDATA_GREENROOF) THEN 00741 PGREENROOF=XPAR_GREENROOF 00742 ELSEIF (LDATA_BLDTYPE) THEN 00743 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PGREENROOF=PGREENROOF) 00744 ELSE 00745 CALL AV_PGD (PGREENROOF,PCOVER ,XDATA_FRAC_GR(:),'BLD','ARI') 00746 ENDIF 00747 ENDIF 00748 ! 00749 ! T_SIZE_MAX 00750 ! ----------- 00751 IF (PRESENT(PT_SIZE_MAX)) THEN 00752 IF (LDATA_T_SIZE_MAX) THEN 00753 PT_SIZE_MAX=XPAR_T_SIZE_MAX 00754 ELSEIF (LDATA_BLDTYPE) THEN 00755 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PT_SIZE_MAX=PT_SIZE_MAX) 00756 ELSE 00757 CALL AV_PGD (PT_SIZE_MAX ,PCOVER ,XDATA_T_SIZE_MAX(:),'TWN','ARI') 00758 ENDIF 00759 ENDIF 00760 ! 00761 ! T_SIZE_MIN 00762 ! ----------- 00763 IF (PRESENT(PT_SIZE_MIN)) THEN 00764 IF (LDATA_T_SIZE_MIN) THEN 00765 PT_SIZE_MIN=XPAR_T_SIZE_MIN 00766 ELSEIF (LDATA_BLDTYPE) THEN 00767 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PT_SIZE_MIN=PT_SIZE_MIN) 00768 ELSE 00769 CALL AV_PGD (PT_SIZE_MIN ,PCOVER ,XDATA_T_SIZE_MIN(:),'TWN','ARI') 00770 ENDIF 00771 ENDIF 00772 ! 00773 ! SHADE 00774 ! ----- 00775 IF (PRESENT(PSHADE)) THEN 00776 IF (LDATA_SHADE) THEN 00777 PSHADE(:) = XPAR_SHADE(:) 00778 ELSEIF (LDATA_USETYPE) THEN 00779 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PSHADE=PSHADE) 00780 ELSE 00781 CALL AV_PGD (PSHADE,PCOVER ,XDATA_SHADE(:),'TWN','ARI') 00782 ENDIF 00783 ENDIF 00784 ! 00785 ! NATVENT 00786 ! ------- 00787 IF (PRESENT(PNATVENT)) THEN 00788 IF (LDATA_NATVENT) THEN 00789 PNATVENT(:) = XPAR_NATVENT(:) 00790 ELSEIF (LDATA_USETYPE) THEN 00791 CALL INI_DATA_PARAM_TEB(NPAR_USETYPE,PNATVENT=PNATVENT) 00792 ELSE 00793 CALL AV_PGD (PNATVENT,PCOVER,XDATA_NATVENT(:),'TWN','ARI') 00794 ENDIF 00795 ENDIF 00796 ! 00797 ! 00798 ! ROUGH_ROOF 00799 ! ---------- 00800 IF (PRESENT(PROUGH_ROOF)) THEN 00801 IF (LDATA_ROUGH_ROOF) THEN 00802 PROUGH_ROOF=XPAR_ROUGH_ROOF 00803 ELSEIF (LDATA_BLDTYPE) THEN 00804 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PROUGH_ROOF=PROUGH_ROOF) 00805 ELSE 00806 CALL AV_PGD (PROUGH_ROOF ,PCOVER ,XDATA_ROUGH_ROOF (:),YAREA,YAVG) 00807 ENDIF 00808 ENDIF 00809 ! 00810 ! ROUGH_WALL 00811 ! ---------- 00812 IF (PRESENT(PROUGH_WALL)) THEN 00813 IF (LDATA_ROUGH_WALL) THEN 00814 PROUGH_WALL=XPAR_ROUGH_WALL 00815 ELSEIF (LDATA_BLDTYPE) THEN 00816 CALL INI_DATA_PARAM_TEB(NPAR_BLDCODE,PROUGH_WALL=PROUGH_WALL) 00817 ELSE 00818 CALL AV_PGD (PROUGH_WALL ,PCOVER ,XDATA_ROUGH_WALL (:),YAREA,YAVG) 00819 ENDIF 00820 ENDIF 00821 ! 00822 ! 00823 IF (LHOOK) CALL DR_HOOK('CONVERT_PATCH_TEB',1,ZHOOK_HANDLE) 00824 ! 00825 !------------------------------------------------------------------------------- 00826 CONTAINS 00827 ! 00828 SUBROUTINE ALLOCATE_THERMAL_WORK(KPAR) 00829 INTEGER, INTENT(IN) :: KPAR 00830 ALLOCATE(ZD(IL,KPAR)) 00831 ALLOCATE(ZHC(IL,KPAR)) 00832 ALLOCATE(ZTC(IL,KPAR)) 00833 END SUBROUTINE ALLOCATE_THERMAL_WORK 00834 SUBROUTINE DEALLOCATE_THERMAL_WORK 00835 DEALLOCATE(ZD) 00836 DEALLOCATE(ZHC) 00837 DEALLOCATE(ZTC) 00838 END SUBROUTINE DEALLOCATE_THERMAL_WORK 00839 !------------------------------------------------------------------------------- 00840 ! 00841 END SUBROUTINE CONVERT_PATCH_TEB