Ignore:
Timestamp:
Apr 15, 2005, 2:36:17 PM (19 years ago)
Author:
lmdzadmin
Message:

Rajout convection Kerry Emanuel pour traceurs- MAF+JYG

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ4/trunk/libf/phylmd/phytrac.F

    r616 r619  
    44c
    55c
    6       SUBROUTINE phytrac (rnpb,nstep,
     6      SUBROUTINE phytrac (iflag_con,rnpb,nstep,
    77     I                    julien,gmtime,
    88     I                    debutphy,lafin,
     
    146146      REAL flxmass_w(klon,klev)
    147147#endif
     148      integer iflag_con
    148149
    149150cAA Rem : nbtr : nombre de vrais traceurs est defini dans dimphy.h
     
    166167      REAL pen_d(nlon,nlev) ! flux entraine dans le panache descendant
    167168      REAL pde_d(nlon,nlev) ! flux detraine dans le panache descendant
     169c KE
     170      real da(nlon,nlev),phi(nlon,nlev,nlev),mp(nlon,nlev)
     171      REAL upwd(nlon,nlev)      ! saturated updraft mass flux
     172      REAL dnwd(nlon,nlev)      ! saturated downdraft mass flux
     173
    168174c
    169175c   Couche limite:
     
    281287c
    282288      REAL d_tr(klon,klev), d_trs(klon) ! tendances de traceurs
    283       REAL d_tr_cl(klon,klev) ! tendance de traceurs  couche limite
    284       REAL d_tr_cli(klon,klev,nbtr) ! tendance de traceurs  CL pour chq traceur
    285       REAL d_tr_cv(klon,klev) ! tendance de traceurs  convection
    286       REAL d_tr_cvi(klon,klev,nbtr) ! tendance de traceurs  conv pour chq traceur
     289      REAL d_tr_cl(klon,klev,nbtr) ! tendance de traceurs  couche limite
     290      REAL d_tr_cv(klon,klev,nbtr) ! tendance de traceurs  conv pour chq traceur
    287291      REAL d_tr_th(klon,klev,nbtr) ! la tendance des thermiques
    288292      REAL d_tr_dec(klon,klev,nbtr) ! la tendance de la decroissance
     
    528532
    529533c Abder
    530       if(nqmax.gt.2) aerosol(3)=.true.
     534ctestmaf      if(nqmax.gt.2) aerosol(3)=.true.
    531535
    532536       do i=1,nlon
     
    548552c======================================================================
    549553c     print*,'Avant convection'
    550       do it=1,nqmax
    551          WRITE(itn,'(i2)') it
     554c      do it=1,nqmax
     555c         WRITE(itn,'(i2)') it
    552556c        call diagtracphy(tr_seri(:,:,it),paprs,'Avant conv'//itn)
    553       enddo
     557c      enddo
    554558
    555559      if (convection) then
     
    560564      IF ( conv_flg(it) == 0 ) CYCLE
    561565#endif
     566      if (iflag_con.eq.2) then
     567c tiedke
    562568      CALL nflxtr(pdtphys, pmfu, pmfd, pen_u, pde_u, pen_d, pde_d,
    563      .            pplay, paprs, tr_seri(1,1,it), d_tr_cv)
     569     .            pplay, paprs, tr_seri(1,1,it), d_tr_cv(1,1,it))
     570      else if (iflag_con.eq.3) then
     571c KE
     572      call cvltr(pdtphys, da, phi, mp, paprs,pplay, tr_seri(1,1,it),
     573     .           upwd,dnwd,d_tr_cv(1,1,it))
     574      endif
     575
    564576      DO k = 1, nlev
    565577      DO i = 1, klon
    566          tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cv(i,k)
    567          d_tr_cvi(i,k,it)=d_tr_cv(i,k)
    568 c        print*,'en k i d_tr_cv=',k,i,d_tr_cv(i,k)
     578         tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cv(i,k,it)
    569579      ENDDO
    570580      ENDDO
    571 c      WRITE(itn,'(i1)') it
    572581#ifdef INCA
    573582      CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'convection it = '
     
    676685     e                    tautr(it),vdeptr(it),
    677686     e                    xlat,
    678      s                    d_tr_cl,d_trs)
     687     s                    d_tr_cl(1,1,it),d_trs)
    679688          DO k = 1, nlev
    680689            DO i = 1, klon
    681               tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cl(i,k)
    682               d_tr_cli(i,k,it)=d_tr_cl(i,k)
     690              tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cl(i,k,it)
    683691            ENDDO
    684692          ENDDO
     
    709717     s               tr_seri(1,1,it), source,
    710718     e               paprs, pplay, delp,
    711      s               d_tr )
     719     s               d_tr_cl(1,1,it))
    712720            DO k = 1, nlev
    713721               DO i = 1, klon
    714                   tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr(i,k)
    715                   d_tr_cli(i,k,it)=d_tr_cl(i,k)
     722                  tr_seri(i,k,it) = tr_seri(i,k,it) + d_tr_cl(i,k,it)
    716723               ENDDO
    717724            ENDDO
    718 Cmaf provisoire suppression des prints
    719725Cmaf          WRITE(itn,'(i1)') it
    720726cmaf          CALL minmaxqfi(tr_seri(1,1,it),0.,1.e33,'cltracn it='//itn)
Note: See TracChangeset for help on using the changeset viewer.