SURFEX v7.3
General documentation of Surfex
|
00001 ! ########################################################################## 00002 SUBROUTINE UTCI_TEB(PT_CAN, PQ_CAN, PTI_BLD, PQI_BLD, PU10, PPS, & 00003 PREF_SW_GRND, PREF_SW_FAC, PSCA_SW, PDIR_SW, PZENITH,& 00004 PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD, PTRAD_IN, & 00005 PBLD, PBLD_HEIGHT, PWALL_O_HOR, & 00006 PUTCI_IN, PUTCI_OUTSUN, PUTCI_OUTSHADE, & 00007 PTRAD_SUN, PTRAD_SHADE ) 00008 ! ########################################################################## 00009 ! 00010 !!**** *UTCI_TEB* 00011 !! 00012 !! PURPOSE 00013 !! ------- 00014 ! 00015 ! Computes the Universal Thermal and Climate Index Equivalent temperature 00016 ! for 3 persons in the urban environment 00017 ! 00018 ! 00019 !!** METHOD 00020 ! ------ 00021 ! 00022 !! EXTERNAL 00023 !! -------- 00024 !! 00025 !! IMPLICIT ARGUMENTS 00026 !! ------------------ 00027 !! à compléter 00028 !! MODD_CST 00029 !! 00030 !! REFERENCE 00031 !! --------- 00032 !! www.utci.org 00033 !! 00034 !! AUTHOR 00035 !! ------ 00036 !! 00037 !! G. Pigeon * Meteo-France * 00038 !! 00039 !! MODIFICATIONS 00040 !! ------------- 00041 !! Original 03/2011 00042 !------------------------------------------------------------------------------- 00043 ! 00044 !* 0. DECLARATIONS 00045 ! ------------ 00046 ! 00047 USE MODD_CSTS, ONLY : XTT 00048 USE MODI_UTCI_APPROX 00049 USE MODI_TRAD_BODY 00050 ! 00051 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00052 USE PARKIND1 ,ONLY : JPRB 00053 ! 00054 IMPLICIT NONE 00055 ! 00056 !* 0.1 declarations of arguments 00057 REAL, DIMENSION(:), INTENT(IN) :: PT_CAN !Air canyon temperature (K) 00058 REAL, DIMENSION(:), INTENT(IN) :: PQ_CAN !Canyon specific humidity (kg/kg) 00059 REAL, DIMENSION(:), INTENT(IN) :: PTI_BLD !Indoor air temperature (K) 00060 REAL, DIMENSION(:), INTENT(IN) :: PQI_BLD !Indoor specific humidity (kg/kg) 00061 REAL, DIMENSION(:), INTENT(IN) :: PU10 !Canyon wind speed at 10m (m/s) 00062 REAL, DIMENSION(:), INTENT(IN) :: PPS !Atmospheric Pressure (Pa) 00063 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_GRND !Solar radiation reflected by ground [road + garden] (W/m²) 00064 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_FAC !Solar radiation reflected by facade [wall + glazing] (W/m²) 00065 REAL, DIMENSION(:), INTENT(IN) :: PSCA_SW !Diffuse solar radiation (W/m²) 00066 REAL, DIMENSION(:), INTENT(IN) :: PDIR_SW !Direct solar radiation (W/m²) 00067 REAL, DIMENSION(:), INTENT(IN) :: PZENITH !solar zenithal angle (rad from vert.) 00068 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_FAC !Longwave radiation emitted by the facade [wall + glazing] (W/m²) 00069 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_GRND !Longwave radiation emitted by the ground [road + garden] (W/m²) 00070 REAL, DIMENSION(:), INTENT(IN) :: PLW_RAD !Atmospheric longwave radiation (W/m²) 00071 REAL, DIMENSION(:), INTENT(IN) :: PTRAD_IN !Indoor radiant temperature (K) 00072 REAL, DIMENSION(:), INTENT(IN) :: PBLD !Building surface fraction 00073 REAL, DIMENSION(:), INTENT(IN) :: PBLD_HEIGHT !Building surface fraction 00074 REAL, DIMENSION(:), INTENT(IN) :: PWALL_O_HOR !Building surface fraction 00075 REAL, DIMENSION(:), INTENT(OUT) :: PUTCI_IN !UTCI for indoor person (°C) 00076 REAL, DIMENSION(:), INTENT(OUT) :: PUTCI_OUTSUN !UTCI for outdoor person at sun (°C) 00077 REAL, DIMENSION(:), INTENT(OUT) :: PUTCI_OUTSHADE !UTCI for outdoor person in shade (°C) 00078 REAL, DIMENSION(:), INTENT(OUT) :: PTRAD_SUN !Mean radiant temperature at sun (°C) 00079 REAL, DIMENSION(:), INTENT(OUT) :: PTRAD_SHADE !Mean radiant temperature in shade (°C) 00080 ! 00081 !* 0.2 declarations of local variables 00082 REAL, DIMENSION(SIZE(PTI_BLD)) :: ZEHPA !water vapour pressure (hPa) 00083 REAL, DIMENSION(SIZE(PTI_BLD)) :: ZUIN !indoor air wind speed (m/s) 00084 REAL, DIMENSION(SIZE(PTI_BLD)) :: ZDIR_SW !direct solar radiation 00085 REAL, DIMENSION(SIZE(PTI_BLD)) :: ZZENITH !zenithal angle 00086 ! 00087 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00088 ! 00089 IF (LHOOK) CALL DR_HOOK('UTCI_TEB',0,ZHOOK_HANDLE) 00090 ! 1-calculation of UTCI_IN 00091 ZEHPA = PQI_BLD * PPS /(0.622 + 0.378 * PQI_BLD) / 100. 00092 ZUIN = 0.5 00093 PUTCI_IN = UTCI_APPROX(PTI_BLD - XTT, ZEHPA, PTRAD_IN - XTT, ZUIN) 00094 ! 00095 ! 2-calculation of UTCI_OUTSUN 00096 ZEHPA = PQ_CAN * PPS / (0.622 + 0.378 * PQ_CAN) /100. 00097 PTRAD_SUN = TRAD_BODY(PSCA_SW, PREF_SW_FAC, PREF_SW_GRND, & 00098 PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD,& 00099 PBLD, PBLD_HEIGHT, PWALL_O_HOR, PDIR_SW, PZENITH ) 00100 PUTCI_OUTSUN = UTCI_APPROX(PT_CAN - XTT, ZEHPA, PTRAD_SUN - XTT, PU10) 00101 ! 00102 ! 3-calculation of UTCI_OUTSHADE 00103 ZDIR_SW=0. 00104 ZZENITH=0. 00105 !!PTRAD_SHADE = TRAD_BODY(PSCA_SW,PREF_SW_FAC, PREF_SW_GRND, & 00106 !! PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD,& 00107 !! PBLD, PBLD_HEIGHT, PWALL_O_HOR, ZDIR_SW, ZZENITH) 00108 PTRAD_SHADE = TRAD_BODY(PSCA_SW,PREF_SW_FAC, PREF_SW_GRND, & 00109 PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD,& 00110 PBLD, PBLD_HEIGHT, PWALL_O_HOR) 00111 PUTCI_OUTSHADE = UTCI_APPROX(PT_CAN - XTT, ZEHPA, PTRAD_SHADE - XTT, PU10) 00112 IF (LHOOK) CALL DR_HOOK('UTCI_TEB',1,ZHOOK_HANDLE) 00113 END SUBROUTINE UTCI_TEB