source: LMDZ4/branches/LMDZ4_AR5/libf/dyn3dpar/nxgraro2.F @ 1476

Last change on this file since 1476 was 774, checked in by Laurent Fairhead, 17 years ago

Suite du merge entre la version et la HEAD: quelques modifications de
Yann sur le

LF

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.7 KB
Line 
1!
2! $Header$
3!
4       SUBROUTINE nxgraro2 (klevel,xcov, ycov, lr, grx, gry )
5c
6c      P.Le Van .
7c   ***********************************************************
8c                                 lr
9c      calcul de  ( nxgrad (rot) )   du vect. v  ....
10c
11c       xcov et ycov  etant les compos. covariantes de  v
12c   ***********************************************************
13c     xcov , ycov et lr  sont des arguments  d'entree pour le s-prog
14c      grx   et  gry     sont des arguments de sortie pour le s-prog
15c
16c
17      IMPLICIT NONE
18c
19#include "dimensions.h"
20#include "paramet.h"
21#include "comdissipn.h"
22c
23c    ......  variables en arguments  .......
24c
25      INTEGER klevel
26      REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
27      REAL  grx( ip1jmp1,klevel ),  gry( ip1jm,klevel )
28c
29c    ......   variables locales     ........
30c
31      REAL rot(ip1jm,llm) , signe, nugradrs
32      INTEGER l,ij,iter,lr
33c    ........................................................
34c
35c
36c
37      signe    = (-1.)**lr
38      nugradrs = signe * crot
39c
40      CALL SCOPY ( ip1jmp1* klevel, xcov, 1, grx, 1 )
41      CALL SCOPY (  ip1jm * klevel, ycov, 1, gry, 1 )
42c
43      CALL     rotatf     ( klevel, grx, gry, rot )
44c
45      CALL laplacien_rot ( klevel, rot, rot,grx,gry      )
46
47c
48c    .....   Iteration de l'operateur laplacien_rotgam  .....
49c
50      DO  iter = 1, lr -2
51        CALL laplacien_rotgam ( klevel, rot, rot )
52      ENDDO
53c
54c
55      CALL filtreg( rot, jjm, klevel, 2,1, .FALSE.,1)
56      CALL nxgrad ( klevel, rot, grx, gry )
57c
58      DO    l = 1, klevel
59         DO  ij = 1, ip1jm
60          gry( ij,l ) = gry( ij,l ) * nugradrs
61         ENDDO
62         DO  ij = 1, ip1jmp1
63          grx( ij,l ) = grx( ij,l ) * nugradrs
64         ENDDO
65      ENDDO
66c
67      RETURN
68      END
Note: See TracBrowser for help on using the repository browser.