/[lmdze]/trunk/Sources/phylmd/Interface_surf/albsno.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/Interface_surf/albsno.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 134 - (show annotations)
Wed Apr 29 15:47:56 2015 UTC (9 years ago) by guez
File size: 1217 byte(s)
Sources inside, compilation outside.
1 module albsno_m
2
3 ! From phylmd/interface_surf.F90, version 1.8 2005/05/25 13:10:09
4
5 IMPLICIT none
6
7 contains
8
9 SUBROUTINE albsno(klon, knon, dtime, agesno, alb_neig_grid, precip_snow)
10
11 INTEGER klon, knon
12 REAL dtime
13 REAL, DIMENSION(klon):: alb_neig_grid, agesno, precip_snow
14
15 ! Local:
16
17 INTEGER, PARAMETER :: nvm = 8
18 REAL veget(klon, nvm)
19
20 INTEGER i, nv
21
22 REAL init(nvm), decay(nvm)
23 REAL as
24 DATA init /0.55, 0.14, 0.18, 0.29, 0.15, 0.15, 0.14, 0./
25 DATA decay /0.30, 0.67, 0.63, 0.45, 0.40, 0.14, 0.06, 1./
26
27 !------------------------------------------------------------------------
28
29 veget = 0.
30 veget(:, 1) = 1. ! desert partout
31 DO i = 1, knon
32 alb_neig_grid(i) = 0.0
33 ENDDO
34 DO nv = 1, nvm
35 DO i = 1, knon
36 as = init(nv)+decay(nv)*EXP(-agesno(i)/5.)
37 alb_neig_grid(i) = alb_neig_grid(i) + veget(i, nv)*as
38 ENDDO
39 ENDDO
40
41 !! modilation en fonction de l'age de la neige
42
43 DO i = 1, knon
44 agesno(i) = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)&
45 & * EXP(-1.*MAX(0.0, precip_snow(i))*dtime/0.3)
46 agesno(i) = MAX(agesno(i), 0.0)
47 ENDDO
48
49 END SUBROUTINE albsno
50
51 end module albsno_m

  ViewVC Help
Powered by ViewVC 1.1.21