Ignore:
Timestamp:
Jun 20, 2001, 3:53:15 PM (23 years ago)
Author:
lmdzadmin
Message:

Merge par rapport a la branche principale
LF

File:
1 edited

Legend:

Unmodified
Added
Removed
  • LMDZ.3.3/branches/rel-LF/libf/dyn3d/gcm.F

    r228 r232  
    2222c
    2323c=======================================================================
    24 
    25 c   ...  Dans inigeom , nouveaux calculs pour les elongations  cu , cv
    26 c        et possibilite d'appeler une fonction f(y)  a derivee tangente
    27 c        hyperbolique a la  place de la fonction a derivee sinusoidale.         
    28 
    29 c   ...  Possibilite de choisir le shema de Van-leer pour l'advection de
    30 c         q  , en faisant iadv = 3  dans   traceur  (29/04/97) .
     24c
     25c  ... Dans inigeom , nouveaux calculs pour les elongations  cu , cv
     26c      et possibilite d'appeler une fonction f(y)  a derivee tangente
     27c      hyperbolique a la  place de la fonction a derivee sinusoidale.
     28
     29c  ... Possibilite de choisir le shema de Van-leer pour l'advection de
     30c        q  , en faisant iadv = 3  dans   traceur  (29/04/97) .
     31c
     32c      Pour Van-Leer + Vapeur d'eau saturee, iadv(1)=4. (F.Codron,10/99)
    3133c
    3234c-----------------------------------------------------------------------
     
    135137      LOGICAL true_calendar
    136138      PARAMETER (true_calendar = .false.)
     139C Run nudge
     140      LOGICAL ok_nudge
     141      PARAMETER (ok_nudge = .false.)
    137142
    138143c-----------------------------------------------------------------------
     
    160165c     iadv = 2    shema   amont
    161166c     iadv = 3    shema  Van-leer
     167c     iadv = 4    schema  Van-leer + humidite specifique
     168c                        Modif F.Codron
    162169c
    163170c     dans le tableau q(ij,l,iq) , iq = 1  pour l'eau vapeur
     
    171178      ENDDO
    172179c
    173       DO  iq = 1, nqmx
     180       IF( iadv(1).EQ.1 ) PRINT *,' Choix du shema humidite specifique'
     181     * ,' pour la vapeur d''eau'
     182       IF( iadv(1).EQ.2 ) PRINT *,' Choix du shema  amont',' pour la'
     183     * ,' vapeur d''eau '
     184       IF( iadv(1).EQ.3 ) PRINT *,' Choix du shema  Van-Leer ',' pour'
     185     * ,'la vapeur d''eau'
     186       IF( iadv(1).EQ.4 ) PRINT *,' Choix du shema  Van-Leer + humidite'
     187     * ,' specifique pour la vapeur d''eau'
     188c
     189       IF( iadv(1).LE.0.OR.iadv(1).GT.4 )   THEN
     190        PRINT *,' Erreur dans le choix de iadv (1).Corriger et repasser
     191     * ,  car  iadv(1) = ', iadv(1)
     192         CALL ABORT
     193       ENDIF
     194
     195      DO  iq = 2, nqmx
    174196       IF( iadv(iq).EQ.1 ) PRINT *,' Choix du shema humidite specifique'
    175197     * ,' pour le traceur no ', iq
     
    178200       IF( iadv(iq).EQ.3 ) PRINT *,' Choix du shema  Van-Leer ',' pour'
    179201     * ,'le traceur no ', iq
    180        IF( iadv(iq).LE.0.OR.iadv(iq).GT.3 )   THEN
     202
     203       IF( iadv(iq).EQ.4 )  THEN
     204         PRINT *,' Le shema  Van-Leer + humidite specifique ',
     205     * ' est  uniquement pour la vapeur d eau .'
     206         PRINT *,' Corriger iadv( ',iq, ')  et repasser ! '
     207         CALL ABORT
     208       ENDIF
     209
     210       IF( iadv(iq).LE.0.OR.iadv(iq).GT.4 )   THEN
    181211       PRINT *,' Erreur dans le  choix de  iadv . Corriger et repasser
    182212     * . '
    183          STOP
     213         CALL ABORT
    184214       ENDIF
    185215      ENDDO
     
    188218      numvanle = nqmx + 1
    189219      DO  iq = 1, nqmx
    190         IF( iadv(iq).EQ.3.AND.first ) THEN
     220        IF((iadv(iq).EQ.3.OR.iadv(iq).EQ.4).AND.first ) THEN
    191221          numvanle = iq
    192222          first    = .FALSE.
     
    195225c
    196226      DO  iq = 1, nqmx
    197         IF( iadv(iq).NE.3.AND.iq.GT.numvanle )   THEN
     227      IF( (iadv(iq).NE.3.AND.iadv(iq).NE.4).AND.iq.GT.numvanle )  THEN
    198228          PRINT *,' Il y a discontinuite dans le choix du shema de ',
    199229     *    'Van-leer pour les traceurs . Corriger et repasser . '
    200            STOP
    201         ENDIF
    202         IF( iadv(iq).LT.1.OR.iadv(iq).GT.3 )    THEN
     230           CALL ABORT
     231      ENDIF
     232        IF( iadv(iq).LT.1.OR.iadv(iq).GT.4 )    THEN
    203233          PRINT *,' Le choix de  iadv  est errone pour le traceur ',
    204234     *    iq
     
    297327
    298328   1  CONTINUE
    299 c     call nudge(itau,ucov,vcov,teta,masse,ps)
     329
     330      if (ok_nudge) then
     331        call nudge(itau,ucov,vcov,teta,masse,ps)
     332      endif
    300333c
    301334c     IF( MOD( itau, 10* day_step ).EQ.0 )  THEN
     
    379412c
    380413            CALL vanleer(numvanle,iapp_tracvl,nqmx,q,pbaru,pbarv,
    381      *                             p,  masse, dq                  )
     414     *                      p, masse, dq,  iadv(1), teta, pk     )
     415c
     416c                   ...  Modif  F.Codron  ....
    382417c
    383418         ENDIF
     
    389424
    390425            CALL fluxstokenc(pbaru,pbarv,masse,teta,phi,phis,
    391      .   time_step, itau,fluxid, fluxvid,fluxdid )
     426     .   time_step, itau)
     427
    392428
    393429         ENDIF
Note: See TracChangeset for help on using the changeset viewer.