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