Ignore:
Timestamp:
Sep 11, 2013, 11:45:01 AM (11 years ago)
Author:
Laurent Fairhead
Message:

Création d'une nouvelle testing:

merge des modifications du trunk entre r1796 et r1860


New testing version

merged modifications between r1796 and r1860 from the trunk

i.e.
svn merge -r1796:1860 http://svn.lmd.jussieu.fr/LMDZ/LMDZ5/trunk

Location:
LMDZ5/branches/testing
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ5/branches/testing

  • LMDZ5/branches/testing/libf/phylmd/cva_driver.F

    r1795 r1864  
    33!
    44      SUBROUTINE cva_driver(len,nd,ndp1,ntra,nloc,
    5      &                   iflag_con,iflag_mix,
     5     &                   iflag_con,iflag_mix,iflag_ice_thermo,
    66     &                   iflag_clos,delt,
    77     &                   t1,q1,qs1,t1_wake,q1_wake,qs1_wake,s1_wake,
     
    5252C      iflag_con     Integer        Input        version of convect (3/4)
    5353C      iflag_mix     Integer        Input        version of mixing  (0/1/2)
     54C   iflag_ice_thermo Integer        Input        accounting for ice thermodynamics (0/1)
    5455C      iflag_clos    Integer        Input        version of closure (0/1)
    5556C      delt          Real           Input        time step
     
    155156      integer iflag_con
    156157      integer iflag_mix
     158      integer iflag_ice_thermo
    157159      integer iflag_clos
    158160      real delt
     
    381383      real buoybase1(klon)
    382384
     385      real lf1(klon,klev) ,lf1_wake(klon,klev)
    383386      real lv1(klon,klev) ,lv1_wake(klon,klev)
    384387      real cpn1(klon,klev),cpn1_wake(klon,klev)
     
    419422      real gz(nloc,klev),h(nloc,klev)     ,hm(nloc,klev)
    420423      real               h_wake(nloc,klev),hm_wake(nloc,klev)
    421       real lv(nloc,klev)     ,cpn(nloc,klev)
    422       real lv_wake(nloc,klev),cpn_wake(nloc,klev)
     424      real lv(nloc,klev), lf(nloc,klev), cpn(nloc,klev)
     425      real lv_wake(nloc,klev), lf_wake(nloc,klev), cpn_wake(nloc,klev)
    423426      real p(nloc,klev),ph(nloc,klev+1),tv(nloc,klev)    ,tp(nloc,klev)
    424427      real                              tv_wake(nloc,klev)
     
    430433      real sig(nloc,klev), w0(nloc,klev), ptop2(nloc)
    431434      real hp(nloc,klev), ep(nloc,klev), sigp(nloc,klev)
    432       real frac(nloc), buoy(nloc,klev)
     435      real buoy(nloc,klev)
    433436      real cape(nloc)
    434437      real cin(nloc)
     
    444447      real sigd(nloc)
    445448!      real mp(nloc,klev), qp(nloc,klev), up(nloc,klev), vp(nloc,klev)
    446 !      real wt(nloc,klev), water(nloc,klev), evap(nloc,klev)
     449!      real wt(nloc,klev), water(nloc,klev), evap(nloc,klev), ice(nloc,klev)
    447450!      real b(nloc,klev), sigd(nloc)
    448451!      save mp,qp,up,vp,wt,water,evap,b
    449452      real, save, allocatable :: mp(:,:),qp(:,:),up(:,:),vp(:,:)
    450       real, save, allocatable :: wt(:,:),water(:,:),evap(:,:), b(:,:)
    451 c$OMP THREADPRIVATE(mp,qp,up,vp,wt,water,evap,b)
     453      real, save, allocatable :: wt(:,:),water(:,:),evap(:,:)
     454      real, save, allocatable :: ice(:,:),fondue(:,:), b(:,:)
     455      real, save, allocatable :: frac(:,:), faci(:,:)
     456c$OMP THREADPRIVATE(mp,qp,up,vp,wt,water,evap,ice,fondue,b,frac,faci)
    452457      real  ft(nloc,klev), fq(nloc,klev)
    453458      real ftd(nloc,klev), fqd(nloc,klev)
     
    496501         allocate(mp(nloc,klev), qp(nloc,klev), up(nloc,klev))
    497502         allocate(vp(nloc,klev), wt(nloc,klev), water(nloc,klev))
     503         allocate(ice(nloc,klev), fondue(nloc,klev))
    498504         allocate(evap(nloc,klev), b(nloc,klev))
     505         allocate(frac(nloc,klev), faci(nloc,klev))
    499506         first=.false.
    500507       endif
     
    502509c   (common cvflag)
    503510
    504        CALL cv_flag
     511       CALL cv_flag(iflag_ice_thermo)
    505512
    506513c -- set thermodynamical constants:
     
    610617!       print*,'t1, q1 ',t1,q1
    611618       CALL cv3_prelim(len,nd,ndp1,t1,q1,p1,ph1      ! nd->na
    612      o               ,lv1,cpn1,tv1,gz1,h1,hm1,th1)
     619     o               ,lv1,lf1,cpn1,tv1,gz1,h1,hm1,th1)
    613620   
    614621c
    615622       CALL cv3_prelim(len,nd,ndp1,t1_wake,q1_wake,p1,ph1 ! nd->na
    616      o               ,lv1_wake,cpn1_wake,tv1_wake,gz1_wake
     623     o               ,lv1_wake,lf1_wake,cpn1_wake,tv1_wake,gz1_wake
    617624     o               ,h1_wake,bid,th1_wake)
    618625   
     
    755762     :    ,u1,v1,gz1,th1,th1_wake
    756763     :    ,tra1
    757      :    ,h1     ,lv1     ,cpn1   ,p1,ph1,tv1    ,tp1,tvp1,clw1
    758      :    ,h1_wake,lv1_wake,cpn1_wake     ,tv1_wake
     764     :    ,h1     ,lv1, lf1,cpn1   ,p1,ph1,tv1    ,tp1,tvp1,clw1
     765     :    ,h1_wake,lv1_wake,lf1_wake,cpn1_wake     ,tv1_wake
    759766     :    ,sig1,w01,ptop21
    760767     :    ,Ale1,Alp1
     
    765772     o    ,u,v,gz,th,th_wake
    766773     o    ,tra
    767      o    ,h     ,lv     ,cpn    ,p,ph,tv    ,tp,tvp,clw
    768      o    ,h_wake,lv_wake,cpn_wake    ,tv_wake
     774     o    ,h     ,lv, lf     ,cpn    ,p,ph,tv    ,tp,tvp,clw
     775     o    ,h_wake,lv_wake,lf_wake,cpn_wake    ,tv_wake
    769776     o    ,sig,w0,ptop2
    770777     o    ,Ale,Alp  )
     
    800807       CALL cv3_undilute2(nloc,ncum,nd,icb,icbs,nk        !na->nd
    801808     :                        ,tnk,qnk,gznk,hnk,t,q,qs,gz
    802      :                        ,p,h,tv,lv,pbase,buoybase,plcl
    803      o                        ,inb,tp,tvp,clw,hp,ep,sigp,buoy)
     809     :                        ,p,h,tv,lv,lf,pbase,buoybase,plcl
     810     o                        ,inb,tp,tvp,clw,hp,ep,sigp,buoy
     811     :                        ,frac)
    804812   
    805813      endif
     
    816824!-------------------------------------------------------------------
    817825      IF (iflag_con .eq. 3) THEN
     826       if ((iflag_ice_thermo.eq.1).and.(iflag_mix.ne.0)) then
     827         write(*,*) " iflag_ice_thermo==1 requires iflag_mix==0",
     828     &   " but iflag_mix=",iflag_mix, ". Might as well stop here."
     829         stop
     830       endif
    818831       IF (iflag_mix .ge. 1 ) THEN
    819832         CALL zilch(supmax,nloc*klev)   
     
    877890        IF (iflag_mix.eq.0) THEN
    878891         CALL cv3_mixing(nloc,ncum,nd,nd,ntra,icb,nk,inb    ! na->nd
    879      :                       ,ph,t,q,qs,u,v,tra,h,lv,qnk
     892     :                       ,ph,t,q,qs,u,v,tra,h,lv,lf,frac,qnk
    880893     :                       ,unk,vnk,hp,tv,tvp,ep,clw,m,sig
    881894     o   ,ment,qent,uent,vent,nent,sigij,elij,ments,qents,traent)
     
    913926       CALL cv3_unsat(nloc,ncum,nd,nd,ntra,icb,inb,iflag    ! na->nd
    914927     :               ,t_wake,q_wake,qs_wake,gz,u,v,tra,p,ph
    915      :               ,th_wake,tv_wake,lv_wake,cpn_wake
     928     :               ,th_wake,tv_wake,lv_wake,lf_wake,cpn_wake
    916929     :               ,ep,sigp,clw
    917930     :               ,m,ment,elij,delt,plcl,coef_clos
    918      o          ,mp,qp,up,vp,trap,wt,water,evap,b,sigd
     931     o          ,mp,qp,up,vp,trap,wt,water,evap,fondue,ice
     932     :          ,faci,b,sigd
    919933     o          ,wdtrainA,wdtrainM)   ! RomP
    920934      endif
     
    943957     :                     ,icb,inb,delt
    944958     :                     ,t,q,t_wake,q_wake,s_wake,u,v,tra
    945      :                     ,gz,p,ph,h,hp,lv,cpn,th,th_wake
     959     :                     ,gz,p,ph,h,hp,lv,lf,cpn,th,th_wake
    946960     :                     ,ep,clw,m,tp,mp,qp,up,vp,trap
    947      :                     ,wt,water,evap,b,sigd
     961     :                     ,wt,water,ice,evap,fondue,faci,b,sigd
    948962     :                    ,ment,qent,hent,iflag_mix,uent,vent
    949963     :                    ,nent,elij,traent,sig
     
    10431057      return
    10441058      end
    1045 
Note: See TracChangeset for help on using the changeset viewer.