source: LMDZ5/trunk/libf/dyn3dpar/nxgraro2.F @ 1907

Last change on this file since 1907 was 1907, checked in by lguez, 10 years ago

Added a copyright property to every file of the distribution, except
for the fcm files (which have their own copyright). Use svn propget on
a file to see the copyright. For instance:

$ svn propget copyright libf/phylmd/physiq.F90
Name of program: LMDZ
Creation date: 1984
Version: LMDZ5
License: CeCILL version 2
Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
See the license file in the root directory

Also added the files defining the CeCILL version 2 license, in French
and English, at the top of the LMDZ tree.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • 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.