10 palbnir_veg,palbvis_veg, &
12 palbnir_soil,palbvis_soil, &
16 palbnir_eco,palbvis_eco, &
68 USE modi_albedo_from_nir_vis
69 USE modi_isba_snow_frac
72 USE yomhook
,ONLY : lhook, dr_hook
73 USE parkind1
,ONLY : jprb
83 CHARACTER(LEN=4),
INTENT(IN) :: halbedo
90 REAL,
DIMENSION(:),
INTENT(IN) :: pveg
91 REAL,
DIMENSION(:),
INTENT(IN) :: pz0
92 REAL,
DIMENSION(:),
INTENT(IN) :: plai
93 REAL,
DIMENSION(:),
INTENT(IN) :: ptg1
94 REAL,
DIMENSION(:),
INTENT(IN) :: psw_bands
96 REAL,
DIMENSION(:),
INTENT(IN) :: palbnir_veg
97 REAL,
DIMENSION(:),
INTENT(IN) :: palbvis_veg
98 REAL,
DIMENSION(:),
INTENT(IN) :: palbuv_veg
99 REAL,
DIMENSION(:),
INTENT(IN) :: palbnir_soil
100 REAL,
DIMENSION(:),
INTENT(IN) :: palbvis_soil
101 REAL,
DIMENSION(:),
INTENT(IN) :: palbuv_soil
102 REAL,
DIMENSION(:),
INTENT(IN) :: pemis_eco
105 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_eco
106 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_eco
107 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_eco
109 REAL,
DIMENSION(:,:),
INTENT(OUT) :: pdir_alb
110 REAL,
DIMENSION(:,:),
INTENT(OUT) :: psca_alb
111 REAL,
DIMENSION(:),
INTENT(OUT) :: pemis
112 REAL,
DIMENSION(:),
INTENT(OUT) :: ptsrad
119 REAL,
DIMENSION(SIZE(PALBNIR_VEG)) :: zalbnir
120 REAL,
DIMENSION(SIZE(PALBVIS_VEG)) :: zalbvis
121 REAL,
DIMENSION(SIZE(PALBUV_VEG )) :: zalbuv
123 REAL(KIND=JPRB) :: zhook_handle
130 IF (lhook) CALL dr_hook(
'AVG_ALBEDO_EMIS_GARDEN',0,zhook_handle)
132 palbvis_veg,palbnir_veg,palbuv_veg,pveg, &
133 palbvis_soil,palbnir_soil,palbuv_soil, &
134 palbvis_eco,palbnir_eco,palbuv_eco )
151 tgd%CUR%TSNOW%WSNOW(:,:,1), tgd%CUR%TSNOW%RHO(:,:,1),&
152 tgd%CUR%TSNOW%ALB (:,1), &
153 pveg(:), plai(:), pz0(:), &
154 tgd%CUR%XPSN(:), tgd%CUR%XPSNV_A(:), &
155 tgd%CUR%XPSNG(:), tgd%CUR%XPSNV(:) )
157 WHERE (pveg(:)/=xundef)
161 zalbnir(:) = (1.-tgd%CUR%XPSN(:))*palbnir_eco(:) &
162 + tgd%CUR%XPSN(:) *tpsnow%ALB (:,1)
164 zalbvis(:) = (1.-tgd%CUR%XPSN(:))*palbvis_eco(:) &
165 + tgd%CUR%XPSN(:) *tpsnow%ALB (:,1)
167 zalbuv(:) = (1.-tgd%CUR%XPSN(:))*palbuv_eco(:) &
168 + tgd%CUR%XPSN(:) *tpsnow%ALB (:,1)
174 pdir_alb(:,:), psca_alb(:,:) )
178 WHERE (pemis_eco(:)/=xundef)
179 pemis(:) = (1.-tgd%CUR%XPSN(:))*pemis_eco(:) &
180 + tgd%CUR%XPSN(:) *xemissn
185 IF (tpsnow%SCHEME==
'D95' .OR. tpsnow%SCHEME==
'EBA')
THEN
187 ELSE IF (tpsnow%SCHEME==
'3-L' .OR. tpsnow%SCHEME==
'CRO')
THEN
188 WHERE (pemis_eco(:)/=xundef)
189 ptsrad(:) =( ( (1.-tgd%CUR%XPSN(:))*pemis(:) *ptg1(:)**4 &
190 + tgd%CUR%XPSN(:) *tpsnow%EMIS(:,1)*tpsnow%TS(:,1)**4 ) )**0.25 &
195 IF (lhook) CALL dr_hook(
'AVG_ALBEDO_EMIS_GARDEN',1,zhook_handle)
subroutine avg_albedo_emis_garden(TGD, 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 albedo_from_nir_vis(PSW_BANDS, PALBNIR, PALBVIS, PALBUV, PDIR_ALB, PSCA_ALB)
subroutine isba_snow_frac(HSNOW, PWSNOW, PRSNOW, PASNOW, PVEG, PLAI, PZ0, PPSN, PPSNV_A, PPSNG, PPSNV)