/[lmdze]/trunk/libf/phylmd/albsno_m.f90
ViewVC logotype

Contents of /trunk/libf/phylmd/albsno_m.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (show annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
File size: 1178 byte(s)
Initial import
1 module albsno_m
2
3 ! From phylmd/interface_surf.F90,v 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 INTEGER, PARAMETER :: nvm = 8
13 REAL :: dtime
14 REAL, dimension(klon,nvm) :: veget
15 REAL, DIMENSION(klon) :: alb_neig_grid, agesno, precip_snow
16
17 INTEGER :: i, nv
18
19 REAL, DIMENSION(nvm),SAVE :: init, decay
20 REAL :: as
21 DATA init /0.55, 0.14, 0.18, 0.29, 0.15, 0.15, 0.14, 0./
22 DATA decay/0.30, 0.67, 0.63, 0.45, 0.40, 0.14, 0.06, 1./
23
24 veget = 0.
25 veget(:,1) = 1. ! desert partout
26 DO i = 1, knon
27 alb_neig_grid(i) = 0.0
28 ENDDO
29 DO nv = 1, nvm
30 DO i = 1, knon
31 as = init(nv)+decay(nv)*EXP(-agesno(i)/5.)
32 alb_neig_grid(i) = alb_neig_grid(i) + veget(i,nv)*as
33 ENDDO
34 ENDDO
35 !
36 !! modilation en fonction de l'age de la neige
37 !
38 DO i = 1, knon
39 agesno(i) = (agesno(i) + (1.-agesno(i)/50.)*dtime/86400.)&
40 & * EXP(-1.*MAX(0.0,precip_snow(i))*dtime/0.3)
41 agesno(i) = MAX(agesno(i),0.0)
42 ENDDO
43
44 END SUBROUTINE albsno
45
46 end module albsno_m

  ViewVC Help
Powered by ViewVC 1.1.21