10 palbnir_veg,palbvis_veg, &
12 palbnir_soil,palbvis_soil, &
16 palbnir_eco,palbvis_eco, &
70 USE modi_albedo_from_nir_vis
71 USE modi_isba_snow_frac
74 USE yomhook
,ONLY : lhook, dr_hook
75 USE parkind1
,ONLY : jprb
85 CHARACTER(LEN=4),
INTENT(IN) :: halbedo
92 REAL,
DIMENSION(:),
INTENT(IN) :: pveg
93 REAL,
DIMENSION(:),
INTENT(IN) :: pz0
94 REAL,
DIMENSION(:),
INTENT(IN) :: plai
95 REAL,
DIMENSION(:),
INTENT(IN) :: ptg1
96 REAL,
DIMENSION(:),
INTENT(IN) :: psw_bands
98 REAL,
DIMENSION(:),
INTENT(IN) :: palbnir_veg
99 REAL,
DIMENSION(:),
INTENT(IN) :: palbvis_veg
100 REAL,
DIMENSION(:),
INTENT(IN) :: palbuv_veg
101 REAL,
DIMENSION(:),
INTENT(IN) :: palbnir_soil
102 REAL,
DIMENSION(:),
INTENT(IN) :: palbvis_soil
103 REAL,
DIMENSION(:),
INTENT(IN) :: palbuv_soil
104 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_eco
107 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_eco
108 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_eco
109 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_eco
111 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pdir_alb
112 REAL,
DIMENSION(:,:),
INTENT(OUT) :: psca_alb
113 REAL,
DIMENSION(:),
INTENT(OUT) :: pemis
114 REAL,
DIMENSION(:),
INTENT(OUT) :: ptsrad
121 REAL,
DIMENSION(SIZE(PALBNIR_VEG)) :: zalbnir
122 REAL,
DIMENSION(SIZE(PALBVIS_VEG)) :: zalbvis
123 REAL,
DIMENSION(SIZE(PALBUV_VEG )) :: zalbuv
125 REAL(KIND=JPRB) :: zhook_handle
132 IF (lhook) CALL dr_hook(
'AVG_ALBEDO_EMIS_GREENROOF',0,zhook_handle)
134 palbvis_veg,palbnir_veg,palbuv_veg,pveg, &
135 palbvis_soil,palbnir_soil,palbuv_soil, &
136 palbvis_eco,palbnir_eco,palbuv_eco )
153 tgr%CUR%TSNOW%WSNOW(:,:,1), tgr%CUR%TSNOW%RHO(:,:,1), &
154 tgr%CUR%TSNOW%ALB (:,1), &
155 pveg(:), plai(:), pz0(:), &
156 tgr%CUR%XPSN(:), tgr%CUR%XPSNV_A(:), &
157 tgr%CUR%XPSNG(:), tgr%CUR%XPSNV(:) )
159 WHERE (pveg(:)/=xundef)
163 zalbnir(:) = (1.-tgr%CUR%XPSN(:))*palbnir_eco(:) + tgr%CUR%XPSN(:) *tpsnow%ALB(:,1)
165 zalbvis(:) = (1.-tgr%CUR%XPSN(:))*palbvis_eco(:) + tgr%CUR%XPSN(:) *tpsnow%ALB(:,1)
167 zalbuv(:) = (1.-tgr%CUR%XPSN(:))*palbuv_eco(:) + tgr%CUR%XPSN(:) *tpsnow%ALB(:,1)
173 pdir_alb(:,:), psca_alb(:,:) )
177 WHERE (pemis_eco(:)/=xundef)
178 pemis(:) = (1.-tgr%CUR%XPSN(:))*pemis_eco(:) + tgr%CUR%XPSN(:) * xemissn
183 IF (tpsnow%SCHEME==
'D95' .OR. tpsnow%SCHEME==
'EBA')
THEN
185 ELSE IF (tpsnow%SCHEME==
'3-L' .OR. tpsnow%SCHEME==
'CRO')
THEN
186 WHERE (pemis_eco(:)/=xundef)
187 ptsrad(:) = ( ( (1.-tgr%CUR%XPSN(:))*pemis(:)*ptg1(:)**4 &
188 + tgr%CUR%XPSN(:) *tpsnow%EMIS(:,1)*tpsnow%TS(:,1)**4 ) )**0.25 &
193 IF (lhook) CALL dr_hook(
'AVG_ALBEDO_EMIS_GREENROOF',1,zhook_handle)
subroutine albedo_from_nir_vis(PSW_BANDS, PALBNIR, PALBVIS, PALBUV, PDIR_ALB, PSCA_ALB)
subroutine avg_albedo_emis_greenroof(TGR, HALBEDO, PVEG, PZ0, PLAI, PTG1, PSW_BANDS, PALBNIR_VEG, PALBVIS_VEG, PALBUV_VEG, PALBNIR_SOIL, PALBVIS_SOIL, PALBUV_SOIL, PEMIS_ECO, TPSNOW, PALBNIR_ECO, PALBVIS_ECO, PALBUV_ECO, PDIR_ALB, PSCA_ALB, PEMIS, PTSRAD)
subroutine isba_snow_frac(HSNOW, PWSNOW, PRSNOW, PASNOW, PVEG, PLAI, PZ0, PPSN, PPSNV_A, PPSNG, PPSNV)