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

Annotation of /trunk/phylmd/Interface_surf/albsno.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
Original Path: trunk/libf/phylmd/albsno_m.f90
File size: 1178 byte(s)
Initial import
1 guez 3 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