| SURFEX v7.3
   
    General documentation of Surfex | 
00001 ! ######### 00002 SUBROUTINE TEB_GARDEN (HZ0H, HIMPLICIT_WIND, HROAD_DIR, HWALL_OPT, TPTIME,& 00003 PTSUN, PT_CANYON, PQ_CANYON, PU_CANYON, & 00004 PT_LOWCAN, PQ_LOWCAN, PU_LOWCAN, PZ_LOWCAN, PTI_BLD, & 00005 PT_ROOF, PT_ROAD, PT_WALL_A, PT_WALL_B, & 00006 PWS_ROOF,PWS_ROAD, & 00007 HSNOW_ROOF, & 00008 PWSNOW_ROOF, PTSNOW_ROOF, PRSNOW_ROOF, PASNOW_ROOF, & 00009 PTSSNOW_ROOF, PESNOW_ROOF, & 00010 HSNOW_ROAD, & 00011 PWSNOW_ROAD, PTSNOW_ROAD, PRSNOW_ROAD, PASNOW_ROAD, & 00012 PTSSNOW_ROAD, PESNOW_ROAD, & 00013 PPEW_A_COEF, PPEW_B_COEF, & 00014 PPEW_A_COEF_LOWCAN, PPEW_B_COEF_LOWCAN, & 00015 PPS, PPA, PEXNS, PEXNA, & 00016 PTA, PQA, PRHOA, PCO2, & 00017 PLW_RAD, PDIR_SW, PSCA_SW, PSW_BANDS, KSW, & 00018 PZENITH, PAZIM, & 00019 PRR, PSR, & 00020 PZREF, PUREF, PVMOD, & 00021 PH_TRAFFIC, PLE_TRAFFIC, PH_INDUSTRY, PLE_INDUSTRY, & 00022 PTSTEP, PZ0_TOWN, PBLD, PGARDEN, PROAD_DIR, PROAD, & 00023 PFRAC_GR, & 00024 PBLD_HEIGHT, PWALL_O_HOR, PCAN_HW_RATIO, & 00025 PROAD_O_GRND, PGARDEN_O_GRND, PWALL_O_GRND, & 00026 PALB_ROOF, PEMIS_ROOF, & 00027 PHC_ROOF,PTC_ROOF,PD_ROOF, & 00028 PALB_ROAD, PEMIS_ROAD, PSVF_ROAD, & 00029 PHC_ROAD,PTC_ROAD,PD_ROAD, & 00030 PALB_WALL, PEMIS_WALL, PSVF_WALL, & 00031 PSVF_GARDEN, & 00032 PHC_WALL,PTC_WALL,PD_WALL, & 00033 PRN_ROOF, PH_ROOF, PLE_ROOF, PLEW_ROOF, PGFLUX_ROOF, & 00034 PRUNOFF_ROOF, & 00035 PRN_ROAD, PH_ROAD, PLE_ROAD, PLEW_ROAD, PGFLUX_ROAD, & 00036 PRUNOFF_ROAD, & 00037 PRN_WALL_A, PH_WALL_A, PLE_WALL_A, PGFLUX_WALL_A, & 00038 PRN_WALL_B, PH_WALL_B, PLE_WALL_B, PGFLUX_WALL_B, & 00039 PRN_GARDEN,PH_GARDEN,PLE_GARDEN, PGFLUX_GARDEN, & 00040 PRN_GREENROOF,PH_GREENROOF,PLE_GREENROOF, PGFLUX_GREENROOF, & 00041 PRN_STRLROOF,PH_STRLROOF,PLE_STRLROOF, PGFLUX_STRLROOF, & 00042 PRN_BLT,PH_BLT,PLE_BLT, PGFLUX_BLT, & 00043 PRNSNOW_ROOF, PHSNOW_ROOF, PLESNOW_ROOF, PGSNOW_ROOF, & 00044 PMELT_ROOF, & 00045 PRNSNOW_ROAD, PHSNOW_ROAD, PLESNOW_ROAD, PGSNOW_ROAD, & 00046 PMELT_ROAD, & 00047 PRN_GRND, PH_GRND, PLE_GRND, PGFLUX_GRND, & 00048 PRN_TOWN, PH_TOWN, PLE_TOWN, PGFLUX_TOWN, PEVAP_TOWN, & 00049 PRUNOFF_TOWN, PSFCO2, & 00050 PUW_GRND, PUW_ROOF, PDUWDU_GRND, PDUWDU_ROOF, & 00051 PUSTAR_TOWN, PCD, PCDN, PCH_TOWN, PRI_TOWN, & 00052 PTS_TOWN, PEMIS_TOWN, PDIR_ALB_TOWN, PSCA_ALB_TOWN, & 00053 PRESA_TOWN, PDQS_TOWN, PQF_TOWN, PQF_BLD, & 00054 PFLX_BLD, PAC_ROAD, PAC_GARDEN, PAC_GREENROOF, & 00055 PAC_ROAD_WAT, PAC_GARDEN_WAT, PAC_GREENROOF_WAT, & 00056 PABS_SW_ROOF,PABS_LW_ROOF, & 00057 PABS_SW_SNOW_ROOF,PABS_LW_SNOW_ROOF, & 00058 PABS_SW_ROAD,PABS_LW_ROAD, & 00059 PABS_SW_SNOW_ROAD,PABS_LW_SNOW_ROAD, & 00060 PABS_SW_WALL_A,PABS_LW_WALL_A, & 00061 PABS_SW_WALL_B,PABS_LW_WALL_B, & 00062 PABS_SW_GARDEN,PABS_LW_GARDEN, & 00063 PABS_SW_GREENROOF,PABS_LW_GREENROOF, & 00064 PG_GREENROOF_ROOF,PRUNOFF_GREENROOF,PDRAIN_GREENROOF, & 00065 HCOOL_COIL, PF_WATER_COND, HHEAT_COIL, & 00066 HNATVENT, KDAY, PAUX_MAX, PT_FLOOR, & 00067 PT_MASS, PH_BLD_COOL, PT_BLD_COOL, PH_BLD_HEAT, & 00068 PLE_BLD_COOL, PLE_BLD_HEAT, PH_WASTE, PLE_WASTE, & 00069 PF_WASTE_CAN, PHVAC_COOL, PHVAC_HEAT, PQIN, PQIN_FRAD, & 00070 PQIN_FLAT, PGR, PEFF_HEAT, PINF, & 00071 PTCOOL_TARGET, PTHEAT_TARGET, PHR_TARGET, PT_WIN2, & 00072 PQI_BLD, PV_VENT, PCAP_SYS_HEAT, PCAP_SYS_RAT, PT_ADP, & 00073 PM_SYS_RAT, PCOP_RAT, PCAP_SYS, PM_SYS, PCOP, PQ_SYS, & 00074 PT_SYS, PTR_SW_WIN, PFAN_POWER, PHC_FLOOR, PTC_FLOOR, & 00075 PD_FLOOR, PT_WIN1, PABS_SW_WIN, PABS_LW_WIN, PSHGC, & 00076 PSHGC_SH, PUGG_WIN, PALB_WIN, PABS_WIN, PEMIT_LW_FAC, & 00077 PEMIT_LW_GRND, PT_RAD_IND, PREF_SW_GRND, PREF_SW_FAC, & 00078 PHU_BLD, PTIME, OSHADE, OSHAD_DAY, ONATVENT_NIGHT, HBEM, & 00079 PN_FLOOR, PWALL_O_BLD, PGLAZ_O_BLD, PMASS_O_BLD, & 00080 PFLOOR_HW_RATIO, PF_FLOOR_MASS, PF_FLOOR_WALL, & 00081 PF_FLOOR_WIN, PF_FLOOR_ROOF, PF_WALL_FLOOR, PF_WALL_MASS,& 00082 PF_WALL_WIN, PF_WIN_FLOOR, PF_WIN_MASS, PF_WIN_WALL, & 00083 PF_MASS_FLOOR, PF_MASS_WALL, PF_MASS_WIN, OCANOPY, & 00084 PTRAN_WIN, HCH_BEM, PROUGH_ROOF, PROUGH_WALL, PF_WIN_WIN ) 00085 ! ########################################################################## 00086 ! 00087 !!**** *TEB_GARDEN* 00088 !! 00089 !! PURPOSE 00090 !! ------- 00091 ! 00092 ! 00093 !!** METHOD 00094 ! ------ 00095 ! 00096 ! 00097 !! EXTERNAL 00098 !! -------- 00099 !! 00100 !! 00101 !! IMPLICIT ARGUMENTS 00102 !! ------------------ 00103 !! 00104 !! 00105 !! REFERENCE 00106 !! --------- 00107 !! 00108 !! 00109 !! AUTHOR 00110 !! ------ 00111 !! 00112 !! A. Lemonsu * Meteo-France * 00113 !! 00114 !! MODIFICATIONS 00115 !! ------------- 00116 !! Original 05/2009 00117 !! 04/2012 add PTRAN_WIN 00118 !! modified 08/2012 HCH_BEM/ ROUGH_WALL and ROUGH_ROOF for buildind conv coef. 00119 !! modified 10/2012 add PF_WIN_WIN as arg 00120 !------------------------------------------------------------------------------- 00121 ! 00122 !* 0. DECLARATIONS 00123 ! ------------ 00124 ! 00125 USE MODD_TYPE_DATE_SURF, ONLY: DATE_TIME 00126 USE MODD_CSTS, ONLY: XTT, XSTEFAN 00127 USE MODD_SURF_PAR, ONLY: XUNDEF 00128 USE MODD_SNOW_PAR, ONLY: XEMISSN, XANSMAX 00129 USE MODD_ISBA_PAR, ONLY: XWGMIN 00130 USE MODD_TEB_n, ONLY: LGARDEN, LGREENROOF 00131 USE MODD_TEB_GREENROOF_n, ONLY: NLAYER_GR, XDG, XTG, XPLVTT 00132 ! 00133 USE MODE_THERMOS 00134 USE MODE_SURF_SNOW_FRAC 00135 ! 00136 USE MODI_GARDEN_PROPERTIES 00137 USE MODI_GREENROOF_PROPERTIES 00138 USE MODI_WINDOW_SHADING_AVAILABILITY 00139 USE MODI_URBAN_SOLAR_ABS 00140 USE MODI_URBAN_LW_COEF 00141 USE MODI_GARDEN 00142 USE MODI_GREENROOF 00143 USE MODI_TEB 00144 USE MODI_AVG_URBAN_FLUXES 00145 ! 00146 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00147 USE PARKIND1 ,ONLY : JPRB 00148 ! 00149 IMPLICIT NONE 00150 ! 00151 !* 0.1 Declarations of arguments 00152 ! 00153 CHARACTER(LEN=6) , INTENT(IN) :: HZ0H ! TEB option for z0h roof & road 00154 ! ! 'MASC95' : Mascart et al 1995 00155 ! ! 'BRUT82' : Brustaert 1982 00156 ! ! 'KAND07' : Kanda 2007 00157 CHARACTER(LEN=*), INTENT(IN) :: HIMPLICIT_WIND ! wind implicitation option 00158 ! ! 'OLD' = direct 00159 ! ! 'NEW' = Taylor serie, order 1 00160 CHARACTER(LEN=4) , INTENT(IN) :: HROAD_DIR ! TEB option for road direction 00161 ! 'UNIF' : uniform roads 00162 ! 'ORIE' : specified 00163 ! road orientation 00164 CHARACTER(LEN=4) , INTENT(IN) :: HWALL_OPT ! TEB option for walls representation 00165 ! 'UNIF' : uniform walls 00166 ! 'TWO ' : 2 opposite walls 00167 TYPE(DATE_TIME) , INTENT(IN) :: TPTIME ! current date and time from teb 00168 REAL, DIMENSION(:), INTENT(IN) :: PTSUN ! solar time (s from midnight) 00169 00170 ! 00171 REAL, DIMENSION(:) , INTENT(INOUT) :: PT_CANYON ! canyon air temperature 00172 REAL, DIMENSION(:) , INTENT(INOUT) :: PQ_CANYON ! canyon air specific humidity 00173 REAL, DIMENSION(:) , INTENT(IN) :: PU_CANYON ! canyon hor. wind 00174 REAL, DIMENSION(:) , INTENT(IN) :: PU_LOWCAN ! wind near the road 00175 REAL, DIMENSION(:) , INTENT(IN) :: PT_LOWCAN ! temp. near the road 00176 REAL, DIMENSION(:) , INTENT(IN) :: PQ_LOWCAN ! hum. near the road 00177 REAL, DIMENSION(:) , INTENT(IN) :: PZ_LOWCAN ! height of atm. var. near the road 00178 REAL, DIMENSION(:) , INTENT(INOUT) :: PTI_BLD ! inside building temperature 00179 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_ROOF ! roof layers temperatures 00180 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_ROAD ! road layers temperatures 00181 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_WALL_A ! wall layers temperatures 00182 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_WALL_B ! wall layers temperatures 00183 REAL, DIMENSION(:) , INTENT(INOUT) :: PWS_ROOF ! roof water reservoir 00184 REAL, DIMENSION(:) , INTENT(INOUT) :: PWS_ROAD ! road water reservoir 00185 CHARACTER(LEN=*) , INTENT(IN) :: HSNOW_ROOF ! snow roof scheme 'NONE', 'D95 ', '1-L ' 00186 CHARACTER(LEN=*) , INTENT(IN) :: HSNOW_ROAD ! snow road scheme 'NONE', 'D95 ', '1-L ' 00187 REAL, DIMENSION(:,:), INTENT(INOUT) :: PWSNOW_ROOF ! snow layers reservoir 00188 REAL, DIMENSION(:,:), INTENT(INOUT) :: PTSNOW_ROOF ! snow layers temperature 00189 REAL, DIMENSION(:,:), INTENT(INOUT) :: PRSNOW_ROOF ! snow layers density 00190 REAL, DIMENSION(:) , INTENT(INOUT) :: PASNOW_ROOF ! snow albedo 00191 REAL, DIMENSION(:) , INTENT(INOUT) :: PESNOW_ROOF ! snow emissivity 00192 REAL, DIMENSION(:) , INTENT(INOUT) :: PTSSNOW_ROOF ! snow surface temperature 00193 REAL, DIMENSION(:,:), INTENT(INOUT) :: PWSNOW_ROAD ! snow layers reservoir 00194 REAL, DIMENSION(:,:), INTENT(INOUT) :: PTSNOW_ROAD ! snow layers temperature 00195 REAL, DIMENSION(:,:), INTENT(INOUT) :: PRSNOW_ROAD ! snow layers density 00196 REAL, DIMENSION(:) , INTENT(INOUT) :: PASNOW_ROAD ! snow albedo 00197 REAL, DIMENSION(:) , INTENT(INOUT) :: PESNOW_ROAD ! snow emissivity 00198 REAL, DIMENSION(:) , INTENT(INOUT) :: PTSSNOW_ROAD ! snow surface temperature 00199 REAL, DIMENSION(:) , INTENT(IN) :: PPEW_A_COEF ! implicit coefficients 00200 REAL, DIMENSION(:) , INTENT(IN) :: PPEW_B_COEF ! for wind coupling 00201 REAL, DIMENSION(:) , INTENT(IN) :: PPEW_A_COEF_LOWCAN ! implicit coefficients for wind coupling 00202 REAL, DIMENSION(:) , INTENT(IN) :: PPEW_B_COEF_LOWCAN ! between low canyon wind and road 00203 REAL, DIMENSION(:) , INTENT(IN) :: PPS ! pressure at the surface 00204 REAL, DIMENSION(:) , INTENT(IN) :: PPA ! pressure at the first atmospheric level 00205 REAL, DIMENSION(:) , INTENT(IN) :: PEXNS ! surface exner function 00206 REAL, DIMENSION(:) , INTENT(IN) :: PTA ! temperature at the lowest level 00207 REAL, DIMENSION(:) , INTENT(IN) :: PQA ! specific humidity at the lowest level 00208 REAL, DIMENSION(:) , INTENT(IN) :: PVMOD ! module of the horizontal wind 00209 REAL, DIMENSION(:) , INTENT(IN) :: PEXNA ! exner function at the lowest level 00210 REAL, DIMENSION(:) , INTENT(IN) :: PRHOA ! air density at the lowest level 00211 REAL, DIMENSION(:) , INTENT(IN) :: PCO2 ! CO2 concentration in the air (kg/m3) 00212 REAL, DIMENSION(:) , INTENT(IN) :: PLW_RAD ! atmospheric infrared radiation 00213 REAL, DIMENSION(:,:), INTENT(IN) :: PDIR_SW ! incoming direct solar rad on an horizontal surface 00214 REAL, DIMENSION(:,:), INTENT(IN) :: PSCA_SW ! scattered incoming solar rad. 00215 REAL, DIMENSION(:) , INTENT(IN) :: PSW_BANDS ! mean wavelength of each shortwave band (m) 00216 INTEGER, INTENT(IN) :: KSW ! number of short-wave spectral bands 00217 REAL, DIMENSION(:) , INTENT(IN) :: PZENITH ! solar zenithal angle 00218 REAL, DIMENSION(:) , INTENT(IN) :: PAZIM ! solar azimuthal angle 00219 ! (radian form N, clockwise) 00220 REAL, DIMENSION(:) , INTENT(IN) :: PRR ! rain rate 00221 REAL, DIMENSION(:) , INTENT(IN) :: PSR ! snow rate 00222 REAL, DIMENSION(:) , INTENT(IN) :: PH_TRAFFIC ! anthropogenic sensible heat fluxes due to traffic 00223 REAL, DIMENSION(:) , INTENT(IN) :: PLE_TRAFFIC ! anthropogenic latent heat fluxes due to traffic 00224 REAL, DIMENSION(:) , INTENT(IN) :: PH_INDUSTRY ! anthropogenic sensible heat fluxes due to factories 00225 REAL, DIMENSION(:) , INTENT(IN) :: PLE_INDUSTRY ! anthropogenic latent heat fluxes due to factories 00226 REAL, DIMENSION(:) , INTENT(IN) :: PZREF ! reference height of the first atm level (temperature) 00227 REAL, DIMENSION(:) , INTENT(IN) :: PUREF ! reference height of the first atm level (wind) 00228 REAL , INTENT(IN) :: PTSTEP ! time step 00229 REAL, DIMENSION(:) , INTENT(IN) :: PZ0_TOWN ! town roughness length for momentum 00230 REAL, DIMENSION(:) , INTENT(IN) :: PBLD ! fraction of buildings 00231 REAL, DIMENSION(:) , INTENT(IN) :: PGARDEN ! fraction of green areas 00232 REAL, DIMENSION(:) , INTENT(IN) :: PROAD_DIR ! road direction (° from North, clockwise) 00233 REAL, DIMENSION(:) , INTENT(IN) :: PROAD ! fraction of roads 00234 REAL, DIMENSION(:) , INTENT(IN) :: PFRAC_GR ! fraction of green roofs 00235 REAL, DIMENSION(:) , INTENT(IN) :: PBLD_HEIGHT ! buildings h 00236 REAL, DIMENSION(:) , INTENT(IN) :: PWALL_O_HOR ! wall surf. / hor. surf. 00237 REAL, DIMENSION(:) , INTENT(IN) :: PCAN_HW_RATIO ! canyon h/W 00238 REAL, DIMENSION(:) , INTENT(IN) :: PROAD_O_GRND ! road surf. / (road+garden surf.) 00239 REAL, DIMENSION(:) , INTENT(IN) :: PGARDEN_O_GRND ! garden surf. / (road+garden surf.) 00240 REAL, DIMENSION(:) , INTENT(IN) :: PWALL_O_GRND ! wall surf. / (road+garden surf.) 00241 REAL, DIMENSION(:) , INTENT(IN) :: PALB_ROOF ! roof albedo 00242 REAL, DIMENSION(:) , INTENT(IN) :: PEMIS_ROOF ! roof emissivity 00243 REAL, DIMENSION(:,:), INTENT(IN) :: PHC_ROOF ! heat capacity for roof layers 00244 REAL, DIMENSION(:,:), INTENT(IN) :: PTC_ROOF ! thermal conductivity for roof layers 00245 REAL, DIMENSION(:,:), INTENT(IN) :: PD_ROOF ! depth of roof layers 00246 REAL, DIMENSION(:) , INTENT(IN) :: PALB_ROAD ! road albedo 00247 REAL, DIMENSION(:) , INTENT(IN) :: PEMIS_ROAD ! road emissivity 00248 REAL, DIMENSION(:,:), INTENT(IN) :: PHC_ROAD ! heat capacity for road layers 00249 REAL, DIMENSION(:,:), INTENT(IN) :: PTC_ROAD ! thermal conductivity for road layers 00250 REAL, DIMENSION(:,:), INTENT(IN) :: PD_ROAD ! depth of road layers 00251 REAL, DIMENSION(:) , INTENT(IN) :: PSVF_ROAD ! road sky view factor 00252 REAL, DIMENSION(:) , INTENT(IN) :: PALB_WALL ! wall albedo 00253 REAL, DIMENSION(:) , INTENT(IN) :: PEMIS_WALL ! wall emissivity 00254 REAL, DIMENSION(:,:), INTENT(IN) :: PHC_WALL ! heat capacity for wall layers 00255 REAL, DIMENSION(:,:), INTENT(IN) :: PTC_WALL ! thermal conductivity for wall layers 00256 REAL, DIMENSION(:,:), INTENT(IN) :: PD_WALL ! depth of wall layers 00257 REAL, DIMENSION(:) , INTENT(IN) :: PSVF_WALL ! wall sky view factor 00258 REAL, DIMENSION(:) , INTENT(IN) :: PSVF_GARDEN ! green area sky view factor 00259 ! 00260 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_ROOF ! net radiation over roof 00261 REAL, DIMENSION(:) , INTENT(OUT) :: PH_ROOF ! sensible heat flux over roof 00262 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_ROOF ! latent heat flux over roof 00263 REAL, DIMENSION(:) , INTENT(OUT) :: PLEW_ROOF ! latent heat flux over roof (snow) 00264 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_ROOF ! flux through the roof 00265 REAL, DIMENSION(:) , INTENT(OUT) :: PRUNOFF_ROOF ! runoff over the ground 00266 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_ROAD ! net radiation over road 00267 REAL, DIMENSION(:) , INTENT(OUT) :: PH_ROAD ! sensible heat flux over road 00268 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_ROAD ! latent heat flux over road 00269 REAL, DIMENSION(:) , INTENT(OUT) :: PLEW_ROAD ! latent heat flux over road (snow) 00270 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_ROAD ! flux through the road 00271 REAL, DIMENSION(:) , INTENT(OUT) :: PRUNOFF_ROAD ! runoff over the ground 00272 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_WALL_A ! net radiation over wall 00273 REAL, DIMENSION(:) , INTENT(OUT) :: PH_WALL_A ! sensible heat flux over wall 00274 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_WALL_A ! latent heat flux over wall 00275 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_WALL_A ! flux through the wall 00276 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_WALL_B ! net radiation over wall 00277 REAL, DIMENSION(:) , INTENT(OUT) :: PH_WALL_B ! sensible heat flux over wall 00278 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_WALL_B ! latent heat flux over wall 00279 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_WALL_B ! flux through the wall 00280 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_GARDEN ! net radiation over green areas 00281 REAL, DIMENSION(:) , INTENT(OUT) :: PH_GARDEN ! sensible heat flux over green areas 00282 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_GARDEN ! latent heat flux over green areas 00283 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_GARDEN ! flux through the green areas 00284 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_GREENROOF ! net radiation over greenroofs 00285 REAL, DIMENSION(:) , INTENT(OUT) :: PH_GREENROOF ! sensible heat flux over greenroofs 00286 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_GREENROOF ! latent heat flux over greenroofs 00287 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_GREENROOF ! flux through the greenroofs 00288 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_STRLROOF ! net radiation over structural roof 00289 REAL, DIMENSION(:) , INTENT(OUT) :: PH_STRLROOF ! sensible heat flux over structural roof 00290 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_STRLROOF ! latent heat flux over structural roof 00291 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_STRLROOF ! flux through the structural roof 00292 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_BLT ! net radiation over built surf 00293 REAL, DIMENSION(:) , INTENT(OUT) :: PH_BLT ! sensible heat flux over built surf 00294 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_BLT ! latent heat flux over built surf 00295 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_BLT ! flux through the built surf 00296 ! 00297 REAL, DIMENSION(:) , INTENT(OUT) :: PRNSNOW_ROOF ! net radiation over snow 00298 REAL, DIMENSION(:) , INTENT(OUT) :: PHSNOW_ROOF ! sensible heat flux over snow 00299 REAL, DIMENSION(:) , INTENT(OUT) :: PLESNOW_ROOF ! latent heat flux over snow 00300 REAL, DIMENSION(:) , INTENT(OUT) :: PGSNOW_ROOF ! flux under the snow 00301 REAL, DIMENSION(:) , INTENT(OUT) :: PMELT_ROOF ! snow melt 00302 REAL, DIMENSION(:) , INTENT(OUT) :: PRNSNOW_ROAD ! net radiation over snow 00303 REAL, DIMENSION(:) , INTENT(OUT) :: PHSNOW_ROAD ! sensible heat flux over snow 00304 REAL, DIMENSION(:) , INTENT(OUT) :: PLESNOW_ROAD ! latent heat flux over snow 00305 REAL, DIMENSION(:) , INTENT(OUT) :: PGSNOW_ROAD ! flux under the snow 00306 REAL, DIMENSION(:) , INTENT(OUT) :: PMELT_ROAD ! snow melt 00307 ! 00308 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_GRND ! net radiation over ground 00309 REAL, DIMENSION(:) , INTENT(OUT) :: PH_GRND ! sensible heat flux over ground 00310 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_GRND ! latent heat flux over ground 00311 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_GRND ! flux through the ground 00312 REAL, DIMENSION(:) , INTENT(OUT) :: PRN_TOWN ! net radiation over town 00313 REAL, DIMENSION(:) , INTENT(OUT) :: PH_TOWN ! sensible heat flux over town 00314 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_TOWN ! latent heat flux over town 00315 REAL, DIMENSION(:) , INTENT(OUT) :: PGFLUX_TOWN ! flux through the ground 00316 REAL, DIMENSION(:) , INTENT(OUT) :: PEVAP_TOWN ! evaporation flux (kg/m2/s) 00317 REAL, DIMENSION(:) , INTENT(OUT) :: PRUNOFF_TOWN ! runoff over the ground 00318 REAL, DIMENSION(:) , INTENT(OUT) :: PSFCO2 ! flux of CO2 (kg/m2/s) 00319 REAL, DIMENSION(:) , INTENT(OUT) :: PUW_GRND ! momentum flux for ground built surf 00320 REAL, DIMENSION(:) , INTENT(OUT) :: PUW_ROOF ! momentum flux for roofs 00321 REAL, DIMENSION(:) , INTENT(OUT) :: PDUWDU_GRND ! 00322 REAL, DIMENSION(:) , INTENT(OUT) :: PDUWDU_ROOF ! 00323 REAL, DIMENSION(:) , INTENT(OUT) :: PUSTAR_TOWN ! friciton velocity over town 00324 REAL, DIMENSION(:) , INTENT(OUT) :: PCD ! town averaged drag coefficient 00325 REAL, DIMENSION(:) , INTENT(OUT) :: PCDN ! town averaged neutral drag coefficient 00326 REAL, DIMENSION(:) , INTENT(OUT) :: PCH_TOWN ! town averaged heat transfer coefficient 00327 REAL, DIMENSION(:) , INTENT(OUT) :: PRI_TOWN ! town averaged Richardson number 00328 REAL, DIMENSION(:) , INTENT(OUT) :: PTS_TOWN ! town surface temperature 00329 REAL, DIMENSION(:) , INTENT(OUT) :: PEMIS_TOWN ! town equivalent emissivity 00330 REAL, DIMENSION(:) , INTENT(OUT) :: PDIR_ALB_TOWN ! town equivalent direct albedo 00331 REAL, DIMENSION(:) , INTENT(OUT) :: PSCA_ALB_TOWN ! town equivalent diffuse albedo 00332 REAL, DIMENSION(:) , INTENT(OUT) :: PRESA_TOWN ! town aerodynamical resistance 00333 REAL, DIMENSION(:) , INTENT(OUT) :: PDQS_TOWN ! heat storage inside town 00334 REAL, DIMENSION(:) , INTENT(OUT) :: PQF_TOWN ! total anthropogenic heat 00335 REAL, DIMENSION(:) , INTENT(OUT) :: PQF_BLD ! anthropogenic heat flux of domestic heating 00336 REAL, DIMENSION(:) , INTENT(OUT) :: PFLX_BLD ! heat flx from inside bld through its structure 00337 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_ROAD ! road conductance 00338 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_GARDEN ! green area conductance 00339 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_GREENROOF ! green roof conductance 00340 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_ROAD_WAT ! road conductance for latent heat 00341 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_GARDEN_WAT ! green area conductance for latent heat 00342 REAL, DIMENSION(:) , INTENT(OUT) :: PAC_GREENROOF_WAT ! green roof conductance for latent heat 00343 ! 00344 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_ROOF ! absorbed solar rad by roof 00345 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_SNOW_ROOF ! absorbed solar rad by snow on roof 00346 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_ROOF ! absorbed IR rad by roof 00347 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_SNOW_ROOF ! absorbed IR rad by snow on roof 00348 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_ROAD ! absorbed solar rad by road 00349 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_SNOW_ROAD ! absorbed solar rad by snow on road 00350 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_ROAD ! absorbed IR rad by road 00351 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_SNOW_ROAD ! absorbed IR rad by snow on road 00352 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_WALL_A ! absorbed solar rad by wall 00353 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_WALL_A ! absorbed IR rad by wall 00354 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_WALL_B ! absorbed solar rad by wall 00355 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_WALL_B ! absorbed IR rad by wall 00356 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_GARDEN ! absorbed solar rad by green areas 00357 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_GARDEN ! absorbed IR rad by green areas 00358 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_GREENROOF ! absorbed solar rad by green roofs 00359 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_GREENROOF ! absorbed IR rad by green roofs 00360 REAL, DIMENSION(:) , INTENT(OUT) :: PG_GREENROOF_ROOF ! heat flux between base of greenroof 00361 ! ! and structural roof 00362 REAL, DIMENSION(:) , INTENT(OUT) :: PRUNOFF_GREENROOF ! greenroof surface runoff 00363 REAL, DIMENSION(:) , INTENT(OUT) :: PDRAIN_GREENROOF ! greenroof total vertical drainage 00364 ! 00365 ! new arguments created after BEM 00366 ! 00367 CHARACTER(LEN=6) , INTENT(IN) :: HCOOL_COIL 00368 CHARACTER(LEN=6) , INTENT(IN) :: HHEAT_COIL 00369 REAL, DIMENSION(:) , INTENT(IN) :: PF_WATER_COND ! fraction of evaporation for the condensers 00370 CHARACTER(LEN=4), DIMENSION(:), INTENT(IN) :: HNATVENT 00371 INTEGER , INTENT(IN) :: KDAY ! Simulation day 00372 REAL, DIMENSION(:) , INTENT(INOUT) :: PAUX_MAX ! Auxiliar variable for autosize calcs 00373 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_FLOOR ! Floor layers temperatures [K] 00374 REAL, DIMENSION(:,:), INTENT(INOUT) :: PT_MASS ! Internal mass layers temperatures [K] 00375 REAL, DIMENSION(:) , INTENT(OUT) :: PH_BLD_COOL ! Sensible cooling energy demand 00376 ! of the building [W m-2(bld)] 00377 REAL, DIMENSION(:) , INTENT(OUT) :: PT_BLD_COOL ! Total cooling energy demand 00378 ! of the building [W m-2(bld)] 00379 REAL, DIMENSION(:) , INTENT(OUT) :: PH_BLD_HEAT ! Heating energy demand 00380 ! of the building [W m-2(bld)] 00381 REAL, DIMENSION(: ), INTENT(OUT) :: PLE_BLD_COOL ! Latent cooling energy demand 00382 ! of the building [W m-2(bld)] 00383 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_BLD_HEAT ! Latent heating energy demand 00384 ! of the building [W m-2(bld)] 00385 REAL, DIMENSION(:) , INTENT(OUT) :: PH_WASTE ! Sensible waste heat from HVAC system 00386 ! [W m-2(tot)] 00387 REAL, DIMENSION(:) , INTENT(OUT) :: PLE_WASTE ! Latent waste heat from HVAC system 00388 ! [W m-2(tot)] 00389 REAL, DIMENSION(:) , INTENT(IN) :: PF_WASTE_CAN ! fraction of waste heat released into the canyon 00390 REAL, DIMENSION(:) , INTENT(OUT) :: PHVAC_COOL ! Energy consumption of the cooling system 00391 ! [W m-2(bld)] 00392 REAL, DIMENSION(:) , INTENT(OUT) :: PHVAC_HEAT ! Energy consumption of the heating system 00393 ! [W m-2(bld)] 00394 REAL, DIMENSION(:) , INTENT(IN) :: PQIN ! Internal heat gains [W m-2(floor)] 00395 REAL, DIMENSION(:) , INTENT(IN) :: PQIN_FRAD ! Radiant fraction of internal heat gains 00396 REAL, DIMENSION(:) , INTENT(IN) :: PQIN_FLAT ! Latent franction of internal heat gains 00397 REAL, DIMENSION(:) , INTENT(IN) :: PGR ! Glazing ratio 00398 REAL, DIMENSION(:) , INTENT(IN) :: PEFF_HEAT ! Efficiency of the heating system 00399 REAL, DIMENSION(:) , INTENT(IN) :: PINF ! Infiltration flow rate [AC/H] 00400 REAL, DIMENSION(:) , INTENT(IN) :: PTCOOL_TARGET ! Cooling setpoint of HVAC system [K] 00401 REAL, DIMENSION(:) , INTENT(IN) :: PTHEAT_TARGET ! Heating setpoint of HVAC system [K] 00402 REAL, DIMENSION(:) , INTENT(IN) :: PHR_TARGET ! Relative humidity setpoint 00403 REAL, DIMENSION(:) , INTENT(OUT) :: PT_WIN2 ! Indoor window temperature [K] 00404 REAL, DIMENSION(:) , INTENT(INOUT) :: PQI_BLD ! Indoor air specific humidity [kg kg-1] 00405 REAL, DIMENSION(:) , INTENT(IN) :: PV_VENT ! Ventilation flow rate [AC/H] 00406 REAL, DIMENSION(:) , INTENT(IN) :: PCAP_SYS_HEAT ! Capacity of the heating system 00407 ! [W m-2(bld)] 00408 REAL, DIMENSION(:) , INTENT(INOUT) :: PCAP_SYS_RAT ! Rated capacity of the cooling system 00409 ! [W m-2(bld)] 00410 REAL, DIMENSION(:) , INTENT(IN) :: PT_ADP ! Apparatus dewpoint temperature of the 00411 ! cooling coil [K] 00412 REAL, DIMENSION(:) , INTENT(INOUT) :: PM_SYS_RAT ! Rated HVAC mass flow rate 00413 ! [kg s-1 m-2(bld)] 00414 REAL, DIMENSION(:) , INTENT(IN) :: PCOP_RAT ! Rated COP of the cooling system 00415 REAL, DIMENSION(:) , INTENT(OUT) :: PCAP_SYS ! Actual capacity of the cooling system 00416 ! [W m-2(bld)] 00417 REAL, DIMENSION(:) , INTENT(OUT) :: PM_SYS ! Actual HVAC mass flow rate 00418 ! [kg s-1 m-2(bld)] 00419 REAL, DIMENSION(:) , INTENT(OUT) :: PCOP ! COP of the cooling system 00420 REAL, DIMENSION(:) , INTENT(OUT) :: PQ_SYS ! Supply air specific humidity [kg kg-1] 00421 REAL, DIMENSION(:) , INTENT(OUT) :: PT_SYS ! Supply air temperature [K] 00422 REAL, DIMENSION(:) , INTENT(OUT) :: PTR_SW_WIN ! Solar radiation transmitted throught 00423 ! windows [W m-2(bld)] 00424 REAL, DIMENSION(:) , INTENT(OUT) :: PFAN_POWER ! HVAC fan power 00425 REAL, DIMENSION(:,:), INTENT(IN) :: PHC_FLOOR ! heat capacity for road layers 00426 REAL, DIMENSION(:,:), INTENT(IN) :: PTC_FLOOR ! thermal conductivity for 00427 ! road layers 00428 REAL, DIMENSION(:,:), INTENT(IN) :: PD_FLOOR ! depth of road layers 00429 00430 REAL, DIMENSION(:) , INTENT(INOUT) :: PT_WIN1 ! outdoor window temperature [K] 00431 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_SW_WIN ! window absorbed shortwave radiation [W m-2] 00432 REAL, DIMENSION(:) , INTENT(OUT) :: PABS_LW_WIN ! absorbed infrared rad. [W m-2] 00433 REAL, DIMENSION(:) , INTENT(IN) :: PSHGC ! window solar transmittance 00434 REAL, DIMENSION(:) , INTENT(IN) :: PSHGC_SH ! window + shading solar heat gain coef. 00435 REAL, DIMENSION(:) , INTENT(IN) :: PUGG_WIN ! window glass-to-glass U-factro [W m-2 K-1] 00436 REAL, DIMENSION(:) , INTENT(OUT) :: PALB_WIN ! window albedo 00437 REAL, DIMENSION(:) , INTENT(IN) :: PABS_WIN ! window absortance 00438 REAL, DIMENSION(:) , INTENT(IN) :: PTRAN_WIN ! window transmittance 00439 ! 00440 ! new argument for the UTCI calculation 00441 REAL, DIMENSION(:) , INTENT(OUT) :: PEMIT_LW_GRND ! LW flux emitted by the ground (W/m² ground) 00442 REAL, DIMENSION(:) , INTENT(OUT) :: PEMIT_LW_FAC ! LW flux emitted by the facade (W/m² ground) 00443 REAL, DIMENSION(:) , INTENT(OUT) :: PT_RAD_IND ! Indoor mean radiant temperature [K] 00444 REAL, DIMENSION(:) , INTENT(OUT) :: PREF_SW_GRND ! total solar rad reflected from ground 00445 REAL, DIMENSION(:) , INTENT(OUT) :: PREF_SW_FAC ! total solar rad reflected from facade 00446 REAL, DIMENSION(:) , INTENT(OUT) :: PHU_BLD ! Indoor relative humidity 0 < (-) < 1 00447 ! 00448 ! new arguments for shading, schedule or natural ventilation 00449 REAL , INTENT(IN) :: PTIME ! current time since midnight (UTC, s) 00450 LOGICAL,DIMENSION(:), INTENT(IN) :: OSHADE 00451 LOGICAL,DIMENSION(:), INTENT(INOUT) :: OSHAD_DAY ! has shading been necessary this day ? 00452 LOGICAL,DIMENSION(:), INTENT(INOUT) :: ONATVENT_NIGHT ! has natural ventilation been necessary/possible this night ? 00453 CHARACTER(LEN=3) , INTENT(IN) :: HBEM ! Building Energy model 'DEF' or 'BEM' 00454 ! 00455 REAL, DIMENSION(:) , INTENT(IN) :: PN_FLOOR ! Number of floors 00456 REAL, DIMENSION(:) , INTENT(IN) :: PWALL_O_BLD ! Wall area [m2_wall/m2_bld] 00457 REAL, DIMENSION(:) , INTENT(IN) :: PGLAZ_O_BLD ! Window area [m2_win/m2_bld] 00458 REAL, DIMENSION(:) , INTENT(IN) :: PMASS_O_BLD ! Mass area [m2_mass/m2_bld] 00459 REAL, DIMENSION(:) , INTENT(IN) :: PFLOOR_HW_RATIO ! H/W ratio of 1 floor level 00460 REAL, DIMENSION(:) , INTENT(IN) :: PF_FLOOR_MASS ! View factor floor-mass 00461 REAL, DIMENSION(:) , INTENT(IN) :: PF_FLOOR_WALL ! View factor floor-wall 00462 REAL, DIMENSION(:) , INTENT(IN) :: PF_FLOOR_WIN ! View factor floor-window 00463 REAL, DIMENSION(:) , INTENT(IN) :: PF_FLOOR_ROOF ! View factor floor-roof 00464 REAL, DIMENSION(:) , INTENT(IN) :: PF_WALL_FLOOR ! View factor wall-floor 00465 REAL, DIMENSION(:) , INTENT(IN) :: PF_WALL_MASS ! View factor wall-mass 00466 REAL, DIMENSION(:) , INTENT(IN) :: PF_WALL_WIN ! View factor wall-win 00467 REAL, DIMENSION(:) , INTENT(IN) :: PF_WIN_FLOOR ! View factor win-floor 00468 REAL, DIMENSION(:) , INTENT(IN) :: PF_WIN_MASS ! View factor win-mass 00469 REAL, DIMENSION(:) , INTENT(IN) :: PF_WIN_WALL ! View factor win-wall 00470 REAL, DIMENSION(:) , INTENT(IN) :: PF_MASS_FLOOR ! View factor mass-floor 00471 REAL, DIMENSION(:) , INTENT(IN) :: PF_MASS_WALL ! View factor mass-wall 00472 REAL, DIMENSION(:) , INTENT(IN) :: PF_MASS_WIN ! View factor mass-window 00473 LOGICAL , INTENT(IN) :: OCANOPY ! is canopy active ? 00474 CHARACTER(LEN=5) , INTENT(IN) :: HCH_BEM ! TEB option for building outside conv. coef 00475 REAL, DIMENSION(:) , INTENT(IN) :: PROUGH_ROOF ! roof roughness coef. 00476 REAL, DIMENSION(:) , INTENT(IN) :: PROUGH_WALL ! wall roughness coef. 00477 REAL, DIMENSION(:) , INTENT(IN) :: PF_WIN_WIN ! indoor win to win view factor 00478 00479 !* 0.2 Declarations of local variables 00480 ! 00481 REAL, DIMENSION(SIZE(PTA)) :: ZTA ! air temperature extrapolated at roof level 00482 REAL, DIMENSION(SIZE(PTA)) :: ZQA ! air humidity extrapolated at roof level 00483 ! 00484 REAL, DIMENSION(SIZE(PTA)) :: ZDN_ROOF ! snow fraction on roofs 00485 REAL, DIMENSION(SIZE(PTA)) :: ZDN_ROAD ! snow fraction on roads 00486 REAL, DIMENSION(SIZE(PTA)) :: ZDF_ROOF ! free-snow fraction on roofs 00487 REAL, DIMENSION(SIZE(PTA)) :: ZDF_ROAD ! free-snow fraction on roads 00488 REAL, DIMENSION(SIZE(PTA)) :: ZDELT_ROAD ! fraction of water on roads 00489 REAL, DIMENSION(SIZE(PTA)) :: ZDELT_ROOF ! fraction of water on roofs 00490 REAL, DIMENSION(SIZE(PTA)) :: ZAC_ROOF ! roof conductance 00491 REAL, DIMENSION(SIZE(PTA)) :: ZAC_ROOF_WAT ! roof water conductance 00492 REAL, DIMENSION(SIZE(PTA)) :: ZAC_WALL ! wall conductance 00493 REAL, DIMENSION(SIZE(PTA)) :: ZAC_TOP ! top conductance 00494 REAL, DIMENSION(SIZE(PTA)) :: ZQSAT_ROAD ! hum of saturation for roads 00495 REAL, DIMENSION(SIZE(PTA)) :: ZQSAT_GARDEN ! hum of saturation for green areas 00496 REAL, DIMENSION(SIZE(PTA)) :: ZQSAT_ROOF ! hum of saturation for roofs 00497 REAL, DIMENSION(SIZE(PTA)) :: ZQSAT_GREENROOF! hum of saturation for green roofs 00498 ! 00499 ! coefficients for LW computations over snow (from previous time-step) 00500 ! 00501 REAL, DIMENSION(SIZE(PTA)) :: ZTSSNOW_ROOF ! roof snow temp at previous time-step 00502 REAL, DIMENSION(SIZE(PTA)) :: ZTSSNOW_ROAD ! road snow temp at previous time-step 00503 REAL, DIMENSION(SIZE(PTA)) :: ZESNOW_ROOF ! snow emissivity at previous time-step 00504 REAL, DIMENSION(SIZE(PTA)) :: ZESNOW_ROAD ! snow emissivity at previous time-step 00505 ! 00506 ! incoming shortwave radiation 00507 ! 00508 REAL, DIMENSION(SIZE(PTA)) :: ZDIR_SW ! direct solar rad 00509 REAL, DIMENSION(SIZE(PTA)) :: ZSCA_SW ! diffuse solar rad 00510 INTEGER :: JSWB 00511 ! 00512 ! albedo & emissivity 00513 ! 00514 REAL, DIMENSION(SIZE(PTA)) :: ZALB_GARDEN ! albedo for green areas 00515 REAL, DIMENSION(SIZE(PTA)) :: ZEMIS_GARDEN ! emissivity for green areas 00516 REAL, DIMENSION(SIZE(PTA)) :: ZALB_GREENROOF ! albedo for green roofs 00517 REAL, DIMENSION(SIZE(PTA)) :: ZEMIS_GREENROOF! emissivity for green roofs 00518 ! 00519 ! radiation received by surfaces 00520 ! 00521 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_ROAD ! solar rad received by roads 00522 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_WALL_A ! solar rad received by walls 00523 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_WALL_B ! solar rad received by walls 00524 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_GARDEN ! solar rad received by gardens 00525 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_SNOW_ROAD ! solar rad received by snow on roads 00526 ! 00527 REAL, DIMENSION(SIZE(PTA)) :: ZREC_LW_GARDEN ! IR rad received by gardens 00528 ! 00529 REAL, DIMENSION(SIZE(PTA)) :: ZSW_RAD_GARDEN ! solar radiation reaching urban green areas 00530 ! 00531 ! coefficients for LW contributions 00532 ! 00533 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WA_TO_WB ! LW contrib. wall -> opposite wall 00534 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WA_TO_R ! LW contrib. wall -> road 00535 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WB_TO_R ! LW contrib. wall -> road 00536 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WA_TO_G ! LW contrib. wall -> green 00537 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WB_TO_G ! LW contrib. wall -> green 00538 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WA_TO_WIN ! Radiative heat trasfer coeff wall-window 00539 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WB_TO_WIN ! Radiative heat trasfer coeff wall-window 00540 ! [W K-1 m-2] 00541 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WA_TO_NR ! LW contrib. wall -> road(snow) 00542 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WB_TO_NR ! LW contrib. wall -> road(snow) 00543 REAL, DIMENSION(SIZE(PTA)) :: ZLW_R_TO_WA ! LW contrib. road -> wall 00544 REAL, DIMENSION(SIZE(PTA)) :: ZLW_R_TO_WB ! LW contrib. road -> wall 00545 REAL, DIMENSION(SIZE(PTA)) :: ZLW_R_TO_WIN ! Radiative heat trasfer coeff road-window 00546 ! [W K-1 m-2] 00547 REAL, DIMENSION(SIZE(PTA)) :: ZLW_G_TO_WA ! LW contrib. green -> wall 00548 REAL, DIMENSION(SIZE(PTA)) :: ZLW_G_TO_WB ! LW contrib. green -> wall 00549 REAL, DIMENSION(SIZE(PTA)) :: ZLW_G_TO_WIN ! L.W. interactions GARDEN areas->road 00550 ! 00551 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WIN_TO_WA ! Radiative heat trasfer coeff window-wall 00552 ! [W K-1 m-2] 00553 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WIN_TO_WB ! Radiative heat trasfer coeff window-wall 00554 ! [W K-1 m-2] 00555 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WIN_TO_R ! Radiative heat trasfer coeff window-road 00556 ! [W K-1 m-2] 00557 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WIN_TO_G ! Radiative heat trasfer coeff window-garden 00558 ! [W K-1 m-2] 00559 REAL, DIMENSION(SIZE(PTA)) :: ZLW_WIN_TO_NR ! Radiative heat trasfer coeff window-road(snow) 00560 ! [W K-1 m-2] 00561 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_WA ! LW contrib. sky -> wall 00562 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_WB ! LW contrib. sky -> wall 00563 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_R ! LW contrib. sky -> road 00564 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_G ! LW contrib. sky -> green 00565 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_WIN ! Radiative heat trasfer coeff window-sky 00566 ! [W K-1 m-2] 00567 REAL, DIMENSION(SIZE(PTA)) :: ZLW_S_TO_NR ! LW contrib. sky -> road(snow) 00568 REAL, DIMENSION(SIZE(PTA)) :: ZLW_NR_TO_WA ! LW contrib. road(snow) -> wall 00569 REAL, DIMENSION(SIZE(PTA)) :: ZLW_NR_TO_WB ! LW contrib. road(snow) -> wall 00570 REAL, DIMENSION(SIZE(PTA)) :: ZLW_NR_TO_WIN ! L.W. interactions snow(road)->GARDEN areas 00571 ! 00572 REAL, DIMENSION(SIZE(PTA)) :: ZREC_SW_WIN ! solar received by windows [W m-2(win)] 00573 REAL, DIMENSION(SIZE(PTA)) :: ZT_SKY ! sky temperature [K] 00574 ! 00575 ! local variable at previous time-step 00576 ! 00577 REAL, DIMENSION(SIZE(PTA)) :: ZPET_A_COEF 00578 REAL, DIMENSION(SIZE(PTA)) :: ZPET_B_COEF 00579 REAL, DIMENSION(SIZE(PTA)) :: ZPEQ_A_COEF 00580 REAL, DIMENSION(SIZE(PTA)) :: ZPEQ_B_COEF 00581 ! 00582 REAL, DIMENSION(SIZE(PTA)) :: ZUW_ROAD ! momentum flux for roads 00583 REAL, DIMENSION(SIZE(PTA)) :: ZUW_GARDEN ! momentum flux for green areas 00584 REAL, DIMENSION(SIZE(PTA)) :: ZUW_GREENROOF ! momentum flux for green roofs 00585 REAL, DIMENSION(SIZE(PTA)) :: ZDUWDU_ROAD ! 00586 ! 00587 REAL, DIMENSION(SIZE(PTA)) :: ZAC_AGG_GARDEN ! aggreg. aeodynamic resistance for green areas 00588 REAL, DIMENSION(SIZE(PTA)) :: ZHU_AGG_GARDEN ! aggreg. relative humidity for green areas 00589 REAL, DIMENSION(SIZE(PTA)) :: ZAC_AGG_GREENROOF ! aggreg. aeodynamic resistance for green roofs 00590 REAL, DIMENSION(SIZE(PTA)) :: ZHU_AGG_GREENROOF ! aggreg. relative humidity for green roofs 00591 ! 00592 ! surfaces relative fractions 00593 ! 00594 REAL, DIMENSION(SIZE(PTA)) :: ZROOF_FRAC ! roof, wall and 00595 REAL, DIMENSION(SIZE(PTA)) :: ZWALL_FRAC ! road fractions 00596 REAL, DIMENSION(SIZE(PTA)) :: ZROAD_FRAC ! of exchange surf. 00597 REAL, DIMENSION(SIZE(PTA)) :: ZGARDEN_FRAC ! 00598 REAL, DIMENSION(SIZE(PTA)) :: ZTOTS_O_HORS ! total canyon+roof surface 00599 ! ! over horizontal surface 00600 REAL, DIMENSION(SIZE(PTA)) :: ZWALL_O_ROAD ! wall surface over road surface 00601 REAL, DIMENSION(SIZE(PTA)) :: ZWALL_O_GRND ! wall surface over (road+green area) surface 00602 ! 00603 ! surface temperatures 00604 ! 00605 REAL, DIMENSION(SIZE(PTA)) :: ZTS_GARDEN ! surface temperature of urban green areas at t 00606 REAL, DIMENSION(SIZE(PTA)) :: ZTS_GREENROOF ! surface temperature of urban greenroofs at t 00607 REAL, DIMENSION(SIZE(PTA)) :: ZMTC_O_GR_R1 ! mean thermal conductivity over distance 00608 ! ! between two layers (bottom GR & roof) 00609 ! 00610 ! fluxes from green surfaces 00611 ! 00612 REAL, DIMENSION(SIZE(PTA)) :: ZEVAP_GARDEN ! evaporation (kg/m2/s) 00613 REAL, DIMENSION(SIZE(PTA)) :: ZSFCO2_GARDEN ! CO2 fluxes (kg/m2/s) 00614 REAL, DIMENSION(SIZE(PTA)) :: ZEMIT_LW_GARDEN ! LW flux emitted by the garden (W/m² garden) 00615 REAL, DIMENSION(SIZE(PTA)) :: ZEVAP_GREENROOF ! evaporation over greenroofs (kg/m2/s) 00616 REAL, DIMENSION(SIZE(PTA)) :: ZSFCO2_GREENROOF ! CO2 fluxes over greenroofs (kg/m2/s) 00617 ! 00618 ! fluxes from built surfaces 00619 REAL, DIMENSION(SIZE(PTA)) :: ZEMIT_LW_ROAD ! LW flux emitted by the road (W/m² road) 00620 ! 00621 !new local variables for shading 00622 REAL, DIMENSION(SIZE(PTA)) :: ZE_SHADING ! energy not ref., nor absorbed, nor 00623 ! trans. by glazing [Wm-2(win)] 00624 LOGICAL, DIMENSION(SIZE(PTA)) :: GSHADE ! describes if one encounters the 00625 ! ! conditions to close windows 00626 ! 00627 INTEGER :: JJ 00628 00629 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00630 !------------------------------------------------------------------------------- 00631 ! 00632 !* 1. Initializations 00633 ! --------------- 00634 ! 00635 !* 1.0 broadband radiative fluxes 00636 ! -------------------------- 00637 ! 00638 IF (LHOOK) CALL DR_HOOK('TEB_GARDEN',0,ZHOOK_HANDLE) 00639 ZDIR_SW(:) = 0. 00640 ZSCA_SW(:) = 0. 00641 ! 00642 DO JSWB=1,KSW 00643 DO JJ=1,SIZE(PDIR_SW,1) 00644 ZDIR_SW(JJ) = ZDIR_SW(JJ) + PDIR_SW(JJ,JSWB) 00645 ZSCA_SW(JJ) = ZSCA_SW(JJ) + PSCA_SW(JJ,JSWB) 00646 ENDDO 00647 END DO 00648 ! 00649 ! 00650 !* 1.1 surfaces relative fractions 00651 ! --------------------------- 00652 ! 00653 DO JJ=1,SIZE(PROAD) 00654 IF (PROAD(JJ) .GT. 0.) THEN 00655 ZTOTS_O_HORS(JJ) = 1. + PWALL_O_HOR(JJ) 00656 ZROOF_FRAC(JJ) = PBLD(JJ) / ZTOTS_O_HORS(JJ) 00657 ZWALL_FRAC(JJ) = PWALL_O_HOR(JJ) / ZTOTS_O_HORS(JJ) 00658 ZROAD_FRAC(JJ) = PROAD(JJ) / ZTOTS_O_HORS(JJ) 00659 ZGARDEN_FRAC(JJ) = PGARDEN(JJ) / ZTOTS_O_HORS(JJ) 00660 ZWALL_O_ROAD(JJ) = ZWALL_FRAC(JJ) / ZROAD_FRAC(JJ) 00661 ZWALL_O_GRND(JJ) = ZWALL_FRAC(JJ) / (ZROAD_FRAC(JJ)+ZGARDEN_FRAC(JJ)) 00662 ELSEIF (PBLD(JJ) .EQ. 0. .AND. PROAD(JJ) .EQ. 0.) THEN 00663 ZTOTS_O_HORS(JJ) = 1. + PWALL_O_HOR(JJ) 00664 ZROOF_FRAC(JJ) = 0. 00665 ZWALL_FRAC(JJ) = PWALL_O_HOR(JJ) / ZTOTS_O_HORS(JJ) 00666 ZROAD_FRAC(JJ) = 0. 00667 ZGARDEN_FRAC(JJ) = PGARDEN(JJ) / ZTOTS_O_HORS(JJ) 00668 ZWALL_O_ROAD(JJ) = 0. 00669 ZWALL_O_GRND(JJ) = ZWALL_FRAC(JJ) / ZGARDEN_FRAC(JJ) 00670 ENDIF 00671 ENDDO 00672 ! 00673 !------------------------------------------------------------------------------- 00674 ! 00675 !* 2. Snow-covered surfaces relative effects 00676 ! -------------------------------------- 00677 ! 00678 !* 2.1 Snow-covered surfaces relative fractions (at previous time-step) 00679 ! ---------------------------------------- 00680 CALL SNOW_FRAC_ROAD(PWSNOW_ROAD(:,1),PSR(:)>0.,ZDN_ROAD,ZDF_ROAD) 00681 CALL SNOW_FRAC_ROOF(PWSNOW_ROOF(:,1),PSR(:)>0.,ZDN_ROOF,ZDF_ROOF) 00682 ! 00683 !* new snow albedo 00684 ! 00685 WHERE (PWSNOW_ROAD(:,1)==0. .AND. PSR(:)>0.) PASNOW_ROAD(:) = XANSMAX 00686 WHERE (PWSNOW_ROOF(:,1)==0. .AND. PSR(:)>0.) PASNOW_ROOF(:) = XANSMAX 00687 ! 00688 !* 2.2 If snow was not present at previous time-step but is falling 00689 ! ------------------------------------------------------------ 00690 ! 00691 WHERE (PWSNOW_ROAD(:,1)==0. .AND. PSR(:)>0.) 00692 PASNOW_ROAD(:) = XANSMAX 00693 PESNOW_ROAD(:) = XEMISSN 00694 PTSSNOW_ROAD(:)= MIN(PT_ROAD(:,1), XTT) 00695 END WHERE 00696 WHERE (PWSNOW_ROOF(:,1)==0. .AND. PSR(:)>0.) 00697 PASNOW_ROOF(:) = XANSMAX 00698 PESNOW_ROOF(:) = XEMISSN 00699 PTSSNOW_ROOF(:)= MIN(PT_ROOF(:,1), XTT) 00700 END WHERE 00701 ! 00702 !* 2.3 Radiative snow variables at previous time-step 00703 ! ---------------------------------------------- 00704 ! 00705 ZESNOW_ROOF (:) = PESNOW_ROOF (:) 00706 ZESNOW_ROAD (:) = PESNOW_ROAD (:) 00707 ZTSSNOW_ROOF (:) = PTSSNOW_ROOF (:) 00708 ZTSSNOW_ROAD (:) = PTSSNOW_ROAD (:) 00709 ! 00710 !------------------------------------------------------------------------------- 00711 ! 00712 !* 3. Extrapolation of atmospheric T and q at roof level (for fluxes computation) 00713 ! -------------------------------------------------- 00714 ! 00715 ZTA(:) = PTA(:) * PEXNS(:) / PEXNA(:) 00716 ZQA(:) = PQA(:) * QSAT(PTA(:),PPS(:)) / QSAT(ZTA(:),PPA(:)) 00717 ! 00718 !------------------------------------------------------------------------------- 00719 ! 00720 !* 4. Grid-averaged albedo and emissivity of green areas 00721 ! -------------------------------------------------- 00722 ! 00723 ZALB_GARDEN = XUNDEF 00724 ZEMIS_GARDEN = XUNDEF 00725 ZTS_GARDEN = XUNDEF 00726 ! 00727 IF (LGARDEN) THEN 00728 CALL GARDEN_PROPERTIES(PDIR_SW, PSCA_SW, PSW_BANDS, KSW, & 00729 ZTS_GARDEN, ZEMIS_GARDEN, ZALB_GARDEN ) 00730 ENDIF 00731 ! 00732 ! for greenroofs : 00733 ! 00734 ZALB_GREENROOF = XUNDEF 00735 ZEMIS_GREENROOF = XUNDEF 00736 ZTS_GREENROOF = XUNDEF 00737 ! 00738 IF (LGREENROOF) THEN 00739 CALL GREENROOF_PROPERTIES(PDIR_SW, PSCA_SW, PSW_BANDS, KSW, & 00740 ZTS_GREENROOF, ZEMIS_GREENROOF, ZALB_GREENROOF ) 00741 ENDIF 00742 ! 00743 !------------------------------------------------------------------------------- 00744 ! 00745 !* 5. Solar radiation 00746 ! --------------- 00747 ! 00748 !* checks if one encouters the conditions for closing the windows at day 00749 ! (needs to be equiped of solar protections and not to be confortable inside) 00750 ! 00751 GSHADE(:) = .FALSE. 00752 IF (HBEM=="BEM") & 00753 CALL WINDOW_SHADING_AVAILABILITY(OSHADE, PTI_BLD, PTCOOL_TARGET,GSHADE) 00754 ! 00755 !* computes solar radiation exchanges 00756 ! 00757 CALL URBAN_SOLAR_ABS(HBEM, HROAD_DIR, HWALL_OPT, & 00758 ZDIR_SW, ZSCA_SW, PZENITH, PAZIM, & 00759 PBLD, PGARDEN, PROAD_DIR, PROAD, PFRAC_GR, & 00760 PWALL_O_HOR, PCAN_HW_RATIO, & 00761 PALB_ROOF, & 00762 PALB_ROAD, PSVF_ROAD, PALB_WALL, PSVF_WALL, & 00763 ZALB_GARDEN, PSVF_GARDEN, & 00764 ZALB_GREENROOF, & 00765 PASNOW_ROOF, PASNOW_ROAD, & 00766 ZDN_ROOF, ZDF_ROOF, ZDN_ROAD, ZDF_ROAD, & 00767 PGR, PABS_WIN, PSHGC, PSHGC_SH, PALB_WIN, & 00768 PABS_SW_ROOF, PABS_SW_ROAD, & 00769 PABS_SW_WALL_A, PABS_SW_WALL_B, & 00770 PABS_SW_GARDEN, PABS_SW_GREENROOF, & 00771 PABS_SW_SNOW_ROOF, PABS_SW_SNOW_ROAD, & 00772 ZREC_SW_ROAD, ZREC_SW_SNOW_ROAD, & 00773 ZREC_SW_WALL_A, ZREC_SW_WALL_B, & 00774 ZREC_SW_GARDEN, & 00775 PDIR_ALB_TOWN,PSCA_ALB_TOWN, & 00776 ZSW_RAD_GARDEN, PABS_SW_WIN, ZREC_SW_WIN, & 00777 PTRAN_WIN, & 00778 PREF_SW_GRND, PREF_SW_FAC, & 00779 PTR_SW_WIN, ZE_SHADING, OSHAD_DAY, & 00780 GSHADE ) 00781 ! 00782 !------------------------------------------------------------------------------- 00783 ! 00784 !* 6. LW properties 00785 ! ------------- 00786 ! 00787 CALL URBAN_LW_COEF(PGR, PBLD, PLW_RAD, & 00788 PEMIS_ROAD, PSVF_ROAD, PEMIS_WALL, PSVF_WALL, & 00789 ZEMIS_GARDEN, PROAD, PGARDEN, & 00790 PESNOW_ROAD, & 00791 PTSSNOW_ROAD, PT_WALL_A(:,1), PT_WALL_B(:,1), & 00792 PT_ROAD(:,1), ZTS_GARDEN, PT_WIN1, & 00793 ZLW_WA_TO_WB, ZLW_WA_TO_R, ZLW_WB_TO_R, & 00794 ZLW_WA_TO_NR, ZLW_WB_TO_NR,ZLW_WA_TO_G,ZLW_WB_TO_G,& 00795 ZLW_WA_TO_WIN, ZLW_WB_TO_WIN, & 00796 ZLW_R_TO_WA, ZLW_R_TO_WB, ZLW_R_TO_WIN, & 00797 ZLW_G_TO_WA, ZLW_G_TO_WB, ZLW_G_TO_WIN, & 00798 ZLW_S_TO_WA, ZLW_S_TO_WB, ZLW_S_TO_R, & 00799 ZLW_S_TO_NR, ZLW_S_TO_G,ZLW_S_TO_WIN, & 00800 ZLW_WIN_TO_WA, ZLW_WIN_TO_WB, & 00801 ZLW_WIN_TO_R, ZLW_WIN_TO_NR, ZLW_WIN_TO_G, & 00802 ZLW_NR_TO_WA, ZLW_NR_TO_WB, ZLW_NR_TO_WIN ) 00803 ! 00804 !------------------------------------------------------------------------------- 00805 ! 00806 ! The subroutine is splitted in 2 because of compilation optimization issues 00807 CALL TEB_GARDEN2 00808 CALL TEB_GARDEN3 00809 ! 00810 IF (LHOOK) CALL DR_HOOK('TEB_GARDEN',1,ZHOOK_HANDLE) 00811 !------------------------------------------------------------------------------- 00812 CONTAINS 00813 !------------------------------------------------------------------------------- 00814 SUBROUTINE TEB_GARDEN2 00815 ! 00816 !* 7. Terms of radiation absorption 00817 ! ----------------------------- 00818 ! 00819 !* 7.1 IR rad received by gardens (snow free and snow covered separately) 00820 ! -------------------------- 00821 ! 00822 IF (LGARDEN) THEN 00823 ZT_SKY (:) = (PLW_RAD(:)/XSTEFAN)**0.25 00824 ZREC_LW_GARDEN(:) = (ZLW_S_TO_G (:) * (ZT_SKY(:) - ZTS_GARDEN(:)) & 00825 + ZLW_WA_TO_G (:) * (PT_WALL_A(:,1)- ZTS_GARDEN(:)) & 00826 + ZLW_WB_TO_G (:) * (PT_WALL_B(:,1)- ZTS_GARDEN(:)) & 00827 + ZLW_WIN_TO_G(:) * (PT_WIN1(:) - ZTS_GARDEN(:)) ) & 00828 / ZEMIS_GARDEN(:) + XSTEFAN * ZTS_GARDEN(:)**4 00829 ELSE 00830 ZREC_LW_GARDEN (:) = XUNDEF 00831 END IF 00832 ! 00833 !------------------------------------------------------------------------------- 00834 ! 00835 !* 8. Treatment of green areas 00836 ! ------------------------ 00837 ! 00838 !* 8.1 Implicit coeefs for T and Q 00839 ! --------------------------- 00840 ! 00841 !* explicit coupling for the time being. 00842 ! canopy may need implicitation if there is a lot a garden in the grid mesh 00843 ! 00844 ZPET_A_COEF(:) = 0. 00845 ZPET_B_COEF(:) = PT_LOWCAN(:) / PEXNS(:) 00846 ZPEQ_A_COEF(:) = 0. 00847 ZPEQ_B_COEF(:) = PQ_LOWCAN(:) 00848 ! 00849 !* 8.2 Call ISBA for green areas 00850 ! ------------------------- 00851 ! 00852 IF (LGARDEN) THEN 00853 ! 00854 CALL GARDEN(HIMPLICIT_WIND, TPTIME, PTSUN, PPEW_A_COEF_LOWCAN, PPEW_B_COEF_LOWCAN, & 00855 ZPET_A_COEF, ZPEQ_A_COEF, ZPET_B_COEF, ZPEQ_B_COEF, & 00856 PTSTEP, PZ_LOWCAN, & 00857 PT_LOWCAN, PQ_LOWCAN, PEXNS, PRHOA, PCO2, PPS, PRR, PSR, PZENITH, & 00858 ZREC_SW_GARDEN, ZREC_LW_GARDEN, PU_LOWCAN, & 00859 PRN_GARDEN,PH_GARDEN,PLE_GARDEN,PGFLUX_GARDEN, ZSFCO2_GARDEN, & 00860 ZEVAP_GARDEN, ZUW_GARDEN, & 00861 PAC_GARDEN,ZQSAT_GARDEN,ZTS_GARDEN, & 00862 ZAC_AGG_GARDEN, ZHU_AGG_GARDEN ) 00863 00864 PAC_GARDEN_WAT(:) = PAC_GARDEN(:) 00865 PABS_SW_GARDEN(:) = (1.-ZALB_GARDEN(:)) * ZREC_SW_GARDEN 00866 PABS_LW_GARDEN(:) = ZEMIS_GARDEN(:) * ZREC_LW_GARDEN(:) - & 00867 XSTEFAN * ZEMIS_GARDEN(:) * ZTS_GARDEN(:)**4 00868 ZEMIT_LW_GARDEN(:) = XSTEFAN * ZTS_GARDEN(:)**4 + & 00869 (1 - ZEMIS_GARDEN(:)) / ZEMIS_GARDEN(:) * PABS_LW_GARDEN(:) 00870 00871 ELSE 00872 ! 00873 PRN_GARDEN (:) = 0. 00874 PH_GARDEN (:) = 0. 00875 PLE_GARDEN (:) = 0. 00876 PGFLUX_GARDEN (:) = 0. 00877 ZUW_GARDEN (:) = 0. 00878 PAC_GARDEN (:) = 0. 00879 PGFLUX_GARDEN (:) = 0. 00880 ZEVAP_GARDEN (:) = 0. 00881 ZSFCO2_GARDEN (:) = 0. 00882 ZQSAT_GARDEN (:) = XUNDEF 00883 ZTS_GARDEN (:) = XUNDEF 00884 ZAC_AGG_GARDEN(:) = XUNDEF 00885 ZHU_AGG_GARDEN(:) = XUNDEF 00886 PAC_GARDEN_WAT(:) = XUNDEF 00887 PABS_SW_GARDEN(:) = XUNDEF 00888 PABS_LW_GARDEN(:) = XUNDEF 00889 ! 00890 ENDIF 00891 ! 00892 !* 8.3 Call ISBA for greenroofs 00893 ! ------------------------- 00894 ! 00895 IF (LGREENROOF) THEN 00896 ! 00897 CALL GREENROOF(HIMPLICIT_WIND, TPTIME, PTSUN, PPEW_A_COEF, PPEW_B_COEF, & 00898 ZPET_A_COEF, ZPEQ_A_COEF, ZPET_B_COEF, ZPEQ_B_COEF, & 00899 PTSTEP, PZREF, PUREF, & 00900 PTA, PQA, PEXNS, PEXNA,PRHOA, PCO2, PPS, PRR, PSR, PZENITH, & 00901 ZDIR_SW+ZSCA_SW, PLW_RAD, PVMOD, & 00902 PRN_GREENROOF,PH_GREENROOF,PLE_GREENROOF,PGFLUX_GREENROOF, & 00903 ZSFCO2_GREENROOF,ZEVAP_GREENROOF, ZUW_GREENROOF, & 00904 PAC_GREENROOF,ZQSAT_GREENROOF,ZTS_GREENROOF, & 00905 ZAC_AGG_GREENROOF, ZHU_AGG_GREENROOF,PG_GREENROOF_ROOF, & 00906 PRUNOFF_GREENROOF, PDRAIN_GREENROOF ) 00907 ! 00908 PAC_GREENROOF_WAT(:) = PAC_GREENROOF(:) 00909 PABS_SW_GREENROOF(:) = (1.-ZALB_GREENROOF(:)) * (ZDIR_SW+ZSCA_SW) 00910 PABS_LW_GREENROOF(:) = ZEMIS_GREENROOF * PLW_RAD - XSTEFAN * ZEMIS_GREENROOF * ZTS_GREENROOF**4 00911 00912 ELSE 00913 ! 00914 PRN_GREENROOF (:) = 0. 00915 PH_GREENROOF (:) = 0. 00916 PLE_GREENROOF (:) = 0. 00917 PGFLUX_GREENROOF (:) = 0. 00918 ZUW_GREENROOF (:) = 0. 00919 PAC_GREENROOF (:) = 0. 00920 ZEVAP_GREENROOF (:) = 0. 00921 ZSFCO2_GREENROOF (:) = 0. 00922 PRUNOFF_GREENROOF(:) = 0. 00923 PDRAIN_GREENROOF (:) = 0. 00924 ZQSAT_GREENROOF (:) = XUNDEF 00925 ZTS_GREENROOF (:) = XUNDEF 00926 ZAC_AGG_GREENROOF(:) = XUNDEF 00927 ZHU_AGG_GREENROOF(:) = XUNDEF 00928 PABS_SW_GREENROOF(:) = XUNDEF 00929 PABS_LW_GREENROOF(:) = XUNDEF 00930 ZMTC_O_GR_R1 (:) = XUNDEF 00931 PG_GREENROOF_ROOF(:) = XUNDEF 00932 ! 00933 ENDIF 00934 00935 END SUBROUTINE TEB_GARDEN2 00936 !------------------------------------------------------------------------------- 00937 SUBROUTINE TEB_GARDEN3 00938 ! 00939 !* 9. Treatment of built covers 00940 ! ------------------------- 00941 ! 00942 CALL TEB (HZ0H, HIMPLICIT_WIND, HWALL_OPT, HBEM, & 00943 PT_CANYON, PQ_CANYON, PU_CANYON, & 00944 PT_LOWCAN, PQ_LOWCAN, PU_LOWCAN, PZ_LOWCAN, & 00945 PTI_BLD, & 00946 PT_ROOF, PT_ROAD, PT_WALL_A, PT_WALL_B, & 00947 PWS_ROOF, PWS_ROAD, & 00948 HSNOW_ROOF, & 00949 PWSNOW_ROOF, PTSNOW_ROOF, PRSNOW_ROOF, PASNOW_ROOF, & 00950 PTSSNOW_ROOF, PESNOW_ROOF, & 00951 HSNOW_ROAD, & 00952 PWSNOW_ROAD, PTSNOW_ROAD, PRSNOW_ROAD, PASNOW_ROAD, & 00953 PTSSNOW_ROAD, PESNOW_ROAD, & 00954 PPEW_A_COEF, PPEW_B_COEF, & 00955 PPEW_A_COEF_LOWCAN, PPEW_B_COEF_LOWCAN, & 00956 PPS, PPA, PEXNS, PEXNA, & 00957 PTA, PQA, PRHOA, & 00958 PLW_RAD, & 00959 PRR, PSR, & 00960 PZREF, PUREF, PVMOD, & 00961 PH_TRAFFIC, PLE_TRAFFIC, PH_INDUSTRY, PLE_INDUSTRY, & 00962 PTSTEP, & 00963 PZ0_TOWN, & 00964 PBLD, PGARDEN, PROAD, PFRAC_GR, & 00965 PBLD_HEIGHT, PWALL_O_HOR, PCAN_HW_RATIO, PWALL_O_GRND, & 00966 ZDF_ROOF, ZDN_ROOF, ZDF_ROAD, ZDN_ROAD, & 00967 ZQSAT_ROOF, ZQSAT_ROAD, ZDELT_ROOF, ZDELT_ROAD, & 00968 PEMIS_ROOF, & 00969 PHC_ROOF,PTC_ROOF,PD_ROOF, & 00970 PEMIS_ROAD, & 00971 PHC_ROAD,PTC_ROAD,PD_ROAD, & 00972 PEMIS_WALL, & 00973 ZTS_GARDEN, & 00974 PHC_WALL,PTC_WALL,PD_WALL, & 00975 PRN_ROOF, PH_ROOF, PLE_ROOF, PLEW_ROOF, PGFLUX_ROOF, & 00976 PRUNOFF_ROOF, & 00977 PRN_GREENROOF, PH_GREENROOF, PLE_GREENROOF, & 00978 PGFLUX_GREENROOF, ZUW_GREENROOF, & 00979 PRN_STRLROOF, PH_STRLROOF, PLE_STRLROOF, PGFLUX_STRLROOF,& 00980 PRN_ROAD, PH_ROAD, PLE_ROAD, PLEW_ROAD, PGFLUX_ROAD, & 00981 PRUNOFF_ROAD, & 00982 PRN_WALL_A, PH_WALL_A, PLE_WALL_A, PGFLUX_WALL_A, & 00983 PRN_WALL_B, PH_WALL_B, PLE_WALL_B, PGFLUX_WALL_B, & 00984 PRN_BLT,PH_BLT,PLE_BLT,PGFLUX_BLT, & 00985 PRNSNOW_ROOF, PHSNOW_ROOF, PLESNOW_ROOF, PGSNOW_ROOF, & 00986 PMELT_ROOF, & 00987 PRNSNOW_ROAD, PHSNOW_ROAD, PLESNOW_ROAD, PGSNOW_ROAD, & 00988 PMELT_ROAD, & 00989 PG_GREENROOF_ROOF, & 00990 PRUNOFF_TOWN, & 00991 ZUW_ROAD, PUW_ROOF, ZDUWDU_ROAD, PDUWDU_ROOF, & 00992 PUSTAR_TOWN, PCD, PCDN, PCH_TOWN, PRI_TOWN, & 00993 PRESA_TOWN, PDQS_TOWN, PQF_TOWN, PQF_BLD, PFLX_BLD, & 00994 ZAC_ROOF, PAC_ROAD, ZAC_WALL, ZAC_TOP, PAC_GARDEN, & 00995 ZAC_ROOF_WAT, PAC_ROAD_WAT, & 00996 PABS_SW_ROOF, PABS_LW_ROOF, & 00997 PABS_SW_SNOW_ROOF, PABS_LW_SNOW_ROOF, & 00998 PABS_SW_ROAD, PABS_LW_ROAD, & 00999 PABS_SW_SNOW_ROAD, PABS_LW_SNOW_ROAD, & 01000 PABS_SW_WALL_A, PABS_LW_WALL_A, & 01001 PABS_SW_WALL_B, PABS_LW_WALL_B, & 01002 ZLW_WA_TO_WB, & 01003 ZLW_WA_TO_R, ZLW_WB_TO_R, & 01004 ZLW_WA_TO_NR, ZLW_WB_TO_NR, & 01005 ZLW_R_TO_WA, ZLW_R_TO_WB, & 01006 ZLW_G_TO_WA, ZLW_G_TO_WB, & 01007 ZLW_S_TO_WA, ZLW_S_TO_WB, ZLW_S_TO_R, & 01008 ZLW_S_TO_NR, ZLW_NR_TO_WA, ZLW_NR_TO_WB, & 01009 ZLW_NR_TO_WIN, ZLW_WA_TO_WIN, ZLW_WB_TO_WIN, & 01010 ZLW_G_TO_WIN, & 01011 ZLW_R_TO_WIN, ZLW_S_TO_WIN, ZLW_WIN_TO_WA, ZLW_WIN_TO_WB,& 01012 ZLW_WIN_TO_R, ZLW_WIN_TO_NR, & 01013 HNATVENT, & 01014 HCOOL_COIL, PF_WATER_COND, HHEAT_COIL, & 01015 .FALSE., KDAY, PAUX_MAX, PT_FLOOR, & 01016 PT_MASS, PH_BLD_COOL, PT_BLD_COOL, & 01017 PH_BLD_HEAT, PLE_BLD_COOL, PLE_BLD_HEAT, & 01018 PH_WASTE, PLE_WASTE, PF_WASTE_CAN, PHVAC_COOL, & 01019 PHVAC_HEAT, PQIN, PQIN_FRAD, PQIN_FLAT, & 01020 PGR, PEFF_HEAT, PINF, PTCOOL_TARGET, & 01021 PTHEAT_TARGET, PHR_TARGET, PT_WIN2, PQI_BLD, & 01022 PV_VENT, PCAP_SYS_HEAT, PCAP_SYS_RAT, PT_ADP, & 01023 PM_SYS_RAT, PCOP_RAT, PCAP_SYS, PM_SYS, PCOP, & 01024 PQ_SYS, PT_SYS, PTR_SW_WIN, PFAN_POWER, PHC_FLOOR, & 01025 PTC_FLOOR, PD_FLOOR, PT_WIN1, PABS_SW_WIN, PABS_LW_WIN, & 01026 PUGG_WIN, PEMIT_LW_FAC, ZEMIT_LW_ROAD, PT_RAD_IND, & 01027 PHU_BLD, PTIME, ZE_SHADING, ONATVENT_NIGHT, & 01028 PN_FLOOR, PWALL_O_BLD, PGLAZ_O_BLD, & 01029 PMASS_O_BLD, PFLOOR_HW_RATIO, & 01030 PF_FLOOR_MASS, PF_FLOOR_WALL, PF_FLOOR_WIN, & 01031 PF_FLOOR_ROOF, PF_WALL_FLOOR, PF_WALL_MASS, PF_WALL_WIN, & 01032 PF_WIN_FLOOR, PF_WIN_MASS, PF_WIN_WALL, PF_MASS_FLOOR, & 01033 PF_MASS_WALL, PF_MASS_WIN, OCANOPY, & 01034 HCH_BEM, PROUGH_ROOF, PROUGH_WALL, PF_WIN_WIN ) 01035 ! 01036 !------------------------------------------------------------------------------- 01037 ! 01038 !* 10. Aggregation 01039 ! ----------- 01040 ! 01041 CALL AVG_URBAN_FLUXES(PTS_TOWN, PEMIS_TOWN, & 01042 PT_CANYON, PQ_CANYON, & 01043 PT_LOWCAN, PQ_LOWCAN, & 01044 PT_ROOF(:,1),PT_ROAD(:,1),PT_WALL_A(:,1), PT_WALL_B(:,1), & 01045 ZTS_GARDEN, & 01046 ZTA, ZQA, PRHOA, PPS, & 01047 PH_TRAFFIC, PLE_TRAFFIC, PH_INDUSTRY, PLE_INDUSTRY, & 01048 PBLD, PROAD, PGARDEN, PWALL_O_HOR, ZWALL_O_GRND, & 01049 PFRAC_GR, & 01050 PEMIS_ROOF, ZESNOW_ROOF, ZEMIS_GREENROOF, & 01051 PLW_RAD, & 01052 PABS_LW_ROOF, PABS_LW_WALL_A, PABS_LW_WALL_B, & 01053 PABS_LW_ROAD, PABS_LW_GARDEN, PABS_LW_GREENROOF, & 01054 PABS_LW_SNOW_ROOF, PABS_LW_SNOW_ROAD, & 01055 ZAC_ROOF, ZAC_ROOF_WAT, & 01056 ZAC_WALL, PAC_ROAD, PAC_ROAD_WAT, ZAC_TOP, & 01057 PAC_GARDEN, & 01058 ZQSAT_GARDEN, ZAC_AGG_GARDEN, ZHU_AGG_GARDEN, & 01059 ZQSAT_ROOF, ZQSAT_ROAD, & 01060 ZDELT_ROOF, ZDELT_ROAD, & 01061 ZROOF_FRAC, ZWALL_FRAC, ZROAD_FRAC, ZGARDEN_FRAC, & 01062 ZTOTS_O_HORS, & 01063 ZDF_ROOF, ZDN_ROOF, ZDF_ROAD, ZDN_ROAD, & 01064 PRN_ROOF, PH_ROOF, PLE_ROOF, PGFLUX_ROOF, & 01065 PRN_ROAD, PH_ROAD, PLE_ROAD, PGFLUX_ROAD, & 01066 PRN_GARDEN, PH_GARDEN, PLE_GARDEN, PGFLUX_GARDEN, & 01067 PRN_WALL_A, PH_WALL_A, PLE_WALL_A, PGFLUX_WALL_A, & 01068 PRN_WALL_B, PH_WALL_B, PLE_WALL_B, PGFLUX_WALL_B, & 01069 PLEW_ROOF, PLESNOW_ROOF, & 01070 PLEW_ROAD, PLESNOW_ROAD, PHSNOW_ROAD, & 01071 ZEVAP_GARDEN, ZEVAP_GREENROOF, & 01072 PRN_GRND, PH_GRND, PLE_GRND, PGFLUX_GRND, & 01073 PRN_TOWN, PH_TOWN, PLE_TOWN, PGFLUX_TOWN, PEVAP_TOWN, & 01074 PH_WASTE, PLE_WASTE, PF_WASTE_CAN, & 01075 PABS_LW_WIN, PT_WIN1, PGR, ZEMIT_LW_ROAD, ZEMIT_LW_GARDEN,& 01076 PEMIT_LW_GRND, HBEM, PSVF_ROAD, PSVF_GARDEN, PSVF_WALL, & 01077 PGARDEN_O_GRND, PROAD_O_GRND, & 01078 PEMIS_ROAD, PESNOW_ROAD, PEMIS_WALL, ZEMIS_GARDEN, OCANOPY) 01079 ! 01080 PSFCO2(:) = PGARDEN(:) * ZSFCO2_GARDEN(:) + PBLD(:) * PFRAC_GR(:) * ZSFCO2_GREENROOF(:) ! no CO2 flux from built and road yet. 01081 ! 01082 !------------------------------------------------------------------------------- 01083 ! 01084 !* 11. Momentum flux for ground built surfaces 01085 ! --------------------------------------- 01086 ! 01087 PUW_GRND (:) = (PROAD(:)*ZUW_ROAD(:) + PGARDEN(:)*ZUW_GARDEN(:)) / (PROAD(:)+PGARDEN(:)) 01088 ! 01089 PDUWDU_GRND (:) = 0. 01090 ! 01091 END SUBROUTINE TEB_GARDEN3 01092 ! 01093 !------------------------------------------------------------------------------- 01094 ! 01095 ! 01096 END SUBROUTINE TEB_GARDEN
 1.8.0
 1.8.0