SURFEX v7.3
General documentation of Surfex
|
00001 ! ######### 00002 SUBROUTINE GREENROOF_PROPERTIES(PDIR_SW, PSCA_SW, PSW_BANDS, KSW, & 00003 PTS, PEMIS, PALB ) 00004 ! ########################################################################## 00005 ! 00006 !!**** *GREENROOF_PROPERTIES* 00007 !! 00008 !! PURPOSE 00009 !! ------- 00010 ! 00011 ! Based on garden_properties 00012 ! Calculates grid-averaged albedo and emissivity (according to snow scheme) 00013 ! 00014 !! EXTERNAL 00015 !! -------- 00016 !! 00017 !! none 00018 !! 00019 !! IMPLICIT ARGUMENTS 00020 !! ------------------ 00021 !! 00022 !! AUTHOR 00023 !! ------ 00024 !! 00025 !! S. Belair * Meteo-France * 00026 !! 00027 !! MODIFICATIONS 00028 !! ------------- 00029 !! Original ? 00030 !! C. de Munck and A. Lemonsu 09/2011 00031 !------------------------------------------------------------------------------- 00032 ! 00033 !* 0. DECLARATIONS 00034 ! ------------ 00035 ! 00036 USE MODD_SURF_PAR, ONLY : XUNDEF 00037 ! 00038 USE MODD_TEB_GREENROOF_n, ONLY : CISBA_GR, TSNOW, XALBNIR, XALBVIS, XALBUV, & 00039 XALBNIR_VEG, XALBVIS_VEG, XALBUV_VEG, & 00040 XALBNIR_SOIL, XALBVIS_SOIL, & 00041 XALBUV_SOIL, LTR_ML_GR, & 00042 XVEG, XLAI, XZ0, & 00043 XEMIS, XTG, & 00044 XPSN, XPSNV, XPSNG, XPSNV_A, & 00045 XSNOWFREE_ALB_VEG, & 00046 XSNOWFREE_ALB_SOIL, & 00047 XSNOWFREE_ALB 00048 ! 00049 USE MODI_ISBA_PROPERTIES 00050 ! 00051 ! 00052 USE YOMHOOK ,ONLY : LHOOK, DR_HOOK 00053 USE PARKIND1 ,ONLY : JPRB 00054 ! 00055 IMPLICIT NONE 00056 ! 00057 !* 0.1 declarations of arguments 00058 ! 00059 REAL, DIMENSION(:,:), INTENT(IN) :: PDIR_SW ! direct incoming solar radiation 00060 REAL, DIMENSION(:,:), INTENT(IN) :: PSCA_SW ! diffus incoming solar radiation 00061 REAL, DIMENSION(:) , INTENT(IN) :: PSW_BANDS ! mean wavelength of each shortwave band (m) 00062 INTEGER, INTENT(IN) :: KSW ! number of short-wave spectral bands 00063 ! 00064 REAL, DIMENSION(:) , INTENT(OUT) :: PTS ! radiative surface temperature 00065 REAL, DIMENSION(:) , INTENT(OUT) :: PEMIS ! green areas emissivity 00066 REAL, DIMENSION(:) , INTENT(OUT) :: PALB ! green areas albedo 00067 ! 00068 !------------------------------------------------------------------------------- 00069 ! 00070 !* 0.2 Local variables 00071 ! --------------- 00072 ! 00073 INTEGER :: JLAYER 00074 INTEGER :: JSWB 00075 ! 00076 REAL, DIMENSION(SIZE(PALB)) :: ZTSNOSNOW ! surf. temp. on snow free part 00077 REAL, DIMENSION(SIZE(PALB)) :: ZTSSNOW ! surf. temp. on snow covered part 00078 REAL, DIMENSION(SIZE(PALB)) :: ZANOSNOW ! snow-free surface albedo 00079 REAL, DIMENSION(SIZE(PALB)) :: ZASNOW ! snow albedo 00080 REAL, DIMENSION(SIZE(PALB)) :: ZENOSNOW ! snow-free surface emissivity 00081 REAL, DIMENSION(SIZE(PALB)) :: ZESNOW ! snow emissivity 00082 ! 00083 REAL(KIND=JPRB) :: ZHOOK_HANDLE 00084 !------------------------------------------------------------------------------- 00085 ! 00086 !* only one patch for gardens 00087 IF (LHOOK) CALL DR_HOOK('GREENROOF_PROPERTIES',0,ZHOOK_HANDLE) 00088 ! 00089 CALL ISBA_PROPERTIES(CISBA_GR, LTR_ML_GR, TSNOW, 1, & 00090 PDIR_SW, PSCA_SW, PSW_BANDS, KSW, & 00091 XALBNIR, XALBVIS, XALBUV, & 00092 XALBNIR_VEG, XALBVIS_VEG, XALBUV_VEG, & 00093 XALBNIR_SOIL, XALBVIS_SOIL, & 00094 XALBUV_SOIL, & 00095 XVEG, XLAI, XZ0, XEMIS, XTG(:,1), & 00096 ZASNOW,ZANOSNOW, & 00097 ZESNOW,ZENOSNOW, & 00098 ZTSSNOW,ZTSNOSNOW, & 00099 XSNOWFREE_ALB_VEG, XSNOWFREE_ALB_SOIL, & 00100 XALBNIR_VEG, XALBVIS_VEG, XALBNIR_SOIL, XALBVIS_SOIL, & 00101 XPSN, XPSNV_A, XPSNG, XPSNV ) 00102 ! 00103 XSNOWFREE_ALB = ZANOSNOW 00104 ! 00105 !* averaged albedo 00106 PALB = XPSN(:) * ZASNOW + (1.-XPSN(:)) * ZANOSNOW 00107 !* averaged emissivity 00108 PEMIS= XPSN(:) * ZESNOW + (1.-XPSN(:)) * ZENOSNOW 00109 !* averaged surface radiative temperature 00110 ! (recomputed from emitted long wave) 00111 PTS =((XPSN(:) * ZESNOW * ZTSSNOW**4 + (1.-XPSN(:)) * ZENOSNOW * ZTSNOSNOW**4) / PEMIS)**0.25 00112 IF (LHOOK) CALL DR_HOOK('GREENROOF_PROPERTIES',1,ZHOOK_HANDLE) 00113 ! 00114 !------------------------------------------------------------------------------- 00115 ! 00116 END SUBROUTINE GREENROOF_PROPERTIES