source: LMDZ.3.3/trunk/libf/dyn3d/dudv1.F @ 2

Last change on this file since 2 was 2, checked in by lmdz, 25 years ago

Initial revision

  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.5 KB
Line 
1      SUBROUTINE dudv1 ( vorpot, pbaru, pbarv, du, dv )
2      IMPLICIT NONE
3c
4c-----------------------------------------------------------------------
5c
6c   Auteur:   P. Le Van
7c   -------
8c
9c   Objet:
10c   ------
11c   calcul du terme de  rotation
12c   ce terme est ajoute a  d(ucov)/dt et a d(vcov)/dt  ..
13c   vorpot, pbaru et pbarv sont des arguments d'entree  pour le s-pg ..
14c   du  et dv              sont des arguments de sortie pour le s-pg ..
15c
16c-----------------------------------------------------------------------
17
18#include "dimensions.h"
19#include "paramet.h"
20
21      REAL vorpot( ip1jm,llm ) ,pbaru( ip1jmp1,llm ) ,
22     *     pbarv( ip1jm,llm ) ,du( ip1jmp1,llm ) ,dv( ip1jm,llm )
23      INTEGER  l,ij
24c
25c
26      DO 10 l = 1,llm
27c
28      DO 2  ij = iip2, ip1jm - 1
29      du( ij,l ) = 0.125 *(  vorpot(ij-iip1, l) + vorpot( ij, l)  ) *
30     *                    (   pbarv(ij-iip1, l) + pbarv(ij-iim,  l) +
31     *                        pbarv(   ij  , l) + pbarv(ij+ 1 ,  l)   )
32   2  CONTINUE
33c
34      DO 3 ij = 1, ip1jm - 1
35      dv( ij+1,l ) = - 0.125 *(  vorpot(ij, l)  + vorpot(ij+1, l)  ) *
36     *                        (   pbaru(ij, l)  +  pbaru(ij+1   , l) +
37     *                       pbaru(ij+iip1, l)  +  pbaru(ij+iip2, l)  )
38   3  CONTINUE
39c
40c    .... correction  pour  dv( 1,j,l )  .....
41c    ....   dv(1,j,l)= dv(iip1,j,l) ....
42c
43CDIR$ IVDEP
44      DO 4 ij = 1, ip1jm, iip1
45      dv( ij,l ) = dv( ij + iim, l )
46   4  CONTINUE
47c
48  10  CONTINUE
49      RETURN
50      END
Note: See TracBrowser for help on using the repository browser.