Parent Directory | Revision Log
Split "flincom.f90" into "flinclo.f90", "flinfindcood.f90", "flininfo.f90" and "flinopen_nozoom.f90", in directory "IOIPSL/Flincom". Renamed "etat0_lim" to "ce0l", as in LMDZ. Split "readsulfate.f" into "readsulfate.f90", "readsulfate_preind.f90" and "getso4fromfile.f90". In etat0, renamed variable q3d to q, as in "dynredem1". Replaced calls to Flicom procedures by calls to NetCDF95. In leapfrog, added call to writehist. Extracted ASCII art from "grid_noro" into a file "grid_noro.txt". Transformed explicit-shape local arrays into automatic arrays, so that test on values of iim and jjm is no longer needed. Test on weight: IF (weight(ii, jj) /= 0.) THEN is useless. There is already a test before: if (any(weight == 0.)) stop "zero weight in grid_noro" In "aeropt", replaced duplicated lines with different values of inu by a loop on inu. Removed arguments of "conf_phys". Corresponding variables are now defined in "physiq", in a namelist. In "conf_phys", read a namelist instead of using getin.
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 |