4 SUBROUTINE albsno(klon, knon, dtime, agesno, alb_neig_grid, precip_snow)
10 INTEGER,
INTENT(IN) :: klon, knon
11 REAL,
INTENT(IN) ::
dtime
12 REAL,
DIMENSION(klon),
INTENT(IN) :: precip_snow
16 REAL,
DIMENSION(klon),
INTENT(INOUT) :: agesno
20 REAL,
DIMENSION(klon),
INTENT(OUT) :: alb_neig_grid
25 INTEGER,
PARAMETER :: nvm = 8
27 REAL,
DIMENSION(klon,nvm) :: veget
28 REAL,
DIMENSION(nvm),
SAVE :: init, decay
31 DATA init /0.55, 0.14, 0.18, 0.29, 0.15, 0.15, 0.14, 0./
32 DATA decay/0.30, 0.67, 0.63, 0.45, 0.40, 0.14, 0.06, 1./
38 alb_neig_grid(
i) = 0.0
42 as = init(nv)+decay(nv)*exp(-agesno(
i)/5.)
43 alb_neig_grid(
i) = alb_neig_grid(
i) + veget(
i,nv)*as
50 agesno(
i) = (agesno(
i) + (1.-agesno(
i)/50.)*
dtime/86400.)&
51 & * exp(-1.*max(0.0,precip_snow(
i))*
dtime/0.3)
52 agesno(
i) = max(agesno(
i),0.0)