source: trunk/LMDZ.GENERIC/libf/dyn3d/gradiv.F @ 1422

Last change on this file since 1422 was 1422, checked in by milmd, 10 years ago

In GENERIC, MARS and COMMON models replace some include files by modules (usefull for decoupling physics with dynamics).

File size: 1.4 KB
Line 
1      SUBROUTINE gradiv(klevel, xcov, ycov, ld, gdx, gdy )
2c
3c    Auteur :   P. Le Van
4c
5c   ***************************************************************
6c
7c                                ld
8c       calcul  de  (grad (div) )   du vect. v ....
9c
10c     xcov et ycov etant les composant.covariantes de v
11c   ****************************************************************
12c    xcov , ycov et ld  sont des arguments  d'entree pour le s-prog
13c     gdx   et  gdy     sont des arguments de sortie pour le s-prog
14c
15c
16      IMPLICIT NONE
17c
18#include "dimensions.h"
19#include "paramet.h"
20#include "comdissipn.h"
21
22      INTEGER klevel
23c
24      REAL xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )
25      REAL gdx( ip1jmp1,klevel ),   gdy( ip1jm,klevel )
26
27      REAL div(ip1jmp1,llm)
28
29      INTEGER l,ij,iter,ld
30c
31      EXTERNAL   SCOPY, diverg,  grad
32      EXTERNAL   filtreg
33c
34c
35      CALL SCOPY( ip1jmp1*klevel,xcov,1,gdx,1 )
36      CALL SCOPY( ip1jm*klevel,  ycov,1,gdy,1 )
37c
38      DO 10 iter = 1,ld
39c
40      CALL diverg( klevel,  gdx , gdy, div          )
41      CALL filtreg( div, jjp1, klevel, 2,1, .true.,2 )
42      CALL grad( klevel,  div, gdx, gdy           )
43c
44      DO 5  l = 1, klevel
45      DO 3 ij = 1, ip1jmp1
46      gdx( ij,l ) = - gdx( ij,l ) * cdivu
47   3  CONTINUE
48      DO 4 ij = 1, ip1jm
49      gdy( ij,l ) = - gdy( ij,l ) * cdivu
50   4  CONTINUE
51   5  CONTINUE
52c
53  10  CONTINUE
54      RETURN
55      END
Note: See TracBrowser for help on using the repository browser.