GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: phylmd/phys_local_var_mod.F90 Lines: 247 469 52.7 %
Date: 2023-06-30 12:56:34 Branches: 1791 4330 41.4 %

Line Branch Exec Source
1
!
2
! $Id: phys_local_var_mod.F90 4575 2023-06-14 15:06:15Z fairhead $
3
!
4
      MODULE phys_local_var_mod
5
! Variables locales pour effectuer les appels en serie
6
!======================================================================
7
!
8
!
9
!======================================================================
10
! Declaration des variables
11
12
      REAL, SAVE, ALLOCATABLE :: t_seri(:,:), q_seri(:,:)
13
      !$OMP THREADPRIVATE(t_seri, q_seri)
14
      REAL, SAVE, ALLOCATABLE :: ql_seri(:,:),qs_seri(:,:)
15
      !$OMP THREADPRIVATE(ql_seri,qs_seri)
16
      REAL, SAVE, ALLOCATABLE :: qbs_seri(:,:)
17
      !$OMP THREADPRIVATE(qbs_seri)
18
      REAL, SAVE, ALLOCATABLE :: u_seri(:,:), v_seri(:,:)
19
      !$OMP THREADPRIVATE(u_seri, v_seri)
20
      REAL, SAVE, ALLOCATABLE :: rneb_seri(:,:)
21
      !$OMP THREADPRIVATE(rneb_seri)
22
      REAL, SAVE, ALLOCATABLE :: d_rneb_dyn(:,:)
23
      !$OMP THREADPRIVATE(d_rneb_dyn)
24
      REAL, SAVE, ALLOCATABLE :: l_mixmin(:,:,:),l_mix(:,:,:),tke_dissip(:,:,:),wprime(:,:,:)
25
      !$OMP THREADPRIVATE(l_mixmin, l_mix, tke_dissip,wprime)
26
      REAL, SAVE, ALLOCATABLE :: tr_seri(:,:,:)
27
      !$OMP THREADPRIVATE(tr_seri)
28
      REAL, SAVE, ALLOCATABLE :: rhcl(:,:)
29
      !$OMP THREADPRIVATE(rhcl)
30
      REAL, SAVE, ALLOCATABLE :: d_t_dyn(:,:), d_q_dyn(:,:)
31
      !$OMP THREADPRIVATE(d_t_dyn, d_q_dyn)
32
      REAL, SAVE, ALLOCATABLE :: d_ql_dyn(:,:), d_qs_dyn(:,:), d_qbs_dyn(:,:)
33
      !$OMP THREADPRIVATE(d_ql_dyn, d_qs_dyn, d_qbs_dyn)
34
      REAL, SAVE, ALLOCATABLE :: d_q_dyn2d(:), d_ql_dyn2d(:), d_qs_dyn2d(:), d_qbs_dyn2d(:)
35
      !$OMP THREADPRIVATE(d_q_dyn2d, d_ql_dyn2d, d_qs_dyn2d, d_qbs_dyn2d)
36
      REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:)
37
      !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn)
38
      REAL, SAVE, ALLOCATABLE :: d_tr_dyn(:,:,:)
39
      !$OMP THREADPRIVATE(d_tr_dyn)
40
      REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:)
41
      !$OMP THREADPRIVATE(d_t_con,d_q_con)
42
      REAL, SAVE, ALLOCATABLE :: d_u_con(:,:),d_v_con(:,:)
43
      !$OMP THREADPRIVATE(d_u_con,d_v_con)
44
      REAL, SAVE, ALLOCATABLE :: d_t_wake(:,:),d_q_wake(:,:)
45
      !$OMP THREADPRIVATE( d_t_wake,d_q_wake)
46
      REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:),d_qi_lsc(:,:)
47
      !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc,d_qi_lsc)
48
      REAL, SAVE, ALLOCATABLE :: d_t_lwr(:,:),d_t_lw0(:,:),d_t_swr(:,:),d_t_sw0(:,:)
49
      !$OMP THREADPRIVATE(d_t_lwr,d_t_lw0,d_t_swr,d_t_sw0)
50
      REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:)
51
      !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb)
52
      REAL, SAVE, ALLOCATABLE :: d_t_ajs(:,:), d_q_ajs(:,:)
53
      !$OMP THREADPRIVATE(d_t_ajs, d_q_ajs)
54
      REAL, SAVE, ALLOCATABLE :: d_u_ajs(:,:), d_v_ajs(:,:)
55
      !$OMP THREADPRIVATE(d_u_ajs, d_v_ajs)
56
!nrlmd<
57
      REAL, SAVE, ALLOCATABLE :: d_t_ajs_w(:,:), d_q_ajs_w(:,:)
58
      !$OMP THREADPRIVATE(d_t_ajs_w, d_q_ajs_w)
59
      REAL, SAVE, ALLOCATABLE :: d_t_ajs_x(:,:), d_q_ajs_x(:,:)
60
      !$OMP THREADPRIVATE(d_t_ajs_x, d_q_ajs_x)
61
!>nrlmd
62
      REAL, SAVE, ALLOCATABLE :: d_t_eva(:,:),d_q_eva(:,:),d_ql_eva(:,:),d_qi_eva(:,:)
63
      !$OMP THREADPRIVATE(d_t_eva,d_q_eva,d_ql_eva,d_qi_eva)
64
      REAL, SAVE, ALLOCATABLE :: d_t_lscst(:,:),d_q_lscst(:,:)
65
      !$OMP THREADPRIVATE(d_t_lscst,d_q_lscst)
66
      REAL, SAVE, ALLOCATABLE :: d_t_lscth(:,:),d_q_lscth(:,:)
67
      !$OMP THREADPRIVATE(d_t_lscth,d_q_lscth)
68
      REAL, SAVE, ALLOCATABLE :: plul_th(:),plul_st(:)
69
      !$OMP THREADPRIVATE(plul_th,plul_st)
70
!tendances dues a oro et lif
71
      REAL, SAVE, ALLOCATABLE :: d_t_oli(:,:)
72
      !$OMP THREADPRIVATE(d_t_oli)
73
      REAL, SAVE, ALLOCATABLE :: d_u_oli(:,:), d_v_oli(:,:)
74
      !$OMP THREADPRIVATE(d_u_oli, d_v_oli)
75
      REAL, SAVE, ALLOCATABLE :: d_t_vdf(:,:), d_q_vdf(:,:), d_qbs_vdf(:,:), d_t_diss(:,:)
76
      !$OMP THREADPRIVATE( d_t_vdf, d_q_vdf, d_qbs_vdf, d_t_diss)
77
      REAL, SAVE, ALLOCATABLE :: d_u_vdf(:,:), d_v_vdf(:,:)
78
      !$OMP THREADPRIVATE(d_u_vdf, d_v_vdf)
79
!nrlmd+jyg<
80
      REAL, SAVE, ALLOCATABLE :: d_t_vdf_w(:,:), d_q_vdf_w(:,:)
81
      !$OMP THREADPRIVATE( d_t_vdf_w, d_q_vdf_w)
82
      REAL, SAVE, ALLOCATABLE :: d_t_vdf_x(:,:), d_q_vdf_x(:,:)
83
      !$OMP THREADPRIVATE( d_t_vdf_x, d_q_vdf_x)
84
      REAL, SAVE, ALLOCATABLE :: d_t_bs(:,:), d_q_bs(:,:), d_qbs_bs(:,:)
85
      !$OMP THREADPRIVATE( d_t_bs,d_q_bs, d_qbs_bs)
86
!>nrlmd+jyg
87
      REAL, SAVE, ALLOCATABLE :: d_t_oro(:,:)
88
      !$OMP THREADPRIVATE(d_t_oro)
89
      REAL, SAVE, ALLOCATABLE :: d_u_oro(:,:), d_v_oro(:,:)
90
      !$OMP THREADPRIVATE(d_u_oro, d_v_oro)
91
      REAL, SAVE, ALLOCATABLE :: d_t_oro_gw(:,:)
92
      !$OMP THREADPRIVATE(d_t_oro_gw)
93
      REAL, SAVE, ALLOCATABLE :: d_u_oro_gw(:,:), d_v_oro_gw(:,:)
94
      !$OMP THREADPRIVATE(d_u_oro_gw, d_v_oro_gw)
95
      REAL, SAVE, ALLOCATABLE :: d_t_lif(:,:)
96
      !$OMP THREADPRIVATE(d_t_lif)
97
      REAL, SAVE, ALLOCATABLE :: d_u_lif(:,:), d_v_lif(:,:)
98
      !$OMP THREADPRIVATE(d_u_lif, d_v_lif)
99
! Tendances Ondes de G non oro (runs strato).
100
      REAL, SAVE, ALLOCATABLE :: du_gwd_hines(:,:)
101
      !$OMP THREADPRIVATE(du_gwd_hines)
102
      REAL, SAVE, ALLOCATABLE :: dv_gwd_hines(:,:)
103
      !$OMP THREADPRIVATE(dv_gwd_hines)
104
      REAL, SAVE, ALLOCATABLE :: dv_gwd_rando(:,:)
105
      !$OMP THREADPRIVATE(dv_gwd_rando)
106
      REAL, SAVE, ALLOCATABLE :: dv_gwd_front(:,:)
107
      !$OMP THREADPRIVATE(dv_gwd_front)
108
      REAL, SAVE, ALLOCATABLE :: east_gwstress(:,:)
109
      !$OMP THREADPRIVATE(east_gwstress)
110
      REAL, SAVE, ALLOCATABLE :: west_gwstress(:,:)
111
      !$OMP THREADPRIVATE(west_gwstress)
112
      REAL, SAVE, ALLOCATABLE :: d_t_hin(:,:)
113
      !$OMP THREADPRIVATE(d_t_hin)
114
! tendance due a l'oxydation du methane
115
      REAL, SAVE, ALLOCATABLE :: d_q_ch4(:,:)
116
      !$OMP THREADPRIVATE(d_q_ch4)
117
118
! tendance du a la conersion Ec -> E thermique
119
      REAL, SAVE, ALLOCATABLE :: d_t_ec(:,:)
120
      !$OMP THREADPRIVATE(d_t_ec)
121
      REAL, SAVE, ALLOCATABLE :: d_ts(:,:), d_tr(:,:,:)
122
      !$OMP THREADPRIVATE(d_ts, d_tr)
123
124
! aerosols
125
      REAL, SAVE, ALLOCATABLE :: m_allaer (:,:,:)
126
      !$OMP THREADPRIVATE(m_allaer)
127
! diagnostique pour le rayonnement
128
      REAL, SAVE, ALLOCATABLE :: topswad_aero(:),  solswad_aero(:)      ! diag
129
      !$OMP THREADPRIVATE(topswad_aero,solswad_aero)
130
      REAL, SAVE, ALLOCATABLE :: topswai_aero(:),  solswai_aero(:)      ! diag
131
      !$OMP THREADPRIVATE(topswai_aero,solswai_aero)
132
      REAL, SAVE, ALLOCATABLE :: topswad0_aero(:), solswad0_aero(:)     ! diag
133
      !$OMP THREADPRIVATE(topswad0_aero,solswad0_aero)
134
      REAL, SAVE, ALLOCATABLE :: topsw_aero(:,:),  solsw_aero(:,:)      ! diag
135
      !$OMP THREADPRIVATE(topsw_aero,solsw_aero)
136
      REAL, SAVE, ALLOCATABLE :: topsw0_aero(:,:), solsw0_aero(:,:)     ! diag
137
      !$OMP THREADPRIVATE(topsw0_aero,solsw0_aero)
138
      REAL, SAVE, ALLOCATABLE :: topswcf_aero(:,:),  solswcf_aero(:,:)  ! diag
139
      !$OMP THREADPRIVATE(topswcf_aero,solswcf_aero)
140
! LW radiation diagnostics CK
141
      REAL, SAVE, ALLOCATABLE :: toplwad_aero(:),  sollwad_aero(:)      ! diag
142
      !$OMP THREADPRIVATE(toplwad_aero,sollwad_aero)
143
      REAL, SAVE, ALLOCATABLE :: toplwai_aero(:),  sollwai_aero(:)      ! diag
144
      !$OMP THREADPRIVATE(toplwai_aero,sollwai_aero)
145
      REAL, SAVE, ALLOCATABLE :: toplwad0_aero(:), sollwad0_aero(:)     ! diag
146
      !$OMP THREADPRIVATE(toplwad0_aero,sollwad0_aero)
147
! Special RRTM
148
      REAL, SAVE, ALLOCATABLE :: ZLWFT0_i(:,:),  ZSWFT0_i(:,:)      ! diag
149
      !$OMP THREADPRIVATE(ZLWFT0_i,ZSWFT0_i)
150
      REAL, SAVE, ALLOCATABLE :: ZFLDN0(:,:),  ZFLUP0(:,:)      ! diag
151
      !$OMP THREADPRIVATE(ZFLDN0,ZFLUP0)
152
      REAL, SAVE, ALLOCATABLE :: ZFSDN0(:,:),  ZFSUP0(:,:)      ! diag
153
      !$OMP THREADPRIVATE(ZFSDN0,ZFSUP0)
154
!
155
      REAL, SAVE, ALLOCATABLE :: stratomask(:,:)
156
      !$OMP THREADPRIVATE(stratomask)
157
      REAL, SAVE, ALLOCATABLE :: tausum_aero(:,:,:)
158
      !$OMP THREADPRIVATE(tausum_aero)
159
      REAL, SAVE, ALLOCATABLE :: drytausum_aero(:,:)
160
      !$OMP THREADPRIVATE(drytausum_aero)
161
      REAL, SAVE, ALLOCATABLE :: tau3d_aero(:,:,:,:)
162
      !$OMP THREADPRIVATE(tau3d_aero)
163
      REAL, SAVE, ALLOCATABLE :: scdnc(:,:)
164
      !$OMP THREADPRIVATE(scdnc)
165
      REAL, SAVE, ALLOCATABLE :: dNovrN(:)
166
      !$OMP THREADPRIVATE(dNovrN)
167
      REAL, SAVE, ALLOCATABLE :: cldncl(:)
168
      !$OMP THREADPRIVATE(cldncl)
169
      REAL, SAVE, ALLOCATABLE :: reffclwtop(:)
170
      !$OMP THREADPRIVATE(reffclwtop)
171
      REAL, SAVE, ALLOCATABLE :: lcc(:)
172
      !$OMP THREADPRIVATE(lcc)
173
      REAL, SAVE, ALLOCATABLE :: reffclws(:,:)
174
      !$OMP THREADPRIVATE(reffclws)
175
      REAL, SAVE, ALLOCATABLE :: reffclwc(:,:)
176
      !$OMP THREADPRIVATE(reffclwc)
177
      REAL, SAVE, ALLOCATABLE :: cldnvi(:)
178
      !$OMP THREADPRIVATE(cldnvi)
179
      REAL, SAVE, ALLOCATABLE :: lcc3d(:,:)
180
      !$OMP THREADPRIVATE(lcc3d)
181
      REAL, SAVE, ALLOCATABLE :: lcc3dcon(:,:)
182
      !$OMP THREADPRIVATE(lcc3dcon)
183
      REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:)
184
      !$OMP THREADPRIVATE(lcc3dstra)
185
      REAL, SAVE, ALLOCATABLE :: icc3dcon(:,:)
186
      !$OMP THREADPRIVATE(icc3dcon)
187
      REAL, SAVE, ALLOCATABLE :: icc3dstra(:,:)
188
      !$OMP THREADPRIVATE(icc3dstra)
189
      REAL, SAVE, ALLOCATABLE :: zfice(:,:)
190
      !$OMP THREADPRIVATE(zfice)
191
      REAL, SAVE, ALLOCATABLE :: od443aer(:)
192
      !$OMP THREADPRIVATE(od443aer)
193
      REAL, SAVE, ALLOCATABLE :: od550aer(:)
194
      !$OMP THREADPRIVATE(od550aer)
195
      REAL, SAVE, ALLOCATABLE :: dryod550aer(:)
196
      !$OMP THREADPRIVATE(dryod550aer)
197
      REAL, SAVE, ALLOCATABLE :: abs550aer(:)
198
      !$OMP THREADPRIVATE(abs550aer)
199
      REAL, SAVE, ALLOCATABLE :: od865aer(:)
200
      !$OMP THREADPRIVATE(od865aer)
201
      REAL, SAVE, ALLOCATABLE :: ec550aer(:,:)
202
      !$OMP THREADPRIVATE(ec550aer)
203
      REAL, SAVE, ALLOCATABLE :: od550lt1aer(:)
204
      !$OMP THREADPRIVATE(od550lt1aer)
205
      REAL, SAVE, ALLOCATABLE :: sconcso4(:)
206
      !$OMP THREADPRIVATE(sconcso4)
207
      REAL, SAVE, ALLOCATABLE :: sconcno3(:)
208
      !$OMP THREADPRIVATE(sconcno3)
209
      REAL, SAVE, ALLOCATABLE :: sconcoa(:)
210
      !$OMP THREADPRIVATE(sconcoa)
211
      REAL, SAVE, ALLOCATABLE :: sconcbc(:)
212
      !$OMP THREADPRIVATE(sconcbc)
213
      REAL, SAVE, ALLOCATABLE :: sconcss(:)
214
      !$OMP THREADPRIVATE(sconcss)
215
      REAL, SAVE, ALLOCATABLE :: sconcdust(:)
216
      !$OMP THREADPRIVATE(sconcdust)
217
      REAL, SAVE, ALLOCATABLE :: concso4(:,:)
218
      !$OMP THREADPRIVATE(concso4)
219
      REAL, SAVE, ALLOCATABLE :: concno3(:,:)
220
      !$OMP THREADPRIVATE(concno3)
221
      REAL, SAVE, ALLOCATABLE :: concoa(:,:)
222
      !$OMP THREADPRIVATE(concoa)
223
      REAL, SAVE, ALLOCATABLE :: concbc(:,:)
224
      !$OMP THREADPRIVATE(concbc)
225
      REAL, SAVE, ALLOCATABLE :: concss(:,:)
226
      !$OMP THREADPRIVATE(concss)
227
      REAL, SAVE, ALLOCATABLE :: concdust(:,:)
228
      !$OMP THREADPRIVATE(concdust)
229
      REAL, SAVE, ALLOCATABLE :: loadso4(:)
230
      !$OMP THREADPRIVATE(loadso4)
231
      REAL, SAVE, ALLOCATABLE :: loadoa(:)
232
      !$OMP THREADPRIVATE(loadoa)
233
      REAL, SAVE, ALLOCATABLE :: loadbc(:)
234
      !$OMP THREADPRIVATE(loadbc)
235
      REAL, SAVE, ALLOCATABLE :: loadss(:)
236
      !$OMP THREADPRIVATE(loadss)
237
      REAL, SAVE, ALLOCATABLE :: loaddust(:)
238
      !$OMP THREADPRIVATE(loaddust)
239
      REAL, SAVE, ALLOCATABLE :: loadno3(:)
240
      !$OMP THREADPRIVATE(loadno3)
241
      REAL, SAVE, ALLOCATABLE :: load_tmp1(:), load_tmp2(:)
242
      !$OMP THREADPRIVATE(load_tmp1, load_tmp2)
243
      REAL, SAVE, ALLOCATABLE :: load_tmp3(:), load_tmp4(:)
244
      !$OMP THREADPRIVATE(load_tmp3, load_tmp4)
245
      REAL, SAVE, ALLOCATABLE :: load_tmp5(:), load_tmp6(:)
246
      !$OMP THREADPRIVATE(load_tmp5, load_tmp6)
247
      REAL, SAVE, ALLOCATABLE :: load_tmp7(:), load_tmp8(:)
248
      !$OMP THREADPRIVATE(load_tmp7, load_tmp8)
249
      REAL, SAVE, ALLOCATABLE :: load_tmp9(:), load_tmp10(:)
250
      !$OMP THREADPRIVATE(load_tmp9, load_tmp10)
251
252
!IM ajout variables CFMIP2/CMIP5
253
      REAL,ALLOCATABLE,SAVE :: topswad_aerop(:), solswad_aerop(:)
254
!$OMP THREADPRIVATE(topswad_aerop, solswad_aerop)
255
      REAL,ALLOCATABLE,SAVE :: topswai_aerop(:), solswai_aerop(:)
256
!$OMP THREADPRIVATE(topswai_aerop, solswai_aerop)
257
      REAL,ALLOCATABLE,SAVE :: topswad0_aerop(:), solswad0_aerop(:)
258
!$OMP THREADPRIVATE(topswad0_aerop, solswad0_aerop)
259
      REAL,ALLOCATABLE,SAVE :: topsw_aerop(:,:), topsw0_aerop(:,:)
260
!$OMP THREADPRIVATE(topsw_aerop, topsw0_aerop)
261
      REAL,ALLOCATABLE,SAVE :: solsw_aerop(:,:), solsw0_aerop(:,:)
262
!$OMP THREADPRIVATE(solsw_aerop, solsw0_aerop)
263
      REAL,ALLOCATABLE,SAVE :: topswcf_aerop(:,:), solswcf_aerop(:,:)
264
!$OMP THREADPRIVATE(topswcf_aerop, solswcf_aerop)
265
266
! additional LW variables CK
267
      REAL,ALLOCATABLE,SAVE :: toplwad_aerop(:), sollwad_aerop(:)
268
!$OMP THREADPRIVATE(toplwad_aerop, sollwad_aerop)
269
      REAL,ALLOCATABLE,SAVE :: toplwai_aerop(:), sollwai_aerop(:)
270
!$OMP THREADPRIVATE(toplwai_aerop, sollwai_aerop)
271
      REAL,ALLOCATABLE,SAVE :: toplwad0_aerop(:), sollwad0_aerop(:)
272
!$OMP THREADPRIVATE(toplwad0_aerop, sollwad0_aerop)
273
274
!Ajout de celles n??cessaires au phys_output_write_mod
275
      REAL, SAVE, ALLOCATABLE :: tal1(:), pal1(:), pab1(:), pab2(:)
276
!$OMP THREADPRIVATE(tal1, pal1, pab1, pab2)
277
      REAL, SAVE, ALLOCATABLE :: ptstar(:), pt0(:), slp(:)
278
!$OMP THREADPRIVATE(ptstar, pt0, slp)
279
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sens, flwp, fiwp
280
!$OMP THREADPRIVATE(sens, flwp, fiwp)
281
!!
282
!FC
283
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zxfluxt, zxfluxq
284
!$OMP THREADPRIVATE(zxfluxt, zxfluxq)
285
!FC
286
!!         Wake variables
287
      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: alp_wake
288
!$OMP THREADPRIVATE(alp_wake)
289
!!jyg!      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: wake_h,wake_k
290
      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: wake_h
291
      INTEGER,ALLOCATABLE,SAVE,DIMENSION(:)         :: wake_k
292
!$OMP THREADPRIVATE(wake_h,wake_k)
293
    REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)            :: wake_omg
294
!$OMP THREADPRIVATE(wake_omg)
295
    REAL, SAVE, ALLOCATABLE,DIMENSION(:,:)          :: d_deltat_wk, d_deltaq_wk
296
!$OMP THREADPRIVATE(d_deltat_wk, d_deltaq_wk)
297
      REAL,ALLOCATABLE,SAVE,DIMENSION(:)            :: d_s_wk, d_dens_a_wk, d_dens_wk
298
!$OMP THREADPRIVATE(d_s_wk, d_dens_a_wk, d_dens_wk)
299
    REAL, SAVE, ALLOCATABLE,DIMENSION(:,:)          :: d_deltat_wk_gw, d_deltaq_wk_gw
300
!$OMP THREADPRIVATE(d_deltat_wk_gw, d_deltaq_wk_gw)
301
    REAL, SAVE, ALLOCATABLE,DIMENSION(:,:)          :: d_deltat_vdf, d_deltaq_vdf
302
!$OMP THREADPRIVATE(d_deltat_vdf, d_deltaq_vdf)
303
!!!      REAL,ALLOCATABLE,SAVE,DIMENSION(:)          :: d_s_vdf, d_dens_vdf
304
!!!OMP THREADPRIVATE(d_s_vdf, d_dens_vdf)
305
    REAL, SAVE, ALLOCATABLE,DIMENSION(:,:)          :: d_deltat_the, d_deltaq_the
306
!$OMP THREADPRIVATE(d_deltat_the, d_deltaq_the)
307
!!!      REAL,ALLOCATABLE,SAVE,DIMENSION(:)          :: d_s_the, d_dens_the
308
!!!OMP THREADPRIVATE(d_s_the, d_dens_the)
309
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)           :: d_deltat_ajs_cv, d_deltaq_ajs_cv
310
!$OMP THREADPRIVATE(d_deltat_ajs_cv, d_deltaq_ajs_cv)
311
!!         End of Wake variables
312
!!
313
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: bils
314
!$OMP THREADPRIVATE(bils)
315
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragm, cdragh
316
!$OMP THREADPRIVATE(cdragm, cdragh)
317
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cldh, cldl, cldm, cldq, cldt, qsat2m
318
!$OMP THREADPRIVATE(cldh, cldl, cldm, cldq, cldt, qsat2m )
319
!AS: cldhjn, cldljn, cldmjn,cldtjn pas utilisés en tant que variables, juste noms de diagnostics
320
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: JrNt
321
!$OMP THREADPRIVATE(JrNt)
322
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: dthmin, evap, snowerosion, fder, plcl, plfc, prw, prlw, prsw, prbsw
323
!$OMP THREADPRIVATE(dthmin, evap, snowerosion, fder, plcl, plfc, prw, prlw, prsw, prbsw)
324
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zustar, zu10m, zv10m, rh2m
325
!$OMP THREADPRIVATE(zustar, zu10m, zv10m, rh2m)
326
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_lcl, s_pblh, s_pblt, s_therm
327
!$OMP THREADPRIVATE(s_lcl, s_pblh, s_pblt, s_therm)
328
!
329
!nrlmd+jyg<
330
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_pblh_x, s_pblh_w
331
!$OMP THREADPRIVATE(s_pblh_x, s_pblh_w)
332
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: s_lcl_x, s_lcl_w
333
!$OMP THREADPRIVATE(s_lcl_x, s_lcl_w)
334
!>nrlmd+jyg
335
!
336
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: slab_wfbils
337
!$OMP THREADPRIVATE(slab_wfbils)
338
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte
339
!$OMP THREADPRIVATE(tpot, tpote, ue, uq, uwat, ve, vq, vwat, zxffonte)
340
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxustartlic, zxrhoslic
341
!$OMP THREADPRIVATE(zxustartlic, zxrhoslic)
342
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfqcalving
343
!$OMP THREADPRIVATE(zxfqcalving)
344
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfluxlat, zxtsol, snow_lsc, zxfqfonte
345
!$OMP THREADPRIVATE(zxfluxlat, zxtsol, snow_lsc, zxfqfonte)
346
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxrunofflic
347
!$OMP THREADPRIVATE(zxrunofflic)
348
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxqsurf, rain_lsc, rain_num
349
!$OMP THREADPRIVATE(zxqsurf, rain_lsc, rain_num)
350
!
351
!jyg+nrlmd<
352
!!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
353
!                                                                          c
354
!       Declarations liees a la couche limite differentiee w-x             c
355
!                                                                          c
356
!!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
357
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: sens_x, sens_w
358
!$OMP THREADPRIVATE(sens_x, sens_w)
359
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zxfluxlat_x, zxfluxlat_w
360
!$OMP THREADPRIVATE(zxfluxlat_x, zxfluxlat_w)
361
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: delta_qsurf
362
!$OMP THREADPRIVATE(delta_qsurf)
363
!jyg<
364
!!! Entrees supplementaires couche-limite
365
!!      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t_x, t_w
366
!!!$OMP THREADPRIVATE(t_x, t_w)
367
!!      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: q_x, q_w
368
!!!$OMP THREADPRIVATE(q_x, q_w)
369
!>jyg
370
!!! Sorties ferret
371
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dtvdf_x, dtvdf_w
372
!$OMP THREADPRIVATE(dtvdf_x, dtvdf_w)
373
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dqvdf_x, dqvdf_w
374
!$OMP THREADPRIVATE(dqvdf_x, dqvdf_w)
375
! Variables supplementaires dans physiq.F relative au splitting de la surface
376
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: pbl_tke_input
377
!$OMP THREADPRIVATE(pbl_tke_input)
378
! Entree supplementaire Thermiques :
379
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: t_therm, q_therm, u_therm, v_therm
380
!$OMP THREADPRIVATE(t_therm, q_therm, u_therm, v_therm)
381
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragh_x, cdragh_w
382
!$OMP THREADPRIVATE(cdragh_x, cdragh_w)
383
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: cdragm_x, cdragm_w
384
!$OMP THREADPRIVATE(cdragm_x, cdragm_w)
385
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: kh, kh_x, kh_w
386
!$OMP THREADPRIVATE(kh, kh_x, kh_w)
387
!!!
388
!!!ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
389
      LOGICAL, SAVE, ALLOCATABLE :: ptconv(:,:)
390
      !$OMP THREADPRIVATE(ptconv)
391
      REAL, SAVE, ALLOCATABLE :: ratqsc(:,:)
392
      !$OMP THREADPRIVATE(ratqsc)
393
!>jyg+nrlmd
394
  !
395
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: wbeff, convoccur, zmax_th, zq2m, zt2m
396
!$OMP THREADPRIVATE(wbeff, convoccur, zmax_th, zq2m, zt2m)
397
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: zt2m_min_mon, zt2m_max_mon
398
!$OMP THREADPRIVATE(zt2m_min_mon, zt2m_max_mon)
399
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: t2m_min_mon, t2m_max_mon
400
!$OMP THREADPRIVATE(t2m_min_mon, t2m_max_mon)
401
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: weak_inversion
402
!$OMP THREADPRIVATE(weak_inversion)
403
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_conv,alp_bl_det
404
!$OMP THREADPRIVATE(alp_bl_conv,alp_bl_det)
405
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_fluct_m,alp_bl_fluct_tke
406
!$OMP THREADPRIVATE(alp_bl_fluct_m,alp_bl_fluct_tke)
407
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: alp_bl_stat, n2, s2
408
!$OMP THREADPRIVATE(alp_bl_stat, n2, s2)
409
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: proba_notrig, random_notrig
410
!$OMP THREADPRIVATE(proba_notrig, random_notrig)
411
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: fsolsw, wfbils, wfbilo
412
!$OMP THREADPRIVATE(fsolsw, wfbils, wfbilo)
413
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: wfevap, wfrain, wfsnow
414
!$OMP THREADPRIVATE(wfevap,wfrain,wfsnow)
415
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: t2m, fluxlat, fsollw,evap_pot
416
!$OMP THREADPRIVATE(t2m, fluxlat, fsollw,evap_pot)
417
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: dnwd0, omega
418
!$OMP THREADPRIVATE(dnwd0, omega)
419
      REAL,ALLOCATABLE,SAVE,DIMENSION(:) :: epmax_diag ! epmax_cape
420
!$OMP THREADPRIVATE(epmax_diag)
421
!
422
!  Deep convective variables used in phytrac
423
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: ep ! epmax_cape
424
!$OMP THREADPRIVATE(ep)
425
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: dnwd, upwd
426
!$OMP THREADPRIVATE(dnwd, upwd)
427
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: pmflxr, pmflxs
428
!$OMP THREADPRIVATE(pmflxr, pmflxs)
429
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wdtrainA, wdtrainS, wdtrainM
430
!$OMP THREADPRIVATE(wdtrainA, wdtrainS, wdtrainM)
431
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: da, mp
432
!$OMP THREADPRIVATE(da, mp)
433
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: wght_cvfd
434
!$OMP THREADPRIVATE(wght_cvfd)
435
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:):: phi, phi2, elij, epmlmMm
436
!$OMP THREADPRIVATE(phi, phi2, elij, epmlmMm)
437
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: d1a, dam
438
!$OMP THREADPRIVATE(d1a, dam)
439
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: ev
440
!$OMP THREADPRIVATE(ev)
441
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: qtaa
442
!$OMP THREADPRIVATE(qtaa)
443
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: clw
444
!$OMP THREADPRIVATE(clw)
445
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:)  :: eplaMm
446
!$OMP THREADPRIVATE(eplaMm)
447
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:):: sij
448
!$OMP THREADPRIVATE(sij)
449
!
450
!      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: coefh, coefm, lambda_th
451
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: lambda_th
452
!$OMP THREADPRIVATE(lambda_th)
453
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: cldemi, cldfra, cldtau, fiwc, fl, re, flwc
454
!$OMP THREADPRIVATE(cldemi, cldfra, cldtau, fiwc, fl, re, flwc)
455
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: qlth, qith, qsith, wiceth
456
!$OMP THREADPRIVATE(qlth, qith, qsith, wiceth)
457
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ref_liq, ref_ice, theta, zphi
458
!$OMP THREADPRIVATE(ref_liq, ref_ice, theta, zphi)
459
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: ref_liq_pi, ref_ice_pi
460
!$OMP THREADPRIVATE(ref_liq_pi, ref_ice_pi)
461
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zx_rh, zx_rhl, zx_rhi
462
!$OMP THREADPRIVATE(zx_rh, zx_rhl, zx_rhi)
463
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: prfl, psfl, fraca, bsfl
464
!$OMP THREADPRIVATE(prfl, psfl, fraca, bsfl)
465
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: Vprecip, zw2
466
!$OMP THREADPRIVATE(Vprecip, zw2)
467
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: pmfd, pmfu
468
!$OMP THREADPRIVATE(pmfd, pmfu)
469
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: fluxt, fluxu, fluxv
470
!$OMP THREADPRIVATE(fluxt, fluxu, fluxv)
471
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: uwriteSTD, vwriteSTD, wwriteSTD
472
!$OMP THREADPRIVATE(uwriteSTD, vwriteSTD, wwriteSTD)
473
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:,:) :: phiwriteSTD, qwriteSTD, twriteSTD, rhwriteSTD
474
!$OMP THREADPRIVATE(phiwriteSTD, qwriteSTD, twriteSTD, rhwriteSTD)
475
476
477
! ug et d'autres encore:
478
      REAL,ALLOCATABLE,SAVE,DIMENSION(:,:) :: beta_prec
479
!$OMP THREADPRIVATE(beta_prec)
480
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: rneb,rnebjn,rneblsvol
481
!$OMP THREADPRIVATE(rneb,rnebjn,rneblsvol)
482
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: pfraclr,pfracld
483
!$OMP THREADPRIVATE(pfraclr,pfracld)
484
485
! variables de sorties MM
486
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: zxsnow,snowhgt,qsnow,to_ice
487
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: sissnow,runoff,albsol3_lic
488
!$OMP THREADPRIVATE(zxsnow,snowhgt,qsnow,to_ice)
489
!$OMP THREADPRIVATE(sissnow,runoff,albsol3_lic)
490
491
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: p_tropopause, z_tropopause, t_tropopause
492
!$OMP THREADPRIVATE(p_tropopause, z_tropopause, t_tropopause)
493
494
      INTEGER,ALLOCATABLE,SAVE,DIMENSION(:,:) :: zn2mout
495
!$OMP THREADPRIVATE(zn2mout)
496
497
      REAL, SAVE, ALLOCATABLE :: qclr(:,:)
498
      !$OMP THREADPRIVATE(qclr)
499
      REAL, SAVE, ALLOCATABLE :: qcld(:,:)
500
      !$OMP THREADPRIVATE(qcld)
501
      REAL, SAVE, ALLOCATABLE :: qss(:,:)
502
      !$OMP THREADPRIVATE(qss)
503
      REAL, SAVE, ALLOCATABLE :: qvc(:,:)
504
      !$OMP THREADPRIVATE(qvc)
505
      REAL, SAVE, ALLOCATABLE :: rnebclr(:,:)
506
      !$OMP THREADPRIVATE(rnebclr)
507
      REAL, SAVE, ALLOCATABLE :: rnebss(:,:)
508
      !$OMP THREADPRIVATE(rnebss)
509
      REAL, SAVE, ALLOCATABLE :: gamma_ss(:,:)
510
      !$OMP THREADPRIVATE(gamma_ss)
511
      REAL, SAVE, ALLOCATABLE :: N1_ss(:,:)
512
      !$OMP THREADPRIVATE(N1_ss)
513
      REAL, SAVE, ALLOCATABLE :: N2_ss(:,:)
514
      !$OMP THREADPRIVATE(N2_ss)
515
      REAL, SAVE, ALLOCATABLE :: drneb_sub(:,:)
516
      !$OMP THREADPRIVATE(drneb_sub)
517
      REAL, SAVE, ALLOCATABLE :: drneb_con(:,:)
518
      !$OMP THREADPRIVATE(drneb_con)
519
      REAL, SAVE, ALLOCATABLE :: drneb_tur(:,:)
520
      !$OMP THREADPRIVATE(drneb_tur)
521
      REAL, SAVE, ALLOCATABLE :: drneb_avi(:,:)
522
      !$OMP THREADPRIVATE(drneb_avi)
523
      REAL, SAVE, ALLOCATABLE :: zqsatl(:,:)
524
      !$OMP THREADPRIVATE(zqsatl)
525
      REAL, SAVE, ALLOCATABLE :: zqsats(:,:)
526
      !$OMP THREADPRIVATE(zqsats)
527
      REAL, SAVE, ALLOCATABLE :: Tcontr(:,:)
528
      !$OMP THREADPRIVATE(Tcontr)
529
      REAL, SAVE, ALLOCATABLE :: qcontr(:,:)
530
      !$OMP THREADPRIVATE(qcontr)
531
      REAL, SAVE, ALLOCATABLE :: qcontr2(:,:)
532
      !$OMP THREADPRIVATE(qcontr2)
533
      REAL, SAVE, ALLOCATABLE :: fcontrN(:,:)
534
      !$OMP THREADPRIVATE(fcontrN)
535
      REAL, SAVE, ALLOCATABLE :: fcontrP(:,:)
536
      !$OMP THREADPRIVATE(fcontrP)
537
      REAL, SAVE, ALLOCATABLE :: distcltop(:,:)
538
      !$OMP THREADPRIVATE(distcltop)
539
540
541
#ifdef CPP_StratAer
542
!
543
! variables for stratospheric aerosol
544
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: R2SO4
545
!$OMP THREADPRIVATE(R2SO4)
546
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: DENSO4
547
!$OMP THREADPRIVATE(DENSO4)
548
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: f_r_wet
549
!$OMP THREADPRIVATE(f_r_wet)
550
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: decfluxaer
551
!$OMP THREADPRIVATE(decfluxaer)
552
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: mdw
553
!$OMP THREADPRIVATE(mdw)
554
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: OCS_lifetime
555
!$OMP THREADPRIVATE(OCS_lifetime)
556
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: SO2_lifetime
557
!$OMP THREADPRIVATE(SO2_lifetime)
558
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: alpha_bin
559
!$OMP THREADPRIVATE(alpha_bin)
560
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: piz_bin
561
!$OMP THREADPRIVATE(piz_bin)
562
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: cg_bin
563
!$OMP THREADPRIVATE(cg_bin)
564
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_550
565
!$OMP THREADPRIVATE(tau_strat_550)
566
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tau_strat_1020
567
!$OMP THREADPRIVATE(tau_strat_1020)
568
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: tausum_strat
569
!$OMP THREADPRIVATE(tausum_strat)
570
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: surf_PM25_sulf
571
!$OMP THREADPRIVATE(surf_PM25_sulf)
572
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: vsed_aer
573
!$OMP THREADPRIVATE(vsed_aer)
574
!
575
!---3D budget variables
576
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_nucl
577
!$OMP THREADPRIVATE(budg_3D_nucl)
578
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_cond_evap
579
!$OMP THREADPRIVATE(budg_3D_cond_evap)
580
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_ocs_to_so2
581
!$OMP THREADPRIVATE(budg_3D_ocs_to_so2)
582
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_so2_to_h2so4
583
!$OMP THREADPRIVATE(budg_3D_so2_to_h2so4)
584
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_ocs
585
!$OMP THREADPRIVATE(budg_3D_backgr_ocs)
586
      REAL, ALLOCATABLE, SAVE, DIMENSION(:,:) :: budg_3D_backgr_so2
587
!$OMP THREADPRIVATE(budg_3D_backgr_so2)
588
!
589
!---2D budget variables
590
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_ocs
591
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_so2
592
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_h2so4
593
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_dry_part
594
!$OMP THREADPRIVATE(budg_dep_dry_ocs,budg_dep_dry_so2,budg_dep_dry_h2so4,budg_dep_dry_part)
595
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_ocs
596
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_so2
597
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_h2so4
598
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_dep_wet_part
599
!$OMP THREADPRIVATE(budg_dep_wet_ocs,budg_dep_wet_so2,budg_dep_wet_h2so4,budg_dep_wet_part)
600
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_ocs
601
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_so2
602
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_h2so4
603
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_emi_part
604
!$OMP THREADPRIVATE(budg_emi_ocs,budg_emi_so2,budg_emi_h2so4,budg_emi_part)
605
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_ocs_to_so2
606
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_so2_to_h2so4
607
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_h2so4_to_part
608
!$OMP THREADPRIVATE(budg_ocs_to_so2,budg_so2_to_h2so4,budg_h2so4_to_part)
609
      REAL, ALLOCATABLE, SAVE, DIMENSION(:) :: budg_sed_part
610
!$OMP THREADPRIVATE(budg_sed_part)
611
#endif
612
613
CONTAINS
614
615
!======================================================================
616
1
SUBROUTINE phys_local_var_init
617
USE dimphy
618
USE infotrac_phy, ONLY : nbtr
619
USE aero_mod
620
USE indice_sol_mod
621
USE phys_output_var_mod
622
USE phys_state_var_mod
623
624
IMPLICIT NONE
625










6
      ALLOCATE(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev), qbs_seri(klon,klev))
626




3
      ALLOCATE(u_seri(klon,klev),v_seri(klon,klev))
627











9
      ALLOCATE(l_mixmin(klon,klev+1,nbsrf),l_mix(klon,klev+1,nbsrf),tke_dissip(klon,klev+1,nbsrf),wprime(klon,klev+1,nbsrf))
628






636820
      l_mix(:,:,:)=0.;l_mixmin(:,:,:)=0.;tke_dissip(:,:,:)=0.;wprime(:,:,:)=0. ! doit etre initialse car pas toujours remplis
629
630


2
      ALLOCATE(rhcl(klon,klev))
631



3
      ALLOCATE(tr_seri(klon,klev,nbtr))
632




3
      ALLOCATE(d_t_dyn(klon,klev),d_q_dyn(klon,klev))
633






4
      ALLOCATE(d_ql_dyn(klon,klev),d_qs_dyn(klon,klev), d_qbs_dyn(klon,klev))
634




1
      ALLOCATE(d_q_dyn2d(klon),d_ql_dyn2d(klon),d_qs_dyn2d(klon), d_qbs_dyn2d(klon))
635




3
      ALLOCATE(d_u_dyn(klon,klev),d_v_dyn(klon,klev))
636



3
      ALLOCATE(d_tr_dyn(klon,klev,nbtr))                   !RomP
637




3
      ALLOCATE(d_t_con(klon,klev),d_q_con(klon,klev))
638




3
      ALLOCATE(d_u_con(klon,klev),d_v_con(klon,klev))
639




3
      ALLOCATE(d_t_wake(klon,klev),d_q_wake(klon,klev))
640




3
      ALLOCATE(d_t_lsc(klon,klev),d_q_lsc(klon,klev))
641




3
      ALLOCATE(d_t_lwr(klon,klev),d_t_lw0(klon,klev))
642




3
      ALLOCATE(d_t_swr(klon,klev),d_t_sw0(klon,klev))
643




3
      ALLOCATE(d_ql_lsc(klon,klev),d_qi_lsc(klon,klev))
644




3
      ALLOCATE(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev))
645




3
      ALLOCATE(d_t_ajs(klon,klev),d_q_ajs(klon,klev))
646
!nrlmd<
647




3
      ALLOCATE(d_t_ajs_w(klon,klev),d_q_ajs_w(klon,klev))
648




3
      ALLOCATE(d_t_ajs_x(klon,klev),d_q_ajs_x(klon,klev))
649
!>nrlmd
650




3
      ALLOCATE(d_u_ajs(klon,klev),d_v_ajs(klon,klev))
651




3
      ALLOCATE(d_t_eva(klon,klev),d_q_eva(klon,klev))
652




3
      ALLOCATE(d_ql_eva(klon,klev),d_qi_eva(klon,klev))
653




3
      ALLOCATE(d_t_lscst(klon,klev),d_q_lscst(klon,klev))
654




3
      ALLOCATE(d_t_lscth(klon,klev),d_q_lscth(klon,klev))
655


1
      ALLOCATE(plul_st(klon),plul_th(klon))
656






4
      ALLOCATE(d_t_vdf(klon,klev),d_q_vdf(klon,klev),d_t_diss(klon,klev))
657


2
      ALLOCATE (d_qbs_vdf(klon,klev))
658






4
      ALLOCATE(d_t_bs(klon,klev),d_q_bs(klon,klev),d_qbs_bs(klon,klev))
659




3
      ALLOCATE(d_t_vdf_w(klon,klev),d_q_vdf_w(klon,klev))
660




3
      ALLOCATE(d_t_vdf_x(klon,klev),d_q_vdf_x(klon,klev))
661
662




3
      ALLOCATE(d_u_vdf(klon,klev),d_v_vdf(klon,klev))
663





3
      ALLOCATE(d_t_oli(klon,klev),d_t_oro(klon,klev))
664





3
      ALLOCATE(d_u_oli(klon,klev),d_v_oli(klon,klev))
665





3
      ALLOCATE(d_u_oro(klon,klev),d_v_oro(klon,klev))
666





3
      ALLOCATE(d_u_oro_gw(klon,klev),d_v_oro_gw(klon,klev))
667


2
      ALLOCATE(d_t_oro_gw(klon,klev))
668





3
      ALLOCATE(d_t_lif(klon,klev),d_t_ec(klon,klev))
669





3
      ALLOCATE(d_u_lif(klon,klev),d_v_lif(klon,klev))
670





3
      ALLOCATE(d_ts(klon,nbsrf), d_tr(klon,klev,nbtr))
671
672
! aerosols
673



3
      ALLOCATE(m_allaer(klon,klev,naero_tot))
674
! Special RRTM
675









4
      ALLOCATE(ZLWFT0_i(klon,klev+1),ZSWFT0_i(klon,klev+1),ZFLDN0(klon,klev+1))
676

39801
      ZFLDN0= 0.
677









4
      ALLOCATE(ZFLUP0(klon,klev+1),ZFSDN0(klon,klev+1),ZFSUP0(klon,klev+1))
678
!
679



1
      ALLOCATE(topswad_aero(klon), solswad_aero(klon))
680



1
      ALLOCATE(topswai_aero(klon), solswai_aero(klon))
681



1
      ALLOCATE(topswad0_aero(klon), solswad0_aero(klon))
682



1
      ALLOCATE(toplwad_aero(klon), sollwad_aero(klon))
683



1
      ALLOCATE(toplwai_aero(klon), sollwai_aero(klon))
684



1
      ALLOCATE(toplwad0_aero(klon), sollwad0_aero(klon))
685



1
      ALLOCATE(topsw_aero(klon,naero_grp), solsw_aero(klon,naero_grp))
686



1
      ALLOCATE(topsw0_aero(klon,naero_grp), solsw0_aero(klon,naero_grp))
687



1
      ALLOCATE(topswcf_aero(klon,3), solswcf_aero(klon,3))
688





3
      ALLOCATE(du_gwd_hines(klon,klev),dv_gwd_hines(klon,klev))
689





3
      ALLOCATE(dv_gwd_rando(klon,klev),dv_gwd_front(klon,klev))
690





3
      ALLOCATE(east_gwstress(klon,klev),west_gwstress(klon,klev))
691

38806
      east_gwstress(:,:)=0 !ym missing init
692

38806
      west_gwstress(:,:)=0 !ym missing init
693


2
      ALLOCATE(d_t_hin(klon,klev))
694


2
      ALLOCATE(d_q_ch4(klon,klev))
695


2
      ALLOCATE(stratomask(klon,klev))
696

1
      ALLOCATE(tausum_aero(klon,nwave,naero_tot))
697

1
      ALLOCATE(drytausum_aero(klon,naero_tot))
698



4
      ALLOCATE(tau3d_aero(klon,klev,nwave,naero_tot))
699


2
      ALLOCATE(scdnc(klon, klev))
700

1
      ALLOCATE(dNovrN(klon))
701

1
      ALLOCATE(cldncl(klon))
702

1
      ALLOCATE(reffclwtop(klon))
703

1
      ALLOCATE(lcc(klon))
704


2
      ALLOCATE(reffclws(klon, klev))
705


2
      ALLOCATE(reffclwc(klon, klev))
706

1
      ALLOCATE(cldnvi(klon))
707


2
      ALLOCATE(lcc3d(klon, klev))
708


2
      ALLOCATE(lcc3dcon(klon, klev))
709


2
      ALLOCATE(lcc3dstra(klon, klev))
710


2
      ALLOCATE(icc3dcon(klon, klev))
711


2
      ALLOCATE(icc3dstra(klon, klev))
712


2
      ALLOCATE(zfice(klon, klev))
713

1
      ALLOCATE(od443aer(klon))
714

1
      ALLOCATE(od550aer(klon))
715

1
      ALLOCATE(od865aer(klon))
716

1
      ALLOCATE(dryod550aer(klon))
717
995
      dryod550aer(:) = 0.
718

1
      ALLOCATE(abs550aer(klon))
719
995
      abs550aer(:) = 0.
720


2
      ALLOCATE(ec550aer(klon,klev))
721

1
      ALLOCATE(od550lt1aer(klon))
722

1
      ALLOCATE(sconcso4(klon))
723

1
      ALLOCATE(sconcno3(klon))
724

1
      ALLOCATE(sconcoa(klon))
725

1
      ALLOCATE(sconcbc(klon))
726

1
      ALLOCATE(sconcss(klon))
727

1
      ALLOCATE(sconcdust(klon))
728


2
      ALLOCATE(concso4(klon,klev))
729


2
      ALLOCATE(concno3(klon,klev))
730


2
      ALLOCATE(concoa(klon,klev))
731


2
      ALLOCATE(concbc(klon,klev))
732


2
      ALLOCATE(concss(klon,klev))
733


2
      ALLOCATE(concdust(klon,klev))
734

1
      ALLOCATE(loadso4(klon))
735

1
      ALLOCATE(loadoa(klon))
736

1
      ALLOCATE(loadbc(klon))
737

1
      ALLOCATE(loadss(klon))
738

1
      ALLOCATE(loaddust(klon))
739

1
      ALLOCATE(loadno3(klon))
740

1
      ALLOCATE(load_tmp1(klon))
741

1
      ALLOCATE(load_tmp2(klon))
742

1
      ALLOCATE(load_tmp3(klon))
743

1
      ALLOCATE(load_tmp4(klon))
744

1
      ALLOCATE(load_tmp5(klon))
745

1
      ALLOCATE(load_tmp6(klon))
746

1
      ALLOCATE(load_tmp7(klon))
747

1
      ALLOCATE(load_tmp8(klon))
748

1
      ALLOCATE(load_tmp9(klon))
749

1
      ALLOCATE(load_tmp10(klon))
750
751
!IM ajout variables CFMIP2/CMIP5
752



1
      ALLOCATE(topswad_aerop(klon), solswad_aerop(klon))
753



1
      ALLOCATE(topswai_aerop(klon), solswai_aerop(klon))
754



1
      ALLOCATE(topswad0_aerop(klon), solswad0_aerop(klon))
755



1
      ALLOCATE(topsw_aerop(klon,naero_grp), topsw0_aerop(klon,naero_grp))
756



1
      ALLOCATE(solsw_aerop(klon,naero_grp), solsw0_aerop(klon,naero_grp))
757



1
      ALLOCATE(topswcf_aerop(klon,naero_grp), solswcf_aerop(klon,naero_grp))
758
759
! additional LW variables CK
760



1
      ALLOCATE(toplwad_aerop(klon), sollwad_aerop(klon))
761



1
      ALLOCATE(toplwai_aerop(klon), sollwai_aerop(klon))
762



1
      ALLOCATE(toplwad0_aerop(klon), sollwad0_aerop(klon))
763
764
! FH Ajout de celles necessaires au phys_output_write_mod
765
766






1
      ALLOCATE(tal1(klon), pal1(klon), pab1(klon), pab2(klon))
767




1
      ALLOCATE(ptstar(klon),pt0(klon),slp(klon))
768
!!
769
!!          Wake variables
770

1
      ALLOCATE(alp_wake(klon))
771



1
      ALLOCATE(wake_h(klon),wake_k(klon))
772


2
      ALLOCATE(wake_omg(klon, klev))
773





3
      ALLOCATE(d_deltat_wk(klon, klev), d_deltaq_wk(klon, klev))
774




1
      ALLOCATE(d_s_wk(klon), d_dens_a_wk(klon), d_dens_wk(klon))
775





3
      ALLOCATE(d_deltat_wk_gw(klon, klev), d_deltaq_wk_gw(klon, klev))
776





3
      ALLOCATE(d_deltat_vdf(klon, klev), d_deltaq_vdf(klon, klev))
777
!!      ALLOCATE( d_s_vdf(klon), d_dens_vdf(klon))
778





3
      ALLOCATE(d_deltat_the(klon, klev), d_deltaq_the(klon, klev))
779
!!      ALLOCATE( d_s_the(klon), d_dens_the(klon))
780





3
      ALLOCATE(d_deltat_ajs_cv(klon, klev), d_deltaq_ajs_cv(klon, klev))
781
!!         End of wake variables
782
!!
783

1
      ALLOCATE(bils(klon))
784






1
      ALLOCATE(cdragm(klon), cdragh(klon), cldh(klon), cldl(klon))
785






1
      ALLOCATE(cldm(klon), cldq(klon), cldt(klon), qsat2m(klon))
786

1
      ALLOCATE(JrNt(klon))
787









1
      ALLOCATE(dthmin(klon), evap(klon), snowerosion(klon), fder(klon), plcl(klon), plfc(klon))
788












1
      ALLOCATE(prw(klon), prlw(klon), prsw(klon), prbsw(klon), zustar(klon), zu10m(klon), zv10m(klon), rh2m(klon))
789

1
      ALLOCATE(s_lcl(klon))
790




1
      ALLOCATE(s_pblh(klon), s_pblt(klon), s_therm(klon))
791
!
792
!nrlmd+jyg<
793



1
      ALLOCATE(s_pblh_x(klon), s_pblh_w(klon))
794



1
      ALLOCATE(s_lcl_x(klon), s_lcl_w(klon))
795
!>nrlmd+jyg
796
!
797






1
      ALLOCATE(slab_wfbils(klon), tpot(klon), tpote(klon), ue(klon))
798






1
      ALLOCATE(uq(klon), ve(klon), vq(klon), zxffonte(klon))
799



1
      ALLOCATE(uwat(klon), vwat(klon))
800



1
      ALLOCATE(zxfqcalving(klon), zxfluxlat(klon))
801






1
      ALLOCATE(zxtsol(klon), snow_lsc(klon), zxfqfonte(klon), zxqsurf(klon))
802

1
      ALLOCATE(zxrunofflic(klon))
803



1
      ALLOCATE(zxustartlic(klon), zxrhoslic(klon))
804

1990
      zxustartlic(:)=0. ; zxrhoslic(:)=0.
805

1
      ALLOCATE(rain_lsc(klon))
806

1
      ALLOCATE(rain_num(klon))
807










5
      ALLOCATE(qlth(klon,klev), qith(klon,klev), qsith(klon,klev), wiceth(klon,klev))
808
      !
809



1
      ALLOCATE(sens_x(klon), sens_w(klon))
810



1
      ALLOCATE(zxfluxlat_x(klon), zxfluxlat_w(klon))
811

1
      ALLOCATE(delta_qsurf(klon))
812
!jyg<
813
!!      ALLOCATE(t_x(klon,klev), t_w(klon,klev))
814
!!      ALLOCATE(q_x(klon,klev), q_w(klon,klev))
815
!>jyg
816





3
      ALLOCATE(dtvdf_x(klon,klev), dtvdf_w(klon,klev))
817


77612
      dtvdf_x = 0 ; dtvdf_w=0 ;   !ym missing init
818





3
      ALLOCATE(dqvdf_x(klon,klev), dqvdf_w(klon,klev))
819


77612
      dqvdf_x = 0 ; dqvdf_w=0 ;   !ym missing init
820



3
      ALLOCATE(pbl_tke_input(klon,klev+1,nbsrf))
821










5
      ALLOCATE(t_therm(klon,klev), q_therm(klon,klev),u_therm(klon,klev), v_therm(klon,klev))
822



1
      ALLOCATE(cdragh_x(klon), cdragh_w(klon))
823



1
      ALLOCATE(cdragm_x(klon), cdragm_w(klon))
824




1
      ALLOCATE(kh(klon), kh_x(klon), kh_w(klon))
825
!
826

1
      ALLOCATE(ptconv(klon,klev))
827


2
      ALLOCATE(ratqsc(klon,klev))
828
!
829




1
      ALLOCATE(wbeff(klon), convoccur(klon), zmax_th(klon))
830




1
      ALLOCATE(zq2m(klon), zt2m(klon), weak_inversion(klon))
831



1
      ALLOCATE(zt2m_min_mon(klon), zt2m_max_mon(klon))
832



1
      ALLOCATE(t2m_min_mon(klon), t2m_max_mon(klon))
833




1
      ALLOCATE(sens(klon), flwp(klon), fiwp(klon))
834



1
      ALLOCATE(alp_bl_conv(klon), alp_bl_det(klon))
835

1990
      alp_bl_conv(:)=0 ;  alp_bl_det(:)=0
836



1
      ALLOCATE(alp_bl_fluct_m(klon), alp_bl_fluct_tke(klon))
837

1990
      alp_bl_fluct_m(:)=0 ; alp_bl_fluct_tke(:)= 0.
838




1
      ALLOCATE(alp_bl_stat(klon), n2(klon), s2(klon))
839
995
      alp_bl_stat(:)=0
840



1
      ALLOCATE(proba_notrig(klon), random_notrig(klon))
841
842


2
      ALLOCATE(dnwd0(klon, klev))
843
!      ALLOCATE(upwd(klon, klev), omega(klon, klev), coefh(klon, klev))
844


2
      ALLOCATE(omega(klon, klev))
845

1
      ALLOCATE(epmax_diag(klon)) ! epmax_cape
846
!      ALLOCATE(coefm(klon, klev), lambda_th(klon, klev), cldemi(klon, klev))
847





3
      ALLOCATE(lambda_th(klon, klev), cldemi(klon, klev))
848







4
      ALLOCATE(cldfra(klon, klev), cldtau(klon, klev), fiwc(klon, klev))
849







4
      ALLOCATE(fl(klon, klev), re(klon, klev), flwc(klon, klev))
850







4
      ALLOCATE(ref_liq(klon, klev), ref_ice(klon, klev), theta(klon, klev))
851





3
      ALLOCATE(ref_liq_pi(klon, klev), ref_ice_pi(klon, klev))
852










5
      ALLOCATE(zphi(klon, klev), zx_rh(klon, klev), zx_rhl(klon,klev), zx_rhi(klon,klev))
853


77612
      zx_rhl(:,:)=0.; zx_rhi(:,:)=0. ! because not always defined
854





3
      ALLOCATE(pmfd(klon, klev), pmfu(klon, klev))
855
856



1
      ALLOCATE(t2m(klon, nbsrf), fluxlat(klon, nbsrf))
857

1
      ALLOCATE(fsollw(klon, nbsrf))
858




1
      ALLOCATE(fsolsw(klon, nbsrf), wfbils(klon, nbsrf), wfbilo(klon, nbsrf))
859




1
      ALLOCATE(wfevap(klon, nbsrf), wfrain(klon,nbsrf), wfsnow(klon, nbsrf))
860

1
      ALLOCATE(evap_pot(klon, nbsrf))
861
! FC
862





3
      ALLOCATE(zxfluxq(klon,klev),zxfluxt(klon,klev))
863
!
864
!  Deep convective variables used in phytrac
865






3
      ALLOCATE(pmflxr(klon, klev+1), pmflxs(klon, klev+1))
866







4
      ALLOCATE(wdtrainA(klon,klev),wdtrainS(klon,klev),wdtrainM(klon,klev))
867





3
      ALLOCATE(dnwd(klon, klev), upwd(klon, klev) )
868


2
      ALLOCATE(ep(klon,klev))                          ! epmax_cape
869





3
      ALLOCATE(da(klon,klev), mp(klon,klev) )
870



3
      ALLOCATE(phi(klon,klev,klev) )
871


2
      ALLOCATE(wght_cvfd(klon,klev) )
872



3
      ALLOCATE(phi2(klon,klev,klev) )
873





3
      ALLOCATE(d1a(klon,klev), dam(klon,klev))
874


2
      ALLOCATE(ev(klon,klev) )
875



3
      ALLOCATE(elij(klon,klev,klev) )
876


2
      ALLOCATE(qtaa(klon,klev) )
877


2
      ALLOCATE(clw(klon,klev) )
878






4
      ALLOCATE(epmlmMm(klon,klev,klev), eplaMm(klon,klev) )
879



3
      ALLOCATE(sij(klon,klev,klev) )
880
881



2
      ALLOCATE(prfl(klon, klev+1))
882









4
      ALLOCATE(psfl(klon, klev+1), fraca(klon, klev+1), Vprecip(klon, klev+1))
883



2
      ALLOCATE(bsfl(klon,klev+1))
884



2
      ALLOCATE(zw2(klon, klev+1))
885
886






5
      ALLOCATE(fluxu(klon, klev, nbsrf), fluxv(klon, klev, nbsrf))
887



3
      ALLOCATE(fluxt(klon, klev, nbsrf))
888
889



1
      ALLOCATE(uwriteSTD(klon,nlevSTD,nfiles), vwriteSTD(klon,nlevSTD,nfiles))
890



1
      ALLOCATE(wwriteSTD(klon,nlevSTD,nfiles), phiwriteSTD(klon,nlevSTD,nfiles))
891



1
      ALLOCATE(qwriteSTD(klon,nlevSTD,nfiles), twriteSTD(klon,nlevSTD,nfiles))
892

1
      ALLOCATE(rhwriteSTD(klon,nlevSTD,nfiles))
893
894
! ug et d'autres encore:
895


2
      ALLOCATE(beta_prec(klon,klev))
896







4
      ALLOCATE(rneb(klon,klev),rnebjn(klon,klev),rneblsvol(klon,klev))
897





3
      ALLOCATE(pfraclr(klon,klev),pfracld(klon,klev))
898


77612
      pfraclr(:,:)=0. ; pfracld(:,:)=0. ! because not always defined
899


2
      ALLOCATE(distcltop(klon,klev))
900
901
902






1
      ALLOCATE (zxsnow(klon),snowhgt(klon),qsnow(klon),to_ice(klon))
903




1
      ALLOCATE (sissnow(klon),runoff(klon),albsol3_lic(klon))
904
905

1
      ALLOCATE (p_tropopause(klon))
906

1
      ALLOCATE (z_tropopause(klon))
907

1
      ALLOCATE (t_tropopause(klon))
908
909

1
      ALLOCATE(zn2mout(klon,6))
910
911
! Supersaturation
912


2
      ALLOCATE(rneb_seri(klon,klev))
913


2
      ALLOCATE(d_rneb_dyn(klon,klev))
914










5
      ALLOCATE(qclr(klon,klev), qcld(klon,klev), qss(klon,klev), qvc(klon,klev))
915







4
      ALLOCATE(rnebclr(klon,klev), rnebss(klon,klev), gamma_ss(klon,klev))
916





3
      ALLOCATE(N1_ss(klon,klev), N2_ss(klon,klev))
917










5
      ALLOCATE(drneb_sub(klon,klev), drneb_con(klon,klev), drneb_tur(klon,klev), drneb_avi(klon,klev))
918





3
      ALLOCATE(zqsatl(klon,klev), zqsats(klon,klev))
919












6
      ALLOCATE(Tcontr(klon,klev), qcontr(klon,klev), qcontr2(klon,klev), fcontrN(klon,klev), fcontrP(klon,klev))
920
921
#ifdef CPP_StratAer
922
      ALLOCATE (R2SO4(klon,klev))
923
      ALLOCATE (DENSO4(klon,klev))
924
      ALLOCATE (f_r_wet(klon,klev))
925
      ALLOCATE (decfluxaer(klon,nbtr))
926
      ALLOCATE (mdw(nbtr))
927
      ALLOCATE (budg_3D_nucl(klon,klev))
928
      ALLOCATE (budg_3D_cond_evap(klon,klev))
929
      ALLOCATE (budg_3D_ocs_to_so2(klon,klev))
930
      ALLOCATE (budg_3D_so2_to_h2so4(klon,klev))
931
      ALLOCATE (budg_3D_backgr_ocs(klon,klev))
932
      ALLOCATE (budg_3D_backgr_so2(klon,klev))
933
      ALLOCATE (OCS_lifetime(klon,klev))
934
      ALLOCATE (SO2_lifetime(klon,klev))
935
      ALLOCATE (alpha_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr))
936
      ALLOCATE (piz_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr))
937
      ALLOCATE (cg_bin(nbands_sw_rrtm+nbands_lw_rrtm+nwave,nbtr))
938
      ALLOCATE (tau_strat_550(klon,klev))
939
      ALLOCATE (tau_strat_1020(klon,klev))
940
      ALLOCATE (tausum_strat(klon,3))
941
      ALLOCATE (budg_dep_dry_ocs(klon))
942
      ALLOCATE (budg_dep_wet_ocs(klon))
943
      ALLOCATE (budg_dep_dry_so2(klon))
944
      ALLOCATE (budg_dep_wet_so2(klon))
945
      ALLOCATE (budg_dep_dry_h2so4(klon))
946
      ALLOCATE (budg_dep_wet_h2so4(klon))
947
      ALLOCATE (budg_dep_dry_part(klon))
948
      ALLOCATE (budg_dep_wet_part(klon))
949
      ALLOCATE (budg_emi_ocs(klon))
950
      ALLOCATE (budg_emi_so2(klon))
951
      ALLOCATE (budg_emi_h2so4(klon))
952
      ALLOCATE (budg_emi_part(klon))
953
      ALLOCATE (budg_ocs_to_so2(klon))
954
      ALLOCATE (budg_so2_to_h2so4(klon))
955
      ALLOCATE (budg_h2so4_to_part(klon))
956
      ALLOCATE (budg_sed_part(klon))
957
      ALLOCATE (surf_PM25_sulf(klon))
958
      ALLOCATE (vsed_aer(klon,klev))
959
#endif
960
961
1
END SUBROUTINE phys_local_var_init
962
963
!======================================================================
964
SUBROUTINE phys_local_var_end
965
USE dimphy
966
USE indice_sol_mod
967
IMPLICIT NONE
968
      DEALLOCATE(t_seri,q_seri,ql_seri,qs_seri, qbs_seri)
969
      DEALLOCATE(u_seri,v_seri)
970
      DEALLOCATE(l_mixmin,l_mix, tke_dissip,wprime)
971
972
      DEALLOCATE(rhcl)
973
      DEALLOCATE(tr_seri)
974
      DEALLOCATE(d_t_dyn,d_q_dyn)
975
      DEALLOCATE(d_ql_dyn,d_qs_dyn, d_qbs_dyn)
976
      DEALLOCATE(d_q_dyn2d,d_ql_dyn2d,d_qs_dyn2d, d_qbs_dyn2d)
977
      DEALLOCATE(d_u_dyn,d_v_dyn)
978
      DEALLOCATE(d_tr_dyn)                      !RomP
979
      DEALLOCATE(d_t_con,d_q_con)
980
      DEALLOCATE(d_u_con,d_v_con)
981
      DEALLOCATE(d_t_wake,d_q_wake)
982
      DEALLOCATE(d_t_lsc,d_q_lsc)
983
      DEALLOCATE(d_t_lwr,d_t_lw0)
984
      DEALLOCATE(d_t_swr,d_t_sw0)
985
      DEALLOCATE(d_ql_lsc,d_qi_lsc)
986
      DEALLOCATE(d_t_ajsb,d_q_ajsb)
987
      DEALLOCATE(d_t_ajs,d_q_ajs)
988
!nrlmd<
989
      DEALLOCATE(d_t_ajs_w,d_q_ajs_w)
990
      DEALLOCATE(d_t_ajs_x,d_q_ajs_x)
991
!>nrlmd
992
      DEALLOCATE(d_u_ajs,d_v_ajs)
993
      DEALLOCATE(d_t_eva,d_q_eva)
994
      DEALLOCATE(d_ql_eva,d_qi_eva)
995
      DEALLOCATE(d_t_lscst,d_q_lscst)
996
      DEALLOCATE(d_t_lscth,d_q_lscth)
997
      DEALLOCATE(plul_st,plul_th)
998
      DEALLOCATE(d_t_vdf,d_q_vdf,d_t_diss)
999
      DEALLOCATE(d_qbs_vdf)
1000
      DEALLOCATE(d_t_bs,d_q_bs,d_qbs_bs)
1001
      DEALLOCATE(d_u_vdf,d_v_vdf)
1002
      DEALLOCATE(d_t_oli,d_t_oro)
1003
      DEALLOCATE(d_u_oli,d_v_oli)
1004
      DEALLOCATE(d_u_oro,d_v_oro)
1005
      DEALLOCATE(d_t_oro_gw)
1006
      DEALLOCATE(d_u_oro_gw,d_v_oro_gw)
1007
      DEALLOCATE(d_t_lif,d_t_ec)
1008
      DEALLOCATE(d_u_lif,d_v_lif)
1009
      DEALLOCATE(d_ts, d_tr)
1010
      DEALLOCATE(topswad_aero,solswad_aero)
1011
      DEALLOCATE(topswai_aero,solswai_aero)
1012
      DEALLOCATE(topswad0_aero,solswad0_aero)
1013
      DEALLOCATE(toplwad_aero,sollwad_aero)
1014
      DEALLOCATE(toplwai_aero,sollwai_aero)
1015
      DEALLOCATE(toplwad0_aero,sollwad0_aero)
1016
      DEALLOCATE(topsw_aero,solsw_aero)
1017
      DEALLOCATE(topsw0_aero,solsw0_aero)
1018
      DEALLOCATE(topswcf_aero,solswcf_aero)
1019
      DEALLOCATE(stratomask)
1020
      DEALLOCATE(tausum_aero)
1021
      DEALLOCATE(drytausum_aero)
1022
      DEALLOCATE(tau3d_aero)
1023
      DEALLOCATE(scdnc)
1024
      DEALLOCATE(dNovrN)
1025
      DEALLOCATE(cldncl)
1026
      DEALLOCATE(reffclwtop)
1027
      DEALLOCATE(lcc)
1028
      DEALLOCATE(reffclws)
1029
      DEALLOCATE(reffclwc)
1030
      DEALLOCATE(cldnvi)
1031
      DEALLOCATE(lcc3d)
1032
      DEALLOCATE(lcc3dcon)
1033
      DEALLOCATE(lcc3dstra)
1034
      DEALLOCATE(icc3dcon)
1035
      DEALLOCATE(icc3dstra)
1036
      DEALLOCATE(zfice)
1037
      DEALLOCATE(od443aer)
1038
      DEALLOCATE(od550aer)
1039
      DEALLOCATE(od865aer)
1040
      DEALLOCATE(dryod550aer)
1041
      DEALLOCATE(abs550aer)
1042
      DEALLOCATE(ec550aer)
1043
      DEALLOCATE(od550lt1aer)
1044
      DEALLOCATE(sconcso4)
1045
      DEALLOCATE(sconcno3)
1046
      DEALLOCATE(sconcoa)
1047
      DEALLOCATE(sconcbc)
1048
      DEALLOCATE(sconcss)
1049
      DEALLOCATE(sconcdust)
1050
      DEALLOCATE(concso4)
1051
      DEALLOCATE(concno3)
1052
      DEALLOCATE(concoa)
1053
      DEALLOCATE(concbc)
1054
      DEALLOCATE(concss)
1055
      DEALLOCATE(concdust)
1056
      DEALLOCATE(loadso4)
1057
      DEALLOCATE(loadoa)
1058
      DEALLOCATE(loadbc)
1059
      DEALLOCATE(loadss)
1060
      DEALLOCATE(loaddust)
1061
      DEALLOCATE(loadno3)
1062
      DEALLOCATE(load_tmp1)
1063
      DEALLOCATE(load_tmp2)
1064
      DEALLOCATE(load_tmp3)
1065
      DEALLOCATE(load_tmp4)
1066
      DEALLOCATE(load_tmp5)
1067
      DEALLOCATE(load_tmp6)
1068
      DEALLOCATE(load_tmp7)
1069
      DEALLOCATE(load_tmp8)
1070
      DEALLOCATE(load_tmp9)
1071
      DEALLOCATE(load_tmp10)
1072
      DEALLOCATE(du_gwd_hines,dv_gwd_hines,d_t_hin)
1073
      DEALLOCATE(d_q_ch4)
1074
      DEALLOCATE(dv_gwd_rando,dv_gwd_front)
1075
      DEALLOCATE(east_gwstress,west_gwstress)
1076
1077
!IM ajout variables CFMIP2/CMIP5
1078
      DEALLOCATE(topswad_aerop, solswad_aerop)
1079
      DEALLOCATE(topswai_aerop, solswai_aerop)
1080
      DEALLOCATE(topswad0_aerop, solswad0_aerop)
1081
      DEALLOCATE(topsw_aerop, topsw0_aerop)
1082
      DEALLOCATE(solsw_aerop, solsw0_aerop)
1083
      DEALLOCATE(topswcf_aerop, solswcf_aerop)
1084
!AI Aerosols
1085
      DEALLOCATE(m_allaer)
1086
!CK LW diagnostics
1087
      DEALLOCATE(toplwad_aerop, sollwad_aerop)
1088
      DEALLOCATE(toplwai_aerop, sollwai_aerop)
1089
      DEALLOCATE(toplwad0_aerop, sollwad0_aerop)
1090
1091
! FH Ajout de celles necessaires au phys_output_write_mod
1092
      DEALLOCATE(tal1, pal1, pab1, pab2)
1093
      DEALLOCATE(ptstar, pt0, slp)
1094
!
1095
      DEALLOCATE(alp_wake)
1096
      DEALLOCATE(wake_h,wake_k)
1097
      DEALLOCATE(wake_omg)
1098
      DEALLOCATE(d_deltat_wk, d_deltaq_wk)
1099
      DEALLOCATE(d_s_wk, d_dens_a_wk, d_dens_wk)
1100
      DEALLOCATE(d_deltat_wk_gw, d_deltaq_wk_gw)
1101
      DEALLOCATE(d_deltat_vdf, d_deltaq_vdf)
1102
!!      DEALLOCATE( d_s_vdf, d_dens_vdf)
1103
      DEALLOCATE(d_deltat_the, d_deltaq_the)
1104
!!      DEALLOCATE( d_s_the, d_dens_the)
1105
      DEALLOCATE(d_deltat_ajs_cv, d_deltaq_ajs_cv)
1106
!
1107
      DEALLOCATE(bils)
1108
      DEALLOCATE(cdragm, cdragh, cldh, cldl)
1109
      DEALLOCATE(cldm, cldq, cldt, qsat2m)
1110
      DEALLOCATE(JrNt)
1111
      DEALLOCATE(dthmin, evap, snowerosion, fder, plcl, plfc)
1112
      DEALLOCATE(prw, prlw, prsw, prbsw, zustar, zu10m, zv10m, rh2m, s_lcl)
1113
      DEALLOCATE(s_pblh, s_pblt, s_therm)
1114
!
1115
!nrlmd+jyg<
1116
      DEALLOCATE(s_pblh_x, s_pblh_w)
1117
      DEALLOCATE(s_lcl_x, s_lcl_w)
1118
!>nrlmd+jyg
1119
!
1120
      DEALLOCATE(slab_wfbils, tpot, tpote, ue)
1121
      DEALLOCATE(uq, ve, vq, zxffonte)
1122
      DEALLOCATE(uwat, vwat)
1123
      DEALLOCATE(zxfqcalving, zxfluxlat)
1124
      DEALLOCATE(zxrunofflic)
1125
      DEALLOCATE(zxustartlic, zxrhoslic)
1126
      DEALLOCATE(zxtsol, snow_lsc, zxfqfonte, zxqsurf)
1127
      DEALLOCATE(rain_lsc)
1128
      DEALLOCATE(rain_num)
1129
      DEALLOCATE(qlth, qith, qsith, wiceth)
1130
!
1131
      DEALLOCATE(sens_x, sens_w)
1132
      DEALLOCATE(zxfluxlat_x, zxfluxlat_w)
1133
      DEALLOCATE(delta_qsurf)
1134
!jyg<
1135
!!      DEALLOCATE(t_x, t_w)
1136
!!      DEALLOCATE(q_x, q_w)
1137
!>jyg
1138
      DEALLOCATE(d_t_vdf_x, d_t_vdf_w)
1139
      DEALLOCATE(d_q_vdf_x, d_q_vdf_w)
1140
      DEALLOCATE(pbl_tke_input)
1141
      DEALLOCATE(t_therm, q_therm, u_therm, v_therm)
1142
      DEALLOCATE(cdragh_x, cdragh_w)
1143
      DEALLOCATE(cdragm_x, cdragm_w)
1144
      DEALLOCATE(kh, kh_x, kh_w)
1145
!
1146
      DEALLOCATE(ptconv)
1147
      DEALLOCATE(ratqsc)
1148
!
1149
      DEALLOCATE(wbeff, convoccur, zmax_th)
1150
      DEALLOCATE(zq2m, zt2m, weak_inversion)
1151
      DEALLOCATE(zt2m_min_mon, zt2m_max_mon)
1152
      DEALLOCATE(t2m_min_mon, t2m_max_mon)
1153
      DEALLOCATE(sens, flwp, fiwp)
1154
      DEALLOCATE(alp_bl_conv,alp_bl_det)
1155
      DEALLOCATE(alp_bl_fluct_m,alp_bl_fluct_tke)
1156
      DEALLOCATE(alp_bl_stat, n2, s2)
1157
      DEALLOCATE(proba_notrig, random_notrig)
1158
!FC
1159
      DEALLOCATE(zxfluxq,zxfluxt)
1160
1161
      DEALLOCATE(dnwd0)
1162
!      DEALLOCATE(upwd, omega, coefh)
1163
      DEALLOCATE(omega)
1164
      DEALLOCATE(epmax_diag)
1165
!      DEALLOCATE(coefm, lambda_th, cldemi)
1166
      DEALLOCATE(lambda_th, cldemi)
1167
      DEALLOCATE(cldfra, cldtau, fiwc)
1168
      DEALLOCATE(fl, re, flwc)
1169
      DEALLOCATE(ref_liq, ref_ice, theta)
1170
      DEALLOCATE(ref_liq_pi, ref_ice_pi)
1171
      DEALLOCATE(zphi, zx_rh, zx_rhl, zx_rhi)
1172
      DEALLOCATE(pmfd, pmfu)
1173
1174
      DEALLOCATE(t2m, fluxlat)
1175
      DEALLOCATE(fsollw, evap_pot)
1176
      DEALLOCATE(fsolsw, wfbils, wfbilo)
1177
      DEALLOCATE(wfevap,wfrain,wfsnow)
1178
1179
      DEALLOCATE(pmflxr, pmflxs)
1180
      DEALLOCATE(wdtrainA, wdtrainS, wdtrainM)
1181
      DEALLOCATE(upwd, dnwd)
1182
      DEALLOCATE(ep)
1183
      DEALLOCATE(da, mp )
1184
      DEALLOCATE(phi )
1185
      DEALLOCATE(wght_cvfd )
1186
      DEALLOCATE(phi2 )
1187
      DEALLOCATE(d1a, dam)
1188
      DEALLOCATE(ev )
1189
      DEALLOCATE(elij )
1190
      DEALLOCATE(qtaa )
1191
      DEALLOCATE(clw )
1192
      DEALLOCATE(epmlmMm, eplaMm )
1193
      DEALLOCATE(sij )
1194
1195
1196
      DEALLOCATE(prfl, psfl, bsfl, fraca, Vprecip)
1197
      DEALLOCATE(zw2)
1198
1199
      DEALLOCATE(fluxu, fluxv)
1200
      DEALLOCATE(fluxt)
1201
1202
      DEALLOCATE(uwriteSTD, vwriteSTD)
1203
      DEALLOCATE(wwriteSTD, phiwriteSTD)
1204
      DEALLOCATE(qwriteSTD, twriteSTD, rhwriteSTD)
1205
1206
! ug et d'autres encore:
1207
      DEALLOCATE(beta_prec)
1208
      DEALLOCATE(rneb)
1209
      DEALLOCATE(pfraclr,pfracld)
1210
      DEALLOCATE (zxsnow,snowhgt,qsnow,to_ice,sissnow,runoff,albsol3_lic)
1211
      DEALLOCATE(distcltop)
1212
      DEALLOCATE (p_tropopause)
1213
      DEALLOCATE (z_tropopause)
1214
      DEALLOCATE (t_tropopause)
1215
      DEALLOCATE(zn2mout)
1216
1217
! Supersaturation
1218
      DEALLOCATE(rneb_seri)
1219
      DEALLOCATE(d_rneb_dyn)
1220
      DEALLOCATE(qclr, qcld, qss, qvc)
1221
      DEALLOCATE(rnebclr, rnebss, gamma_ss)
1222
      DEALLOCATE(N1_ss, N2_ss)
1223
      DEALLOCATE(drneb_sub, drneb_con, drneb_tur, drneb_avi)
1224
      DEALLOCATE(zqsatl, zqsats)
1225
      DEALLOCATE(Tcontr, qcontr, qcontr2, fcontrN, fcontrP)
1226
1227
#ifdef CPP_StratAer
1228
! variables for strat. aerosol CK
1229
      DEALLOCATE (R2SO4)
1230
      DEALLOCATE (DENSO4)
1231
      DEALLOCATE (f_r_wet)
1232
      DEALLOCATE (decfluxaer)
1233
      DEALLOCATE (mdw)
1234
      DEALLOCATE (SO2_lifetime)
1235
      DEALLOCATE (OCS_lifetime)
1236
      DEALLOCATE (alpha_bin)
1237
      DEALLOCATE (piz_bin)
1238
      DEALLOCATE (cg_bin)
1239
      DEALLOCATE (tau_strat_550)
1240
      DEALLOCATE (tau_strat_1020)
1241
      DEALLOCATE (tausum_strat)
1242
      DEALLOCATE (surf_PM25_sulf)
1243
      DEALLOCATE (vsed_aer)
1244
      DEALLOCATE (budg_3D_ocs_to_so2)
1245
      DEALLOCATE (budg_3D_so2_to_h2so4)
1246
      DEALLOCATE (budg_3D_backgr_ocs)
1247
      DEALLOCATE (budg_3D_backgr_so2)
1248
      DEALLOCATE (budg_3D_nucl)
1249
      DEALLOCATE (budg_3D_cond_evap)
1250
      DEALLOCATE (budg_dep_dry_ocs)
1251
      DEALLOCATE (budg_dep_wet_ocs)
1252
      DEALLOCATE (budg_dep_dry_so2)
1253
      DEALLOCATE (budg_dep_wet_so2)
1254
      DEALLOCATE (budg_dep_dry_h2so4)
1255
      DEALLOCATE (budg_dep_wet_h2so4)
1256
      DEALLOCATE (budg_dep_dry_part)
1257
      DEALLOCATE (budg_dep_wet_part)
1258
      DEALLOCATE (budg_emi_ocs)
1259
      DEALLOCATE (budg_emi_so2)
1260
      DEALLOCATE (budg_emi_h2so4)
1261
      DEALLOCATE (budg_emi_part)
1262
      DEALLOCATE (budg_ocs_to_so2)
1263
      DEALLOCATE (budg_so2_to_h2so4)
1264
      DEALLOCATE (budg_h2so4_to_part)
1265
      DEALLOCATE (budg_sed_part)
1266
#endif
1267
1268
END SUBROUTINE phys_local_var_end
1269
1270
END MODULE phys_local_var_mod