source: LMDZ.3.3/trunk/libf/dyn3d/nxgrarot.F @ 5306

Last change on this file since 5306 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.4 KB
Line 
1      SUBROUTINE nxgrarot (klevel,xcov, ycov, lr, grx, gry )
2c   ***********************************************************
3c
4c    Auteur :  P.Le Van 
5c
6c                                 lr
7c      calcul de  ( nXgrad (rot) )   du vect. v  ....
8c
9c       xcov et ycov  etant les compos. covariantes de  v
10c   ***********************************************************
11c     xcov , ycov et lr  sont des arguments  d'entree pour le s-prog
12c      grx   et  gry     sont des arguments de sortie pour le s-prog
13c
14c
15      IMPLICIT NONE
16c
17c
18#include "dimensions.h"
19#include "paramet.h"
20#include "comdissipn.h"
21#include "logic.h"
22c
23      INTEGER klevel
24      REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
25      REAL  grx( ip1jmp1,klevel ),  gry( ip1jm,klevel )
26c
27      REAL rot(ip1jm,llm)
28
29      INTEGER l,ij,iter,lr
30c
31      EXTERNAL    filtreg
32      EXTERNAL       SCOPY, rotat, nXgrad
33c
34c
35      CALL SCOPY ( ip1jmp1*klevel, xcov, 1, grx, 1 )
36      CALL SCOPY (  ip1jm*klevel, ycov, 1, gry, 1 )
37c
38      DO 10 iter = 1,lr
39      CALL  rotat (klevel,grx, gry, rot )
40      CALL filtreg( rot, jjm, klevel, 2,1, .false.,2)
41      CALL nxgrad (klevel,rot, grx, gry )
42c
43      DO 5  l = 1, klevel
44      DO 2 ij = 1, ip1jm
45      gry( ij,l ) = - gry( ij,l ) * crot
46   2  CONTINUE
47      DO 3 ij = 1, ip1jmp1
48      grx( ij,l ) = - grx( ij,l ) * crot
49   3  CONTINUE
50   5  CONTINUE
51c
52  10  CONTINUE
53      RETURN
54      END
Note: See TracBrowser for help on using the repository browser.