source: LMDZ5/trunk/libf/phylmd/phys_local_var_mod.F90 @ 1761

Last change on this file since 1761 was 1761, checked in by Laurent Fairhead, 11 years ago

New version of Mellor et Yamada pronostic TKE

... based on energy transfer from the mean state.

The new version is yamada_c.
It must be called after vertical diffusion rather than just before
since the source terms u_z w'u' + v_z w'theta' and g/theta w'theta'
are diagnosed from the vertical diffusion (as energy loss from the mean
state) rather than computed as K (u_z2+v_z2) or g/\theta K theta_z
(where _z means vertical derivative).
The call to this version is controled by iflag_pbl.

iflag_pbl = 20 : with TKE computed at interfaces between layers
iflag_pbl = 25 : with TKE computed within the layer
In both cases, the dissipation of turbulence is translated into heat, and
passed to the physics as dtdiss (temperature tendency due to dissipation

of TKE).

The diffusion coefficient being computed after dissipation, it must be
kept for diffusion at the next time step, and thus be stored in the
restartphy file.
This coefficient must be computed and stored for each sub-surface.

A new way of managing subsurface variables is introduced.
For arrays of the form X(:,nbsrf) are extented to X(:,nbsrf+1), where
is_ave=nbsrf+1, is an additional sub-surface which contains the averaged values.

coef_diff_turb_mod.F90 : change of flags.
ener_conserv.F90 : energy conservation must not be applied in those

cases

indicesol.h : definition of is_ave
pbl_surface_mod.F90 : call to yamada_c and changes in the management of

coefh/coefm

physiq.F : Change in the initialisation of pmflxr/s and

modified calls to pbl_surface_mod (introduction
of dtdiss, initialisation
of pbl_tke and coefh in 1D).

phys_local_var_mod.F90 : declaration of d_t_diss
phys_output_mod.F90 : new outputs (bils_tke and bils_diss) and

coefh->coefh(:,:,is_ave)

phys_state_var_mod.F90 : modified declaration for coefh and coefm

(nbsrf -> nbsrf+1)

FH

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 14.6 KB
RevLine 
[1279]1!
2! $Id: phys_local_var_mod.F90 1761 2013-06-04 10:11:38Z fairhead $
3!
[904]4      MODULE phys_local_var_mod
[1279]5
[904]6! Variables locales pour effectuer les appels en serie
7!======================================================================
8!
9!
10!======================================================================
11! Declaration des variables
12
[987]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)
[904]19
[987]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)
[1054]24      REAL, SAVE, ALLOCATABLE :: d_u_dyn(:,:), d_v_dyn(:,:)
25      !$OMP THREADPRIVATE(d_u_dyn, d_v_dyn)
[1742]26!!!!
27      REAL, SAVE, ALLOCATABLE :: d_tr_dyn(:,:,:)
28      !$OMP THREADPRIVATE(d_tr_dyn)
29!!!!
[987]30      REAL, SAVE, ALLOCATABLE :: d_t_con(:,:),d_q_con(:,:)
31      !$OMP THREADPRIVATE(d_t_con,d_q_con)
32      REAL, SAVE, ALLOCATABLE :: d_u_con(:,:),d_v_con(:,:)
33      !$OMP THREADPRIVATE(d_u_con,d_v_con)
34      REAL, SAVE, ALLOCATABLE :: d_t_wake(:,:),d_q_wake(:,:)
35      !$OMP THREADPRIVATE( d_t_wake,d_q_wake)
36      REAL, SAVE, ALLOCATABLE :: d_t_lsc(:,:),d_q_lsc(:,:),d_ql_lsc(:,:)
37      !$OMP THREADPRIVATE(d_t_lsc,d_q_lsc,d_ql_lsc)
38      REAL, SAVE, ALLOCATABLE :: d_t_ajsb(:,:), d_q_ajsb(:,:)
39      !$OMP THREADPRIVATE(d_t_ajsb, d_q_ajsb)
40      REAL, SAVE, ALLOCATABLE :: d_t_ajs(:,:), d_q_ajs(:,:)
41      !$OMP THREADPRIVATE(d_t_ajs, d_q_ajs)
42      REAL, SAVE, ALLOCATABLE :: d_u_ajs(:,:), d_v_ajs(:,:)
43      !$OMP THREADPRIVATE(d_u_ajs, d_v_ajs)
44      REAL, SAVE, ALLOCATABLE :: d_t_eva(:,:),d_q_eva(:,:)
45      !$OMP THREADPRIVATE(d_t_eva,d_q_eva)
[1507]46      REAL, SAVE, ALLOCATABLE :: d_t_lscst(:,:),d_q_lscst(:,:)
47      !$OMP THREADPRIVATE(d_t_lscst,d_q_lscst)
48      REAL, SAVE, ALLOCATABLE :: d_t_lscth(:,:),d_q_lscth(:,:)
49      !$OMP THREADPRIVATE(d_t_lscth,d_q_lscth)
50      REAL, SAVE, ALLOCATABLE :: plul_th(:),plul_st(:)
51      !$OMP THREADPRIVATE(plul_th,plul_st)
[909]52!tendances dues a oro et lif
[987]53      REAL, SAVE, ALLOCATABLE :: d_t_oli(:,:)
54      !$OMP THREADPRIVATE(d_t_oli)
55      REAL, SAVE, ALLOCATABLE :: d_u_oli(:,:), d_v_oli(:,:)
56      !$OMP THREADPRIVATE(d_u_oli, d_v_oli)
[1761]57      REAL, SAVE, ALLOCATABLE :: d_t_vdf(:,:), d_q_vdf(:,:), d_t_diss(:,:)
58      !$OMP THREADPRIVATE( d_t_vdf, d_q_vdf,d_t_diss)
[987]59      REAL, SAVE, ALLOCATABLE :: d_u_vdf(:,:), d_v_vdf(:,:)
60      !$OMP THREADPRIVATE(d_u_vdf, d_v_vdf)
61      REAL, SAVE, ALLOCATABLE :: d_t_oro(:,:)
62      !$OMP THREADPRIVATE(d_t_oro)
63      REAL, SAVE, ALLOCATABLE :: d_u_oro(:,:), d_v_oro(:,:)
64      !$OMP THREADPRIVATE(d_u_oro, d_v_oro)
65      REAL, SAVE, ALLOCATABLE :: d_t_lif(:,:)
66      !$OMP THREADPRIVATE(d_t_lif)
67      REAL, SAVE, ALLOCATABLE :: d_u_lif(:,:), d_v_lif(:,:)
68      !$OMP THREADPRIVATE(d_u_lif, d_v_lif)
[1001]69! Tendances Ondes de G non oro (runs strato).
70      REAL, SAVE, ALLOCATABLE :: d_u_hin(:,:)
71      !$OMP THREADPRIVATE(d_u_hin)
72      REAL, SAVE, ALLOCATABLE :: d_v_hin(:,:)
73      !$OMP THREADPRIVATE(d_v_hin)
74      REAL, SAVE, ALLOCATABLE :: d_t_hin(:,:)
75      !$OMP THREADPRIVATE(d_t_hin)
76
[909]77! tendance du a la conersion Ec -> E thermique
[987]78      REAL, SAVE, ALLOCATABLE :: d_t_ec(:,:)
79      !$OMP THREADPRIVATE(d_t_ec)
80      REAL, SAVE, ALLOCATABLE :: d_ts(:,:), d_tr(:,:,:)
81      !$OMP THREADPRIVATE(d_ts, d_tr)
[1279]82
83! diagnostique pour le rayonnement
84      REAL, SAVE, ALLOCATABLE :: topswad_aero(:),  solswad_aero(:)      ! diag
85      !$OMP THREADPRIVATE(topswad_aero,solswad_aero)
86      REAL, SAVE, ALLOCATABLE :: topswai_aero(:),  solswai_aero(:)      ! diag
87      !$OMP THREADPRIVATE(topswai_aero,solswai_aero)
88      REAL, SAVE, ALLOCATABLE :: topswad0_aero(:), solswad0_aero(:)     ! diag
89      !$OMP THREADPRIVATE(topswad0_aero,solswad0_aero)
90      REAL, SAVE, ALLOCATABLE :: topsw_aero(:,:),  solsw_aero(:,:)      ! diag
91      !$OMP THREADPRIVATE(topsw_aero,solsw_aero)
92      REAL, SAVE, ALLOCATABLE :: topsw0_aero(:,:), solsw0_aero(:,:)     ! diag
93      !$OMP THREADPRIVATE(topsw0_aero,solsw0_aero)
94      REAL, SAVE, ALLOCATABLE :: topswcf_aero(:,:),  solswcf_aero(:,:)  ! diag
95      !$OMP THREADPRIVATE(topswcf_aero,solswcf_aero)
96      REAL, SAVE, ALLOCATABLE :: tausum_aero(:,:,:)
97      !$OMP THREADPRIVATE(tausum_aero)
98      REAL, SAVE, ALLOCATABLE :: tau3d_aero(:,:,:,:)
99      !$OMP THREADPRIVATE(tau3d_aero)
[1337]100      REAL, SAVE, ALLOCATABLE :: scdnc(:,:)
101      !$OMP THREADPRIVATE(scdnc)
102      REAL, SAVE, ALLOCATABLE :: cldncl(:)
103      !$OMP THREADPRIVATE(cldncl)
104      REAL, SAVE, ALLOCATABLE :: reffclwtop(:)
105      !$OMP THREADPRIVATE(reffclwtop)
106      REAL, SAVE, ALLOCATABLE :: lcc(:)
107      !$OMP THREADPRIVATE(lcc)
108      REAL, SAVE, ALLOCATABLE :: reffclws(:,:)
109      !$OMP THREADPRIVATE(reffclws)
110      REAL, SAVE, ALLOCATABLE :: reffclwc(:,:)
111      !$OMP THREADPRIVATE(reffclwc)
112      REAL, SAVE, ALLOCATABLE :: cldnvi(:)
113      !$OMP THREADPRIVATE(cldnvi)
114      REAL, SAVE, ALLOCATABLE :: lcc3d(:,:)
115      !$OMP THREADPRIVATE(lcc3d)
116      REAL, SAVE, ALLOCATABLE :: lcc3dcon(:,:)
117      !$OMP THREADPRIVATE(lcc3dcon)
118      REAL, SAVE, ALLOCATABLE :: lcc3dstra(:,:)
119      !$OMP THREADPRIVATE(lcc3dstra)
120      REAL, SAVE, ALLOCATABLE :: od550aer(:)
121      !$OMP THREADPRIVATE(od550aer)
122      REAL, SAVE, ALLOCATABLE :: absvisaer(:)
123      !$OMP THREADPRIVATE(absvisaer)
124      REAL, SAVE, ALLOCATABLE :: od865aer(:)
125      !$OMP THREADPRIVATE(od865aer)
126      REAL, SAVE, ALLOCATABLE :: ec550aer(:,:)
127      !$OMP THREADPRIVATE(ec550aer)
128      REAL, SAVE, ALLOCATABLE :: od550lt1aer(:)
129      !$OMP THREADPRIVATE(od550lt1aer)
130      REAL, SAVE, ALLOCATABLE :: sconcso4(:)
131      !$OMP THREADPRIVATE(sconcso4)
132      REAL, SAVE, ALLOCATABLE :: sconcoa(:)
133      !$OMP THREADPRIVATE(sconcoa)
134      REAL, SAVE, ALLOCATABLE :: sconcbc(:)
135      !$OMP THREADPRIVATE(sconcbc)
136      REAL, SAVE, ALLOCATABLE :: sconcss(:)
137      !$OMP THREADPRIVATE(sconcss)
138      REAL, SAVE, ALLOCATABLE :: sconcdust(:)
139      !$OMP THREADPRIVATE(sconcdust)
140      REAL, SAVE, ALLOCATABLE :: concso4(:,:)
141      !$OMP THREADPRIVATE(concso4)
142      REAL, SAVE, ALLOCATABLE :: concoa(:,:)
143      !$OMP THREADPRIVATE(concoa)
144      REAL, SAVE, ALLOCATABLE :: concbc(:,:)
145      !$OMP THREADPRIVATE(concbc)
146      REAL, SAVE, ALLOCATABLE :: concss(:,:)
147      !$OMP THREADPRIVATE(concss)
148      REAL, SAVE, ALLOCATABLE :: concdust(:,:)
149      !$OMP THREADPRIVATE(concdust)
150      REAL, SAVE, ALLOCATABLE :: loadso4(:)
151      !$OMP THREADPRIVATE(loadso4)
152      REAL, SAVE, ALLOCATABLE :: loadoa(:)
153      !$OMP THREADPRIVATE(loadoa)
154      REAL, SAVE, ALLOCATABLE :: loadbc(:)
155      !$OMP THREADPRIVATE(loadbc)
156      REAL, SAVE, ALLOCATABLE :: loadss(:)
157      !$OMP THREADPRIVATE(loadss)
158      REAL, SAVE, ALLOCATABLE :: loaddust(:)
159      !$OMP THREADPRIVATE(loaddust)
160      REAL, SAVE, ALLOCATABLE :: load_tmp1(:)
161      !$OMP THREADPRIVATE(load_tmp1)
162      REAL, SAVE, ALLOCATABLE :: load_tmp2(:)
163      !$OMP THREADPRIVATE(load_tmp2)
164      REAL, SAVE, ALLOCATABLE :: load_tmp3(:)
165      !$OMP THREADPRIVATE(load_tmp3)
166      REAL, SAVE, ALLOCATABLE :: load_tmp4(:)
167      !$OMP THREADPRIVATE(load_tmp4)
168      REAL, SAVE, ALLOCATABLE :: load_tmp5(:)
169      !$OMP THREADPRIVATE(load_tmp5)
170      REAL, SAVE, ALLOCATABLE :: load_tmp6(:)
171      !$OMP THREADPRIVATE(load_tmp6)
172      REAL, SAVE, ALLOCATABLE :: load_tmp7(:)
173      !$OMP THREADPRIVATE(load_tmp7)
[1279]174
[1539]175!IM ajout variables CFMIP2/CMIP5
176      REAL,ALLOCATABLE,SAVE :: topswad_aerop(:), solswad_aerop(:)
177!$OMP THREADPRIVATE(topswad_aerop, solswad_aerop)
178      REAL,ALLOCATABLE,SAVE :: topswai_aerop(:), solswai_aerop(:)
179!$OMP THREADPRIVATE(topswai_aerop, solswai_aerop)
180      REAL,ALLOCATABLE,SAVE :: topswad0_aerop(:), solswad0_aerop(:)
181!$OMP THREADPRIVATE(topswad0_aerop, solswad0_aerop)
182      REAL,ALLOCATABLE,SAVE :: topsw_aerop(:,:), topsw0_aerop(:,:) 
183!$OMP THREADPRIVATE(topsw_aerop, topsw0_aerop)
184      REAL,ALLOCATABLE,SAVE :: solsw_aerop(:,:), solsw0_aerop(:,:)
185!$OMP THREADPRIVATE(solsw_aerop, solsw0_aerop)
186      REAL,ALLOCATABLE,SAVE :: topswcf_aerop(:,:), solswcf_aerop(:,:)
187!$OMP THREADPRIVATE(topswcf_aerop, solswcf_aerop)
188
[904]189CONTAINS
190
191!======================================================================
192SUBROUTINE phys_local_var_init
193use dimphy
[1146]194use infotrac, ONLY : nbtr
[1279]195USE aero_mod
196
[904]197IMPLICIT NONE
[909]198#include "indicesol.h"
[904]199      allocate(t_seri(klon,klev),q_seri(klon,klev),ql_seri(klon,klev),qs_seri(klon,klev))
200      allocate(u_seri(klon,klev),v_seri(klon,klev))
[909]201
202      allocate(tr_seri(klon,klev,nbtr))
203      allocate(d_t_dyn(klon,klev),d_q_dyn(klon,klev))
[1054]204      allocate(d_u_dyn(klon,klev),d_v_dyn(klon,klev))
[1742]205      allocate(d_tr_dyn(klon,klev,nbtr))                   !RomP
[909]206      allocate(d_t_con(klon,klev),d_q_con(klon,klev))
207      allocate(d_u_con(klon,klev),d_v_con(klon,klev))
208      allocate(d_t_wake(klon,klev),d_q_wake(klon,klev))
209      allocate(d_t_lsc(klon,klev),d_q_lsc(klon,klev))
210      allocate(d_ql_lsc(klon,klev))
211      allocate(d_t_ajsb(klon,klev),d_q_ajsb(klon,klev))
212      allocate(d_t_ajs(klon,klev),d_q_ajs(klon,klev))
213      allocate(d_u_ajs(klon,klev),d_v_ajs(klon,klev))
214      allocate(d_t_eva(klon,klev),d_q_eva(klon,klev))
[1507]215      allocate(d_t_lscst(klon,klev),d_q_lscst(klon,klev))
216      allocate(d_t_lscth(klon,klev),d_q_lscth(klon,klev))
217      allocate(plul_st(klon),plul_th(klon))
[1761]218      allocate(d_t_vdf(klon,klev),d_q_vdf(klon,klev),d_t_diss(klon,klev))
[909]219      allocate(d_u_vdf(klon,klev),d_v_vdf(klon,klev))
220      allocate(d_t_oli(klon,klev),d_t_oro(klon,klev))
221      allocate(d_u_oli(klon,klev),d_v_oli(klon,klev))
222      allocate(d_u_oro(klon,klev),d_v_oro(klon,klev))
223      allocate(d_t_lif(klon,klev),d_t_ec(klon,klev))
224      allocate(d_u_lif(klon,klev),d_v_lif(klon,klev))
[1424]225      allocate(d_ts(klon,nbsrf), d_tr(klon,klev,nbtr))
[1279]226      allocate(topswad_aero(klon), solswad_aero(klon))
227      allocate(topswai_aero(klon), solswai_aero(klon))
228      allocate(topswad0_aero(klon), solswad0_aero(klon))
229      allocate(topsw_aero(klon,naero_grp), solsw_aero(klon,naero_grp))
230      allocate(topsw0_aero(klon,naero_grp), solsw0_aero(klon,naero_grp))
231      allocate(topswcf_aero(klon,3), solswcf_aero(klon,3))
232      allocate(d_u_hin(klon,klev),d_v_hin(klon,klev),d_t_hin(klon,klev))
233      allocate(tausum_aero(klon,nwave,naero_spc))
234      allocate(tau3d_aero(klon,klev,nwave,naero_spc))
[1337]235      allocate(scdnc(klon, klev))
236      allocate(cldncl(klon))
237      allocate(reffclwtop(klon))
238      allocate(lcc(klon))
239      allocate(reffclws(klon, klev))
240      allocate(reffclwc(klon, klev))
241      allocate(cldnvi(klon))
242      allocate(lcc3d(klon, klev))
243      allocate(lcc3dcon(klon, klev))
244      allocate(lcc3dstra(klon, klev))
245      allocate(od550aer(klon))   
246      allocate(od865aer(klon))   
247      allocate(absvisaer(klon)) 
248      allocate(ec550aer(klon,klev))
249      allocate(od550lt1aer(klon))               
250      allocate(sconcso4(klon))
251      allocate(sconcoa(klon))
252      allocate(sconcbc(klon))
253      allocate(sconcss(klon))
254      allocate(sconcdust(klon))
255      allocate(concso4(klon,klev))
256      allocate(concoa(klon,klev))
257      allocate(concbc(klon,klev))
258      allocate(concss(klon,klev))
259      allocate(concdust(klon,klev))
260      allocate(loadso4(klon))
261      allocate(loadoa(klon))
262      allocate(loadbc(klon))
263      allocate(loadss(klon))
264      allocate(loaddust(klon))
265      allocate(load_tmp1(klon))
266      allocate(load_tmp2(klon))
267      allocate(load_tmp3(klon))
268      allocate(load_tmp4(klon))
269      allocate(load_tmp5(klon))
270      allocate(load_tmp6(klon))
271      allocate(load_tmp7(klon))
[1279]272
[1539]273!IM ajout variables CFMIP2/CMIP5
274      ALLOCATE(topswad_aerop(klon), solswad_aerop(klon))
275      ALLOCATE(topswai_aerop(klon), solswai_aerop(klon))
276      ALLOCATE(topswad0_aerop(klon), solswad0_aerop(klon))
277      ALLOCATE(topsw_aerop(klon,naero_grp), topsw0_aerop(klon,naero_grp))
278      ALLOCATE(solsw_aerop(klon,naero_grp), solsw0_aerop(klon,naero_grp))
279      ALLOCATE(topswcf_aerop(klon,naero_grp), solswcf_aerop(klon,naero_grp))
280
[904]281END SUBROUTINE phys_local_var_init
282
283!======================================================================
284SUBROUTINE phys_local_var_end
285use dimphy
286IMPLICIT NONE
[909]287#include "indicesol.h"
[904]288      deallocate(t_seri,q_seri,ql_seri,qs_seri)
289      deallocate(u_seri,v_seri)
[909]290
291      deallocate(tr_seri)
292      deallocate(d_t_dyn,d_q_dyn)
[1054]293      deallocate(d_u_dyn,d_v_dyn)
[1742]294      deallocate(d_tr_dyn)                      !RomP
[909]295      deallocate(d_t_con,d_q_con)
296      deallocate(d_u_con,d_v_con)
297      deallocate(d_t_wake,d_q_wake)
298      deallocate(d_t_lsc,d_q_lsc)
299      deallocate(d_ql_lsc)
300      deallocate(d_t_ajsb,d_q_ajsb)
301      deallocate(d_t_ajs,d_q_ajs)
302      deallocate(d_u_ajs,d_v_ajs)
303      deallocate(d_t_eva,d_q_eva)
[1507]304      deallocate(d_t_lscst,d_q_lscst)
305      deallocate(d_t_lscth,d_q_lscth)
[1513]306      deallocate(plul_st,plul_th)
[1761]307      deallocate(d_t_vdf,d_q_vdf,d_t_diss)
[909]308      deallocate(d_u_vdf,d_v_vdf)
309      deallocate(d_t_oli,d_t_oro)
310      deallocate(d_u_oli,d_v_oli)
311      deallocate(d_u_oro,d_v_oro)
312      deallocate(d_t_lif,d_t_ec)
313      deallocate(d_u_lif,d_v_lif)
314      deallocate(d_ts, d_tr)
[1279]315      deallocate(topswad_aero,solswad_aero)
316      deallocate(topswai_aero,solswai_aero)
317      deallocate(topswad0_aero,solswad0_aero)
318      deallocate(topsw_aero,solsw_aero)
319      deallocate(topsw0_aero,solsw0_aero)
320      deallocate(topswcf_aero,solswcf_aero)
321      deallocate(tausum_aero)
322      deallocate(tau3d_aero)
[1337]323      deallocate(scdnc)
324      deallocate(cldncl)
325      deallocate(reffclwtop)
326      deallocate(lcc)
327      deallocate(reffclws)
328      deallocate(reffclwc)
329      deallocate(cldnvi)
330      deallocate(lcc3d)
331      deallocate(lcc3dcon)
332      deallocate(lcc3dstra)
333      deallocate(od550aer)       
334      deallocate(od865aer)
335      deallocate(absvisaer)
336      deallocate(ec550aer)
337      deallocate(od550lt1aer)
338      deallocate(sconcso4)
339      deallocate(sconcoa)
340      deallocate(sconcbc)
341      deallocate(sconcss)
342      deallocate(sconcdust)
343      deallocate(concso4)
344      deallocate(concoa)
345      deallocate(concbc)
346      deallocate(concss)
347      deallocate(concdust)
348      deallocate(loadso4)
349      deallocate(loadoa)
350      deallocate(loadbc)
351      deallocate(loadss)
352      deallocate(loaddust)
353      deallocate(load_tmp1)
354      deallocate(load_tmp2)
355      deallocate(load_tmp3)
356      deallocate(load_tmp4)
357      deallocate(load_tmp5)
358      deallocate(load_tmp6)
359      deallocate(load_tmp7)
[1279]360      deallocate(d_u_hin,d_v_hin,d_t_hin)
361
[1539]362!IM ajout variables CFMIP2/CMIP5
363      deallocate(topswad_aerop, solswad_aerop)
364      deallocate(topswai_aerop, solswai_aerop)
365      deallocate(topswad0_aerop, solswad0_aerop)
366      deallocate(topsw_aerop, topsw0_aerop)
367      deallocate(solsw_aerop, solsw0_aerop)
368      deallocate(topswcf_aerop, solswcf_aerop)
369
[904]370END SUBROUTINE phys_local_var_end
371
372END MODULE phys_local_var_mod
Note: See TracBrowser for help on using the repository browser.