Changeset 254 for LMDZ.3.3/trunk


Ignore:
Timestamp:
Jul 4, 2001, 4:58:03 PM (23 years ago)
Author:
lmdz
Message:

Inclusion de la version vectorisee de KE FH
LF

Location:
LMDZ.3.3/trunk/libf/phylmd
Files:
4 added
2 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/trunk/libf/phylmd/physiq.F

    r250 r254  
    472472      SAVE bbase
    473473      REAL rflag(klon)          ! flag fonctionnement de convect
     474      INTEGER iflagctrl(klon)          ! flag fonctionnement de convect
    474475c -- convect43:
    475476      INTEGER ntra              ! nb traceurs pour convect4.3
     
    691692cKE43
    692693c Initialisation pour la convection de K.E. (sb):
    693          IF (iflag_con.EQ.4) THEN
     694         IF (iflag_con.GE.3) THEN
    694695
    695696         PRINT*, "*** Convection de Kerry Emanuel 4.3  "
     
    10861087     .                "ave(X)", zsto,zout)
    10871088cKE43
    1088       IF (iflag_con .EQ. 4) THEN ! sb
     1089      IF (iflag_con .GE. 3) THEN ! sb
    10891090c
    10901091         CALL histdef(nid_mth, "cape", "Conv avlbl pot ener", "J/Kg",
     
    12711272c
    12721273cKE43
    1273       IF (iflag_con.EQ.4) THEN ! (sb)
     1274      IF (iflag_con.GE.3) THEN ! (sb)
    12741275c
    12751276         CALL histdef(nid_mth, "upwd", "saturated updraft", "Kg/m2/s",
     
    17131714         itop_con(i) = klev+1 - kctop(i)
    17141715      ENDDO
    1715       ELSE IF (iflag_con.EQ.3) THEN
    1716           stop'reactiver le call conlmd dans physiq.F'
    1717 c     CALL conccm (dtime,paprs,pplay,t_seri,q_seri,conv_q,
    1718 c    s             d_t_con, d_q_con,
    1719 c    s             rain_con, snow_con, ibas_con, itop_con)
    1720 cKE43
    1721       ELSE IF (iflag_con.EQ.4) THEN
     1716      ELSE IF (iflag_con.GE.3) THEN
    17221717c nb of tracers for the KE convection:
    17231718          if (nqmax .GE. 4) then
     
    17261721              ntra = 1
    17271722          endif
    1728 cke43 (arguments inutiles enleves => des SAVE dans conema43?)
    1729 c$$$          CALL conema43(dtime,paprs,pplay,t_seri,q_seri,
    1730 c$$$     $        u_seri,v_seri,tr_seri,nbtr,
    1731 c$$$     .        ema_workcbmf,
    1732 c$$$     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
    1733 c$$$     .        wdn, tdn, qdn,
    1734 c$$$     .        rain_con, snow_con, ibas_con, itop_con,
    1735 c$$$     .        upwd,dnwd,dnwd0,bas,top,Ma,cape,tvp,rflag,
    1736 c$$$     .        pbase
    1737 c$$$     .        ,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr,
    1738 c$$$     .        pori_con,plcl_con,dtma_con,dtlcl_con)
    1739           CALL conema (dtime,paprs,pplay,t_seri,q_seri,
    1740      $        u_seri,v_seri,tr_seri,nbtr,
     1723          if (iflag_con.eq.4) then ! vectorise
     1724          CALL conemav (dtime,paprs,pplay,t_seri,q_seri,
     1725     .        u_seri,v_seri,tr_seri,nbtr,
    17411726     .        ema_work1,ema_work2,
    17421727     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
    1743 c$$$     .        wdn, tdn, qdn,
    17441728     .        rain_con, snow_con, ibas_con, itop_con,
    1745      .        upwd,dnwd,dnwd0,bas,top,Ma,cape,tvp,rflag,
    1746      .        pbase
     1729     .        upwd,dnwd,dnwd0,
     1730c    .        Ma,cape,tvp,(/(nint(rflag(i)),i=1,size(rflag))/),
     1731     .        Ma,cape,tvp,iflagctrl,
     1732     .       pbase
    17471733     .        ,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)
    1748 c$$$     .        pori_con,plcl_con,dtma_con,dtlcl_con)
     1734
     1735          else
     1736
     1737          CALL conema (dtime,paprs,pplay,t_seri,q_seri,
     1738     .        u_seri,v_seri,tr_seri,nbtr,
     1739     .        ema_work1,ema_work2,
     1740     .        d_t_con,d_q_con,d_u_con,d_v_con,d_tr,
     1741     .        rain_con, snow_con, ibas_con, itop_con,
     1742     .        upwd,dnwd,dnwd0,bas,top,
     1743     .        Ma,cape,tvp,rflag,
     1744     .       pbase
     1745     .        ,bbase,dtvpdt1,dtvpdq1,dplcldt,dplcldr)
     1746          endif
     1747
     1748
    17491749          DO i = 1, klon
    17501750            ema_pcb(i)  = pbase(i)
     
    18091809      IF (nqmax.GT.2) THEN !--melange convectif de traceurs
    18101810c
    1811           IF (iflag_con .NE. 2 .AND.  iflag_con .NE. 4 ) THEN
     1811          IF (iflag_con .NE. 2 .AND.  iflag_con .LT. 3 ) THEN
    18121812              PRINT*, 'Pour l instant, seul conflx fonctionne ',
    18131813     $            'avec traceurs', iflag_con
     
    21012101C Pascale : il faut quand meme apeller phytrac car il gere les sorties
    21022102cKE43       des traceurs => il faut donc mettre des flags a .false.
    2103       IF (iflag_con.EQ.4) THEN
     2103      IF (iflag_con.GE.3) THEN
    21042104c           on ajoute les tendances calculees par KE43
    21052105        DO iq=1, nqmax-2 ! Sandrine a -3 ???
     
    24402440      CALL histwrite(nid_mth,"vq",itap,zx_tmp_2d,iim*jjmp1,ndex2d)
    24412441cKE43
    2442       IF (iflag_con .EQ. 4) THEN ! sb
     2442      IF (iflag_con .GE. 3) THEN ! sb
    24432443c
    24442444      CALL gr_fi_ecrit(1, klon,iim,jjmp1, cape,zx_tmp_2d)
     
    25422542      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, zpt_conv, zx_tmp_3d)
    25432543      CALL histwrite(nid_mth,"ptconv",itap,zx_tmp_3d,
    2544      .                                   iim*jjmp1*klev,ndex3d)
     2544     .                                   iim*(jjmp1)*klev,ndex3d)
    25452545c
    25462546      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, ratqs, zx_tmp_3d)
    25472547      CALL histwrite(nid_mth,"ratqs",itap,zx_tmp_3d,
    2548      .                                   iim*jjmp1*klev,ndex3d)
     2548     .                                   iim*(jjmp1)*klev,ndex3d)
    25492549c
    25502550      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, d_t_ajs, zx_tmp_3d)
     
    26192619      ENDIF
    26202620cKE43
    2621       IF (iflag_con.EQ.4) THEN ! (sb)
     2621      IF (iflag_con.GE.3) THEN ! (sb)
    26222622c
    26232623      CALL gr_fi_ecrit(klev,klon,iim,jjmp1, upwd, zx_tmp_3d)
  • LMDZ.3.3/trunk/libf/phylmd/printflag.F

    r2 r254  
    3535     ,          ******'
    3636       ELSE IF ( iflag_con.EQ. 3 )   THEN
    37            PRINT *,' *****           Shema  convection    CCM     
     37           PRINT *,' *****   Shema  convection Emanuel version LMD
     38     ,          ******'
     39       ELSE IF ( iflag_con.EQ. 4 )   THEN
     40           PRINT *,' *****   Shema  convection Emanuel version 4vec
    3841     ,          ******'
    3942       ENDIF
Note: See TracChangeset for help on using the changeset viewer.