SURFEX v7.3
General documentation of Surfex
|
00001 ! ############################################################# 00002 SUBROUTINE WINDOW_DATA(KI) 00003 ! ############################################################# 00004 ! 00005 ! 00006 !!**** *WINDOW_DATA* 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 ! 00011 ! Computes the radiative properties of the window 00012 ! 00013 ! 00014 !!** METHOD 00015 !! ------ 00016 !! uses U_WIN (window conductivity) and SHGC (window solar heat gain coef) 00017 !! to compute the normal incident transmittance/reflectance 00018 !! a factor to normal incident tran/ref is applied to take into account all 00019 !! possible incidence between 18° and 72° 00020 !! 00021 !! 00022 !! EXTERNAL 00023 !! -------- 00024 !! 00025 !! 00026 !! IMPLICIT ARGUMENTS 00027 !! ------------------ 00028 !! 00029 !! MODD_CST 00030 !! 00031 !! 00032 !! REFERENCE 00033 !! --------- 00034 !! 00035 !! Simple Window Model from EnergyPlus Engineering Reference V7, 2012, p. 217. 00036 !! 00037 !! AUTHOR 00038 !! ------ 00039 !! 00040 !! B. Bueno * Meteo-France * 00041 !! 00042 !! MODIFICATIONS 00043 !! ------------- 00044 !! Original 11/10 00045 !! G. Pigeon & J. Le Bras 09/12 apply new factor to normal incident tran/ref 00046 !------------------------------------------------------------------------------- 00047 ! 00048 !* 0. DECLARATIONS 00049 ! ------------ 00050 ! 00051 00052 ! 00053 USE MODD_BEM_n, ONLY: XSHGC, XU_WIN, XALB_WIN, XABS_WIN, XUGG_WIN, XTRAN_WIN 00054 ! 00055 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00056 USE PARKIND1 ,ONLY : JPRB 00057 ! 00058 IMPLICIT NONE 00059 ! 00060 INTEGER, INTENT(IN) :: KI ! number of points 00061 ! 00062 REAL, DIMENSION(KI) :: ZR_IW ! interior film resistance under winter conditions 00063 REAL, DIMENSION(KI) :: ZR_OW ! exterior fild resistance uder winter conditions 00064 REAL, DIMENSION(KI) :: ZR_IS ! interior film resistance under summer conditions 00065 REAL, DIMENSION(KI) :: ZR_OS ! exterior fild resistance uder summer conditions 00066 REAL, DIMENSION(KI) :: ZFRAC ! inward flowing fraction 00067 REAL, DIMENSION(KI) :: ZTRAN_WIN_NORM ! Window transmittance for normal incident beam 00068 REAL, DIMENSION(KI) :: ZALB_WIN_NORM ! Window reflectance for normal incident beam 00069 REAL,DIMENSION(KI) :: ZFAC_TRAN ! transmittance factor of the window to the normal incidence 00070 REAL,DIMENSION(KI) :: ZFAC_ALB ! reflectance (albedo) factor of the window to normal incidence 00071 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00072 00073 REAL:: TA, RA, TBCD, RBCD, TD, RD, TE, RE, TFGHI, RFGHI, TFH, RFH, TJ, RJ 00074 ! 00075 00076 !* initialization and determine transmittance and reflectance factor of the window 00077 00078 !Curve AT temp Et RA = R temp Et 00079 TA = 0.9237767331 ; RA = 1.6911265959 00080 TBCD = 0.8802058937 ; RBCD = 1.5239470129 00081 TD = 0.893430955 ; RD = 1.0888507586 00082 TE = 0.8743096978 ; RE = 1.5494187256 00083 TFH = 0.8424427652 ; RFH = 1.0983010317 00084 TFGHI = 0.8327695761 ; RFGHI = 1.3316554732 00085 TJ = 0.7889001341 ; RJ = 1.0837577691 00086 00087 WHERE (XU_WIN <= 1.42) !from 3 building BLD, TOUR and MI-2005 00088 !ZONE 1 00089 WHERE (XSHGC>=0.45) 00090 ZFAC_TRAN = TE 00091 ZFAC_ALB = RE 00092 END WHERE 00093 !ZONE 2 00094 WHERE (XSHGC<0.45 .AND. XSHGC>0.35) 00095 ZFAC_TRAN = TJ+(XSHGC-0.35)*(TE-TJ)/(0.45-0.35) 00096 ZFAC_ALB = RJ+(XSHGC-0.35)*(RE-RJ)/(0.45-0.35) 00097 END WHERE 00098 !ZONE 3 00099 WHERE(XSHGC<=0.35) 00100 ZFAC_TRAN = TJ 00101 ZFAC_ALB = RJ 00102 END WHERE 00103 END WHERE 00104 00105 00106 WHERE (XU_WIN>1.42 .AND. XU_WIN<1.70) 00107 !ZONE 4 00108 WHERE (XSHGC>=0.55) 00109 ZFAC_TRAN = TE 00110 ZFAC_ALB = RE 00111 END WHERE 00112 !ZONE 5 00113 WHERE (XSHGC>0.5 .AND. XSHGC<0.55) 00114 ZFAC_TRAN = TE+(XU_WIN-1.42)*((TFGHI+(XSHGC-0.5)*(TE-TFGHI)/(0.55-0.50))-TE)/(1.70-1.42) 00115 ZFAC_ALB = RE+(XU_WIN-1.42)*((RFGHI+(XSHGC-0.5)*(RE-RFGHI)/(0.55-0.50))-RE)/(1.70-1.42) 00116 END WHERE 00117 !ZONE 6 00118 WHERE (XSHGC>=0.45 .AND. XSHGC<=0.5) 00119 ZFAC_TRAN = TE+(XU_WIN-1.42)*(TFGHI-TE)/(1.70-1.42) 00120 ZFAC_ALB = RE+(XU_WIN-1.42)*(RFGHI-RE)/(1.70-1.42) 00121 END WHERE 00122 !ZONE 7 00123 WHERE (XSHGC>0.35 .AND. XSHGC<0.45) 00124 ZFAC_TRAN = (TJ+(XSHGC-0.35)*(TE-TJ)/(0.45-0.35))+(XU_WIN-1.42)*(TFGHI-(TJ+(XSHGC-0.35)*(TE-TJ)/(0.45-0.35)))/(1.70-1.42) 00125 00126 ZFAC_ALB = (RJ+(XSHGC-0.35)*(RE-RJ)/(0.45-0.35))+(XU_WIN-1.42)*(RFGHI-(RJ+(XSHGC-0.35)*(RE-RJ)/(0.45-0.35)))/(1.70-1.42) 00127 END WHERE 00128 !ZONE 8 00129 WHERE (XSHGC>=0.30 .AND. XSHGC<=0.35) 00130 ZFAC_TRAN = TJ+(XU_WIN-1.42)*(TFGHI-TJ)/(1.70-1.42) 00131 ZFAC_ALB = RJ+(XU_WIN-1.42)*(RFGHI-RJ)/(1.70-1.42) 00132 END WHERE 00133 !ZONE 9 00134 WHERE (XSHGC>0.25 .AND. XSHGC<0.35) 00135 ZFAC_TRAN = TJ+(XU_WIN-1.42)*((TFH+(XSHGC-0.25)*(TJ-TFH)/(0.30-0.25))-TJ)/(1.70-1.42) 00136 ZFAC_ALB = RJ+(XU_WIN-1.42)*((RFH+(XSHGC-0.25)*(RJ-RFH)/(0.30-0.25))-RJ)/(1.70-1.42) 00137 END WHERE 00138 !ZONE 10 00139 WHERE (XSHGC<=0.25) 00140 ZFAC_TRAN = TJ+(XU_WIN-1.42)*(TFH-TJ)/(1.70-1.42) 00141 ZFAC_ALB = RJ+(XU_WIN-1.42)*(RFH-RJ)/(1.70-1.42) 00142 END WHERE 00143 00144 00145 END WHERE 00146 00147 00148 WHERE (XU_WIN>=1.70 .AND. XU_WIN<=3.41) 00149 !ZONE 11 00150 WHERE (XSHGC>=0.55) 00151 ZFAC_TRAN = TE 00152 ZFAC_ALB = RE 00153 END WHERE 00154 !ZONE 12 00155 WHERE (XSHGC > 0.5 .AND. XSHGC<0.55) 00156 ZFAC_TRAN = TFGHI+(XSHGC-0.50)*(TE-TFGHI)/(0.55-0.50) 00157 ZFAC_ALB = RFGHI+(XSHGC-0.50)*(RE-RFGHI)/(0.55-0.50) 00158 END WHERE 00159 !ZONE 13 00160 WHERE (XSHGC>=0.30 .AND. XSHGC<=0.50) 00161 ZFAC_TRAN = TFGHI 00162 ZFAC_ALB = RFGHI 00163 END WHERE 00164 00165 !ZONE 14 00166 WHERE (XSHGC > 0.25 .AND. XSHGC<0.30) 00167 ZFAC_TRAN = TFH+(XSHGC-0.25)*(TFGHI-TFH)/(0.30-0.25) 00168 ZFAC_ALB = RFGHI+(XSHGC-0.25)*(RFGHI-RFH)/(0.30-0.25) 00169 END WHERE 00170 !ZONE 15 00171 WHERE (XSHGC<=0.25) 00172 ZFAC_TRAN = TFH 00173 ZFAC_ALB = RFH 00174 END WHERE 00175 00176 END WHERE 00177 00178 WHERE (XU_WIN>3.41 .AND. XU_WIN<4.54) 00179 !ZONE 16 00180 WHERE (XSHGC>=0.65) 00181 ZFAC_TRAN = TE+(XU_WIN-3.41)*(TA-TE)/(4.54-3.41) 00182 ZFAC_ALB = RE+(XU_WIN-3.41)*(RA-RE)/(4.54-3.41) 00183 END WHERE 00184 !ZONE 17 00185 WHERE (XSHGC>0.60 .AND. XSHGC<0.65) 00186 ZFAC_TRAN = TE+(XU_WIN-3.41)*((TBCD+(XSHGC-0.60)*(TA-TBCD)/(0.65-0.60))-TE)/(4.54-3.41) 00187 ZFAC_ALB = RE+(XU_WIN-3.41)*((RBCD+(XSHGC-0.60)*(RA-RBCD)/(0.65-0.60))-RE)/(4.54-3.41) 00188 END WHERE 00189 !ZONE 18 00190 WHERE (XSHGC>=0.55 .AND. XSHGC<=0.60) 00191 ZFAC_TRAN = TE+(XU_WIN-3.41)*(TBCD-TE)/(4.54-3.41) 00192 ZFAC_ALB = RE+(XU_WIN-3.41)*(RBCD-RE)/(4.54-3.41) 00193 END WHERE 00194 !ZONE 19 00195 WHERE (XSHGC>0.50 .AND. XSHGC<0.55) 00196 ZFAC_TRAN = (TFGHI+(XSHGC-0.50)*(TE-TFGHI)/(0.55-0.50)) + & 00197 (XU_WIN-3.41)*(TBCD-(TFGHI+(XSHGC-0.50)*(TE-TFGHI)/(0.55-0.50)))/(4.54-3.41) 00198 00199 ZFAC_ALB = (RFGHI+(XSHGC-0.50)*(RE-RFGHI)/(0.55-0.50)) + & 00200 (XU_WIN-3.41)*(RBCD-(RFGHI+(XSHGC-0.50)*(RE-RFGHI)/(0.55-0.50)))/(4.54-3.41) 00201 END WHERE 00202 !ZONE 20 00203 WHERE (XSHGC>=0.45 .AND. XSHGC<=0.50) 00204 ZFAC_TRAN = TFGHI+(XU_WIN-3.41)*(TBCD-TFGHI)/(4.54-3.41) 00205 ZFAC_ALB = RFGHI+(XU_WIN-3.41)*(RBCD-RFGHI)/(4.54-3.41) 00206 END WHERE 00207 !ZONE 21 00208 WHERE (XSHGC>0.30 .AND. XSHGC<0.45) 00209 ZFAC_TRAN = TFGHI+(XU_WIN-3.41)*((TA+(XSHGC-0.30)*(TBCD-TA)/(0.45-0.30))-TFGHI)/(4.54-3.41) 00210 ZFAC_ALB = RFGHI+(XU_WIN-3.41)*((RA+(XSHGC-0.30)*(RBCD-RA)/(0.45-0.30))-RFGHI)/(4.54-3.41) 00211 END WHERE 00212 !ZONE 22 00213 WHERE (XSHGC>0.25 .AND. XSHGC<0.30) 00214 ZFAC_TRAN = (TFH+(XSHGC-0.25)*(TFGHI-TFH)/(0.30-0.25)) + & 00215 (XU_WIN-3.41)*(TD-(TFH+(XSHGC-0.30)*(TFGHI-TFH)/(0.30-0.25)))/(4.54-3.41) 00216 ZFAC_ALB = (RFH+(XSHGC-0.25)*(RFGHI-RFH)/(0.30-0.25)) + & 00217 (XU_WIN-3.41)*(RD-(RFH+(XSHGC-0.30)*(RFGHI-RFH)/(0.30-0.25)))/(4.54-3.41) 00218 END WHERE 00219 !ZONE 23 00220 WHERE (XSHGC<=0.25) 00221 ZFAC_TRAN = TFH+(XU_WIN-3.41)*(TD-TFH)/(4.54-3.41) 00222 ZFAC_ALB = RFH+(XU_WIN-3.41)*(RD-RFH)/(4.54-3.41) 00223 END WHERE 00224 00225 END WHERE 00226 00227 00228 WHERE (XU_WIN>=4.54) 00229 !ZONE 24 00230 WHERE (XSHGC>=0.65) 00231 ZFAC_TRAN = TA 00232 ZFAC_ALB = RA 00233 END WHERE 00234 !ZONE 25 00235 WHERE (XSHGC >= 0.60 .AND. XSHGC<=0.65) 00236 ZFAC_TRAN = TBCD+(XSHGC-0.60)*(TA-TBCD)/(0.65-0.60) 00237 ZFAC_ALB = RBCD+(XSHGC-0.60)*(RA-RBCD)/(0.65-0.60) 00238 END WHERE 00239 !ZONE 26 00240 WHERE (XSHGC>=0.45 .AND. XSHGC<=0.60) 00241 ZFAC_TRAN = TBCD 00242 ZFAC_ALB = RBCD 00243 END WHERE 00244 !ZONE 27 00245 WHERE (XSHGC >= 0.30 .AND. XSHGC<=0.45) 00246 ZFAC_TRAN = TD+(XSHGC-0.30)*(TBCD-TD)/(0.45-0.30) 00247 ZFAC_ALB = RD+(XSHGC-0.30)*(RBCD-RD)/(0.45-0.30) 00248 END WHERE 00249 !ZONE 28 00250 WHERE (XSHGC<=0.30) 00251 ZFAC_TRAN = TD 00252 ZFAC_ALB = RD 00253 END WHERE 00254 00255 00256 END WHERE 00257 00258 !* A. Determine glass-to-glass U-factor 00259 ! --------------------------------- 00260 ! 00261 IF (LHOOK) CALL DR_HOOK('WINDOW_DATA',0,ZHOOK_HANDLE) 00262 ! 00263 WHERE (XU_WIN(:) < 5.85) 00264 ZR_IW(:) = 1. / (0.359073*log(XU_WIN(:)) + 6.949915) 00265 ELSEWHERE 00266 ZR_IW(:) = 1. / (1.788041* XU_WIN(:) - 2.886625) 00267 END WHERE 00268 ! 00269 ZR_OW(:) = 1. / (0.025342*XU_WIN(:) + 29.163853) 00270 ! 00271 XUGG_WIN(:) = 1./(1./XU_WIN(:) - ZR_IW(:) - ZR_OW(:)) 00272 ! 00273 !* B. Determine layer solar transmittance 00274 ! ----------------------------------- 00275 ! 00276 WHERE (XU_WIN(:) > 4.5) 00277 WHERE (XSHGC(:) < 0.7206) 00278 ZTRAN_WIN_NORM(:) = 0.939998 * XSHGC(:)**2 + 0.20332 * XSHGC(:) 00279 ELSE WHERE 00280 ZTRAN_WIN_NORM(:) = 1.30415 * XSHGC(:) - 0.30515 00281 END WHERE 00282 END WHERE 00283 00284 WHERE (XU_WIN(:) < 3.4) 00285 WHERE (XSHGC(:) <= 0.15) 00286 ZTRAN_WIN_NORM(:) = 0.41040 * XSHGC(:) 00287 ELSE WHERE 00288 ZTRAN_WIN_NORM(:) = 0.085775 * XSHGC(:)**2 + 0.963954 * XSHGC(:) - 0.084958 00289 END WHERE 00290 END WHERE 00291 00292 WHERE (XU_WIN(:) >= 3.4 .AND. XU_WIN(:) <=4.5) 00293 WHERE(XSHGC(:) <= 0.15) 00294 ZTRAN_WIN_NORM(:) = 0.5* (0.939998 * XSHGC(:)**2 + (0.20332+0.41040) * XSHGC(:)) 00295 ELSE WHERE 00296 WHERE(XSHGC(:) > 0.15 .AND. XSHGC(:) < 0.7206) 00297 ZTRAN_WIN_NORM(:) = 0.5 * ((0.939998+0.085775) * XSHGC(:)**2 + (0.20332 + 0.963954) * XSHGC(:) - 0.084958) 00298 ELSE WHERE 00299 ZTRAN_WIN_NORM(:) = 0.5*(0.085775 * XSHGC(:)**2 + (0.963954+1.30415) * XSHGC(:) - (0.084958+0.30515)) 00300 END WHERE 00301 END WHERE 00302 END WHERE 00303 ! 00304 ! 00305 !* C. Determine layer solar reflectance 00306 ! --------------------------------- 00307 ! 00308 WHERE (XU_WIN(:) > 4.5) 00309 ZR_IS(:) = 1. / ( 29.436546*(XSHGC(:)-ZTRAN_WIN_NORM(:))**3 & 00310 - 21.943415*(XSHGC(:)-ZTRAN_WIN_NORM(:))**2 & 00311 + 9.945872 *(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 7.426151 ) 00312 ! 00313 ZR_OS (:) = 1./ ( 2.225824*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 20.57708 ) 00314 ELSE WHERE 00315 WHERE(XU_WIN(:) >= 3.4) 00316 ZR_IS(:) = 0.5 * ( & 00317 1. / ( 29.436546*(XSHGC(:)-ZTRAN_WIN_NORM(:))**3 & 00318 - 21.943415*(XSHGC(:)-ZTRAN_WIN_NORM(:))**2 & 00319 + 9.945872 *(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 7.426151 ) & 00320 + 1./ (199.8208128*(XSHGC(:)-ZTRAN_WIN_NORM(:))**3 & 00321 - 90.639733*(XSHGC(:)-ZTRAN_WIN_NORM(:))**2 & 00322 + 19.737055*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 6.766575) ) 00323 ! 00324 ZR_OS (:) = 0.5 * ( & 00325 1./ ( 2.225824*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 20.57708 ) & 00326 + 1./ ( 5.763355*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 20.541528 ) ) 00327 ! 00328 ELSE WHERE 00329 ZR_IS (:) = 1./ (199.8208128*(XSHGC(:)-ZTRAN_WIN_NORM(:))**3 & 00330 - 90.639733*(XSHGC(:)-ZTRAN_WIN_NORM(:))**2 & 00331 + 19.737055*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 6.766575) 00332 ! 00333 ZR_OS(:) = 1./ ( 5.763355*(XSHGC(:)-ZTRAN_WIN_NORM(:)) + 20.541528 ) 00334 END WHERE 00335 ! 00336 END WHERE 00337 ! 00338 ZFRAC(:) = (ZR_OS(:) + 0.5*(1./XUGG_WIN(:))) / & 00339 (ZR_OS(:) + 1./XUGG_WIN(:) + ZR_IS(:)) 00340 ! 00341 ZALB_WIN_NORM(:) = 1. - ZTRAN_WIN_NORM(:) - (XSHGC(:)-ZTRAN_WIN_NORM(:)) / ZFRAC(:) 00342 ! 00343 !* D. Determine layer solar absortance 00344 ! -------------------------------- 00345 ! 00346 00347 XTRAN_WIN(:) = ZTRAN_WIN_NORM(:) * ZFAC_TRAN 00348 XALB_WIN(:) = ZALB_WIN_NORM(:) * ZFAC_ALB 00349 ! 00350 XABS_WIN(:) = 1. - XALB_WIN(:) - XTRAN_WIN(:) 00351 ! 00352 IF (LHOOK) CALL DR_HOOK('WINDOW_DATA',1,ZHOOK_HANDLE) 00353 ! 00354 END SUBROUTINE WINDOW_DATA