SURFEX v7.3
General documentation of Surfex
 All Classes Files Functions Variables Typedefs
/home/dasprezs/EXPORT_v7_3/src/SURFEX/hvac_autosize.F90
Go to the documentation of this file.
00001 !     #############################################################
00002 SUBROUTINE HVAC_AUTOSIZE(KI,KLUOUT)
00003 !     #############################################################
00004 !
00005 USE MODD_BEM_n, ONLY : NFLOOR_LAYER, XHC_FLOOR, XTC_FLOOR, XD_FLOOR,       &
00006                        XTCOOL_TARGET, XTHEAT_TARGET, XF_WASTE_CAN,         &
00007                        XEFF_HEAT, XQIN, XQIN_FRAD, XQIN_FLAT, XSHGC,       &
00008                        XSHGC_SH,XU_WIN, XGR, XFLOOR_HEIGHT, XINF,          &
00009                        LAUTOSIZE, XHR_TARGET, XV_VENT, XCAP_SYS_HEAT,      &
00010                        XCAP_SYS_RAT, XT_ADP, XM_SYS_RAT, XCOP_RAT,         &
00011                        XALB_WIN, XABS_WIN, XT_SIZE_MAX, XT_SIZE_MIN,       &
00012                        XUGG_WIN, XN_FLOOR, XGLAZ_O_BLD, XMASS_O_BLD,       &
00013                        XFLOOR_HW_RATIO, XF_FLOOR_MASS, XF_FLOOR_WALL,      &
00014                        XF_FLOOR_WIN, XF_FLOOR_ROOF, XF_WALL_FLOOR,         &
00015                        XF_WALL_MASS, XF_WALL_WIN, XF_WIN_FLOOR,            &
00016                        XF_WIN_MASS, XF_WIN_WALL, XF_MASS_FLOOR,            &
00017                        XF_MASS_WALL, XF_MASS_WIN, XTRAN_WIN, XF_WIN_WIN
00018 
00019 USE MODD_TEB_n, ONLY : NROOF_LAYER, NWALL_LAYER, NROAD_LAYER, XGARDEN,     &
00020                        XBLD, XROAD, XCAN_HW_RATIO, XBLD_HEIGHT,            &
00021                        XWALL_O_HOR, XWALL_O_GRND, XWALL_O_BLD, XZ0_TOWN,   &
00022                        XSVF_ROAD, XSVF_GARDEN, XSVF_WALL,                  &
00023                        CROAD_DIR, XROAD_DIR, CWALL_OPT,                    &
00024                        XALB_ROOF, XEMIS_ROOF, XHC_ROOF, XTC_ROOF, XD_ROOF, &
00025                        XALB_ROAD, XEMIS_ROAD, XHC_ROAD, XTC_ROAD, XD_ROAD, &
00026                        XALB_WALL, XEMIS_WALL, XHC_WALL, XTC_WALL, XD_WALL, &
00027                        XH_TRAFFIC, XLE_TRAFFIC, XH_INDUSTRY, XLE_INDUSTRY, &
00028                        XROUGH_ROOF, XROUGH_WALL, XGREENROOF
00029 
00030 
00031 USE MODD_CSTS,            ONLY : XCPD, XPI, XP00, XRD, XSTEFAN
00032 USE MODD_TEB_GRID_n,      ONLY : XLAT, XLON
00033 !
00034 USE MODD_SURFEX_OMP, ONLY : NBLOCKTOT
00035 !
00036 USE MODI_TEB
00037 USE MODI_SUNPOS
00038 USE MODI_URBAN_LW_COEF
00039 USE MODI_URBAN_SOLAR_ABS
00040 USE MODI_GET_SIZES_PARALLEL
00041 !
00042 USE YOMHOOK   ,ONLY : LHOOK,   DR_HOOK
00043 USE PARKIND1  ,ONLY : JPRB
00044 !
00045 !arguments
00046 INTEGER,       INTENT(IN)    :: KI     ! number of points
00047 INTEGER,       INTENT(IN)    :: KLUOUT ! output listing logical unit
00048 
00049 !local parameters
00050 LOGICAL, PARAMETER :: GCANOPY=.FALSE.
00051  CHARACTER(LEN=3), PARAMETER :: YBEM='BEM'
00052 
00053 REAL, PARAMETER     :: PPTSTEP      = 300.
00054 INTEGER, PARAMETER  :: JPYEAR       = 2004   ! Current year (UTC)
00055 
00056 !local variable
00057 INTEGER             :: IMONTH ! Current month (UTC)
00058 INTEGER             :: IDAY   ! Current day (UTC)
00059 REAL                :: ZTIME  ! Time at start of the run (s)
00060 !
00061 REAL, DIMENSION(KI) :: ZU_ROOF
00062 REAL, DIMENSION(KI) :: ZU_WALL
00063 REAL, DIMENSION(KI) :: ZT_CANYON
00064 REAL, DIMENSION(KI) :: ZQ_CANYON
00065 REAL, DIMENSION(KI) :: ZU_CANYON
00066 REAL, DIMENSION(KI) :: ZZ_LOWCAN
00067 REAL, DIMENSION(KI) :: ZDIR_SW
00068 REAL, DIMENSION(KI) :: ZSCA_SW
00069 !
00070  CHARACTER(LEN=3)    :: HIMPLICIT_WIND
00071  CHARACTER(LEN=6)    :: HZ0H 
00072  CHARACTER(LEN=5)    :: YCH_BEM 
00073 INTEGER             :: JJ
00074 INTEGER             :: JFORC_STEP
00075 INTEGER             :: INB_STEP_ATM
00076 !
00077 !! GREGOIRE 13/03
00078 REAL, DIMENSION(KI) :: ZROAD
00079 REAL, DIMENSION(KI) :: ZGARDEN
00080 REAL, DIMENSION(KI) :: ZSVF_GARDEN
00081 !! GREGOIRE 13/03
00082 REAL, DIMENSION(KI) :: ZZREF
00083 REAL, DIMENSION(KI) :: ZPS
00084 REAL, DIMENSION(KI) :: ZPA
00085 REAL, DIMENSION(KI) :: ZEXNS
00086 REAL, DIMENSION(KI) :: ZEXNA
00087 REAL, DIMENSION(KI) :: ZTA
00088 REAL, DIMENSION(KI) :: ZQA
00089 REAL, DIMENSION(KI) :: ZRHOA
00090 REAL, DIMENSION(KI) :: ZLW_RAD
00091 REAL, DIMENSION(KI) :: ZASNOW_ROOF
00092 REAL, DIMENSION(KI) :: ZASNOW_ROAD
00093 REAL, DIMENSION(KI) :: ZDN_ROOF
00094 REAL, DIMENSION(KI) :: ZDF_ROOF
00095 REAL, DIMENSION(KI) :: ZDN_ROAD
00096 REAL, DIMENSION(KI) :: ZDF_ROAD
00097 REAL, DIMENSION(KI) :: ZEMIS_GARDEN
00098 REAL, DIMENSION(KI) :: ZESNOW_ROAD
00099 REAL, DIMENSION(KI) :: ZTSSNOW_ROAD
00100 REAL, DIMENSION(KI) :: ZWS_ROOF
00101 REAL, DIMENSION(KI) :: ZWS_ROAD
00102  CHARACTER(LEN=4)    :: HSNOW_ROOF
00103 REAL, DIMENSION(KI,1):: ZWSNOW_ROOF
00104 REAL, DIMENSION(KI,1) :: ZTSNOW_ROOF
00105 REAL, DIMENSION(KI,1) :: ZRSNOW_ROOF
00106 REAL, DIMENSION(KI) :: ZTSSNOW_ROOF
00107 REAL, DIMENSION(KI) :: ZESNOW_ROOF
00108  CHARACTER(LEN=4)    :: HSNOW_ROAD
00109 REAL, DIMENSION(KI,1) :: ZWSNOW_ROAD
00110 REAL, DIMENSION(KI,1) :: ZTSNOW_ROAD
00111 REAL, DIMENSION(KI,1) :: ZRSNOW_ROAD
00112 REAL, DIMENSION(KI) :: ZRR
00113 REAL, DIMENSION(KI) :: ZSR
00114 REAL, DIMENSION(KI) :: ZQSAT_ROOF
00115 REAL, DIMENSION(KI) :: ZQSAT_ROAD
00116 REAL, DIMENSION(KI) :: ZDELT_ROOF
00117 REAL, DIMENSION(KI) :: ZDELT_ROAD
00118 REAL, DIMENSION(KI) :: ZABS_SW_ROOF
00119 REAL, DIMENSION(KI) :: ZABS_SW_ROAD
00120 REAL, DIMENSION(KI) :: ZABS_SW_WALL_A
00121 REAL, DIMENSION(KI) :: ZABS_SW_WALL_B
00122 REAL, DIMENSION(KI) :: ZABS_SW_GARDEN
00123 REAL, DIMENSION(KI) :: ZABS_SW_GREENROOF
00124 REAL, DIMENSION(KI) :: ZABS_SW_SNOW_ROOF
00125 REAL, DIMENSION(KI) :: ZABS_SW_SNOW_ROAD
00126 REAL, DIMENSION(KI) :: ZREC_SW_ROAD
00127 REAL, DIMENSION(KI) :: ZREC_SW_SNOW_ROAD
00128 REAL, DIMENSION(KI) :: ZREC_SW_WALL_A
00129 REAL, DIMENSION(KI) :: ZREC_SW_WALL_B
00130 REAL, DIMENSION(KI) :: ZREC_SW_GARDEN
00131 REAL, DIMENSION(KI) :: ZABS_LW_ROOF      ! absorbed IR rad by roof
00132 REAL, DIMENSION(KI) :: ZABS_LW_SNOW_ROOF ! absorbed IR rad by snow on roof
00133 REAL, DIMENSION(KI) :: ZABS_LW_ROAD      ! absorbed IR rad by road
00134 REAL, DIMENSION(KI) :: ZABS_LW_SNOW_ROAD ! absorbed IR rad by snow on road
00135 REAL, DIMENSION(KI) :: ZABS_LW_WALL_A    ! absorbed IR rad by wall
00136 REAL, DIMENSION(KI) :: ZABS_LW_WALL_B    ! absorbed IR rad by wall
00137 REAL, DIMENSION(KI) :: ZDIR_ALB_TOWN
00138 REAL, DIMENSION(KI) :: ZSCA_ALB_TOWN
00139 REAL, DIMENSION(KI) :: ZSW_RAD_GARDEN
00140 REAL, DIMENSION(KI) :: ZABS_SW_WIN
00141 REAL, DIMENSION(KI) :: ZREC_SW_WIN
00142 REAL, DIMENSION(KI) :: ZREF_SW_GRND
00143 REAL, DIMENSION(KI) :: ZREF_SW_FAC
00144 REAL,DIMENSION(KI) :: ZT1    ! intermediate variable
00145 REAL,DIMENSION(KI) :: ZTN    ! intermediate variable
00146 REAL,DIMENSION(KI,NROAD_LAYER ) :: ZT_ROAD    ! road layers temperatures
00147 REAL,DIMENSION(KI,NROOF_LAYER) :: ZT_ROOF    ! roof layers temperatures
00148 REAL,DIMENSION(KI,NWALL_LAYER) :: ZT_WALL_A  ! wall layers temperatures
00149 REAL,DIMENSION(KI,NWALL_LAYER) :: ZT_WALL_B  ! wall layers temperatures
00150 REAL,DIMENSION(KI,NFLOOR_LAYER ) :: ZT_FLOOR   ! building floor temperature
00151 REAL,DIMENSION(KI,NFLOOR_LAYER ) :: ZT_MASS    ! building mass temperature
00152 REAL, DIMENSION(KI) :: ZTS_GARDEN
00153 REAL, DIMENSION(KI) :: ZT_WIN1
00154 REAL, DIMENSION(KI) :: ZLW_WA_TO_WB   ! longwave exchange coefficients
00155 REAL, DIMENSION(KI) :: ZLW_WA_TO_R
00156 REAL, DIMENSION(KI) :: ZLW_WB_TO_R
00157 REAL, DIMENSION(KI) :: ZLW_WA_TO_NR
00158 REAL, DIMENSION(KI) :: ZLW_WB_TO_NR
00159 REAL, DIMENSION(KI) :: ZLW_WA_TO_G
00160 REAL, DIMENSION(KI) :: ZLW_WB_TO_G
00161 REAL, DIMENSION(KI) :: ZLW_WA_TO_WIN
00162 REAL, DIMENSION(KI) :: ZLW_WB_TO_WIN
00163 REAL, DIMENSION(KI) :: ZLW_R_TO_WA
00164 REAL, DIMENSION(KI) :: ZLW_R_TO_WB
00165 REAL, DIMENSION(KI) :: ZLW_R_TO_WIN
00166 REAL, DIMENSION(KI) :: ZLW_G_TO_WA
00167 REAL, DIMENSION(KI) :: ZLW_G_TO_WB
00168 REAL, DIMENSION(KI) :: ZLW_G_TO_WIN
00169 REAL, DIMENSION(KI) :: ZLW_S_TO_WA
00170 REAL, DIMENSION(KI) :: ZLW_S_TO_WB
00171 REAL, DIMENSION(KI) :: ZLW_S_TO_R
00172 REAL, DIMENSION(KI) :: ZLW_S_TO_NR
00173 REAL, DIMENSION(KI) :: ZLW_S_TO_G
00174 REAL, DIMENSION(KI) :: ZLW_S_TO_WIN
00175 REAL, DIMENSION(KI) :: ZLW_WIN_TO_WA
00176 REAL, DIMENSION(KI) :: ZLW_WIN_TO_WB
00177 REAL, DIMENSION(KI) :: ZLW_WIN_TO_R
00178 REAL, DIMENSION(KI) :: ZLW_WIN_TO_NR
00179 REAL, DIMENSION(KI) :: ZLW_WIN_TO_G
00180 REAL, DIMENSION(KI) :: ZLW_NR_TO_WA
00181 REAL, DIMENSION(KI) :: ZLW_NR_TO_WB
00182 REAL, DIMENSION(KI) :: ZLW_NR_TO_WIN
00183 REAL, DIMENSION(KI) :: ZTI_BLD
00184 REAL, DIMENSION(KI) :: ZRN_ROOF      ! net radiation over roof
00185 REAL, DIMENSION(KI) :: ZH_ROOF       ! sensible heat flux over roof
00186 REAL, DIMENSION(KI) :: ZLE_ROOF      ! latent heat flux over roof
00187 REAL, DIMENSION(KI) :: ZLEW_ROOF     ! latent heat flux over roof (snow)
00188 REAL, DIMENSION(KI) :: ZGFLUX_ROOF   ! flux through the roof
00189 REAL, DIMENSION(KI) :: ZRUNOFF_ROOF  ! runoff over the ground
00190 REAL, DIMENSION(KI) :: ZRN_ROAD      ! net radiation over road
00191 REAL, DIMENSION(KI) :: ZH_ROAD       ! sensible heat flux over road
00192 REAL, DIMENSION(KI) :: ZLE_ROAD      ! latent heat flux over road
00193 REAL, DIMENSION(KI) :: ZLEW_ROAD     ! latent heat flux over road (snow)
00194 REAL, DIMENSION(KI) :: ZGFLUX_ROAD   ! flux through the road
00195 REAL, DIMENSION(KI) :: ZRUNOFF_ROAD  ! runoff over the ground
00196 REAL, DIMENSION(KI) :: ZRN_WALL_A    ! net radiation over wall
00197 REAL, DIMENSION(KI) :: ZH_WALL_A     ! sensible heat flux over wall
00198 REAL, DIMENSION(KI) :: ZLE_WALL_A    ! latent heat flux over wall
00199 REAL, DIMENSION(KI) :: ZGFLUX_WALL_A ! flux through the wall
00200 REAL, DIMENSION(KI) :: ZRN_WALL_B    ! net radiation over wall
00201 REAL, DIMENSION(KI) :: ZH_WALL_B     ! sensible heat flux over wall
00202 REAL, DIMENSION(KI) :: ZLE_WALL_B    ! latent heat flux over wall
00203 REAL, DIMENSION(KI) :: ZGFLUX_WALL_B ! flux through the wall
00204 REAL, DIMENSION(KI) :: ZRN_BLT       ! net radiation over built surf 
00205 REAL, DIMENSION(KI) :: ZH_BLT        ! sensible heat flux over built surf 
00206 REAL, DIMENSION(KI) :: ZLE_BLT       ! latent heat flux over built surf 
00207 REAL, DIMENSION(KI) :: ZGFLUX_BLT    ! flux through the built surf 
00208 REAL, DIMENSION(KI) :: ZRNSNOW_ROOF  ! net radiation over snow
00209 REAL, DIMENSION(KI) :: ZHSNOW_ROOF   ! sensible heat flux over snow
00210 REAL, DIMENSION(KI) :: ZLESNOW_ROOF  ! latent heat flux over snow
00211 REAL, DIMENSION(KI) :: ZGSNOW_ROOF   ! flux under the snow
00212 REAL, DIMENSION(KI) :: ZMELT_ROOF    ! snow melt
00213 REAL, DIMENSION(KI) :: ZRNSNOW_ROAD  ! net radiation over snow
00214 REAL, DIMENSION(KI) :: ZHSNOW_ROAD   ! sensible heat flux over snow
00215 REAL, DIMENSION(KI) :: ZLESNOW_ROAD  ! latent heat flux over snow
00216 REAL, DIMENSION(KI) :: ZGSNOW_ROAD   ! flux under the snow
00217 REAL, DIMENSION(KI) :: ZMELT_ROAD    ! snow melt
00218 REAL, DIMENSION(KI) :: ZRUNOFF_TOWN  ! runoff over the ground
00219 REAL, DIMENSION(KI) :: ZUW_ROAD      ! Momentum flux for roads
00220 REAL, DIMENSION(KI) :: ZUW_ROOF      ! Momentum flux for roofs
00221 REAL, DIMENSION(KI) :: ZDUWDU_ROAD   !
00222 REAL, DIMENSION(KI) :: ZDUWDU_ROOF   !
00223 REAL, DIMENSION(KI) :: ZUSTAR_TOWN   ! friction velocity over town
00224 REAL, DIMENSION(KI) :: ZCD           ! town averaged drag coefficient
00225 REAL, DIMENSION(KI) :: ZCDN          ! town averaged neutral drag coefficient
00226 REAL, DIMENSION(KI) :: ZCH_TOWN      ! town averaged heat transfer coefficient
00227 REAL, DIMENSION(KI) :: ZRI_TOWN      ! town averaged Richardson number
00228 REAL, DIMENSION(KI) :: ZRESA_TOWN    ! town aerodynamical resistance
00229 REAL, DIMENSION(KI) :: ZDQS_TOWN     ! heat storage inside town
00230 REAL, DIMENSION(KI) :: ZQF_TOWN      ! total anthropogenic heat
00231 REAL, DIMENSION(KI) :: ZQF_BLD       ! anthropogenic heat flux of domestic heating  
00232 REAL, DIMENSION(KI) :: ZFLX_BLD      ! heat flux between inside of the bld
00233 REAL, DIMENSION(KI) :: ZAC_ROOF      ! roof conductance
00234 REAL, DIMENSION(KI) :: ZAC_ROAD       ! road conductance
00235 REAL, DIMENSION(KI) :: ZAC_WALL      ! wall conductance
00236 REAL, DIMENSION(KI) :: ZAC_TOP       ! top conductance
00237 REAL, DIMENSION(KI) :: ZAC_GARDEN     ! garden conductance
00238 REAL, DIMENSION(KI) :: ZAC_ROOF_WAT  ! roof water conductance
00239 REAL, DIMENSION(KI) :: ZAC_ROAD_WAT  ! roof water conductance 
00240 REAL, DIMENSION(KI) :: ZH_BLD_COOL
00241 REAL, DIMENSION(KI) :: ZT_BLD_COOL
00242 REAL, DIMENSION(KI) :: ZH_BLD_HEAT
00243 REAL, DIMENSION(KI) :: ZLE_BLD_COOL
00244 REAL, DIMENSION(KI) :: ZLE_BLD_HEAT
00245 REAL, DIMENSION(KI) :: ZH_WASTE
00246 REAL, DIMENSION(KI) :: ZLE_WASTE
00247 REAL, DIMENSION(KI) :: ZHVAC_COOL
00248 REAL, DIMENSION(KI) :: ZHVAC_HEAT
00249 REAL, DIMENSION(KI) :: ZT_WIN2
00250 REAL, DIMENSION(KI) :: ZQI_BLD
00251 REAL, DIMENSION(KI) :: ZM_SYS
00252 REAL, DIMENSION(KI) :: ZQ_SYS
00253 REAL, DIMENSION(KI) :: ZT_SYS
00254 REAL, DIMENSION(KI) :: ZTR_SW_WIN
00255 REAL, DIMENSION(KI) :: ZFAN_POWER
00256 REAL, DIMENSION(KI) :: ZABS_LW_WIN
00257 REAL, DIMENSION(KI) :: ZEMIT_LW_FAC
00258 REAL, DIMENSION(KI) :: ZEMIT_LW_ROAD
00259 REAL, DIMENSION(KI) :: ZT_RAD_IND
00260 REAL, DIMENSION(KI) :: ZHU_BLD
00261 REAL, DIMENSION(KI) :: ZTSUN
00262 REAL, DIMENSION(KI) :: ZZENITH
00263 REAL, DIMENSION(KI) :: ZAZIM
00264 REAL, DIMENSION(KI) :: ZALB_GARDEN
00265 REAL, DIMENSION(KI) :: ZALB_GREENROOF
00266 REAL, DIMENSION(KI) :: ZAUX_MAX
00267 REAL, DIMENSION(KI) :: ZCAP_SYS
00268 REAL, DIMENSION(KI) :: ZCOP
00269 REAL, DIMENSION(KI) :: ZPEW_A_COEF
00270 REAL, DIMENSION(KI) :: ZPEW_B_COEF
00271 REAL, DIMENSION(KI) :: ZTOT_SW
00272 REAL, DIMENSION(KI) :: ZTOUT_EQ
00273 REAL, DIMENSION(KI) :: ZT_SKY
00274 REAL, DIMENSION(KI) :: ZF_WATER_COND
00275 !
00276 !new for shading
00277 REAL, DIMENSION(KI) :: ZE_SHADING
00278 LOGICAL, DIMENSION(KI) :: GSHAD_DAY
00279 LOGICAL, DIMENSION(KI) :: GSHADE
00280 LOGICAL, DIMENSION(KI) :: GNATVENT_NIGHT
00281 !
00282  CHARACTER(LEN=6)    :: YCOOL_COIL
00283  CHARACTER(LEN=6)    :: YHEAT_COIL
00284  CHARACTER(LEN=4),DIMENSION(KI) :: YNATVENT
00285 !
00286 ! Case greenroof
00287 REAL, DIMENSION(KI) :: ZRN_GREENROOF
00288 REAL, DIMENSION(KI) :: ZH_GREENROOF
00289 REAL, DIMENSION(KI) :: ZLE_GREENROOF
00290 REAL, DIMENSION(KI) :: ZGFLUX_GREENROOF
00291 REAL, DIMENSION(KI) :: ZUW_GREENROOF
00292 REAL, DIMENSION(KI) :: ZG_GREENROOF_ROOF
00293 REAL, DIMENSION(KI) :: ZRN_STRLROOF
00294 REAL, DIMENSION(KI) :: ZH_STRLROOF
00295 REAL, DIMENSION(KI) :: ZLE_STRLROOF
00296 REAL, DIMENSION(KI) :: ZGFLUX_STRLROOF
00297 !
00298 INTEGER, DIMENSION(:), ALLOCATABLE :: ISIZE_OMP
00299 !
00300 REAL(KIND=JPRB) :: ZHOOK_HANDLE
00301 !
00302 !*      0.     Initialization
00303 !              --------------
00304 !
00305 IF (LHOOK) CALL DR_HOOK('HVAC_AUTOSIZE',0,ZHOOK_HANDLE)
00306 !
00307 HIMPLICIT_WIND = 'NEW'
00308 !
00309 !    Date
00310 IMONTH = 7
00311 IDAY   = 12
00312 ZTIME  = 0.
00313 !
00314 !    Design parameters
00315 ZZREF =  50.
00316 ZPS   = 101325.
00317 ZQA   = 0.011
00318 ZU_CANYON = 2.5 
00319 ZAUX_MAX = 0.
00320 ZT_SKY = 253.15
00321 !
00322 !
00323 !    Initialization
00324 XM_SYS_RAT    = 0.
00325 XCAP_SYS_RAT  = 0.
00326 XCAP_SYS_HEAT = 0.
00327 ZLW_RAD= 300.
00328 !
00329 !   Non-used parameters
00330 ZZ_LOWCAN = ZZREF
00331 HZ0H = 'KAND07'
00332 YCH_BEM = 'DOE-2'
00333  
00334 
00335 INB_STEP_ATM = 3600*24*4/PPTSTEP
00336 ZPA = ZPS
00337 ZEXNS = (ZPS/XP00)**(XRD/XCPD)
00338 ZEXNA = (ZPA/XP00)**(XRD/XCPD)
00339 HSNOW_ROOF = 'NONE'
00340 HSNOW_ROAD = 'NONE'
00341 ZASNOW_ROOF = 0.8
00342 ZASNOW_ROAD = 0.8
00343 ZDN_ROOF = 0.0
00344 ZDF_ROOF = 1.0
00345 ZDN_ROAD = 0.0
00346 ZDF_ROAD = 1.0
00347 ZEMIS_GARDEN = 1.0
00348 ZESNOW_ROAD = 1.0
00349 ZTSSNOW_ROAD = 273.0
00350 ZWS_ROOF = 0.0
00351 ZWS_ROAD = 0.0
00352 ZWSNOW_ROOF = 0.0
00353 ZTSNOW_ROOF = 273.0
00354 ZRSNOW_ROOF = 0.0
00355 ZTSSNOW_ROOF = 273.0
00356 ZESNOW_ROOF = 0.0
00357 ZWSNOW_ROAD = 0.0
00358 ZTSNOW_ROAD = 273.0
00359 ZRSNOW_ROAD = 0.0
00360 ZRR = 0.0 
00361 ZSR = 0.0 
00362 ZQSAT_ROOF = 0.015
00363 ZQSAT_ROAD = 0.015
00364 ZDELT_ROOF = 0.0 
00365 ZDELT_ROAD = 0.0 
00366 ZTS_GARDEN = 300.
00367 ZPEW_A_COEF  = 0.5  
00368 ZPEW_B_COEF  = 0.5 
00369 ZE_SHADING(:) = 0.
00370 GNATVENT_NIGHT(:) = .FALSE.
00371 GSHADE        (:) = .FALSE.
00372 GSHAD_DAY     (:) = .FALSE.
00373 !
00374 ! Case greenroofs
00375 ZRN_GREENROOF    (:) = 0.
00376 ZH_GREENROOF     (:) = 0.
00377 ZLE_GREENROOF    (:) = 0.
00378 ZGFLUX_GREENROOF (:) = 0.
00379 ZUW_GREENROOF    (:) = 0.
00380 !* one supposes zero conduction heat flux between the greenroof and the roof.
00381 ZG_GREENROOF_ROOF(:) = 0.
00382 !
00383 !*      A.     Autosize of the heating system
00384 !              ---------------------------------
00385 !
00386 YCOOL_COIL = 'IDEAL '
00387 YHEAT_COIL = 'IDEAL '
00388 YNATVENT(:) = 'NONE'
00389 ZF_WATER_COND(:) = 0.
00390 ZRHOA = 1.30
00391 ZTOUT_EQ(:) = (XT_SIZE_MIN(:) + ZT_SKY(:))/2.
00392 !
00393 ZU_ROOF(:) = 0.0
00394 DO JJ=1,NROOF_LAYER
00395   ZU_ROOF(:) = ZU_ROOF(:) + XD_ROOF(:,JJ)/XTC_ROOF(:,JJ)
00396 END DO
00397 ZU_ROOF(:) = ZU_ROOF(:) + 1./10. + 1./25.         
00398 ZU_ROOF(:) = 1. / ZU_ROOF(:)
00399 !
00400 ZU_WALL(:) = 0.0
00401 DO JJ=1,NWALL_LAYER
00402   ZU_WALL(:) = ZU_WALL(:) + XD_WALL(:,JJ)/XTC_WALL(:,JJ)
00403 END DO
00404 ZU_WALL(:) = ZU_WALL(:) + 1./10. + 1./25.         
00405 ZU_WALL(:) = 1. / ZU_WALL(:)
00406 !
00407 !   Heating Coil Capacity [W m-2(bld)]
00408 XCAP_SYS_HEAT(:) = ZU_WALL(:) * XWALL_O_BLD(:) * (XTHEAT_TARGET(:) - ZTOUT_EQ(:)) &
00409                  + XU_WIN(:)  * XGLAZ_O_BLD(:)  * (XTHEAT_TARGET(:) - ZTOUT_EQ(:)) &
00410                  + ZU_ROOF(:)              * (XTHEAT_TARGET(:) - ZTOUT_EQ(:)) &
00411                  - XQIN(:) * XBLD_HEIGHT(:) / XFLOOR_HEIGHT(:)*             &
00412                    (1 - XQIN_FLAT(:))                                        &
00413                  + XINF(:) * XBLD_HEIGHT(:) / 3600* ZRHOA(:) * XCPD *       &
00414                    (XTHEAT_TARGET(:) - XT_SIZE_MIN(:)) &
00415                  + XV_VENT(:) * XBLD_HEIGHT(:) / 3600* ZRHOA(:) * XCPD *    &
00416                    (XTHEAT_TARGET(:) - XT_SIZE_MIN(:))
00417 !
00418 !   Rated air flow rate [kg s-1 m-2(bld)]
00419 XM_SYS_RAT(:)   = XCAP_SYS_HEAT(:)/XCPD/(323.15 - XTHEAT_TARGET(:))
00420 !
00421 !
00422 !*      B.     Autosize of the cooling system
00423 !              -----------------------------------
00424 !
00425 ZRHOA = 1.15
00426 !    Initial values
00427 ! initial value for air temperature and outdoor wall/roof/window/road temperature
00428 ZT_CANYON(:) = 10.7/2 * SIN(2*XPI/(24*3600) * (ZTIME+16*3600)) + (XT_SIZE_MAX(:)-10.7/2)
00429 !! !ZTI_BLD   = 297.16 ! indoor air temperature
00430 DO JJ=1,KI
00431     ZTI_BLD(JJ) = MAX(XTHEAT_TARGET(JJ),ZT_CANYON(JJ)) ! indoor air temperature
00432 ENDDO
00433 ZT_ROOF  (:,NROOF_LAYER)   = ZTI_BLD(:)   ! roof layers temperatures
00434 ZT_WALL_A(:,NWALL_LAYER)   = ZTI_BLD(:)   ! wall layers temperatures
00435 DO JJ=1,NFLOOR_LAYER
00436    ZT_FLOOR(:,JJ)  = ZTI_BLD(:) ! building floor temperature
00437    ZT_MASS(:,JJ)   = ZTI_BLD(:) ! building mass temperature
00438 ENDDO
00439 
00440 !ROAD
00441 DO JJ=1,NROAD_LAYER
00442    ZT_ROAD(:,JJ) = ZT_CANYON(:)
00443 ENDDO
00444 !ROOF
00445 ZT_ROOF(:,1) = ZT_CANYON(:)
00446 ZT1(:)=ZT_ROOF(:,1)
00447 ZTN(:)=ZT_ROOF(:,NROOF_LAYER)
00448 IF (NROOF_LAYER .GT. 2) CALL INTERP_PROFTWALL(ZT1, ZTN, XD_ROOF, ZT_ROOF)
00449 !WALL
00450 ZT_WALL_A(:,1) = ZT_CANYON(:)
00451 ZT1(:)=ZT_WALL_A(:,1)
00452 ZTN(:)=ZT_WALL_A(:,NWALL_LAYER)
00453 IF (NWALL_LAYER .GT. 2) CALL INTERP_PROFTWALL(ZT1, ZTN, XD_WALL, ZT_WALL_A)
00454 ZT_WALL_B = ZT_WALL_A
00455 !OUTDOOR WINDOW TEMPERATURE
00456 ZT_WIN1(:) = ZT_CANYON(:)
00457 !! 
00458 ZT_WIN2(:)   = ZTI_BLD(:)
00459 !! 
00460 ZQ_CANYON = 0.011
00461 ZQI_BLD   = 0.011
00462 ZT_SYS = ZTI_BLD
00463 ZQ_SYS = ZQI_BLD
00464 !
00465 !! GREGOIRE 13/03
00466 ZROAD         (:) = XROAD(:)+XGARDEN(:)
00467 ZGARDEN       (:) = 0.
00468 ZALB_GARDEN   (:) = 0.
00469 ZALB_GREENROOF(:) = 0.
00470 ZAC_GARDEN    (:) = 0.
00471 ZSVF_GARDEN   (:) = 0.
00472 !! GREGOIRE 13/03
00473 
00474 ALLOCATE(ISIZE_OMP(0:NBLOCKTOT-1))
00475  CALL GET_SIZES_PARALLEL(1.,NBLOCKTOT,0,KI,ISIZE_OMP)
00476 
00477 DO JFORC_STEP= 1,INB_STEP_ATM
00478 !
00479 !   Daily outdoor air temperature cycle
00480     ZT_CANYON(:) = 10.7/2 * SIN(2*XPI/(24*3600) * (ZTIME+16*3600))  &
00481               + (XT_SIZE_MAX(:)-10.7/2)
00482     ZTA(:) = ZT_CANYON(:)
00483 !
00484 !
00485 !*      B.1     Solar radiation
00486 !               ---------------
00487 !
00488     CALL SUNPOS(ISIZE_OMP, JPYEAR, IMONTH, IDAY, ZTIME, XLON, XLAT, ZTSUN, ZZENITH, ZAZIM)
00489 !
00490     CALL SW_DAYCYCLE(KI, ZZENITH, ZTOT_SW)
00491 !
00492     ZDIR_SW(:) = 0.88 * ZTOT_SW(:) * 0.85 ! manual adjustment
00493     ZSCA_SW(:) = 0.12 * ZTOT_SW(:) * 0.85 ! manual adjustment
00494     WHERE (ZDIR_SW < 0.0) 
00495         ZDIR_SW = 0.0
00496     END WHERE
00497     WHERE (ZSCA_SW < 0.0) 
00498         ZSCA_SW = 0.0
00499     END WHERE
00500 
00501 !
00502     CALL URBAN_SOLAR_ABS(YBEM, CROAD_DIR, CWALL_OPT,               &
00503                      ZDIR_SW, ZSCA_SW, ZZENITH, ZAZIM,             &
00504                      XBLD, ZGARDEN, XROAD_DIR, XROAD, XGREENROOF,  &
00505                      XWALL_O_HOR, XCAN_HW_RATIO,                   &
00506                      XALB_ROOF,                                    &
00507                      XALB_ROAD, XSVF_ROAD, XALB_WALL, XSVF_WALL,   &
00508                      ZALB_GARDEN, ZSVF_GARDEN,                     &
00509                      ZALB_GREENROOF,                               &
00510                      ZASNOW_ROOF, ZASNOW_ROAD,                     &
00511                      ZDN_ROOF, ZDF_ROOF, ZDN_ROAD, ZDF_ROAD,       &
00512                      XGR, XABS_WIN, XSHGC, XSHGC_SH, XALB_WIN,     &                     
00513                      ZABS_SW_ROOF, ZABS_SW_ROAD,                   &
00514                      ZABS_SW_WALL_A, ZABS_SW_WALL_B,               &
00515                      ZABS_SW_GARDEN, ZABS_SW_GREENROOF,            &
00516                      ZABS_SW_SNOW_ROOF, ZABS_SW_SNOW_ROAD,         &
00517                      ZREC_SW_ROAD,  ZREC_SW_SNOW_ROAD,             &
00518                      ZREC_SW_WALL_A, ZREC_SW_WALL_B,               &
00519                      ZREC_SW_GARDEN,                               &
00520                      ZDIR_ALB_TOWN,ZSCA_ALB_TOWN,                  &
00521                      ZSW_RAD_GARDEN, ZABS_SW_WIN, ZREC_SW_WIN,     &
00522                      XTRAN_WIN,                                    &
00523                      ZREF_SW_GRND, ZREF_SW_FAC, ZTR_SW_WIN,        &
00524                      ZE_SHADING, GSHAD_DAY, GSHADE                 )
00525 !
00526 !
00527 !*      B.2     LW properties
00528 !               -------------
00529 !
00530    CALL URBAN_LW_COEF(XGR, XBLD, ZLW_RAD,                                &
00531                       XEMIS_ROAD, XSVF_ROAD, XEMIS_WALL, XSVF_WALL,      &
00532                       ZEMIS_GARDEN, XROAD, ZGARDEN,                      &
00533                       ZESNOW_ROAD,                                       &
00534                       ZTSSNOW_ROAD, ZT_WALL_A(:,1), ZT_WALL_B(:,1),      &
00535                       ZT_ROAD(:,1), ZTS_GARDEN, ZT_WIN1,                 &  
00536                       ZLW_WA_TO_WB, ZLW_WA_TO_R, ZLW_WB_TO_R,            &
00537                       ZLW_WA_TO_NR,ZLW_WB_TO_NR,                         &
00538                       ZLW_WA_TO_G, ZLW_WB_TO_G,                          &
00539                       ZLW_WA_TO_WIN, ZLW_WB_TO_WIN,                      &
00540                       ZLW_R_TO_WA, ZLW_R_TO_WB, ZLW_R_TO_WIN,            &
00541                       ZLW_G_TO_WA, ZLW_G_TO_WB, ZLW_G_TO_WIN,            &
00542                       ZLW_S_TO_WA, ZLW_S_TO_WB, ZLW_S_TO_R,              &
00543                       ZLW_S_TO_NR, ZLW_S_TO_G, ZLW_S_TO_WIN,             &
00544                       ZLW_WIN_TO_WA, ZLW_WIN_TO_WB, ZLW_WIN_TO_R,        &
00545                       ZLW_WIN_TO_NR, ZLW_WIN_TO_G,                       &
00546                       ZLW_NR_TO_WA, ZLW_NR_TO_WB, ZLW_NR_TO_WIN          )
00547 !
00548 !*      B.3     TEB simulation
00549 !               -------------
00550 !
00551     CALL TEB  (HZ0H, HIMPLICIT_WIND, CWALL_OPT, YBEM,                 &
00552              ZT_CANYON, ZQ_CANYON, ZU_CANYON,                         &
00553              ZT_CANYON, ZQ_CANYON, ZU_CANYON, ZZ_LOWCAN, ZTI_BLD,     &
00554              ZT_ROOF, ZT_ROAD, ZT_WALL_A, ZT_WALL_B,                  &
00555              ZWS_ROOF, ZWS_ROAD,                                      &
00556              HSNOW_ROOF, ZWSNOW_ROOF, ZTSNOW_ROOF, ZRSNOW_ROOF,       &
00557              ZASNOW_ROOF, ZTSSNOW_ROOF, ZESNOW_ROOF,                  &
00558              HSNOW_ROAD, ZWSNOW_ROAD, ZTSNOW_ROAD, ZRSNOW_ROAD,       &
00559              ZASNOW_ROAD, ZTSSNOW_ROAD, ZESNOW_ROAD,                  &
00560              ZPEW_A_COEF, ZPEW_B_COEF,                                &
00561              ZPEW_A_COEF, ZPEW_B_COEF,                                &
00562              ZPS, ZPA, ZEXNS, ZEXNA, ZTA, ZQA, ZRHOA, ZLW_RAD,        &
00563              ZRR, ZSR, ZZREF, ZZREF, ZU_CANYON,                       &
00564              XH_TRAFFIC, XLE_TRAFFIC, XH_INDUSTRY, XLE_INDUSTRY,      &
00565              PPTSTEP, XZ0_TOWN, XBLD, ZGARDEN, XROAD, XGREENROOF,     &
00566              XBLD_HEIGHT, XWALL_O_HOR, XCAN_HW_RATIO, XWALL_O_GRND,   &
00567              ZDF_ROOF, ZDN_ROOF, ZDF_ROAD,                            &
00568              ZDN_ROAD, ZQSAT_ROOF, ZQSAT_ROAD, ZDELT_ROOF, ZDELT_ROAD,&
00569              XEMIS_ROOF, XHC_ROOF, XTC_ROOF, XD_ROOF,                 &
00570              XEMIS_ROAD, XHC_ROAD, XTC_ROAD,                          &
00571              XD_ROAD, XEMIS_WALL, ZTS_GARDEN,                         &
00572              XHC_WALL, XTC_WALL, XD_WALL, ZRN_ROOF, ZH_ROOF, ZLE_ROOF,&
00573              ZLEW_ROOF, ZGFLUX_ROOF, ZRUNOFF_ROOF,                    &
00574              ZRN_GREENROOF, ZH_GREENROOF, ZLE_GREENROOF,              &
00575              ZGFLUX_GREENROOF, ZUW_GREENROOF,                         &
00576              ZRN_STRLROOF, ZH_STRLROOF, ZLE_STRLROOF, ZGFLUX_STRLROOF,&
00577              ZRN_ROAD, ZH_ROAD,                                       &
00578              ZLE_ROAD, ZLEW_ROAD, ZGFLUX_ROAD, ZRUNOFF_ROAD,          &
00579              ZRN_WALL_A, ZH_WALL_A, ZLE_WALL_A, ZGFLUX_WALL_A,        &
00580              ZRN_WALL_B, ZH_WALL_B, ZLE_WALL_B, ZGFLUX_WALL_B,        &
00581              ZRN_BLT, ZH_BLT, ZLE_BLT, ZGFLUX_BLT,                    &
00582              ZRNSNOW_ROOF, ZHSNOW_ROOF, ZLESNOW_ROOF, ZGSNOW_ROOF,    &
00583              ZMELT_ROOF,                                              &
00584              ZRNSNOW_ROAD, ZHSNOW_ROAD, ZLESNOW_ROAD, ZGSNOW_ROAD,    &
00585              ZMELT_ROAD,                                              &
00586              ZG_GREENROOF_ROOF,                                       &
00587              ZRUNOFF_TOWN,                                            &
00588              ZUW_ROAD, ZUW_ROOF, ZDUWDU_ROAD, ZDUWDU_ROOF,            &
00589              ZUSTAR_TOWN, ZCD, ZCDN, ZCH_TOWN, ZRI_TOWN,              &
00590              ZRESA_TOWN, ZDQS_TOWN, ZQF_TOWN, ZQF_BLD, ZFLX_BLD,      &
00591              ZAC_ROOF, ZAC_ROAD, ZAC_WALL, ZAC_TOP, ZAC_GARDEN,       &
00592              ZAC_ROOF_WAT, ZAC_ROAD_WAT, ZABS_SW_ROOF, ZABS_LW_ROOF,  &
00593              ZABS_SW_SNOW_ROOF, ZABS_LW_SNOW_ROOF, ZABS_SW_ROAD,      &
00594              ZABS_LW_ROAD, ZABS_SW_SNOW_ROAD, ZABS_LW_SNOW_ROAD,      &
00595              ZABS_SW_WALL_A, ZABS_LW_WALL_A,                          &
00596              ZABS_SW_WALL_B, ZABS_LW_WALL_B,                          &
00597              ZLW_WA_TO_WB,                                            &
00598              ZLW_WA_TO_R, ZLW_WB_TO_R,                                &
00599              ZLW_WA_TO_NR, ZLW_WB_TO_NR,                              &
00600              ZLW_R_TO_WA, ZLW_R_TO_WB,                                &
00601              ZLW_G_TO_WA, ZLW_G_TO_WB,                                &
00602              ZLW_S_TO_WA, ZLW_S_TO_WB, ZLW_S_TO_R,                    &
00603              ZLW_S_TO_NR, ZLW_NR_TO_WA, ZLW_NR_TO_WB,                 &
00604              ZLW_NR_TO_WIN, ZLW_WA_TO_WIN, ZLW_WB_TO_WIN,             &
00605              ZLW_G_TO_WIN,                                            &
00606              ZLW_R_TO_WIN, ZLW_S_TO_WIN, ZLW_WIN_TO_WA, ZLW_WIN_TO_WB,&
00607              ZLW_WIN_TO_R, ZLW_WIN_TO_NR,                             &
00608              YNATVENT,                                                &
00609              YCOOL_COIL, ZF_WATER_COND, YHEAT_COIL, LAUTOSIZE,        &
00610              IDAY, ZAUX_MAX, ZT_FLOOR, ZT_MASS, ZH_BLD_COOL,          &
00611              ZT_BLD_COOL, ZH_BLD_HEAT, ZLE_BLD_COOL, ZLE_BLD_HEAT,    &
00612              ZH_WASTE, ZLE_WASTE, XF_WASTE_CAN, ZHVAC_COOL, ZHVAC_HEAT,&
00613              XQIN, XQIN_FRAD, XQIN_FLAT, XGR, XEFF_HEAT,              &
00614              XINF, XTCOOL_TARGET, XTHEAT_TARGET, XHR_TARGET, ZT_WIN2, &
00615              ZQI_BLD, XV_VENT, XCAP_SYS_HEAT, XCAP_SYS_RAT, XT_ADP,   &
00616              XM_SYS_RAT, XCOP_RAT, ZCAP_SYS, ZM_SYS, ZCOP, ZQ_SYS,    &
00617              ZT_SYS, ZTR_SW_WIN, ZFAN_POWER, XHC_FLOOR, XTC_FLOOR,    &
00618              XD_FLOOR, ZT_WIN1, ZABS_SW_WIN, ZABS_LW_WIN,             &
00619              XUGG_WIN, ZEMIT_LW_FAC,                                  &
00620              ZEMIT_LW_ROAD, ZT_RAD_IND, ZHU_BLD, ZTIME, ZE_SHADING,    &
00621              GNATVENT_NIGHT(:), XN_FLOOR, XWALL_O_BLD, XGLAZ_O_BLD,    &
00622              XMASS_O_BLD, XFLOOR_HW_RATIO, XF_FLOOR_MASS, XF_FLOOR_WALL, &
00623              XF_FLOOR_WIN, XF_FLOOR_ROOF, XF_WALL_FLOOR, XF_WALL_MASS, &
00624              XF_WALL_WIN, XF_WIN_FLOOR, XF_WIN_MASS, XF_WIN_WALL,      &
00625              XF_MASS_FLOOR, XF_MASS_WALL, XF_MASS_WIN, GCANOPY, YCH_BEM, &
00626              XROUGH_ROOF, XROUGH_WALL, XF_WIN_WIN)
00627 !! GREGOIRE 15/03 : commente appel à TEB
00628 ! 
00629 !
00630 !   Time update
00631     ZTIME = ZTIME + PPTSTEP
00632     IF (ZTIME >= 86400) THEN
00633       ZTIME = 0.0
00634       IDAY = IDAY + 1
00635     END IF
00636 !
00637 ENDDO
00638 
00639 !
00640 !
00641 !
00642 ! -----------------------------------------------------------
00643 ! Print autosize results
00644 ! -----------------------------------------------------------
00645 !
00646 WRITE(KLUOUT,*) ' '
00647 WRITE(KLUOUT,*) '    --------------------------------'
00648 WRITE(KLUOUT,*) '      HVAC AUTOSIZE CALCULATIONS '
00649 WRITE(KLUOUT,*) ' '
00650 WRITE(KLUOUT,*) '    Rated mass flow rate:'
00651 WRITE(KLUOUT,*) '    ',MAXVAL(XM_SYS_RAT), 'kg s-1 m-2(bld)'
00652 WRITE(KLUOUT,*) '    ',MINVAL(XM_SYS_RAT), 'kg s-1 m-2(bld)'
00653 WRITE(KLUOUT,*) '    Rated cooling system capacity:'
00654 WRITE(KLUOUT,*) '    ',MAXVAL(XCAP_SYS_RAT), 'W m-2(bld)'
00655 WRITE(KLUOUT,*) '    ',MINVAL(XCAP_SYS_RAT), 'W m-2(bld)'
00656 WRITE(KLUOUT,*) '    Rated heating sysem capacity:'
00657 WRITE(KLUOUT,*) '    ',MAXVAL(XCAP_SYS_HEAT), 'W m-2(bld)'
00658 WRITE(KLUOUT,*) '    ',MINVAL(XCAP_SYS_HEAT), 'W m-2(bld)'
00659 WRITE(KLUOUT,*) '    --------------------------------'
00660 WRITE(KLUOUT,*) ' '
00661 IF (LHOOK) CALL DR_HOOK('HVAC_AUTOSIZE',1,ZHOOK_HANDLE)
00662 !
00663 CONTAINS 
00664 !
00665 SUBROUTINE INTERP_PROFTWALL(PT1, PTN, PD, PT)
00666 !interpolation of vertical profile for 'wall' : roof/wall
00667 !arguments
00668 REAL, DIMENSION(:), INTENT(IN)    :: PT1 !temperature layer 1
00669 REAL, DIMENSION(:), INTENT(IN)    :: PTN !temperature layer N
00670 REAL, DIMENSION(:,:), INTENT(IN)  :: PD  !depth of all layers
00671 REAL, DIMENSION(:,:), INTENT(OUT) :: PT  !temperature of all layers
00672 !local variables
00673 INTEGER :: ILAYER ! number of layers
00674 REAL, DIMENSION(SIZE(PT1)) :: ZDN ! total depth from mid layer 1 to mid layer n
00675 REAL, DIMENSION(SIZE(PT1)) :: ZD  ! sequential depth in the calculation
00676 INTEGER :: JJ, JI
00677 
00678 ILAYER=SIZE(PD,2)
00679 DO JI=1,KI
00680    ZDN(JI) = 0.5 * PD(JI,1)
00681    DO JJ=2,ILAYER-1
00682       ZDN(JI) = ZDN(JI) + PD(JI,JJ)
00683    ENDDO
00684    ZDN(JI) = ZDN(JI) + 0.5 * PD(JI,ILAYER)
00685 ENDDO
00686 DO JI=1,KI
00687    ZD(JI) = 0.5*PD(JI,1)
00688    DO JJ=2,ILAYER-1
00689       ZD(JI) = ZD(JI) + 0.5*PD(JI,JJ)
00690       PT(JI,JJ) = PT1(JI) + (PTN(JI)-PT1(JI)) / ZDN(JI) * ZD(JI) 
00691       ZD(JI) = ZD(JI) + 0.5 * PD(JI,JJ)
00692    ENDDO
00693    PT(JI,1) = PT1(JI)
00694    PT(JI,ILAYER) = PTN(JI)
00695 ENDDO
00696 END SUBROUTINE INTERP_PROFTWALL
00697 
00698 END SUBROUTINE HVAC_AUTOSIZE