Ignore:
Timestamp:
Apr 17, 2000, 4:23:44 PM (25 years ago)
Author:
lmdz
Message:

Modification de F.Codron pour le schema d'advection de l'eau

File:
1 edited

Legend:

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

    r57 r78  
    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-----------------------------------------------------------------------
     
    159161c     iadv = 2    shema   amont
    160162c     iadv = 3    shema  Van-leer
     163c     iadv = 4    schema  Van-leer + humidite specifique
     164c                        Modif F.Codron
    161165c
    162166c     dans le tableau q(ij,l,iq) , iq = 1  pour l'eau vapeur
     
    170174      ENDDO
    171175c
    172       DO  iq = 1, nqmx
     176       IF( iadv(1).EQ.1 ) PRINT *,' Choix du shema humidite specifique'
     177     * ,' pour la vapeur d''eau'
     178       IF( iadv(1).EQ.2 ) PRINT *,' Choix du shema  amont',' pour la'
     179     * ,' vapeur d''eau '
     180       IF( iadv(1).EQ.3 ) PRINT *,' Choix du shema  Van-Leer ',' pour'
     181     * ,'la vapeur d''eau'
     182       IF( iadv(1).EQ.4 ) PRINT *,' Choix du shema  Van-Leer + humidite'
     183     * ,' specifique pour la vapeur d''eau'
     184c
     185       IF( iadv(1).LE.0.OR.iadv(1).GT.4 )   THEN
     186        PRINT *,' Erreur dans le choix de iadv (1).Corriger et repasser
     187     * ,  car  iadv(1) = ', iadv(1)
     188         CALL ABORT
     189       ENDIF
     190
     191      DO  iq = 2, nqmx
    173192       IF( iadv(iq).EQ.1 ) PRINT *,' Choix du shema humidite specifique'
    174193     * ,' pour le traceur no ', iq
     
    177196       IF( iadv(iq).EQ.3 ) PRINT *,' Choix du shema  Van-Leer ',' pour'
    178197     * ,'le traceur no ', iq
    179        IF( iadv(iq).LE.0.OR.iadv(iq).GT.3 )   THEN
     198
     199       IF( iadv(iq).EQ.4 )  THEN
     200         PRINT *,' Le shema  Van-Leer + humidite specifique ',
     201     * ' est  uniquement pour la vapeur d eau .'
     202         PRINT *,' Corriger iadv( ',iq, ')  et repasser ! '
     203         CALL ABORT
     204       ENDIF
     205
     206       IF( iadv(iq).LE.0.OR.iadv(iq).GT.4 )   THEN
    180207       PRINT *,' Erreur dans le  choix de  iadv . Corriger et repasser
    181208     * . '
    182          STOP
     209         CALL ABORT
    183210       ENDIF
    184211      ENDDO
     
    187214      numvanle = nqmx + 1
    188215      DO  iq = 1, nqmx
    189         IF( iadv(iq).EQ.3.AND.first ) THEN
     216        IF((iadv(iq).EQ.3.OR.iadv(iq).EQ.4).AND.first ) THEN
    190217          numvanle = iq
    191218          first    = .FALSE.
     
    194221c
    195222      DO  iq = 1, nqmx
    196         IF( iadv(iq).NE.3.AND.iq.GT.numvanle )   THEN
     223      IF( (iadv(iq).NE.3.AND.iadv(iq).NE.4).AND.iq.GT.numvanle )  THEN
    197224          PRINT *,' Il y a discontinuite dans le choix du shema de ',
    198225     *    'Van-leer pour les traceurs . Corriger et repasser . '
    199            STOP
    200         ENDIF
    201         IF( iadv(iq).LT.1.OR.iadv(iq).GT.3 )    THEN
     226           CALL ABORT
     227      ENDIF
     228        IF( iadv(iq).LT.1.OR.iadv(iq).GT.4 )    THEN
    202229          PRINT *,' Le choix de  iadv  est errone pour le traceur ',
    203230     *    iq
     
    377404c
    378405            CALL vanleer(numvanle,iapp_tracvl,nqmx,q,pbaru,pbarv,
    379      *                             p,  masse, dq                  )
     406     *                      p, masse, dq,  iadv(1), teta, pk     )
     407c
     408c                   ...  Modif  F.Codron  ....
    380409c
    381410         ENDIF
Note: See TracChangeset for help on using the changeset viewer.