|
SURFEX v7.3
General documentation of Surfex
|
00001 SUBROUTINE WINDOW_E_BUDGET(PU_WIN, PEMIS_WIN, PF_WIN_FLOOR, PF_WIN_WALL, PF_WIN_MASS, & 00002 PLW_W_TO_WIN, PLW_R_TO_WIN, PLW_G_TO_WIN, & 00003 PLW_NR_TO_WIN, PLW_S_TO_WIN, PRAD_ROOF_WIN, PRAD_WALL_WIN, & 00004 PABS_SW_WIN, PLW_RAD, PAC_WALL, & 00005 PRADHT_IN, PTI_BLD, PTS_MASS, PTS_FLOOR, PRHOA, PDN_ROAD, & 00006 PT_CANYON, PTS_WALL, PTS_ROAD, PTSNOW_ROAD, & 00007 PTS_GARDEN, PT_WIN1, PT_WIN2, PRAD_WIN_FLOOR, & 00008 PRAD_WIN_MASS, PCONV_WIN_BLD, PEMIT_LW_WIN, PABS_LW_WIN, PLOAD_IN_WIN) 00009 !################################################################################################################################### 00010 ! 00011 !!**** *WINDOW_E_BUDGET* 00012 !! 00013 !! PURPOSE 00014 !! ------- 00015 ! 00016 ! Computes the evoultion of window temperature 00017 ! 00018 ! 00019 !!** METHOD 00020 ! ------ 00021 ! 00022 ! window is supposed double pane with no thermal capacity 00023 ! a steady state energy balance is applied to both layers that exchanges U_WIN(T1 - T2) 00024 ! 00025 !! EXTERNAL 00026 !! -------- 00027 !! 00028 !! 00029 !! IMPLICIT ARGUMENTS 00030 !! ------------------ 00031 !! 00032 !! MODD_CST 00033 !! 00034 !! 00035 !! REFERENCE 00036 !! --------- 00037 !! 00038 !! 00039 !! AUTHOR 00040 !! ------ 00041 !! 00042 !! B. Bueno * Meteo-France * 00043 !! 00044 !! MODIFICATIONS 00045 !! ------------- 00046 !! Original 04/2011 00047 !! G. Pigeon 10/11/2011 exteranlized window balance from wall_layer_e_budget to window_e_budget and use fluxes from layers for 00048 ! which the balance has been computed before (roof and wall) and returns the fluxes to the compartments 00049 ! computed afterwards (floor, mass, bld) 00050 !! G. Pigeon 09/2012 new indoor conv. coef 00051 !! G. Pigeon 10/2012 separate abs from outdoor on both side of window 00052 !! + add loads for indoor face of the window 00053 !------------------------------------------------------------------------------- 00054 ! 00055 !* 0. DECLARATIONS 00056 ! ------------ 00057 ! 00058 USE MODD_CSTS,ONLY : XCPD, XSTEFAN 00059 USE MODE_CONV_DOE 00060 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00061 USE PARKIND1 ,ONLY : JPRB 00062 ! 00063 IMPLICIT NONE 00064 ! 00065 !* 0.1 declarations of arguments 00066 ! 00067 REAL, DIMENSION(:), INTENT(IN) :: PU_WIN ! window U-factor [W m-2 K-1] 00068 REAL, DIMENSION(:), INTENT(IN) :: PEMIS_WIN ! window emissivity 00069 REAL, DIMENSION(:), INTENT(IN) :: PF_WIN_FLOOR ! window floor view factor 00070 REAL, DIMENSION(:), INTENT(IN) :: PF_WIN_WALL ! window wall view factor 00071 REAL, DIMENSION(:), INTENT(IN) :: PF_WIN_MASS ! window mass view factor 00072 REAL, DIMENSION(:), INTENT(IN) :: PLW_W_TO_WIN ! Radiative heat trasfer coeff window-wall outdoor 00073 ! [W K-1 m-2] 00074 REAL, DIMENSION(:), INTENT(IN) :: PLW_R_TO_WIN ! Radiative heat trasfer coeff window-road 00075 ! [W K-1 m-2] 00076 REAL, DIMENSION(:), INTENT(IN) :: PLW_G_TO_WIN ! Radiative heat trasfer coeff window-garden 00077 REAL, DIMENSION(:), INTENT(IN) :: PLW_NR_TO_WIN! Radiative heat trasfer coeff window-snow 00078 REAL, DIMENSION(:), INTENT(IN) :: PLW_S_TO_WIN ! Radiative heat trasfer coeff window-sky 00079 ! [W K-1 m-2] 00080 REAL, DIMENSION(:), INTENT(IN) :: PRAD_ROOF_WIN ! rad. fluxes from roof to win [W m-2(roof)] 00081 REAL, DIMENSION(:), INTENT(IN) :: PRAD_WALL_WIN ! rad. fluxes from wall to win [W m-2(roof)] 00082 REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_WIN ! window absorbed shortwave radiation [W m-2] 00083 REAL, DIMENSION(:), INTENT(IN) :: PLW_RAD ! atmospheric infrared radiation 00084 REAL, DIMENSION(:), INTENT(IN) :: PAC_WALL ! aerodynamical conductance between wall and canyon 00085 REAL, DIMENSION(:), INTENT(IN) :: PRADHT_IN ! Indoor radiant heat transfer coefficient 00086 ! [W K-1 m-2] 00087 REAL, DIMENSION(:), INTENT(IN) :: PTI_BLD ! inside building temperature 00088 REAL, DIMENSION(:), INTENT(IN) :: PTS_MASS ! surface mass temperature [K] 00089 REAL, DIMENSION(:), INTENT(IN) :: PTS_FLOOR ! floor layers temperatures [K] 00090 REAL, DIMENSION(:), INTENT(IN) :: PRHOA ! rho 00091 REAL, DIMENSION(:), INTENT(IN) :: PDN_ROAD ! snow-covered fraction on roads 00092 REAL, DIMENSION(:), INTENT(IN) :: PT_CANYON ! air canyon temperature 00093 REAL, DIMENSION(:), INTENT(IN) :: PTS_WALL ! wall outdoor surface temperature 00094 REAL, DIMENSION(:), INTENT(IN) :: PTS_ROAD ! road surface temperature 00095 REAL, DIMENSION(:), INTENT(IN) :: PTSNOW_ROAD ! road snow temperature 00096 REAL, DIMENSION(:), INTENT(IN) :: PTS_GARDEN ! green area surface temperature 00097 REAL, DIMENSION(:), INTENT(OUT) :: PT_WIN1 ! outdoor window temperature [K] 00098 REAL, DIMENSION(:), INTENT(OUT) :: PT_WIN2 ! indoor window temperature [K] 00099 REAL, DIMENSION(:), INTENT(OUT) :: PRAD_WIN_FLOOR ! rad. fluxes from window to floor [W m-2(window)] 00100 REAL, DIMENSION(:), INTENT(OUT) :: PRAD_WIN_MASS ! rad. fluxes from window to mass [W m-2(window)] 00101 REAL, DIMENSION(:), INTENT(OUT) :: PCONV_WIN_BLD ! conv. fluxes from window to bld [W m-2(window)] 00102 REAL, DIMENSION(:), INTENT(OUT) :: PEMIT_LW_WIN ! Longwave radiation emitted by the window [W m-2(window)] 00103 REAL, DIMENSION(:), INTENT(OUT) :: PABS_LW_WIN ! Longwave radiation absorbed by the window [W m-2(window)] 00104 REAL, DIMENSION(:), INTENT(IN) :: PLOAD_IN_WIN ! solar + internal heat gain 00105 ! 00106 !* 0.2 declarations of local variables 00107 ! 00108 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZT_SKY ! sky temperature [K] 00109 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZA12 ! 00110 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZB2 ! auxiliar variables for window temperature 00111 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZB1 ! calculations 00112 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZA21 ! 00113 REAL, DIMENSION(SIZE(PT_CANYON)) :: ZCHTC_IN_WIN ! indoor convective heat transfer coef. window [W m-2 K-1] 00114 INTEGER :: JJ 00115 00116 !* Preliminaries 00117 ! ------------- 00118 ZCHTC_IN_WIN = CHTC_VERT_DOE(PT_WIN2, PTI_BLD) 00119 DO JJ=1,SIZE(ZCHTC_IN_WIN) 00120 ZCHTC_IN_WIN(JJ) = MAX(1., ZCHTC_IN_WIN(JJ)) 00121 ENDDO 00122 00123 !* 1. Sky temperature 00124 ! --------------- 00125 ZT_SKY(:) = (PLW_RAD(:)/XSTEFAN)**0.25 00126 ! 00127 ZA12(:) = ZCHTC_IN_WIN(:) & 00128 + PRADHT_IN(:) * PF_WIN_MASS(:) & 00129 + PRADHT_IN(:) * PF_WIN_FLOOR(:) & 00130 + PU_WIN(:) 00131 ! 00132 ZB1(:) = ZCHTC_IN_WIN (:) * PTI_BLD (:) & 00133 + PRADHT_IN(:) * PF_WIN_MASS(:) * PTS_MASS(:) & 00134 + PF_WIN_WALL(:) * PRAD_WALL_WIN(:) & 00135 + PF_WIN_FLOOR(:) * PRAD_ROOF_WIN(:) & 00136 + PRADHT_IN(:) * PF_WIN_FLOOR(:)* PTS_FLOOR(:) & 00137 + PLOAD_IN_WIN(:) + PABS_SW_WIN(:) /2. 00138 ! 00139 ZA21(:) = - PAC_WALL (:) * PRHOA(:)*XCPD & 00140 - PLW_S_TO_WIN (:) & 00141 - PLW_W_TO_WIN (:) & 00142 - PLW_R_TO_WIN (:) *(1.-PDN_ROAD(:))& 00143 - PLW_G_TO_WIN (:) & 00144 - PLW_NR_TO_WIN(:) * PDN_ROAD(:) & 00145 - PU_WIN(:) 00146 ! 00147 ZB2(:) = - PAC_WALL (:) * PRHOA(:)*XCPD*PT_CANYON(:) & 00148 - PLW_S_TO_WIN (:) * ZT_SKY(:) & 00149 - PLW_W_TO_WIN (:) * PTS_WALL(:) & 00150 - PLW_R_TO_WIN (:) *(1.-PDN_ROAD(:)) * PTS_ROAD(:) & 00151 - PLW_G_TO_WIN (:) * PTS_GARDEN(:) & 00152 - PLW_NR_TO_WIN(:) * PDN_ROAD(:) * PTSNOW_ROAD(:) & 00153 - PABS_SW_WIN (:) /2. 00154 ! 00155 ! compute outdoor temperature 00156 PT_WIN1(:) = ( ZB2(:) - ZB1(:)*PU_WIN(:)/ZA12(:) ) / & 00157 ( ZA21(:) + PU_WIN(:)**2/ZA12(:) ) 00158 ! 00159 ! compute indoor temperature 00160 PT_WIN2(:) = (ZB1(:) + PU_WIN(:)*PT_WIN1(:) ) / ZA12(:) 00161 ! 00162 ! outdoor infrared radiation absorded by the window 00163 PABS_LW_WIN(:) = PLW_S_TO_WIN (:) * (ZT_SKY (:) - PT_WIN1(:)) + & 00164 (1.-PDN_ROAD(:))* PLW_R_TO_WIN (:) * (PTS_ROAD (:) - PT_WIN1(:)) + & 00165 PLW_G_TO_WIN (:) * (PTS_GARDEN (:) - PT_WIN1(:)) + & 00166 PLW_W_TO_WIN (:) * (PTS_WALL (:) - PT_WIN1(:)) + & 00167 PDN_ROAD(:) * PLW_NR_TO_WIN(:) * (PTSNOW_ROAD(:) - PT_WIN1(:)) 00168 ! 00169 ! outdoor infrared radiation emited by the window 00170 PEMIT_LW_WIN(:) = XSTEFAN * PT_WIN1(:)**4 + (1 - PEMIS_WIN(:))/PEMIS_WIN(:) * PABS_LW_WIN(:) 00171 ! 00172 PRAD_WIN_FLOOR(:) = PRADHT_IN(:) * (PT_WIN2(:) - PTS_FLOOR(:)) 00173 PRAD_WIN_MASS(:) = PRADHT_IN(:) * (PT_WIN2(:) - PTS_MASS(:)) 00174 PCONV_WIN_BLD(:) = ZCHTC_IN_WIN(:) * (PT_WIN2(:) - PTI_BLD(:)) 00175 ! 00176 END SUBROUTINE WINDOW_E_BUDGET
1.8.0