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

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

Réintegration dans le tronc des modifications issues de la branche LMDZ-dev
comprises entre la révision 1074 et 1145
Validation: une simulation de 1 jour en séquentiel sur PC donne les mêmes
résultats entre la trunk et la dev
LF

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