SURFEX v7.3
General documentation of Surfex
|
00001 MODULE MODI_TRAD_BODY 00002 INTERFACE 00003 FUNCTION TRAD_BODY(PSCA_SW, PREF_SW_FAC, PREF_SW_GRND, & 00004 PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD, & 00005 PBLD, PBLD_HEIGHT, PWALL_O_HOR, & 00006 PDIR_SW, PZENITH) RESULT(PTRAD_BODY) 00007 REAL, DIMENSION(:), INTENT(IN) :: PSCA_SW ! Diffuse solar radiation (W/m²) 00008 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_FAC ! Solar radiation reflected by facade [wall + glazing] (W/m²) 00009 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_GRND ! Solar radiation reflected by ground [road + garden] (W/m²) 00010 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_FAC ! Longwave radiation emitted by the facade [wall + glazing] (W/m²) 00011 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_GRND ! Longwave radiation emitted by the ground [road + garden] (W/m²) 00012 REAL, DIMENSION(:), INTENT(IN) :: PLW_RAD ! Atmospheric longwave radiation (W/m²) 00013 REAL, DIMENSION(:), INTENT(IN) :: PBLD ! plan area density of building (m²bld/m²urban) 00014 REAL, DIMENSION(:), INTENT(IN) :: PBLD_HEIGHT ! building height (m) 00015 REAL, DIMENSION(:), INTENT(IN) :: PWALL_O_HOR ! ratio between facade and urban horizontal surface (m²facade/m²urban) 00016 REAL, DIMENSION(:), INTENT(IN), OPTIONAL :: PDIR_SW !Direct solar radiation (W/m²) 00017 REAL, DIMENSION(:), INTENT(IN), OPTIONAL :: PZENITH !solar zenithal angle (rad from vert.) 00018 REAL, DIMENSION(SIZE(PSCA_SW)) :: PTRAD_BODY 00019 END FUNCTION TRAD_BODY 00020 END INTERFACE 00021 END MODULE MODI_TRAD_BODY 00022 ! ########################################################################## 00023 FUNCTION TRAD_BODY(PSCA_SW, PREF_SW_FAC, PREF_SW_GRND, PEMIT_LW_FAC, PEMIT_LW_GRND, PLW_RAD,& 00024 PBLD, PBLD_HEIGHT, PWALL_O_HOR, PDIR_SW, PZENITH) RESULT(PTRAD_BODY) 00025 ! ########################################################################## 00026 ! 00027 !!**** *TRAD_BODY 00028 !! 00029 !! PURPOSE 00030 !! ------- 00031 ! 00032 ! Computes the radiant temperature equivalent to the total radiation 00033 ! received by the human body 00034 ! 00035 !!** METHOD 00036 ! ------ 00037 ! 00038 !! EXTERNAL 00039 !! -------- 00040 !! 00041 !! IMPLICIT ARGUMENTS 00042 !! ------------------ 00043 !! à compléter 00044 !! MODD_CST 00045 !! 00046 !! REFERENCE 00047 !! --------- 00048 !! www.utci.org 00049 !! 00050 !! AUTHOR 00051 !! ------ 00052 !! 00053 !! G. Pigeon * Meteo-France * 00054 !! 00055 !! MODIFICATIONS 00056 !! ------------- 00057 !! Original 03/2011 00058 !------------------------------------------------------------------------------- 00059 ! 00060 !* 0. DECLARATIONS 00061 ! ------------ 00062 ! 00063 USE MODD_CSTS, ONLY : XSTEFAN, XPI 00064 ! 00065 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00066 USE PARKIND1 ,ONLY : JPRB 00067 ! 00068 IMPLICIT NONE 00069 ! 00070 !* 0.1 declarations of arguments 00071 REAL, DIMENSION(:), INTENT(IN) :: PSCA_SW ! Diffuse solar radiation (W/m²) 00072 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_FAC ! Solar radiation reflected by facade [wall + glazing] (W/m²) 00073 REAL, DIMENSION(:), INTENT(IN) :: PREF_SW_GRND ! Solar radiation reflected by ground [road + garden] (W/m²) 00074 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_FAC ! Longwave radiation emitted by the facade [wall + glazing] (W/m²) 00075 REAL, DIMENSION(:), INTENT(IN) :: PEMIT_LW_GRND ! Longwave radiation emitted by the ground [road + garden] (W/m²) 00076 REAL, DIMENSION(:), INTENT(IN) :: PLW_RAD ! Atmospheric longwave radiation (W/m²) 00077 REAL, DIMENSION(:), INTENT(IN) :: PBLD ! plan area density of building (m²bld/m²urban) 00078 REAL, DIMENSION(:), INTENT(IN) :: PBLD_HEIGHT ! building height (m) 00079 REAL, DIMENSION(:), INTENT(IN) :: PWALL_O_HOR ! ratio between facade and urban horizontal surface (m²facade/m²urban) 00080 REAL, DIMENSION(:), INTENT(IN), OPTIONAL :: PDIR_SW !Direct solar radiation (W/m²) 00081 REAL, DIMENSION(:), INTENT(IN), OPTIONAL :: PZENITH !solar zenithal angle (rad from vert.) 00082 !REAL, DIMENSION(:), INTENT(IN) :: PDIR_SW !Direct solar radiation (W/m²) 00083 !REAL, DIMENSION(:), INTENT(IN) :: PZENITH !solar zenithal angle (rad from vert.) 00084 REAL, DIMENSION(SIZE(PSCA_SW)) :: PTRAD_BODY 00085 !REAL, DIMENSION(:) :: PTRAD_BODY 00086 00087 !* 0.2 declarations of local variables 00088 REAL :: ZHB = 1.7 !average height of human person (m) 00089 REAL :: ZAB = 0.7 !absorption coef of solar radiation by human body 00090 REAL :: ZEB = 0.97 !emissivity of human body 00091 !REAL, DIMENSION(SIZE(PBLD)) :: TRAD_BODY 00092 REAL, DIMENSION(SIZE(PBLD)) :: ZWROAD !width of the road (m) 00093 REAL, DIMENSION(SIZE(PBLD)) :: ZL1, ZL2, ZL4 !lengths for view factor calculation 00094 REAL, DIMENSION(SIZE(PBLD)) :: ZFFAC !facade view factor of human body 00095 REAL, DIMENSION(SIZE(PBLD)) :: ZFGRND !ground view factor of human body 00096 REAL, DIMENSION(SIZE(PBLD)) :: ZFSKY !sky view factor of human body 00097 REAL, DIMENSION(SIZE(PBLD)) :: ZDIRSWBODY !solar radiation received by human body 00098 REAL, DIMENSION(SIZE(PBLD)) :: ZELEV !solar elevation angle 00099 REAL, DIMENSION(SIZE(PBLD)) :: ZRADBODY !total radiation received by human body 00100 INTEGER :: JJ 00101 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00102 ! 00103 IF (LHOOK) CALL DR_HOOK('TRAD_BODY',0,ZHOOK_HANDLE) 00104 ! 00105 DO JJ = 1, SIZE(PBLD_HEIGHT) 00106 ! 00107 !* 1 - calculation of view factors 00108 ZWROAD(JJ) = PBLD_HEIGHT(JJ) * 2. * (1. - PBLD(JJ)) / PWALL_O_HOR(JJ) 00109 ! 00110 ZL1(JJ) = SQRT(ZHB**2 + (ZWROAD(JJ)/2.)**2) 00111 ZL2(JJ) = SQRT( PBLD_HEIGHT(JJ)**2 + (ZWROAD(JJ)/2.)**2) 00112 ZL4(JJ) = SQRT((PBLD_HEIGHT(JJ)-ZHB)**2 + (ZWROAD(JJ)/2.)**2) 00113 ! 00114 ZFFAC (JJ) = (ZL1(JJ) + ZL2(JJ) - ZWROAD(JJ)/2. - ZL4(JJ)) / (2. * ZHB) 00115 ZFGRND(JJ) = 0.5*ZWROAD(JJ)/ZHB 00116 ZFGRND(JJ) = 0.5 * (ZFGRND(JJ) + 1. - SQRT(ZFGRND(JJ))**2 + 1.) 00117 ZFSKY (JJ) = 1. - ZFFAC(JJ) - ZFGRND(JJ) 00118 ! 00119 !* 2 - base calculation for both sun and shade 00120 ZRADBODY(JJ) = ZAB/ZEB * & 00121 ( PSCA_SW(JJ)*ZFSKY(JJ) + PREF_SW_FAC (JJ)*ZFFAC(JJ) + PREF_SW_GRND (JJ)*ZFGRND(JJ) ) & 00122 + PLW_RAD(JJ)*ZFSKY(JJ) + PEMIT_LW_FAC(JJ)*ZFFAC(JJ) + PEMIT_LW_GRND(JJ)*ZFGRND(JJ) 00123 ! 00124 ENDDO 00125 ! 00126 00127 !* 3 - add direct contribution in case of sunny conditions 00128 IF (PRESENT(PDIR_SW) .AND. PRESENT(PZENITH)) THEN 00129 DO JJ = 1, SIZE(PBLD_HEIGHT) 00130 ZELEV(JJ) = XPI/2. - PZENITH(JJ) 00131 IF (ZELEV(JJ) < 1E-6) ZELEV(JJ) = 0. 00132 ZDIRSWBODY(JJ) = PDIR_SW(JJ) * 0.308 * COS( ZELEV(JJ)*(1-(ZELEV(JJ)*180./XPI)**2)/48402. ) 00133 ! the direct solar radiation is weighted by a projected area factor which can be expressed by this equation 00134 ! for a rotationally symmetric human being (Fanger, 1970) 00135 ZRADBODY (JJ) = ZRADBODY(JJ) + ZAB/ZEB*ZDIRSWBODY(JJ) 00136 ENDDO 00137 ENDIF 00138 00139 !PTRAD_BODY(:) = (ZRADBODY(:)/XSTEFAN)**0.25 00140 DO JJ=1, SIZE(PBLD_HEIGHT) 00141 PTRAD_BODY(JJ) = (ZRADBODY(JJ)/XSTEFAN)**0.25 00142 ENDDO 00143 ! 00144 IF (LHOOK) CALL DR_HOOK('TRAD_BODY',1,ZHOOK_HANDLE) 00145 ! 00146 END FUNCTION TRAD_BODY