/[lmdze]/trunk/dyn3d/advtrac.f
ViewVC logotype

Diff of /trunk/dyn3d/advtrac.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 150 by guez, Thu Jun 18 13:49:26 2015 UTC revision 157 by guez, Mon Jul 20 16:01:49 2015 UTC
# Line 17  contains Line 17  contains
17      use massbar_m, only: massbar      use massbar_m, only: massbar
18      USE paramet_m, ONLY : iip1, iip2, ijmllm, ijp1llm, ip1jm, ip1jmp1, jjp1, &      USE paramet_m, ONLY : iip1, iip2, ijmllm, ijp1llm, ip1jm, ip1jmp1, jjp1, &
19           llmp1           llmp1
20        use vlsplt_m, only: vlsplt
21      use vlspltqs_m, only: vlspltqs      use vlspltqs_m, only: vlspltqs
22    
23      REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)      REAL, intent(in):: pbaru(ip1jmp1, llm), pbarv(ip1jm, llm)
# Line 111  contains Line 112  contains
112         ! Appel des sous programmes d'advection         ! Appel des sous programmes d'advection
113    
114         DO iq = 1, nqmx         DO iq = 1, nqmx
115            IF (iadv(iq)==0) CYCLE            select case (iadv(iq))
116              case (10)
117            ! Schema de Van Leer I MUSCL               ! Schema de Van Leer I MUSCL
   
           IF (iadv(iq)==10) THEN  
118               CALL vlsplt(q(:, :, iq), 2., massem, wg, pbarug, pbarvg, dtvr)               CALL vlsplt(q(:, :, iq), 2., massem, wg, pbarug, pbarvg, dtvr)
119              case (14)
120               ! Schema "pseudo amont" + test sur humidite specifique               ! Schema "pseudo amont" + test sur humidite specifique
121               ! pour la vapeur d'eau. F. Codron               ! pour la vapeur d'eau. F. Codron
           ELSE IF (iadv(iq)==14) THEN  
122               CALL vlspltqs(q(1, 1, 1), 2., massem, wg, pbarug, pbarvg, dtvr, &               CALL vlspltqs(q(1, 1, 1), 2., massem, wg, pbarug, pbarvg, dtvr, &
123                    p, pk, teta)                    p, pk, teta)
124              case (12)
125               ! Schema de Frederic Hourdin               ! Schema de Frederic Hourdin
           ELSE IF (iadv(iq)==12) THEN  
126               ! Pas de temps adaptatif               ! Pas de temps adaptatif
127               CALL adaptdt(dtbon, n, pbarug, massem)               CALL adaptdt(dtbon, n, pbarug, massem)
128               IF (n>1) THEN               IF (n>1) THEN
# Line 133  contains Line 132  contains
132               DO indice = 1, n               DO indice = 1, n
133                  CALL advn(q(1, 1, iq), massem, wg, pbarug, pbarvg, dtbon, 1)                  CALL advn(q(1, 1, iq), massem, wg, pbarug, pbarvg, dtbon, 1)
134               END DO               END DO
135            ELSE IF (iadv(iq)==13) THEN            case (13)
136               ! Pas de temps adaptatif               ! Pas de temps adaptatif
137               CALL adaptdt(dtbon, n, pbarug, massem)               CALL adaptdt(dtbon, n, pbarug, massem)
138               IF (n>1) THEN               IF (n>1) THEN
# Line 143  contains Line 142  contains
142               DO indice = 1, n               DO indice = 1, n
143                  CALL advn(q(1, 1, iq), massem, wg, pbarug, pbarvg, dtbon, 2)                  CALL advn(q(1, 1, iq), massem, wg, pbarug, pbarvg, dtbon, 2)
144               END DO               END DO
145              case (20)
146               ! Schema de pente SLOPES               ! Schema de pente SLOPES
           ELSE IF (iadv(iq)==20) THEN  
147               CALL pentes_ini(q(1, 1, iq), wg, massem, pbarug, pbarvg, 0)               CALL pentes_ini(q(1, 1, iq), wg, massem, pbarug, pbarvg, 0)
148              case (30)
149               ! Schema de Prather               ! Schema de Prather
           ELSE IF (iadv(iq)==30) THEN  
150               ! Pas de temps adaptatif               ! Pas de temps adaptatif
151               CALL adaptdt(dtbon, n, pbarug, massem)               CALL adaptdt(dtbon, n, pbarug, massem)
152               IF (n>1) THEN               IF (n>1) THEN
# Line 155  contains Line 154  contains
154                       'n=', n                       'n=', n
155               END IF               END IF
156               CALL prather(q(1, 1, iq), wg, massem, pbarug, pbarvg, n, dtbon)               CALL prather(q(1, 1, iq), wg, massem, pbarug, pbarvg, n, dtbon)
157              case (11, 16:18)
158               ! Schemas PPM Lin et Rood               ! Schemas PPM Lin et Rood
           ELSE IF (iadv(iq)==11 .OR. (iadv(iq)>=16 .AND. iadv(iq)<=18)) THEN  
159               ! Test sur le flux horizontal               ! Test sur le flux horizontal
160               ! Pas de temps adaptatif               ! Pas de temps adaptatif
161               CALL adaptdt(dtbon, n, pbarug, massem)               CALL adaptdt(dtbon, n, pbarug, massem)
# Line 213  contains Line 212  contains
212    
213               ! Ss-prg interface PPM3d-LMDZ.4               ! Ss-prg interface PPM3d-LMDZ.4
214               CALL interpost(q(1, 1, iq), qppm(1, 1, iq))               CALL interpost(q(1, 1, iq), qppm(1, 1, iq))
215            END IF            END select
216         END DO         END DO
217    
218         ! on reinitialise a zero les flux de masse cumules         ! on reinitialise a zero les flux de masse cumules

Legend:
Removed from v.150  
changed lines
  Added in v.157

  ViewVC Help
Powered by ViewVC 1.1.21