source: trunk/LMDZ.GENERIC/libf/dyn3d/vanleer.F @ 1153

Last change on this file since 1153 was 135, checked in by aslmd, 14 years ago

CHANGEMENT ARBORESCENCE ETAPE 2 -- NON COMPLET

File size: 2.0 KB
Line 
1      SUBROUTINE vanleer(numvanle,iapp_tracvl,nq,q,pbaru,pbarv ,
2     *                     p ,masse, dq ,  iadv1, teta, pk      )
3c
4      IMPLICIT NONE
5c
6c     Auteurs:   F.Hourdin , P.Le Van, F.Forget, F.Codron 
7c
8c=======================================================================
9c
10c       Shema de  Van Leer
11c       Version simplifiée pour Mars
12c       (L'original bugue a cause des histoires d'eau terrestre !!)
13c       FF 2003
14c
15c=======================================================================
16
17
18#include "dimensions.h"
19#include "paramet.h"
20#include "comconst.h"
21
22c   Arguments:
23c   ----------
24      INTEGER nq, numvanle, iapp_tracvl, iadv1
25      REAL pbaru( ip1jmp1,llm ),pbarv( ip1jm,llm),masse(ip1jmp1,llm)
26      REAL p( ip1jmp1,llmp1),q( ip1jmp1,llm,nq),dq( ip1jmp1,llm,nq )
27      REAL teta( ip1jmp1,llm),pk( ip1jmp1,llm)
28c  ..................................................................
29c
30c   Local:
31c   ------
32
33!      EXTERNAL  tracvl,minmaxq, qminimum
34      INTEGER ij,l, iq, iapptrac
35      REAL finmasse(ip1jmp1,llm), dtvrtrac
36cc
37
38        CALL SCOPY( nq * ijp1llm, q, 1, dq, 1 )
39
40c   advection
41
42      CALL tracvl( numvanle,iapp_tracvl,nq,pbaru,pbarv,p , masse,q  ,
43     *                      iapptrac, iadv1, teta ,pk              )
44
45cc     ....  Calcul  de deltap  qu'on stocke dans finmasse   ...
46c
47          DO l = 1, llm
48           DO ij = 1, ip1jmp1
49             finmasse(ij,l) =  p(ij,l) - p(ij,l+1)
50           ENDDO
51          ENDDO
52
53          CALL SCOPY   ( ip1jmp1*llm, masse, 1, finmasse,       1 )
54          CALL filtreg ( finmasse ,  jjp1,  llm, -2, 2, .TRUE., 1 )
55c
56c   *****  Calcul de dq pour l'eau , pour le passer a la physique ******
57
58          dtvrtrac = iapp_tracvl * dtvr
59c
60           DO iq = 1 , nq ! modif special mars : 2 devient nq
61            DO l = 1 , llm
62             DO ij = 1,ip1jmp1
63             dq(ij,l,iq) = ( q(ij,l,iq) - dq(ij,l,iq) ) * finmasse(ij,l)
64     *                               /  dtvrtrac
65             ENDDO
66            ENDDO
67           ENDDO
68
69
70      RETURN
71      END
Note: See TracBrowser for help on using the repository browser.