source: LMDZ4/trunk/libf/phylmd/phys_local_var_mod.F90 @ 996

Last change on this file since 996 was 987, checked in by Laurent Fairhead, 16 years ago

Du nettoyage sur le parallelisme, inclusion de nouvelles interfaces pour OPA9
et ORCHIDEE YM
LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 4.8 KB
Line 
1      MODULE phys_local_var_mod
2! Variables locales pour effectuer les appels en serie
3!======================================================================
4!
5!
6!======================================================================
7! Declaration des variables
8
9      REAL, SAVE, ALLOCATABLE :: t_seri(:,:), q_seri(:,:)
10      !$OMP THREADPRIVATE(t_seri, q_seri)
11      REAL, SAVE, ALLOCATABLE :: ql_seri(:,:),qs_seri(:,:)
12      !$OMP THREADPRIVATE(ql_seri,qs_seri)
13      REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:)
14      !$OMP THREADPRIVATE(u_seri, v_seri)
15
16      REAL, SAVE, ALLOCATABLE :: tr_seri(:,:,:)
17      !$OMP THREADPRIVATE(tr_seri)
18      REAL, SAVE, ALLOCATABLE :: d_t_dyn(:,:), d_q_dyn(:,:)
19      !$OMP THREADPRIVATE(d_t_dyn, d_q_dyn)
20      REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:)
21      !$OMP THREADPRIVATE(d_t_con,d_q_con)
22      REAL, SAVE, ALLOCATABLE :: d_u_con(:,:),d_v_con(:,:)
23      !$OMP THREADPRIVATE(d_u_con,d_v_con)
24      REAL, SAVE, ALLOCATABLE :: d_t_wake(:,:),d_q_wake(:,:)
25      !$OMP THREADPRIVATE( d_t_wake,d_q_wake)
26      REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:)
27      !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc)
28      REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:)
29      !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb)
30      REAL, SAVE, ALLOCATABLE :: d_t_ajs(:,:), d_q_ajs(:,:)
31      !$OMP THREADPRIVATE(d_t_ajs, d_q_ajs)
32      REAL, SAVE, ALLOCATABLE :: d_u_ajs(:,:), d_v_ajs(:,:)
33      !$OMP THREADPRIVATE(d_u_ajs, d_v_ajs)
34      REAL, SAVE, ALLOCATABLE :: d_t_eva(:,:),d_q_eva(:,:)
35      !$OMP THREADPRIVATE(d_t_eva,d_q_eva)
36!tendances dues a oro et lif
37      REAL, SAVE, ALLOCATABLE :: d_t_oli(:,:)
38      !$OMP THREADPRIVATE(d_t_oli)
39      REAL, SAVE, ALLOCATABLE :: d_u_oli(:,:), d_v_oli(:,:)
40      !$OMP THREADPRIVATE(d_u_oli, d_v_oli)
41      REAL, SAVE, ALLOCATABLE :: d_t_vdf(:,:), d_q_vdf(:,:)
42      !$OMP THREADPRIVATE( d_t_vdf, d_q_vdf)
43      REAL, SAVE, ALLOCATABLE :: d_u_vdf(:,:), d_v_vdf(:,:)
44      !$OMP THREADPRIVATE(d_u_vdf, d_v_vdf)
45      REAL, SAVE, ALLOCATABLE :: d_t_oro(:,:)
46      !$OMP THREADPRIVATE(d_t_oro)
47      REAL, SAVE, ALLOCATABLE :: d_u_oro(:,:), d_v_oro(:,:)
48      !$OMP THREADPRIVATE(d_u_oro, d_v_oro)
49      REAL, SAVE, ALLOCATABLE :: d_t_lif(:,:)
50      !$OMP THREADPRIVATE(d_t_lif)
51      REAL, SAVE, ALLOCATABLE :: d_u_lif(:,:), d_v_lif(:,:)
52      !$OMP THREADPRIVATE(d_u_lif, d_v_lif)
53! tendance du a la conersion Ec -> E thermique
54      REAL, SAVE, ALLOCATABLE :: d_t_ec(:,:)
55      !$OMP THREADPRIVATE(d_t_ec)
56      REAL, SAVE, ALLOCATABLE :: d_ts(:,:), d_tr(:,:,:)
57      !$OMP THREADPRIVATE(d_ts, d_tr)
58CONTAINS
59
60!======================================================================
61SUBROUTINE phys_local_var_init
62use dimphy
63IMPLICIT NONE
64#include "indicesol.h"
65      allocate(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev))
66      allocate(u_seri(klon,klev),v_seri(klon,klev))
67
68      allocate(tr_seri(klon,klev,nbtr))
69      allocate(d_t_dyn(klon,klev),d_q_dyn(klon,klev))
70      allocate(d_t_con(klon,klev),d_q_con(klon,klev))
71      allocate(d_u_con(klon,klev),d_v_con(klon,klev))
72      allocate(d_t_wake(klon,klev),d_q_wake(klon,klev))
73      allocate(d_t_lsc(klon,klev),d_q_lsc(klon,klev))
74      allocate(d_ql_lsc(klon,klev))
75      allocate(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev))
76      allocate(d_t_ajs(klon,klev),d_q_ajs(klon,klev))
77      allocate(d_u_ajs(klon,klev),d_v_ajs(klon,klev))
78      allocate(d_t_eva(klon,klev),d_q_eva(klon,klev))
79      allocate(d_t_vdf(klon,klev),d_q_vdf(klon,klev))
80      allocate(d_u_vdf(klon,klev),d_v_vdf(klon,klev))
81      allocate(d_t_oli(klon,klev),d_t_oro(klon,klev))
82      allocate(d_u_oli(klon,klev),d_v_oli(klon,klev))
83      allocate(d_u_oro(klon,klev),d_v_oro(klon,klev))
84      allocate(d_t_lif(klon,klev),d_t_ec(klon,klev))
85      allocate(d_u_lif(klon,klev),d_v_lif(klon,klev))
86      allocate(d_ts(klon,klev), d_tr(klon,klev,nbtr))
87END SUBROUTINE phys_local_var_init
88
89!======================================================================
90SUBROUTINE phys_local_var_end
91use dimphy
92IMPLICIT NONE
93#include "indicesol.h"
94      deallocate(t_seri,q_seri,ql_seri,qs_seri)
95      deallocate(u_seri,v_seri)
96
97      deallocate(tr_seri)
98      deallocate(d_t_dyn,d_q_dyn)
99      deallocate(d_t_con,d_q_con)
100      deallocate(d_u_con,d_v_con)
101      deallocate(d_t_wake,d_q_wake)
102      deallocate(d_t_lsc,d_q_lsc)
103      deallocate(d_ql_lsc)
104      deallocate(d_t_ajsb,d_q_ajsb)
105      deallocate(d_t_ajs,d_q_ajs)
106      deallocate(d_u_ajs,d_v_ajs)
107      deallocate(d_t_eva,d_q_eva)
108      deallocate(d_t_vdf,d_q_vdf)
109      deallocate(d_u_vdf,d_v_vdf)
110      deallocate(d_t_oli,d_t_oro)
111      deallocate(d_u_oli,d_v_oli)
112      deallocate(d_u_oro,d_v_oro)
113      deallocate(d_t_lif,d_t_ec)
114      deallocate(d_u_lif,d_v_lif)
115      deallocate(d_ts, d_tr)
116END SUBROUTINE phys_local_var_end
117
118END MODULE phys_local_var_mod
Note: See TracBrowser for help on using the repository browser.