Ignore:
Timestamp:
Mar 6, 2002, 3:58:31 PM (23 years ago)
Author:
lmdz
Message:

Inclusion des modifs de D. Hauglustaine pour la version 1 de INCA
LF

Location:
LMDZ.3.3/trunk/libf/dyn3d
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/trunk/libf/dyn3d/calfis.F

    r343 r344  
    1       SUBROUTINE calfis(nq, lafin, rdayvrai,rday_ecri, heure,
    2      $            pucov,pvcov,pteta,pq,pmasse,pps,pp,ppk,pphis,pphi,
    3      $            pducov,pdvcov,pdteta,pdq,pw, clesphy0,
    4      $            pdufi,pdvfi,pdhfi,pdqfi,pdpsfi                   )
     1      SUBROUTINE calfis(nq,
     2     $                  lafin,
     3     $                  rdayvrai,
     4     $                  rday_ecri,
     5     $                  heure,
     6     $                  pucov,
     7     $                  pvcov,
     8     $                  pteta,
     9     $                  pq,
     10     $                  pmasse,
     11     $                  pps,
     12     $                  pp,
     13     $                  ppk,
     14     $                  pphis,
     15     $                  pphi,
     16     $                  pducov,
     17     $                  pdvcov,
     18     $                  pdteta,
     19     $                  pdq,
     20     $                  pw,
     21#ifdef INCA_CH4
     22     $                  flxw,   
     23#endif
     24     $                  clesphy0,
     25     $                  pdufi,
     26     $                  pdvfi,
     27     $                  pdhfi,
     28     $                  pdqfi,
     29     $                  pdpsfi)
    530c
    631c    Auteur :  P. Le Van, F. Hourdin
     
    132157      REAL zsinbis(iim),zcosbis(iim),z1bis(iim)
    133158      REAL unskap, pksurcp
    134 c
     159 
     160#ifdef INCA_CH4
     161      REAL flxw(iip1,jjp1,llm)
     162      REAL flxwfi(ngridmx,llm)
     163#endif
    135164     
    136165      EXTERNAL gr_dyn_fi,gr_fi_dyn
     
    421450      ENDDO
    422451
     452#ifdef INCA_CH4
     453      CALL gr_dyn_fi(llm,iip1,jjp1,ngridmx,flxw,flxwfi)
     454#endif
     455
    423456c-----------------------------------------------------------------------
    424457c   Appel de la physique:
     
    426459
    427460
    428       CALL physiq (ngridmx,llm,nq,debut,lafin,
    429      ,   rdayvrai,rday_ecri,heure,dtphys,zplev,zplay,zphi,zphis,airefi,
    430      ,             presnivs,clesphy0,  zufi, zvfi,ztfi, zqfi, 
    431 ccc     ,             pcvgu, pcvgv, pcvgt, pcvgq,
    432      ,             pvervel,
    433 C - sorties
    434      s             zdufi, zdvfi, zdtfi, zdqfi,zdpsrf              )
     461      CALL physiq (ngridmx,
     462     .             llm,
     463     .             nq,
     464     .             debut,
     465     .             lafin,
     466     .             rdayvrai,
     467     .             rday_ecri,
     468     .             heure,
     469     .             dtphys,
     470     .             zplev,
     471     .             zplay,
     472     .             zphi,
     473     .             zphis,
     474     .             airefi,
     475     .             presnivs,
     476     .             clesphy0,
     477     .             zufi,
     478     .             zvfi,
     479     .             ztfi,
     480     .             zqfi, 
     481     .             pvervel,
     482#ifdef INCA_CH4
     483     .             flxwfi,
     484#endif
     485     .             zdufi,
     486     .             zdvfi,
     487     .             zdtfi,
     488     .             zdqfi,
     489     .             zdpsrf)
    435490
    436491500   CONTINUE
  • LMDZ.3.3/trunk/libf/dyn3d/gcm.F

    r195 r344  
    22      PROGRAM gcm
    33
     4#ifdef INCA
     5      USE transport_controls, ONLY : adv_flg, mmt_adj
     6#endif 
    47      USE IOIPSL
    58
     
    127130      REAL alpha(ip1jmp1,llm),beta(ip1jmp1,llm)
    128131
     132#ifdef INCA_CH4
     133      REAL :: flxw(ip1jmp1,llm)
     134#endif
     135
    129136      LOGICAL offline  ! Controle du stockage ds "fluxmass"
    130137      PARAMETER (offline=.true.)
     
    409416cccc      de masse pour  Van-Leer dans la routine  tracvl  .
    410417c
    411             CALL vanleer(numvanle,iapp_tracvl,nqmx,q,pbaru,pbarv,
    412      *                      p, masse, dq,  iadv(1), teta, pk     )
     418      CALL vanleer(numvanle,
     419     .             iapp_tracvl,
     420     .             nqmx,
     421     .             q,
     422     .             pbaru,
     423     .             pbarv,
     424     .             p,
     425     .             masse,
     426     .             dq, 
     427     .             iadv(1),
     428     .             teta,
     429#ifdef INCA_CH4
     430     .             flxw,
     431     .             pk,
     432     .             mmt_adj,
     433     .             adv_flg)
     434#else
     435     .             pk)
     436#endif
    413437c
    414438c                   ...  Modif  F.Codron  ....
     
    470494           ENDIF
    471495c
    472         CALL calfis( nqmx, lafin ,rdayvrai,rday_ecri,time  ,
    473      $                 ucov,vcov,teta,q,masse,ps,p,pk,phis,phi ,
    474      $     du,dv,dteta,dq,w,clesphy0, dufi,dvfi,dhfi,dqfi,dpfi  )
     496        CALL calfis( nqmx,
     497     $               lafin,
     498     $               rdayvrai,
     499     $               rday_ecri,
     500     $               time,
     501     $               ucov,
     502     $               vcov,
     503     $               teta,
     504     $               q,
     505     $               masse,
     506     $               ps,
     507     $               p,
     508     $               pk,
     509     $               phis,
     510     $               phi,
     511     $               du,
     512     $               dv,
     513     $               dteta,
     514     $               dq,
     515     $               w,
     516#ifdef INCA_CH4
     517     $               flxw,
     518#endif
     519     $               clesphy0,
     520     $               dufi,
     521     $               dvfi,
     522     $               dhfi,
     523     $               dqfi,
     524     $               dpfi)
    475525
    476526c      ajout des tendances physiques:
  • LMDZ.3.3/trunk/libf/dyn3d/tracvl.F

    r78 r344  
    1       SUBROUTINE tracvl(numvanle,iapp_tracvl,nq,pbaru,pbarv ,
    2      *                    p, masse , q, iapptrac, iadv1, teta, pk  )
     1      SUBROUTINE tracvl(numvanle,
     2     *                  iapp_tracvl,
     3     *                  nq,
     4     *                  pbaru,
     5     *                  pbarv,
     6     *                  p,
     7     *                  masse,
     8     *                  q,
     9     *                  iapptrac,
     10     *                  iadv1,
     11     *                  teta,
     12#ifdef INCA_CH4
     13     *                  flxw,
     14     *                  pk,
     15     *                  mmt_adj,
     16     *                  adv_flg)
     17#else
     18     *                  pk)
     19#endif
    320c
    421c     Auteur :  F. Hourdin
     
    2037c
    2138      INTEGER numvanle, nq, iapp_tracvl, iapptrac, iadv1
    22 
    2339      REAL pbaru(ip1jmp1,llm),pbarv(ip1jm,llm)
    2440      REAL q(ip1jmp1,llm,nq),masse(ip1jmp1,llm)
    2541      REAL p( ip1jmp1,llmp1 ),teta(ip1jmp1,llm)
    2642      REAL pk(ip1jmp1,llm)
    27 
     43#ifdef INCA_CH4
     44      INTEGER, PARAMETER :: ntra   = 1
     45      INTEGER, PARAMETER :: nprath = 1
     46      INTEGER            :: adv_flg(nq)
     47      REAL               :: mmt_adj(ip1jmp1,llm,nprath)
     48      REAL, SAVE         :: qpente(ip1jmp1,llm,10,nprath)
     49      REAL               :: flxw(ip1jmp1,llm)
     50#endif
    2851c     ....  var. locales  .....
    2952c
     
    82105        CALL groupe( massem, pbaruc,pbarvc, pbarug,pbarvg,wg )
    83106
     107#ifdef INCA_CH4
     108      ! ... Flux de masse diaganostiques traceurs
     109      flxw = wg / FLOAT(iapp_tracvl)
     110#endif
    84111
    85112c  test sur l'eventuelle creation de valeurs negatives de la masse
     
    115142         ENDIF
    116143
    117          DO iq = numvan, nq
    118           CALL vlsplt( q(1,1,iq), 2. ,massem,wg,pbarug,pbarvg,dtvr )
    119          ENDDO
     144#ifdef INCA_CH4
     145      do iq = 2, 10
     146        qpente(:,:,iq,1)=qpente(:,:,iq,1)*mmt_adj(:,:,1)
     147      enddo
     148#endif
    120149
    121          iadvtr=0
     150      DO iq = numvan, 2
     151#ifdef INCA
     152      IF (adv_flg(iq) == 0) CYCLE
     153#endif
     154      CALL vlsplt(q(1,1,iq),2.,massem,wg,pbarug,pbarvg,dtvr)
     155      ENDDO
     156
     157#ifdef INCA_CH4
     158!     CALL prather(q(1,1,3),wg,massem,pbarug,pbarvg,ntra,qpente(1,1,1,1))
     159#endif
     160
     161      DO  iq =3,nq
     162#ifdef INCA
     163      IF (adv_flg(iq) == 0) CYCLE
     164#endif
     165      CALL vlsplt(q(1,1,iq),2.,massem,wg,pbarug,pbarvg,dtvr)
     166      ENDDO
     167
     168      iadvtr=0
    122169
    123170c   on reinitialise a zero les flux de masse cumules.
  • LMDZ.3.3/trunk/libf/dyn3d/vanleer.F

    r78 r344  
    1       SUBROUTINE vanleer(numvanle,iapp_tracvl,nq,q,pbaru,pbarv ,
    2      *                     p ,masse, dq ,  iadv1, teta, pk      )
     1      SUBROUTINE vanleer(numvanle,
     2     *                   iapp_tracvl,
     3     *                   nq,
     4     *                   q,
     5     *                   pbaru,
     6     *                   pbarv,
     7     *                   p,
     8     *                   masse,
     9     *                   dq,
     10     *                   iadv1,
     11     *                   teta,
     12#ifdef INCA_CH4
     13     *                   flxw,
     14     *                   pk,
     15     *                   mmt_adj,
     16     *                   adv_flg)
     17#else
     18     *                   pk)
     19#endif
    320c
    421      IMPLICIT NONE
     
    2441      REAL p( ip1jmp1,llmp1),q( ip1jmp1,llm,nq),dq( ip1jmp1,llm,nq )
    2542      REAL teta( ip1jmp1,llm),pk( ip1jmp1,llm)
     43#ifdef INCA_CH4
     44      INTEGER, PARAMETER :: nprath=1
     45      INTEGER            :: adv_flg(nq)
     46      REAL               :: mmt_adj(iip1,jjp1,llm,nprath)
     47      REAL               :: flxw(ip1jmp1,llm)
     48#endif
    2649c  ..................................................................
    2750c
     
    6487c   advection
    6588
    66       CALL tracvl( numvanle,iapp_tracvl,nq,pbaru,pbarv,p , masse,q  ,
    67      *                      iapptrac, iadv1, teta ,pk              )
     89      CALL tracvl( numvanle,
     90     .             iapp_tracvl,
     91     .             nq,
     92     .             pbaru,
     93     .             pbarv,
     94     .             p,
     95     .             masse,
     96     .             q,
     97     .             iapptrac,
     98     .             iadv1,
     99     .             teta,
     100#ifdef INCA_CH4
     101     .             flxw,
     102     .             pk,
     103     .             mmt_adj,
     104     .             adv_flg)
     105#else
     106     .             pk)
     107#endif
    68108
    69109      IF( numvanle.EQ.1 ) THEN
Note: See TracChangeset for help on using the changeset viewer.