14 palbnir_dry,palbvis_dry,palbuv_dry, &
15 palbnir_wet,palbvis_wet,palbuv_wet )
22 REAL,
DIMENSION(:),
INTENT(IN) :: psand
23 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
24 REAL,
DIMENSION(:,:),
INTENT(IN):: pvegtype
26 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_dry
27 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_dry
28 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_dry
29 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_wet
30 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_wet
31 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_wet
38 palbnir_dry,palbvis_dry,palbuv_dry, &
39 palbnir_wet,palbvis_wet,palbuv_wet )
46 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
47 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
48 REAL,
DIMENSION(:,:,:),
INTENT(IN):: pvegtype
50 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbvis_dry
51 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbnir_dry
52 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbuv_dry
53 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbvis_wet
54 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbnir_wet
55 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbuv_wet
66 palbnir_dry,palbvis_dry,palbuv_dry, &
67 palbnir_wet,palbvis_wet,palbuv_wet )
110 nvt_tebe, nvt_tene, nvt_bobd, nvt_bond, nvt_shrb, &
111 nvt_c3, nvt_c4, nvt_irr, nvt_gras, nvt_bogr, &
116 USE yomhook
,ONLY : lhook, dr_hook
117 USE parkind1
,ONLY : jprb
124 REAL,
DIMENSION(:),
INTENT(IN) :: psand
125 REAL,
DIMENSION(:),
INTENT(IN) :: pclay
126 REAL,
DIMENSION(:,:),
INTENT(IN):: pvegtype
128 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_dry
129 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_dry
130 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_dry
131 REAL,
DIMENSION(:),
INTENT(OUT) :: palbvis_wet
132 REAL,
DIMENSION(:),
INTENT(OUT) :: palbnir_wet
133 REAL,
DIMENSION(:),
INTENT(OUT) :: palbuv_wet
134 REAL(KIND=JPRB) :: zhook_handle
138 IF (lhook) CALL dr_hook(
'MODI_DRY_WET_SOIL_ALBEDOS:DRY_WET_SOIL_ALBEDOS_1D',0,zhook_handle)
139 palbvis_dry(:) = 0.05 + ( 0.05 + max(0.30 * psand(:), 0.10) ) &
140 * ( 1. - 0.9 * ( pvegtype(:,nvt_c3) &
141 + pvegtype(:,nvt_c4) &
142 + pvegtype(:,nvt_irr) &
143 + pvegtype(:,nvt_gras) &
144 + pvegtype(:,nvt_trog) &
145 + pvegtype(:,nvt_park) &
146 + pvegtype(:,nvt_trbe) &
147 + pvegtype(:,nvt_bone) &
148 + pvegtype(:,nvt_tebd) &
149 + pvegtype(:,nvt_trbd) &
150 + pvegtype(:,nvt_tebe) &
151 + pvegtype(:,nvt_tene) &
152 + pvegtype(:,nvt_bobd) &
153 + pvegtype(:,nvt_bond) &
154 + pvegtype(:,nvt_bogr) &
155 + pvegtype(:,nvt_shrb))**2 )
157 palbnir_dry(:) = palbvis_dry(:) + 0.10
159 palbuv_dry(:) = 0.06 + 0.14 * psand(:)
161 palbvis_wet(:) = palbvis_dry(:) / 2.
162 palbnir_wet(:) = palbnir_dry(:) / 2.
163 palbuv_wet(:) = palbuv_dry(:) / 2.
164 IF (lhook) CALL dr_hook(
'MODI_DRY_WET_SOIL_ALBEDOS:DRY_WET_SOIL_ALBEDOS_1D',1,zhook_handle)
173 palbnir_dry,palbvis_dry,palbuv_dry, &
174 palbnir_wet,palbvis_wet,palbuv_wet )
216 nvt_tebe, nvt_tene, nvt_bobd, nvt_bond, nvt_shrb, &
217 nvt_c3, nvt_c4, nvt_irr, nvt_gras, nvt_bogr, &
221 USE yomhook
,ONLY : lhook, dr_hook
222 USE parkind1
,ONLY : jprb
229 REAL,
DIMENSION(:,:),
INTENT(IN) :: psand
230 REAL,
DIMENSION(:,:),
INTENT(IN) :: pclay
231 REAL,
DIMENSION(:,:,:),
INTENT(IN):: pvegtype
233 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbvis_dry
234 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbnir_dry
235 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbuv_dry
236 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbvis_wet
237 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbnir_wet
238 REAL,
DIMENSION(:,:),
INTENT(OUT) :: palbuv_wet
239 REAL(KIND=JPRB) :: zhook_handle
242 IF (lhook) CALL dr_hook(
'MODI_DRY_WET_SOIL_ALBEDOS:DRY_WET_SOIL_ALBEDOS_2D',0,zhook_handle)
243 palbvis_dry(:,:) = xundef
244 palbnir_dry(:,:) = xundef
245 palbuv_dry(:,:) = xundef
246 palbvis_wet(:,:) = xundef
247 palbnir_wet(:,:) = xundef
248 palbuv_wet(:,:) = xundef
250 WHERE (psand(:,:)/=xundef)
251 palbvis_dry(:,:) = 0.05 + ( 0.05 + max( 0.30 * psand(:,:), 0.10) ) &
252 * ( 1. - 0.9 * ( pvegtype(:,:,nvt_c3) &
253 + pvegtype(:,:,nvt_c4) &
254 + pvegtype(:,:,nvt_irr) &
255 + pvegtype(:,:,nvt_gras) &
256 + pvegtype(:,:,nvt_trog) &
257 + pvegtype(:,:,nvt_park) &
258 + pvegtype(:,:,nvt_trbe) &
259 + pvegtype(:,:,nvt_bone) &
260 + pvegtype(:,:,nvt_tebd) &
261 + pvegtype(:,:,nvt_trbd) &
262 + pvegtype(:,:,nvt_tebe) &
263 + pvegtype(:,:,nvt_tene) &
264 + pvegtype(:,:,nvt_bobd) &
265 + pvegtype(:,:,nvt_bond) &
266 + pvegtype(:,:,nvt_bogr) &
267 + pvegtype(:,:,nvt_shrb))**2 )
269 palbnir_dry(:,:) = palbvis_dry(:,:) + 0.10
271 palbuv_dry(:,:) = 0.06 + 0.14 * psand(:,:)
273 palbvis_wet(:,:) = palbvis_dry(:,:) / 2.
274 palbnir_wet(:,:) = palbnir_dry(:,:) / 2.
275 palbuv_wet(:,:) = palbuv_dry(:,:) / 2.
277 IF (lhook) CALL dr_hook(
'MODI_DRY_WET_SOIL_ALBEDOS:DRY_WET_SOIL_ALBEDOS_2D',1,zhook_handle)
subroutine dry_wet_soil_albedos_1d(PSAND, PCLAY, PVEGTYPE, PALBNIR_DRY, PALBVIS_DRY, PALBUV_DRY, PALBNIR_WET, PALBVIS_WET, PALBUV_WET)
subroutine dry_wet_soil_albedos_2d(PSAND, PCLAY, PVEGTYPE, PALBNIR_DRY, PALBVIS_DRY, PALBUV_DRY, PALBNIR_WET, PALBVIS_WET, PALBUV_WET)