source: LMDZ4/branches/LMDZ4-dev/libf/phylmd/phys_local_var_mod.F90 @ 1237

Last change on this file since 1237 was 1183, checked in by jghattas, 15 years ago
  • Ajoute test de coherence entre les longitudes et latitudes des fichiers de forcage des aerosols et le model.
  • Corection pour la variable mass_solu_aero : changement du nom, commentaire et contenu(il y avait l'aerosol dust en trop)
  • Changement du nom de module car dans INCA le meme nom existe deja : aerosol_mod => aero_mod
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 7.0 KB
Line 
1!
2! $Id: phys_local_var_mod.F90 1183 2009-06-16 15:38:46Z fairhead $
3!
4      MODULE phys_local_var_mod
5
6! Variables locales pour effectuer les appels en serie
7!======================================================================
8!
9!
10!======================================================================
11! Declaration des variables
12
13      REAL, SAVE, ALLOCATABLE :: t_seri(:,:), q_seri(:,:)
14      !$OMP THREADPRIVATE(t_seri, q_seri)
15      REAL, SAVE, ALLOCATABLE :: ql_seri(:,:),qs_seri(:,:)
16      !$OMP THREADPRIVATE(ql_seri,qs_seri)
17      REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:)
18      !$OMP THREADPRIVATE(u_seri, v_seri)
19
20      REAL, SAVE, ALLOCATABLE :: tr_seri(:,:,:)
21      !$OMP THREADPRIVATE(tr_seri)
22      REAL, SAVE, ALLOCATABLE :: d_t_dyn(:,:), d_q_dyn(:,:)
23      !$OMP THREADPRIVATE(d_t_dyn, d_q_dyn)
24      REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:)
25      !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn)
26      REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:)
27      !$OMP THREADPRIVATE(d_t_con,d_q_con)
28      REAL, SAVE, ALLOCATABLE :: d_u_con(:,:),d_v_con(:,:)
29      !$OMP THREADPRIVATE(d_u_con,d_v_con)
30      REAL, SAVE, ALLOCATABLE :: d_t_wake(:,:),d_q_wake(:,:)
31      !$OMP THREADPRIVATE( d_t_wake,d_q_wake)
32      REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:)
33      !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc)
34      REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:)
35      !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb)
36      REAL, SAVE, ALLOCATABLE :: d_t_ajs(:,:), d_q_ajs(:,:)
37      !$OMP THREADPRIVATE(d_t_ajs, d_q_ajs)
38      REAL, SAVE, ALLOCATABLE :: d_u_ajs(:,:), d_v_ajs(:,:)
39      !$OMP THREADPRIVATE(d_u_ajs, d_v_ajs)
40      REAL, SAVE, ALLOCATABLE :: d_t_eva(:,:),d_q_eva(:,:)
41      !$OMP THREADPRIVATE(d_t_eva,d_q_eva)
42!tendances dues a oro et lif
43      REAL, SAVE, ALLOCATABLE :: d_t_oli(:,:)
44      !$OMP THREADPRIVATE(d_t_oli)
45      REAL, SAVE, ALLOCATABLE :: d_u_oli(:,:), d_v_oli(:,:)
46      !$OMP THREADPRIVATE(d_u_oli, d_v_oli)
47      REAL, SAVE, ALLOCATABLE :: d_t_vdf(:,:), d_q_vdf(:,:)
48      !$OMP THREADPRIVATE( d_t_vdf, d_q_vdf)
49      REAL, SAVE, ALLOCATABLE :: d_u_vdf(:,:), d_v_vdf(:,:)
50      !$OMP THREADPRIVATE(d_u_vdf, d_v_vdf)
51      REAL, SAVE, ALLOCATABLE :: d_t_oro(:,:)
52      !$OMP THREADPRIVATE(d_t_oro)
53      REAL, SAVE, ALLOCATABLE :: d_u_oro(:,:), d_v_oro(:,:)
54      !$OMP THREADPRIVATE(d_u_oro, d_v_oro)
55      REAL, SAVE, ALLOCATABLE :: d_t_lif(:,:)
56      !$OMP THREADPRIVATE(d_t_lif)
57      REAL, SAVE, ALLOCATABLE :: d_u_lif(:,:), d_v_lif(:,:)
58      !$OMP THREADPRIVATE(d_u_lif, d_v_lif)
59! Tendances Ondes de G non oro (runs strato).
60      REAL, SAVE, ALLOCATABLE :: d_u_hin(:,:)
61      !$OMP THREADPRIVATE(d_u_hin)
62      REAL, SAVE, ALLOCATABLE :: d_v_hin(:,:)
63      !$OMP THREADPRIVATE(d_v_hin)
64      REAL, SAVE, ALLOCATABLE :: d_t_hin(:,:)
65      !$OMP THREADPRIVATE(d_t_hin)
66
67! tendance du a la conersion Ec -> E thermique
68      REAL, SAVE, ALLOCATABLE :: d_t_ec(:,:)
69      !$OMP THREADPRIVATE(d_t_ec)
70      REAL, SAVE, ALLOCATABLE :: d_ts(:,:), d_tr(:,:,:)
71      !$OMP THREADPRIVATE(d_ts, d_tr)
72
73! diagnostique pour le rayonnement
74      REAL, SAVE, ALLOCATABLE :: topswad_aero(:),  solswad_aero(:)  ! diag
75      !$OMP THREADPRIVATE(topswad_aero,solswad_aero)
76      REAL, SAVE, ALLOCATABLE :: topswai_aero(:),  solswai_aero(:)  ! diag
77      !$OMP THREADPRIVATE(topswai_aero,solswai_aero)
78      REAL, SAVE, ALLOCATABLE :: topswad0_aero(:), solswad0_aero(:) ! pas utilise, eventuellment pour diag
79      !$OMP THREADPRIVATE(topswad0_aero,solswad0_aero)
80      REAL, SAVE, ALLOCATABLE :: topsw_aero(:,:),  solsw_aero(:,:)  ! pas utilise, eventuellment pour diag
81      !$OMP THREADPRIVATE(topsw_aero,solsw_aero)
82      REAL, SAVE, ALLOCATABLE :: topsw0_aero(:,:), solsw0_aero(:,:) ! pas utilise, eventuellment pour diag
83      !$OMP THREADPRIVATE(topsw0_aero,solsw0_aero)
84      REAL, SAVE, ALLOCATABLE :: tausum_aero(:,:,:)
85      !$OMP THREADPRIVATE(tausum_aero)
86      REAL, SAVE, ALLOCATABLE :: tau3d_aero(:,:,:,:)
87      !$OMP THREADPRIVATE(tau3d_aero)
88
89CONTAINS
90
91!======================================================================
92SUBROUTINE phys_local_var_init
93use dimphy
94use infotrac, ONLY : nbtr
95USE aero_mod
96
97IMPLICIT NONE
98#include "indicesol.h"
99      allocate(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev))
100      allocate(u_seri(klon,klev),v_seri(klon,klev))
101
102      allocate(tr_seri(klon,klev,nbtr))
103      allocate(d_t_dyn(klon,klev),d_q_dyn(klon,klev))
104      allocate(d_u_dyn(klon,klev),d_v_dyn(klon,klev))
105      allocate(d_t_con(klon,klev),d_q_con(klon,klev))
106      allocate(d_u_con(klon,klev),d_v_con(klon,klev))
107      allocate(d_t_wake(klon,klev),d_q_wake(klon,klev))
108      allocate(d_t_lsc(klon,klev),d_q_lsc(klon,klev))
109      allocate(d_ql_lsc(klon,klev))
110      allocate(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev))
111      allocate(d_t_ajs(klon,klev),d_q_ajs(klon,klev))
112      allocate(d_u_ajs(klon,klev),d_v_ajs(klon,klev))
113      allocate(d_t_eva(klon,klev),d_q_eva(klon,klev))
114      allocate(d_t_vdf(klon,klev),d_q_vdf(klon,klev))
115      allocate(d_u_vdf(klon,klev),d_v_vdf(klon,klev))
116      allocate(d_t_oli(klon,klev),d_t_oro(klon,klev))
117      allocate(d_u_oli(klon,klev),d_v_oli(klon,klev))
118      allocate(d_u_oro(klon,klev),d_v_oro(klon,klev))
119      allocate(d_t_lif(klon,klev),d_t_ec(klon,klev))
120      allocate(d_u_lif(klon,klev),d_v_lif(klon,klev))
121      allocate(d_ts(klon,klev), d_tr(klon,klev,nbtr))
122      allocate(topswad_aero(klon), solswad_aero(klon))
123      allocate(topswai_aero(klon), solswai_aero(klon))
124      allocate(topswad0_aero(klon), solswad0_aero(klon))
125      allocate(topsw_aero(klon,naero_grp), solsw_aero(klon,naero_grp))
126      allocate(topsw0_aero(klon,naero_grp), solsw0_aero(klon,naero_grp))
127      allocate(d_u_hin(klon,klev),d_v_hin(klon,klev),d_t_hin(klon,klev))
128      allocate(tausum_aero(klon,nwave,naero_spc))
129      allocate(tau3d_aero(klon,klev,nwave,naero_spc))
130
131END SUBROUTINE phys_local_var_init
132
133!======================================================================
134SUBROUTINE phys_local_var_end
135use dimphy
136IMPLICIT NONE
137#include "indicesol.h"
138      deallocate(t_seri,q_seri,ql_seri,qs_seri)
139      deallocate(u_seri,v_seri)
140
141      deallocate(tr_seri)
142      deallocate(d_t_dyn,d_q_dyn)
143      deallocate(d_u_dyn,d_v_dyn)
144      deallocate(d_t_con,d_q_con)
145      deallocate(d_u_con,d_v_con)
146      deallocate(d_t_wake,d_q_wake)
147      deallocate(d_t_lsc,d_q_lsc)
148      deallocate(d_ql_lsc)
149      deallocate(d_t_ajsb,d_q_ajsb)
150      deallocate(d_t_ajs,d_q_ajs)
151      deallocate(d_u_ajs,d_v_ajs)
152      deallocate(d_t_eva,d_q_eva)
153      deallocate(d_t_vdf,d_q_vdf)
154      deallocate(d_u_vdf,d_v_vdf)
155      deallocate(d_t_oli,d_t_oro)
156      deallocate(d_u_oli,d_v_oli)
157      deallocate(d_u_oro,d_v_oro)
158      deallocate(d_t_lif,d_t_ec)
159      deallocate(d_u_lif,d_v_lif)
160      deallocate(d_ts, d_tr)
161      deallocate(topswad_aero,solswad_aero)
162      deallocate(topswai_aero,solswai_aero)
163      deallocate(topswad0_aero,solswad0_aero)
164      deallocate(topsw_aero,solsw_aero)
165      deallocate(topsw0_aero,solsw0_aero)
166      deallocate(tausum_aero)
167      deallocate(tau3d_aero)
168      deallocate(d_u_hin,d_v_hin,d_t_hin)
169
170END SUBROUTINE phys_local_var_end
171
172END MODULE phys_local_var_mod
Note: See TracBrowser for help on using the repository browser.