1 | MODULE phys_state_var_mod |
---|
2 | ! Variables sauvegardees pour le startphy.nc |
---|
3 | !====================================================================== |
---|
4 | ! |
---|
5 | ! |
---|
6 | !====================================================================== |
---|
7 | ! Declaration des variables |
---|
8 | USE dimphy |
---|
9 | REAL, SAVE :: dtime, co2_ppm_etat0, solaire_etat0 |
---|
10 | REAL, ALLOCATABLE, SAVE :: rlat(:), rlon(:), pctsrf(:,:) |
---|
11 | REAL, ALLOCATABLE, SAVE :: ftsol(:,:) |
---|
12 | character(len=6), SAVE :: ocean |
---|
13 | logical, SAVE :: ok_veget |
---|
14 | REAL, ALLOCATABLE, SAVE :: falb1(:,:), falb2(:,:) |
---|
15 | REAL, ALLOCATABLE, SAVE :: rain_fall(:), snow_fall(:) |
---|
16 | REAL, ALLOCATABLE, SAVE :: solsw(:), sollw(:) |
---|
17 | REAL, ALLOCATABLE, SAVE :: radsol(:) |
---|
18 | !clesphy0 param physiq |
---|
19 | ! |
---|
20 | ! Parametres de l'Orographie a l'Echelle Sous-Maille (OESM): |
---|
21 | ! |
---|
22 | REAL, ALLOCATABLE, SAVE :: zmea(:), zstd(:), zsig(:), zgam(:) |
---|
23 | REAL, ALLOCATABLE, SAVE :: zthe(:), zpic(:), zval(:) |
---|
24 | ! REAL tabcntr0(100) |
---|
25 | REAL, ALLOCATABLE, SAVE :: rugoro(:) |
---|
26 | REAL, ALLOCATABLE, SAVE :: t_ancien(:,:), q_ancien(:,:) |
---|
27 | LOGICAL, SAVE :: ancien_ok |
---|
28 | REAL, ALLOCATABLE, SAVE :: clwcon(:,:),rnebcon(:,:) |
---|
29 | REAL, ALLOCATABLE, SAVE :: ratqs(:,:) |
---|
30 | REAL, ALLOCATABLE, SAVE :: pbl_tke(:,:,:) ! turb kinetic energy |
---|
31 | REAL, ALLOCATABLE, SAVE :: zmax0(:), f0(:) ! |
---|
32 | REAL, ALLOCATABLE, SAVE :: ema_work1(:,:), ema_work2(:,:) |
---|
33 | REAL, ALLOCATABLE, SAVE :: entr_therm(:,:), fm_therm(:,:) |
---|
34 | CONTAINS |
---|
35 | |
---|
36 | !====================================================================== |
---|
37 | SUBROUTINE phys_state_var_init |
---|
38 | use dimphy |
---|
39 | IMPLICIT NONE |
---|
40 | #include "indicesol.h" |
---|
41 | |
---|
42 | ALLOCATE( rlat(klon)) |
---|
43 | ALLOCATE( rlon(klon)) |
---|
44 | ALLOCATE( pctsrf(klon,nbsrf)) |
---|
45 | ALLOCATE( ftsol(klon,nbsrf)) |
---|
46 | ALLOCATE( falb1(klon,nbsrf)) |
---|
47 | ALLOCATE( falb2(klon,nbsrf)) |
---|
48 | ALLOCATE( rain_fall(klon) ) |
---|
49 | ALLOCATE( snow_fall(klon) ) |
---|
50 | ALLOCATE(solsw(klon), sollw(klon)) |
---|
51 | ALLOCATE( radsol(klon)) |
---|
52 | ALLOCATE( zmea(klon), zstd(klon), zsig(klon), zgam(klon) ) |
---|
53 | ALLOCATE( zthe(klon), zpic(klon), zval(klon) ) |
---|
54 | |
---|
55 | ALLOCATE( rugoro(klon)) |
---|
56 | ALLOCATE( t_ancien(klon,klev), q_ancien(klon,klev)) |
---|
57 | ALLOCATE( clwcon(klon,klev),rnebcon(klon,klev)) |
---|
58 | ALLOCATE( ratqs(klon,klev)) |
---|
59 | ALLOCATE(pbl_tke(klon,klev+1,nbsrf)) |
---|
60 | ALLOCATE(zmax0(klon), f0(klon)) |
---|
61 | ALLOCATE(ema_work1(klon,klev), ema_work2(klon,klev)) |
---|
62 | ALLOCATE(entr_therm(klon,klev), fm_therm(klon,klev+1)) |
---|
63 | |
---|
64 | END SUBROUTINE phys_state_var_init |
---|
65 | |
---|
66 | !====================================================================== |
---|
67 | SUBROUTINE phys_state_var_end |
---|
68 | use dimphy |
---|
69 | IMPLICIT NONE |
---|
70 | #include "indicesol.h" |
---|
71 | ! deallocate(t_seri,q_seri,ql_seri,qs_seri) |
---|
72 | |
---|
73 | deallocate( rlat, rlon, pctsrf, ftsol, falb1, falb2 ) |
---|
74 | deallocate( rain_fall, snow_fall, solsw, sollw, radsol ) |
---|
75 | deallocate( zmea, zstd, zsig, zgam ) |
---|
76 | deallocate( zthe, zpic, zval ) |
---|
77 | deallocate( rugoro, t_ancien, q_ancien, clwcon, rnebcon ) |
---|
78 | deallocate( ratqs, pbl_tke ) |
---|
79 | deallocate( zmax0, f0 ) |
---|
80 | deallocate( ema_work1, ema_work2 ) |
---|
81 | deallocate( entr_therm, fm_therm ) |
---|
82 | |
---|
83 | END SUBROUTINE phys_state_var_end |
---|
84 | |
---|
85 | END MODULE phys_state_var_mod |
---|