SURFEX v7.3
General documentation of Surfex
|
00001 ! ########################################################################## 00002 SUBROUTINE WALL_LAYER_E_BUDGET(HBEM, PT_WALL, PTS_WALL_B, PTI_WALL_B, PTSTEP, & 00003 PHC_WALL, PTC_WALL, PD_WALL, PDN_ROAD, PRHOA, PAC_WALL, & 00004 PAC_BLD, PTI_BLD, PLW_RAD, PPS, PEXNS, & 00005 PABS_SW_WALL, PT_CANYON, PTS_ROAD, PTSNOW_ROAD, & 00006 PTS_GARDEN, PTS_MASS, PTS_FLOOR, PEMIS_WALL, & 00007 PLW_WA_TO_WB, PLW_R_TO_W, PLW_G_TO_W, PLW_NR_TO_W, & 00008 PLW_WIN_TO_W, PLW_S_TO_W, & 00009 PT_WIN1, & 00010 PFLX_BLD_WALL, PDQS_WALL, PT_WIN2, PABS_LW_WALL, & 00011 PEMIT_LW_WALL, PH_WALL, PIMB_WALL, PF_WALL_MASS, & 00012 PF_WALL_FLOOR, PF_WALL_WIN, PRADHT_IN, PRAD_ROOF_WALL, & 00013 PRAD_WALL_WIN, PRAD_WALL_FLOOR, & 00014 PRAD_WALL_MASS, PCONV_WALL_BLD, PLOAD_IN_WALL ) 00015 ! ########################################################################## 00016 ! 00017 !!**** *ROAD_WALL_LAYER_E_BUDGET* 00018 !! 00019 !! PURPOSE 00020 !! ------- 00021 ! 00022 ! Computes the evoultion of roads and walls surface temperatures 00023 ! 00024 ! 00025 !!** METHOD 00026 ! ------ 00027 ! 00028 ! 6 : equations for evolution of Ts_road and Ts_wall simultaneously 00029 ! ************************************************************* 00030 ! 00031 ! dTw_k(t) / dt = 1/(dw_k*Cw_k) * (- 2*Kw_k-1*(Tw_k-Tw_k-1)/(dw_k-1 +dw_k) 00032 ! - 2*Kw_k *(Tw_k-Tw_k+1)/(dw_k+1 +dw_k) ) 00033 ! 00034 ! dTw_1(t) / dt = 1/(dw_1*Cw_1) * ( Rn_w - H_w - LE_w 00035 ! - 2*Kw_1*(Tw_1-Tw_2)/(dw_1 +dw_2) ) 00036 ! 00037 ! 00038 ! with 00039 ! 00040 ! K*_k = (d*_k+ d*_k+1)/(d*_k/k*_k+ d*_k+1/k*_k+1) 00041 ! 00042 ! Rn_w = abs_Rg_w 00043 ! - sigma * emis_w * Ts_w**4 (t+dt) 00044 ! + emis_w * SVF_w * LWR 00045 ! + sigma * emis_w * emis_r * SVF_w * Ts_r**4 (t+dt) 00046 ! + sigma * emis_w * emis_w * (1-2*SVF_w) * Ts_w**4 (t+dt) 00047 ! + emis_w (1-emis_r) * SVF_r * SVF_w * LWR 00048 ! + emis_w (1-emis_w) * SVF_w * (1-2*SVF_w) * LWR 00049 ! + sigma * emis_w * emis_w * (1-emis_r) * SVF_w * (1- SVF_r) * Ts_w**4 (t+dt) 00050 ! + sigma * emis_w * emis_w * (1-emis_w) * (1-2*SVF_w) * (1-2*SVF_w) * Ts_w**4 (t+dt) 00051 ! + sigma * emis_w * emis_r * (1-emis_w) * SVF_w * (1-2*SVF_w) * Ts_r**4 (t+dt) 00052 ! 00053 ! H_w = rho Cp CH V ( Ts_w (t+dt) - Ta_canyon ) 00054 ! 00055 ! LE_w = rho Lv CH V ( qs_w (t+dt) - qa_canyon ) 00056 ! 00057 ! 00058 ! The system is implicited (or semi-implicited). 00059 ! 00060 ! ZIMPL=1 ---> implicit system 00061 ! ZIMPL=0.5 ---> semi-implicit system 00062 ! ZIMPL=0 ---> explicit system 00063 ! 00064 ! 00065 ! 00066 ! 00067 !! EXTERNAL 00068 !! -------- 00069 !! 00070 !! 00071 !! IMPLICIT ARGUMENTS 00072 !! ------------------ 00073 !! 00074 !! MODD_CST 00075 !! 00076 !! 00077 !! REFERENCE 00078 !! --------- 00079 !! 00080 !! 00081 !! AUTHOR 00082 !! ------ 00083 !! 00084 !! V. Masson * Meteo-France * 00085 !! 00086 !! MODIFICATIONS 00087 !! ------------- 00088 !! Original 23/01/98 00089 !! 21/11/01 (V. Masson and A. Lemonsu) bug of latent flux 00090 !! for very strong evaporation (all reservoir emptied 00091 !! in one time-step) 00092 !! 02/11 (V. Masson) splits the routine for road and walls separately 00093 !! 01/12 (V. Masson) separates the 2 walls 00094 !! 09/12 (G. Pigeon) modif internal convective coef convection 00095 !! 10/12 (G. Pigeon) add solar heat gain of indoor wall 00096 !------------------------------------------------------------------------------- 00097 ! 00098 !* 0. DECLARATIONS 00099 ! ------------ 00100 ! 00101 USE MODD_CSTS,ONLY : XCPD, XSTEFAN 00102 ! 00103 USE MODI_LAYER_E_BUDGET_GET_COEF 00104 USE MODI_LAYER_E_BUDGET 00105 USE MODE_CONV_DOE 00106 ! 00107 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00108 USE PARKIND1 ,ONLY : JPRB 00109 ! 00110 IMPLICIT NONE 00111 ! 00112 !* 0.1 declarations of arguments 00113 ! 00114 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_WALL ! wall layers temperatures 00115 REAL, DIMENSION(:), INTENT(IN) :: PTS_WALL_B ! opposite wall surface temperature 00116 REAL, DIMENSION(:), INTENT(IN) :: PTI_WALL_B ! opposite wall internal temperature 00117 REAL, INTENT(IN) :: PTSTEP ! time step 00118 CHARACTER(LEN=3), INTENT(IN) :: HBEM ! Building Energy model 'DEF' or 'BEM' 00119 REAL, DIMENSION(:,:), INTENT(IN) :: PHC_WALL ! heat capacity for wall layers 00120 REAL, DIMENSION(:,:), INTENT(IN) :: PTC_WALL ! thermal conductivity for wall layers 00121 REAL, DIMENSION(:,:), INTENT(IN) :: PD_WALL ! depth of wall layers 00122 REAL, DIMENSION(:), INTENT(IN) :: PDN_ROAD ! snow-covered fraction on roads 00123 REAL, DIMENSION(:), INTENT(IN) :: PRHOA ! rho 00124 REAL, DIMENSION(:), INTENT(IN) :: PAC_WALL ! aerodynamical conductance [m/s] 00125 ! ! between wall and canyon 00126 REAL, DIMENSION(:), INTENT(IN) :: PAC_BLD ! aerodynamical conductance 00127 ! inside the building itself 00128 REAL, DIMENSION(:), INTENT(IN) :: PTI_BLD ! inside building temperature 00129 REAL, DIMENSION(:), INTENT(IN) :: PLW_RAD ! atmospheric infrared radiation 00130 REAL, DIMENSION(:), INTENT(IN) :: PPS ! pressure at the surface 00131 REAL, DIMENSION(:), INTENT(IN) :: PEXNS ! surface Exner function 00132 REAL, DIMENSION(:), INTENT(IN) :: PABS_SW_WALL ! absorbed solar radiation 00133 REAL, DIMENSION(:), INTENT(IN) :: PT_CANYON ! air canyon temperature 00134 REAL, DIMENSION(:), INTENT(IN) :: PTS_ROAD ! road surface temperature 00135 REAL, DIMENSION(:), INTENT(IN) :: PTSNOW_ROAD ! road snow temperature 00136 REAL, DIMENSION(:), INTENT(IN) :: PTS_GARDEN ! green area surface temperature 00137 REAL, DIMENSION(:), INTENT(IN) :: PTS_MASS ! surface mass temperature [K] 00138 REAL, DIMENSION(:), INTENT(IN) :: PTS_FLOOR ! floor layers temperatures [K] 00139 REAL, DIMENSION(:), INTENT(IN) :: PEMIS_WALL ! wall emissivity 00140 ! 00141 REAL, DIMENSION(:), INTENT(IN) :: PLW_WA_TO_WB ! LW interactions wall -> opposite wall 00142 REAL, DIMENSION(:), INTENT(IN) :: PLW_R_TO_W ! LW interactions road -> wall ; DEF formulation 00143 REAL, DIMENSION(:), INTENT(IN) :: PLW_G_TO_W ! LW interactions garden -> wall ; DEF formulation 00144 REAL, DIMENSION(:), INTENT(IN) :: PLW_S_TO_W ! LW interactions sky -> wall 00145 REAL, DIMENSION(:), INTENT(IN) :: PLW_NR_TO_W ! LW interactions road(snow) -> wall 00146 REAL, DIMENSION(:), INTENT(IN) :: PLW_WIN_TO_W ! Radiative heat trasfer coeff wall-window 00147 ! [W K-1 m-2] 00148 ! 00149 REAL, DIMENSION(:), INTENT(IN) :: PT_WIN1 ! outdoor window temperature [K] 00150 REAL, DIMENSION(:), INTENT(OUT) :: PFLX_BLD_WALL! flux from bld to wall 00151 REAL, DIMENSION(:), INTENT(INOUT) :: PDQS_WALL ! heat storage inside the wall 00152 REAL, DIMENSION(:), INTENT(IN) :: PT_WIN2 ! indoor window temperature [K] 00153 REAL, DIMENSION(:), INTENT(OUT) :: PABS_LW_WALL ! absorbed infrared rad. [W m-2(wall)] 00154 REAL, DIMENSION(:), INTENT(OUT) :: PEMIT_LW_WALL ! LW flux emitted by the wall [W m-2(wall)] 00155 REAL, DIMENSION(:), INTENT(OUT) :: PH_WALL ! Sensible heat flux from wall to air [W/m²(wall)] 00156 ! wall = facade - glazing 00157 REAL, DIMENSION(:), INTENT(OUT) :: PIMB_WALL ! wall residual energy imbalance 00158 ! for verification [W m-2] 00159 REAL, DIMENSION(:), INTENT(IN) :: PF_WALL_FLOOR ! View factor wall-floor 00160 REAL, DIMENSION(:), INTENT(IN) :: PF_WALL_MASS ! View factor wall-mass 00161 REAL, DIMENSION(:), INTENT(IN) :: PF_WALL_WIN ! View factor wall-win 00162 REAL, DIMENSION(:), INTENT(IN) :: PRADHT_IN ! Indoor radiant heat transfer coefficient 00163 ! [W K-1 m-2] 00164 REAL, DIMENSION(:), INTENT(IN) :: PRAD_ROOF_WALL ! rad. fluxes from roof to wall [W m-2(roof)] 00165 REAL, DIMENSION(:), INTENT(OUT) :: PRAD_WALL_WIN ! rad. fluxes from wall to win [W m-2(wall)] 00166 REAL, DIMENSION(:), INTENT(OUT) :: PRAD_WALL_FLOOR! rad. fluxes from wall to floor [W m-2(wall)] 00167 REAL, DIMENSION(:), INTENT(OUT) :: PRAD_WALL_MASS ! rad. fluxes from wall to mass [W m-2(wall)] 00168 REAL, DIMENSION(:), INTENT(OUT) :: PCONV_WALL_BLD ! conv. fluxes from wall to bld [W m-2(wall)] 00169 00170 REAL, DIMENSION(:), INTENT(IN) :: PLOAD_IN_WALL ! LOAD from solar heat gain + rad int. gains W/m² [Wall] 00171 00172 00173 ! 00174 !* 0.2 declarations of local variables 00175 ! 00176 ! 00177 REAL :: ZIMPL=1.0 ! implicit coefficient 00178 REAL :: ZEXPL=0.0 ! explicit coefficient 00179 ! 00180 REAL, DIMENSION(SIZE(PPS),SIZE(PT_WALL,2)) :: ZA, ! lower diag. 00181 ZB, ! main diag. 00182 ZC, ! upper diag. 00183 ZY ! r.h.s. 00184 ! 00185 REAL, DIMENSION(SIZE(PPS)) :: ZMTC_O_D_WALL_IN 00186 REAL, DIMENSION(SIZE(PPS)) :: ZDF_ROAD ! Road snow free fraction 00187 REAL, DIMENSION(SIZE(PPS)) :: ZRHO_ACF_W ! rho * conductance 00188 ! ! * snow-free f. 00189 ! 00190 ! thermal capacity times layer depth 00191 REAL, DIMENSION(SIZE(PPS)) :: ZTS_WALL ! wall surface temperature 00192 REAL, DIMENSION(SIZE(PPS)) :: ZTI_WALL ! wall indoor surface temperature 00193 REAL, DIMENSION(SIZE(PPS)) :: ZTI_WALL_CONV ! wall indoor surface temperature for conv. flux 00194 REAL, DIMENSION(SIZE(PPS)) :: ZT_SKY ! sky temperature [K] 00195 ! 00196 REAL, DIMENSION(SIZE(PPS)) :: ZTI_ROOF ! Indoor roof temperature [K] 00197 REAL, DIMENSION(SIZE(PPS)) :: ZDIF_RAD_WALL_ROOF !diff between the rad flux that should receive the wall from the roof 00198 ! and what it really receives [W m-2(bld)] 00199 REAL, DIMENSION(SIZE(PPS)) :: ZRAD_WALL_ROOF ! rad flux between the wall and the roof computed for the wall balance 00200 REAL, DIMENSION(SIZE(PPS)) :: ZF_WALL_WALL ! View factor wall-wall inside the building 00201 REAL, DIMENSION(SIZE(PPS)) :: ZCHTC_IN_WALL ! indoor convective heat transfer coeff wall [W m-2 K-1] 00202 INTEGER :: IWALL_LAYER ! number of wall layers 00203 INTEGER :: JJ ! loop counter 00204 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00205 !------------------------------------------------------------------------------- 00206 IF (LHOOK) CALL DR_HOOK('WALL_LAYER_E_BUDGET',0,ZHOOK_HANDLE) 00207 ! 00208 CALL LAYER_E_BUDGET_GET_COEF( PT_WALL, PTSTEP, ZIMPL, PHC_WALL, PTC_WALL, PD_WALL, & 00209 ZA, ZB, ZC, ZY ) 00210 ! 00211 IWALL_LAYER = SIZE(PT_WALL,2) 00212 ! 00213 DO JJ=1,SIZE(PDN_ROAD) 00214 ! 00215 ZDF_ROAD(JJ) = 1. - PDN_ROAD(JJ) 00216 ! 00217 ZTS_WALL(JJ) = PT_WALL(JJ,1) 00218 ZTI_WALL(JJ) = PT_WALL(JJ, IWALL_LAYER) 00219 ! 00220 !* 2.1 outdoor convective flux properties 00221 ! ---------------------------------- 00222 ! 00223 ZRHO_ACF_W (JJ) = PRHOA(JJ) * PAC_WALL(JJ) 00224 ! 00225 !* 2.2 Sky temperature 00226 ! --------------- 00227 ! 00228 ZT_SKY(JJ) = (PLW_RAD(JJ)/XSTEFAN)**0.25 00229 ! 00230 !* 2.3 indoor average thermal conductivity 00231 ! ----------------------------------- 00232 ! 00233 IF (HBEM .EQ. "DEF") THEN 00234 ZMTC_O_D_WALL_IN(JJ) = 2. * PTC_WALL(JJ,IWALL_LAYER) / PD_WALL (JJ,IWALL_LAYER) 00235 ZMTC_O_D_WALL_IN(JJ) = 1./( 1./ZMTC_O_D_WALL_IN(JJ) + 1./(XCPD*PRHOA(JJ)*PAC_BLD(JJ))) 00236 ENDIF 00237 ENDDO 00238 ! 00239 !* 2.4 indoor convective coefficient 00240 ! ----------------------------- 00241 ! 00242 ZCHTC_IN_WALL(:) = CHTC_VERT_DOE(PT_WALL(:,IWALL_LAYER), PTI_BLD(:)) 00243 DO JJ=1,SIZE(ZCHTC_IN_WALL) 00244 ZCHTC_IN_WALL(JJ) = MAX(1., ZCHTC_IN_WALL(JJ)) 00245 ENDDO 00246 00247 ! 00248 !------------------------------------------------------------------------------- 00249 ! 00250 !* 3. Outer wall layer coefficients 00251 ! ------------------------------ 00252 ! 00253 DO JJ=1,SIZE(PT_WALL,1) 00254 ! 00255 ZB(JJ,1) = ZB(JJ,1) + ZIMPL * XCPD/PEXNS(JJ) * ZRHO_ACF_W(JJ) 00256 ! 00257 ZY(JJ,1) = ZY(JJ,1) + PABS_SW_WALL(JJ) & 00258 + XCPD/PEXNS(JJ) * ZRHO_ACF_W(JJ) * ( PT_CANYON(JJ) - ZEXPL * ZTS_WALL(JJ) ) 00259 ! 00260 ! 00261 ZB(JJ,1) = ZB(JJ,1) & 00262 + ZIMPL * ( PLW_S_TO_W(JJ) + PLW_WA_TO_WB(JJ) & 00263 + ZDF_ROAD(JJ)*PLW_R_TO_W(JJ) + PLW_G_TO_W(JJ) & 00264 + PDN_ROAD(JJ) * PLW_NR_TO_W(JJ) & 00265 + PLW_WIN_TO_W(JJ) ) 00266 ! 00267 ZY(JJ,1) = ZY(JJ,1) + & 00268 PLW_S_TO_W(JJ) * (ZT_SKY(JJ) - ZEXPL * ZTS_WALL(JJ)) & 00269 + PLW_WA_TO_WB(JJ) * (PTS_WALL_B(JJ) - ZEXPL * ZTS_WALL(JJ)) & 00270 + ZDF_ROAD(JJ) * PLW_R_TO_W(JJ) * (PTS_ROAD(JJ) - ZEXPL * ZTS_WALL(JJ)) & 00271 + PLW_G_TO_W(JJ) * (PTS_GARDEN(JJ) - ZEXPL * ZTS_WALL(JJ)) & 00272 + PDN_ROAD(JJ) * PLW_NR_TO_W(JJ) * (PTSNOW_ROAD(JJ)- ZEXPL * ZTS_WALL(JJ)) & 00273 + PLW_WIN_TO_W(JJ) * (PT_WIN1(JJ) - ZEXPL * ZTS_WALL(JJ)) 00274 00275 ! 00276 ENDDO 00277 ! 00278 !------------------------------------------------------------------------------- 00279 ! 00280 !* 4. Inside wall layer coefficients 00281 ! ----------------------------- 00282 ! 00283 DO JJ=1,SIZE(PT_WALL,1) 00284 ! 00285 IF (HBEM=="DEF") THEN 00286 ! 00287 ZB(JJ,IWALL_LAYER) = ZB(JJ,IWALL_LAYER) + ZIMPL * ZMTC_O_D_WALL_IN(JJ) 00288 ! 00289 ZY(JJ,IWALL_LAYER) = ZY(JJ,IWALL_LAYER) & 00290 + ZMTC_O_D_WALL_IN(JJ) * PTI_BLD(JJ) & 00291 - ZEXPL * ZMTC_O_D_WALL_IN(JJ) * PT_WALL(JJ,IWALL_LAYER) 00292 ! 00293 ELSEIF (HBEM=="BEM") THEN 00294 ! 00295 ZF_WALL_WALL (JJ) = 1. - PF_WALL_MASS(JJ) - PF_WALL_WIN(JJ) - 2.*PF_WALL_FLOOR(JJ) 00296 ! 00297 ZB(JJ,IWALL_LAYER) = ZB(JJ,IWALL_LAYER) + ZIMPL * & 00298 (ZCHTC_IN_WALL(JJ) * 4./3. + PRADHT_IN(JJ) * & 00299 ( PF_WALL_MASS(JJ) + PF_WALL_WIN (JJ) & 00300 + ZF_WALL_WALL(JJ) + 2 * PF_WALL_FLOOR(JJ))) 00301 ! 00302 ZTI_ROOF(JJ) = PRAD_ROOF_WALL(JJ) / PRADHT_IN(JJ) + PT_WALL(JJ,IWALL_LAYER) 00303 ZY(JJ,IWALL_LAYER) = ZY(JJ,IWALL_LAYER) + & 00304 ZCHTC_IN_WALL(JJ) * (PTI_BLD(JJ) - 1./3. * PT_WALL(JJ, IWALL_LAYER) * (4 * ZEXPL -1)) + & 00305 PRADHT_IN(JJ) * ( & 00306 PF_WALL_MASS (JJ) * (PTS_MASS(JJ) - ZEXPL * PT_WALL(JJ,IWALL_LAYER)) + & 00307 PF_WALL_WIN (JJ) * (PT_WIN2 (JJ) - ZEXPL * PT_WALL(JJ,IWALL_LAYER)) + & 00308 PF_WALL_FLOOR(JJ) * (PTS_FLOOR(JJ) - ZEXPL * PT_WALL(JJ,IWALL_LAYER)) + & 00309 ZF_WALL_WALL (JJ) * (PTI_WALL_B(JJ)- ZEXPL * PT_WALL(JJ,IWALL_LAYER)) + & 00310 PF_WALL_FLOOR(JJ) * (ZTI_ROOF(JJ) - ZEXPL * PT_WALL(JJ,IWALL_LAYER)) )+ & 00311 PLOAD_IN_WALL(JJ) 00312 ! 00313 ENDIF 00314 ! 00315 END DO 00316 ! 00317 !------------------------------------------------------------------------------- 00318 ! 00319 !* 5. heat conduction calculation 00320 ! --------------------------- 00321 ! 00322 CALL LAYER_E_BUDGET( PT_WALL, PTSTEP, ZIMPL, PHC_WALL, PTC_WALL, PD_WALL, & 00323 ZA, ZB, ZC, ZY, PDQS_WALL ) 00324 ! 00325 !------------------------------------------------------------------------------- 00326 ! 00327 !* 6. diagnostics of flux echanged with the wall 00328 ! ------------------------------------------ 00329 ! 00330 ! 00331 !* radiative surface temperature used during the energy balance 00332 ZTS_WALL(:) = ZIMPL * PT_WALL(:,1) + ZEXPL * ZTS_WALL(:) 00333 ! 00334 PABS_LW_WALL(:) = PLW_S_TO_W (:) * (ZT_SKY (:) - ZTS_WALL(:)) + & 00335 ZDF_ROAD(:) *PLW_R_TO_W (:) * (PTS_ROAD (:) - ZTS_WALL(:)) + & 00336 PLW_G_TO_W (:) * (PTS_GARDEN (:) - ZTS_WALL(:)) + & 00337 PLW_WA_TO_WB(:) * (PTS_WALL_B (:) - ZTS_WALL(:)) + & 00338 PLW_WIN_TO_W(:) * (PT_WIN1 (:) - ZTS_WALL(:)) + & 00339 PDN_ROAD(:) *PLW_NR_TO_W (:) * (PTSNOW_ROAD(:) - ZTS_WALL(:)) 00340 ! 00341 !* emitted lw flux 00342 PEMIT_LW_WALL(:) = XSTEFAN * PT_WALL(:,1)**4 + & 00343 (1 - PEMIS_WALL(:))/PEMIS_WALL(:) * PABS_LW_WALL(:) 00344 ! 00345 !* sensible heat flux to outdoor 00346 PH_WALL(:) = ZRHO_ACF_W(:) * XCPD/PEXNS(:) * & 00347 ( ZIMPL*PT_WALL(:,1) + ZEXPL*ZTS_WALL(:) - PT_CANYON(:) ) 00348 ! 00349 IF (HBEM=='BEM') THEN 00350 ! 00351 !compute ZTI_WALL used in flux calculation 00352 ZTI_WALL_CONV(:) = 4./3. * ZIMPL * PT_WALL(:,IWALL_LAYER) + 1./3. * ZTI_WALL(:) * (4 * ZEXPL -1.) 00353 ZTI_WALL(:) = ZEXPL * ZTI_WALL(:) + ZIMPL * PT_WALL(:,IWALL_LAYER) 00354 ! 00355 !compute IR exchanged fluxes with the roof in the wall balance 00356 ZRAD_WALL_ROOF(:) = PRADHT_IN(:) * (ZTI_WALL(:) - ZTI_ROOF(:)) 00357 !compute the difference with the IR flux echanged between roof and wall for 00358 !the roof balance, this difference will be added to the floor 00359 ZDIF_RAD_WALL_ROOF(:) = ZRAD_WALL_ROOF(:) + PRAD_ROOF_WALL(:) 00360 00361 !compute exchanged fluxes with other surfaces for which the balance is done after 00362 PRAD_WALL_FLOOR(:) = PRADHT_IN(:) * (ZTI_WALL(:) - PTS_FLOOR(:)) 00363 ! contribution of the difference between the flux from the wall/flux from 00364 ! the roof 00365 PRAD_WALL_FLOOR(:) = PRAD_WALL_FLOOR(:) + ZDIF_RAD_WALL_ROOF(:) 00366 PRAD_WALL_MASS(:) = PRADHT_IN(:) * (ZTI_WALL(:) - PTS_MASS(:)) 00367 PRAD_WALL_WIN(:) = PRADHT_IN(:) * (ZTI_WALL(:) - PT_WIN2(:)) 00368 PCONV_WALL_BLD(:) = ZCHTC_IN_WALL (:) * (ZTI_WALL_CONV(:) - PTI_BLD (:)) 00369 ! 00370 ! 00371 PFLX_BLD_WALL (:) = -PCONV_WALL_BLD(:) & 00372 + PF_WALL_FLOOR(:) * PRAD_ROOF_WALL(:) & 00373 + PRADHT_IN(:) *(PF_WALL_MASS (:) * (PTS_MASS (:) - ZTI_WALL(:)) & 00374 + PF_WALL_WIN (:) * (PT_WIN2 (:) - ZTI_WALL(:)) & 00375 + PF_WALL_FLOOR(:) * (PTS_FLOOR(:) - ZTI_WALL(:)) ) 00376 ! 00377 !* wall energy residual imbalance for verification 00378 ! ----------------------------------------------- 00379 PIMB_WALL(:) = PABS_SW_WALL(:) + PABS_LW_WALL(:) & 00380 - PDQS_WALL(:) - PH_WALL(:) & 00381 + PFLX_BLD_WALL(:) 00382 ! 00383 ! 00384 END IF 00385 ! 00386 !------------------------------------------------------------------------------- 00387 IF (LHOOK) CALL DR_HOOK('WALL_LAYER_E_BUDGET',1,ZHOOK_HANDLE) 00388 ! 00389 END SUBROUTINE WALL_LAYER_E_BUDGET