source: LMDZ5/trunk/libf/phylmd/concvl.F @ 1957

Last change on this file since 1957 was 1907, checked in by lguez, 11 years ago

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 17.4 KB
RevLine 
[1849]1      SUBROUTINE concvl (iflag_clos,
[879]2     .             dtime,paprs,pplay,
[1146]3     .             t,q,t_wake,q_wake,s_wake,u,v,tra,ntra,
[1827]4     .             ALE,ALP,sig1,w01,
[879]5     .             d_t,d_q,d_u,d_v,d_tra,
6     .             rain, snow, kbas, ktop, sigd,
[1518]7     .             cbmf,plcl,plfc,wbeff,upwd,dnwd,dnwdbis,
8     .             Ma,mip,Vprecip,
[879]9     .             cape,cin,tvp,Tconv,iflag,
[524]10     .             pbase,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,
[879]11     .             qcondc,wd,pmflxr,pmflxs,
[1742]12! RomP >>>
13!!     .             da,phi,mp,dd_t,dd_q,lalim_conv,wght_th)
14     .             da,phi,mp,phi2,d1a,dam,sij,clw,elij,        ! RomP
15     .             dd_t,dd_q,lalim_conv,wght_th,               ! RomP
16     .             evap, ep, epmlmMm,eplaMm,                   ! RomP
17     .             wdtrainA,wdtrainM)                          ! RomP
18! RomP <<<
[879]19***************************************************************
20*                                                             *
21* CONCVL                                                      *
22*                                                             *
23*                                                             *
24* written by   : Sandrine Bony-Lena, 17/05/2003, 11.16.04    *
25* modified by :                                               *
26***************************************************************
27*
[524]28c
[940]29      USE dimphy
[1146]30      USE infotrac, ONLY : nbtr
[524]31      IMPLICIT none
32c======================================================================
[879]33c Auteur(s): S. Bony-Lena (LMD/CNRS) date: ???
[524]34c Objet: schema de convection de Emanuel (1991) interface
35c======================================================================
36c Arguments:
37c dtime--input-R-pas d'integration (s)
38c s-------input-R-la valeur "s" pour chaque couche
39c sigs----input-R-la valeur "sigma" de chaque couche
40c sig-----input-R-la valeur de "sigma" pour chaque niveau
41c psolpa--input-R-la pression au sol (en Pa)
42C pskapa--input-R-exponentiel kappa de psolpa
43c h-------input-R-enthalpie potentielle (Cp*T/P**kappa)
44c q-------input-R-vapeur d'eau (en kg/kg)
45c
46c work*: input et output: deux variables de travail,
47c                            on peut les mettre a 0 au debut
48c ALE-----input-R-energie disponible pour soulevement
[879]49c ALP-----input-R-puissance disponible pour soulevement
[524]50c
51C d_h-----output-R-increment de l'enthalpie potentielle (h)
52c d_q-----output-R-increment de la vapeur d'eau
53c rain----output-R-la pluie (mm/s)
54c snow----output-R-la neige (mm/s)
55c upwd----output-R-saturated updraft mass flux (kg/m**2/s)
56c dnwd----output-R-saturated downdraft mass flux (kg/m**2/s)
57c dnwd0---output-R-unsaturated downdraft mass flux (kg/m**2/s)
[879]58c Ma------output-R-adiabatic ascent mass flux (kg/m2/s)
59c mip-----output-R-mass flux shed by adiabatic ascent (kg/m2/s)
60c Vprecip-output-R-vertical profile of precipitations (kg/m2/s)
61c Tconv---output-R-environment temperature seen by convective scheme (K)
[524]62c Cape----output-R-CAPE (J/kg)
[879]63c Cin ----output-R-CIN  (J/kg)
[524]64c Tvp-----output-R-Temperature virtuelle d'une parcelle soulevee
65c                  adiabatiquement a partir du niveau 1 (K)
66c deltapb-output-R-distance entre LCL et base de la colonne (<0 ; Pa)
67c Ice_flag-input-L-TRUE->prise en compte de la thermodynamique de la glace
[879]68c dd_t-----output-R-increment de la temperature du aux descentes precipitantes
69c dd_q-----output-R-increment de la vapeur d'eau du aux desc precip
[524]70c======================================================================
71c
[1849]72
73#include "clesphys.h"
[524]74#include "dimensions.h"
75c
[1849]76       INTEGER iflag_clos
[524]77c
78       REAL dtime, paprs(klon,klev+1),pplay(klon,klev)
79       REAL t(klon,klev),q(klon,klev),u(klon,klev),v(klon,klev)
[879]80       REAL t_wake(klon,klev),q_wake(klon,klev)
[1146]81       Real s_wake(klon)
82       REAL tra(klon,klev,nbtr)
[524]83       INTEGER ntra
[1827]84       REAL sig1(klon,klev),w01(klon,klev),ptop2(klon)
[619]85       REAL pmflxr(klon,klev+1),pmflxs(klon,klev+1)
[879]86       REAL ALE(klon),ALP(klon)
[524]87c
88       REAL d_t(klon,klev),d_q(klon,klev),d_u(klon,klev),d_v(klon,klev)
[879]89       REAL dd_t(klon,klev),dd_q(klon,klev)
[1146]90       REAL d_tra(klon,klev,nbtr)
[524]91       REAL rain(klon),snow(klon)
92c
93       INTEGER kbas(klon),ktop(klon)
94       REAL em_ph(klon,klev+1),em_p(klon,klev)
95       REAL upwd(klon,klev),dnwd(klon,klev),dnwdbis(klon,klev)
[1334]96
97!!       REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev)     !jyg
98       REAL Ma(klon,klev), mip(klon,klev),Vprecip(klon,klev+1)     !jyg
99
[619]100       real da(klon,klev),phi(klon,klev,klev),mp(klon,klev)
[1742]101! RomP >>>
102       real phi2(klon,klev,klev)                                   
103       real d1a(klon,klev),dam(klon,klev)
104       real sij(klon,klev,klev),clw(klon,klev),elij(klon,klev,klev)
105       REAL wdtrainA(klon,klev),wdtrainM(klon,klev)
106       REAL evap(klon,klev),ep(klon,klev)
107       REAL epmlmMm(klon,klev,klev),eplaMm(klon,klev)
108! RomP <<<
[879]109       REAL cape(klon),cin(klon),tvp(klon,klev)
110       REAL Tconv(klon,klev)
111c
112cCR:test: on passe lentr et alim_star des thermiques
113       INTEGER lalim_conv(klon)
114       REAL wght_th(klon,klev)
115       REAL em_sig1feed ! sigma at lower bound of feeding layer
116       REAL em_sig2feed ! sigma at upper bound of feeding layer
117       REAL em_wght(klev) ! weight density determining the feeding mixture
118con enleve le save
119c       SAVE em_sig1feed,em_sig2feed,em_wght
120c
[524]121       INTEGER iflag(klon)
122       REAL rflag(klon)
123       REAL pbase(klon),bbase(klon)
124       REAL dtvpdt1(klon,klev),dtvpdq1(klon,klev)
125       REAL dplcldt(klon),dplcldr(klon)
126       REAL qcondc(klon,klev)
127       REAL wd(klon)
[879]128       REAL Plim1(klon),Plim2(klon),asupmax(klon,klev)
129       REAL supmax0(klon),asupmaxmin(klon)
[524]130c
[879]131       REAL sigd(klon)
[524]132       REAL zx_t,zdelta,zx_qs,zcor
133c
[963]134!       INTEGER iflag_mix
135!       SAVE iflag_mix
[524]136       INTEGER noff, minorig
137       INTEGER i,k,itra
[879]138       REAL qs(klon,klev),qs_wake(klon,klev)
[1518]139       REAL cbmf(klon),plcl(klon),plfc(klon),wbeff(klon)
[940]140cLF       SAVE cbmf
[1398]141cIM/JYG      REAL, SAVE, ALLOCATABLE :: cbmf(:)
142ccc$OMP THREADPRIVATE(cbmf)!       
[940]143       REAL cbmflast(klon)
[524]144       INTEGER ifrst
145       SAVE ifrst
146       DATA ifrst /0/
[766]147c$OMP THREADPRIVATE(ifrst)
148
[879]149c
150C     Variables supplementaires liees au bilan d'energie
151c      Real paire(klon)
[940]152cLF      Real ql(klon,klev)
[879]153c      Save paire
[940]154cLF      Save ql
155cLF      Real t1(klon,klev),q1(klon,klev)
156cLF      Save t1,q1
[879]157c      Data paire /1./
[940]158       REAL, SAVE, ALLOCATABLE :: ql(:,:), q1(:,:), t1(:,:)
159c$OMP THREADPRIVATE(ql, q1, t1)
[879]160c
161C     Variables liees au bilan d'energie et d'enthalpi
162      REAL ztsol(klon)
163      REAL      h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot
164     $        , h_qs_tot, qw_tot, ql_tot, qs_tot , ec_tot
165      SAVE      h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot
166     $        , h_qs_tot, qw_tot, ql_tot, qs_tot , ec_tot
[987]167c$OMP THREADPRIVATE(h_vcol_tot, h_dair_tot, h_qw_tot, h_ql_tot)
168c$OMP THREADPRIVATE(h_qs_tot, qw_tot, ql_tot, qs_tot , ec_tot)
[879]169      REAL      d_h_vcol, d_h_dair, d_qt, d_qw, d_ql, d_qs, d_ec
170      REAL      d_h_vcol_phy
171      REAL      fs_bound, fq_bound
172      SAVE      d_h_vcol_phy
[987]173c$OMP THREADPRIVATE(d_h_vcol_phy)
[879]174      REAL      zero_v(klon)
175      CHARACTER*15 ztit
176      INTEGER   ip_ebil  ! PRINT level for energy conserv. diag.
177      SAVE      ip_ebil
178      DATA      ip_ebil/2/
[987]179c$OMP THREADPRIVATE(ip_ebil)
[879]180      INTEGER   if_ebil ! level for energy conserv. dignostics
181      SAVE      if_ebil
182      DATA      if_ebil/2/
[987]183c$OMP THREADPRIVATE(if_ebil)
[879]184c+jld ec_conser
185      REAL d_t_ec(klon,klev)    ! tendance du a la conersion Ec -> E thermique
186      REAL ZRCPD
187c-jld ec_conser
[940]188cLF
[973]189      INTEGER nloc
[940]190      logical, save :: first=.true.
[987]191c$OMP THREADPRIVATE(first)
192      INTEGER, SAVE :: itap, igout
193c$OMP THREADPRIVATE(itap, igout)
[879]194c
[524]195#include "YOMCST.h"
[879]196#include "YOMCST2.h"
[524]197#include "YOETHF.h"
198#include "FCTTRE.h"
[973]199#include "iniprint.h"
[524]200c
[940]201      if (first) then
202c Allocate some variables LF 04/2008
203c
[1398]204cIM/JYG allocate(cbmf(klon))
[940]205        allocate(ql(klon,klev))
206        allocate(t1(klon,klev))
207        allocate(q1(klon,klev))
[973]208        itap=0
209        igout=klon/2+1/klon
[940]210      endif
[973]211c Incrementer le compteur de la physique
212      itap   = itap + 1
[879]213
214c    Copy T into Tconv
215      DO k = 1,klev
216        DO i = 1,klon
217          Tconv(i,k) = T(i,k)
218        ENDDO
219      ENDDO
[524]220c
[879]221      IF (if_ebil.ge.1) THEN
222        DO i=1,klon
223          ztsol(i) = t(i,1)
224          zero_v(i)=0.
225          Do k = 1,klev
226            ql(i,k) = 0.
227          ENDDO
228        END DO
229      END IF
230c
[559]231cym
232      snow(:)=0
233     
[940]234c      IF (ifrst .EQ. 0) THEN
235c         ifrst = 1
236       if (first) then
237         first=.false.
[879]238c
239C===========================================================================
240C    READ IN PARAMETERS FOR THE CLOSURE AND THE MIXING DISTRIBUTION
241C===========================================================================
242C
243      if (iflag_con.eq.3) then
[963]244c     CALL cv3_inicp()
245      CALL cv3_inip()
[879]246      endif
247c
248C===========================================================================
249C    READ IN PARAMETERS FOR CONVECTIVE INHIBITION BY TROPOS. DRYNESS
250C===========================================================================
251C
[987]252cc$$$         open (56,file='supcrit.data')
253cc$$$         read (56,*) Supcrit1, Supcrit2
254cc$$$         close (56)
[879]255c
[1575]256         IF (prt_level .ge. 10)
257     &       WRITE(lunout,*) 'supcrit1, supcrit2' ,supcrit1, supcrit2
[879]258C
259C===========================================================================
260C      Initialisation pour les bilans d'eau et d'energie
261C===========================================================================
262         IF (if_ebil.ge.1) d_h_vcol_phy=0.
263c
[524]264         DO i = 1, klon
265          cbmf(i) = 0.
[1742]266!!          plcl(i) = 0.
[973]267          sigd(i) = 0.
[524]268         ENDDO
[879]269      ENDIF   !(ifrst .EQ. 0)
[524]270
[1574]271c Initialisation a chaque pas de temps
272      plfc(:)  = 0.
273      wbeff(:) = 100.
[1742]274      plcl(:) = 0.
[1574]275
[524]276      DO k = 1, klev+1
277         DO i=1,klon
278         em_ph(i,k) = paprs(i,k) / 100.0
[1334]279         pmflxr(i,k)=0.
[619]280         pmflxs(i,k)=0.
[524]281      ENDDO
282      ENDDO
283c
284      DO k = 1, klev
285         DO i=1,klon
286         em_p(i,k) = pplay(i,k) / 100.0
287      ENDDO
288      ENDDO
[879]289c
290!
291!  Feeding layer
292!
293      em_sig1feed = 1.
294      em_sig2feed = 0.97
295c      em_sig2feed = 0.8
296! Relative Weight densities
297       do k=1,klev
298         em_wght(k)=1.
299       end do
300cCRtest: couche alim des tehrmiques ponderee par a*
301c       DO i = 1, klon
302c         do k=1,lalim_conv(i)
303c         em_wght(k)=wght_th(i,k)
304c         print*,'em_wght=',em_wght(k),wght_th(i,k)
305c       end do
306c      END DO
[524]307
308      if (iflag_con .eq. 4) then
309      DO k = 1, klev
310        DO i = 1, klon
311         zx_t = t(i,k)
312         zdelta=MAX(0.,SIGN(1.,rtt-zx_t))
313         zx_qs= MIN(0.5 , r2es * FOEEW(zx_t,zdelta)/em_p(i,k)/100.0)
314         zcor=1./(1.-retv*zx_qs)
315         qs(i,k)=zx_qs*zcor
316        ENDDO
[879]317        DO i = 1, klon
318         zx_t = t_wake(i,k)
319         zdelta=MAX(0.,SIGN(1.,rtt-zx_t))
320         zx_qs= MIN(0.5 , r2es * FOEEW(zx_t,zdelta)/em_p(i,k)/100.0)
321         zcor=1./(1.-retv*zx_qs)
322         qs_wake(i,k)=zx_qs*zcor
323        ENDDO
[524]324      ENDDO
325      else ! iflag_con=3 (modif de puristes qui fait la diffce pour la convergence numerique)
326      DO k = 1, klev
327        DO i = 1, klon
328         zx_t = t(i,k)
329         zdelta=MAX(0.,SIGN(1.,rtt-zx_t))
330         zx_qs= r2es * FOEEW(zx_t,zdelta)/em_p(i,k)/100.0
331         zx_qs= MIN(0.5,zx_qs)
332         zcor=1./(1.-retv*zx_qs)
333         zx_qs=zx_qs*zcor
334         qs(i,k)=zx_qs
335        ENDDO
[879]336        DO i = 1, klon
337         zx_t = t_wake(i,k)
338         zdelta=MAX(0.,SIGN(1.,rtt-zx_t))
339         zx_qs= r2es * FOEEW(zx_t,zdelta)/em_p(i,k)/100.0
340         zx_qs= MIN(0.5,zx_qs)
341         zcor=1./(1.-retv*zx_qs)
342         zx_qs=zx_qs*zcor
343         qs_wake(i,k)=zx_qs
344        ENDDO
[524]345      ENDDO
346      endif ! iflag_con
347c
348C------------------------------------------------------------------
349
350C Main driver for convection:
[879]351C               iflag_con=3 -> nvlle version de KE (JYG)
352C               iflag_con = 30  -> equivalent to convect3
[524]353C               iflag_con = 4  -> equivalent to convect1/2
[879]354c
355c
356      if (iflag_con.eq.30) then
[524]357
[1836]358!      print *, '-> cv_driver'      !jyg
[1742]359      CALL cv_driver(klon,klev,klevp1,ntra,iflag_con,
[524]360     :              t,q,qs,u,v,tra,
361     $              em_p,em_ph,iflag,
362     $              d_t,d_q,d_u,d_v,d_tra,rain,
[1827]363     $              Vprecip,cbmf,sig1,w01,                  !jyg
[619]364     $              kbas,ktop,
365     $              dtime,Ma,upwd,dnwd,dnwdbis,qcondc,wd,cape,
[1742]366     $              da,phi,mp,phi2,d1a,dam,sij,clw,elij,       !RomP
367     $              evap,ep,epmlmMm,eplaMm,                    !RomP
368     $              wdtrainA,wdtrainM)                         !RomP
[1836]369!      print *, 'cv_driver ->'      !jyg
[1398]370c
371      DO i = 1,klon
372        cbmf(i) = Ma(i,kbas(i))
373      ENDDO
374c
[879]375      else
[524]376
[940]377cLF   necessary for gathered fields
378      nloc=klon
379      CALL cva_driver(klon,klev,klev+1,ntra,nloc,
[1849]380     $              iflag_con,iflag_mix,iflag_ice_thermo,
381     $              iflag_clos,dtime,
[1146]382     :              t,q,qs,t_wake,q_wake,qs_wake,s_wake,u,v,tra,
[879]383     $              em_p,em_ph,
384     .              ALE,ALP,
385     .              em_sig1feed,em_sig2feed,em_wght,
386     .              iflag,d_t,d_q,d_u,d_v,d_tra,rain,kbas,ktop,
[1827]387     $              cbmf,plcl,plfc,wbeff,sig1,w01,ptop2,sigd,
[879]388     $              Ma,mip,Vprecip,upwd,dnwd,dnwdbis,qcondc,wd,
389     $              cape,cin,tvp,
390     $              dd_t,dd_q,Plim1,Plim2,asupmax,supmax0,
[1650]391     $              asupmaxmin,lalim_conv,
[1774]392!AC!+!RomP+jyg
393     $              da,phi,mp,phi2,d1a,dam,sij,clw,elij,       ! RomP
394     $              evap,ep,epmlmMm,eplaMm,                    ! RomP
395     $              wdtrainA,wdtrainM)                         ! RomP
396!AC!+!RomP+jyg
[879]397      endif 
[524]398C------------------------------------------------------------------
[1575]399      IF (prt_level .ge. 10)
400     .   WRITE(lunout,*) ' cva_driver -> cbmf,plcl,plfc,wbeff ',
401     .                     cbmf(1),plcl(1),plfc(1),wbeff(1)
[524]402
403      DO i = 1,klon
404        rain(i) = rain(i)/86400.
405        rflag(i)=iflag(i)
406      ENDDO
407
408      DO k = 1, klev
409        DO i = 1, klon
410           d_t(i,k) = dtime*d_t(i,k)
411           d_q(i,k) = dtime*d_q(i,k)
412           d_u(i,k) = dtime*d_u(i,k)
413           d_v(i,k) = dtime*d_v(i,k)
414        ENDDO
415      ENDDO
[879]416c
417       if (iflag_con.eq.30) then
[619]418       DO itra = 1,ntra
419        DO k = 1, klev
420         DO i = 1, klon
421            d_tra(i,k,itra) =dtime*d_tra(i,k,itra)
422         ENDDO
423        ENDDO
[879]424       ENDDO
425       endif
426
[1650]427c!AC!
428       if (iflag_con.eq.3) then
429       DO itra = 1,ntra
430        DO k = 1, klev
431         DO i = 1, klon
432            d_tra(i,k,itra) =dtime*d_tra(i,k,itra)
433         ENDDO
434        ENDDO
435       ENDDO
436       endif
437c!AC!
438
[879]439      DO k = 1, klev
440        DO i = 1, klon
441          t1(i,k) = t(i,k)+ d_t(i,k)
442          q1(i,k) = q(i,k)+ d_q(i,k)
443        ENDDO
444      ENDDO
[1334]445c                                                  !jyg
446c--Separation neige/pluie (pour diagnostics)       !jyg
447      DO k = 1, klev                               !jyg
448      DO i = 1, klon                               !jyg
449       IF (t1(i,k).LT.RTT) THEN                    !jyg
450         pmflxs(i,k)=Vprecip(i,k)                  !jyg
451       ELSE                                        !jyg
452         pmflxr(i,k)=Vprecip(i,k)                  !jyg
453       ENDIF                                       !jyg
454      ENDDO                                        !jyg
455      ENDDO                                        !jyg
[879]456c
457cc      IF (if_ebil.ge.2) THEN
458cc        ztit='after convect'
459cc        CALL diagetpq(paire,ztit,ip_ebil,2,2,dtime
460cc     e      , t1,q1,ql,qs,u,v,paprs,pplay
461cc     s      , d_h_vcol, d_qt, d_qw, d_ql, d_qs, d_ec)
462cc         call diagphy(paire,ztit,ip_ebil
463cc     e      , zero_v, zero_v, zero_v, zero_v, zero_v
464cc     e      , zero_v, rain, zero_v, ztsol
465cc     e      , d_h_vcol, d_qt, d_ec
466cc     s      , fs_bound, fq_bound )
467cc      END IF
468C
469c
[524]470c les traceurs ne sont pas mis dans cette version de convect4:
471      if (iflag_con.eq.4) then
472       DO itra = 1,ntra
473        DO k = 1, klev
474         DO i = 1, klon
475            d_tra(i,k,itra) = 0.
476         ENDDO
477        ENDDO
478       ENDDO
479      endif
[938]480c     print*, 'concvl->: dd_t,dd_q ',dd_t(1,1),dd_q(1,1)
[879]481
[970]482        DO k = 1, klev
483         DO i = 1, klon
484            dtvpdt1(i,k) = 0.
485            dtvpdq1(i,k) = 0.
486         ENDDO
487        ENDDO
488        DO i = 1, klon
489           dplcldt(i) = 0.
490           dplcldr(i) = 0.
491        ENDDO
[973]492c
493       if(prt_level.GE.20) THEN
494       DO k=1,klev
495!       print*,'physiq apres_add_con i k it d_u d_v d_t d_q qdl0',igout
496!    .,k,itap,d_u_con(igout,k) ,d_v_con(igout,k), d_t_con(igout,k),
497!    .d_q_con(igout,k),dql0(igout,k)
498!      print*,'phys apres_add_con itap Ma cin ALE ALP wak t q undi t q'
499!    .,itap,Ma(igout,k),cin(igout),ALE(igout), ALP(igout),
500!    . t_wake(igout,k),q_wake(igout,k),t_undi(igout,k),q_undi(igout,k)
501!      print*,'phy apres_add_con itap CON rain snow EMA wk1 wk2 Vpp mip'
502!    .,itap,rain_con(igout),snow_con(igout),ema_work1(igout,k),
503!    .ema_work2(igout,k),Vprecip(igout,k), mip(igout,k)
504!      print*,'phy apres_add_con itap upwd dnwd dnwd0 cape tvp Tconv '
505!    .,itap,upwd(igout,k),dnwd(igout,k),dnwd0(igout,k),cape(igout),
506!    .tvp(igout,k),Tconv(igout,k)
507!      print*,'phy apres_add_con itap dtvpdt dtvdq dplcl dplcldr qcondc'
508!    .,itap,dtvpdt1(igout,k),dtvpdq1(igout,k),dplcldt(igout),
509!    .dplcldr(igout),qcondc(igout,k)
510!      print*,'phy apres_add_con itap wd pmflxr Kpmflxr Kp1 Kpmflxs Kp1'
511!    .,itap,wd(igout),pmflxr(igout,k),pmflxr(igout,k+1),pmflxs(igout,k)
512!    .,pmflxs(igout,k+1)
513!      print*,'phy apres_add_con itap da phi mp ftd fqd lalim wgth',
514!    .itap,da(igout,k),phi(igout,k,k),mp(igout,k),ftd(igout,k),
515!    . fqd(igout,k),lalim_conv(igout),wght_th(igout,k)
516      ENDDO
517      endif !(prt_level.EQ.20) THEN
518c
[524]519      RETURN
520      END
[1849]521 
Note: See TracBrowser for help on using the repository browser.