source: LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divergst.F @ 5095

Last change on this file since 5095 was 5086, checked in by abarral, 4 months ago

convert labeled do (f77) to do .. end do

  • 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.5 KB
RevLine 
[524]1!
2! $Header$
3!
4      SUBROUTINE divergst(klevel,x,y,div)
5      IMPLICIT NONE
6c
7c     P. Le Van
8c
9c  ******************************************************************
10c  ... calcule la divergence a tous les niveaux d'1 vecteur de compos. x et y...
11c           x et y  etant des composantes contravariantes   ...
12c  ****************************************************************
13c      x  et  y  sont des arguments  d'entree pour le s-prog
14c        div      est  un argument  de sortie pour le s-prog
15c
16c
17c   -------------------------------------------------------------------
18c
[4593]19      INCLUDE "dimensions.h"
20      INCLUDE "paramet.h"
21      INCLUDE "comgeom.h"
[524]22
23      INTEGER klevel
24      REAL x( ip1jmp1,klevel ),y( ip1jm,klevel ),div( ip1jmp1,klevel )
25      INTEGER ij,l,i
26      REAL aiy1( iip1 ) , aiy2( iip1 )
27      REAL sumypn,sumyps
28
29      REAL SSUM
30c
31c
[5086]32      DO l = 1,klevel
[524]33c
[5086]34      DO ij = iip2, ip1jm - 1
[524]35      div( ij + 1, l ) = x(ij+1,l) - x(ij,l)+ y(ij-iim,l)-y(ij+1,l)
[5086]36      END DO
[524]37c
38c     ....  correction pour  div( 1,j,l)  ......
39c     ....   div(1,j,l)= div(iip1,j,l) ....
40c
41CDIR$ IVDEP
[5086]42      DO ij = iip2,ip1jm,iip1
[524]43      div( ij,l ) = div( ij + iim,l )
[5086]44      END DO
[524]45c
46c     ....  calcul  aux poles  .....
47c
48c
[5086]49      DO i  = 1,iim
[524]50      aiy1(i)= y(i,l)
51      aiy2(i)= y(i+ip1jmi1,l)
[5086]52      END DO
[524]53      sumypn = SSUM ( iim,aiy1,1 )
54      sumyps = SSUM ( iim,aiy2,1 )
[5086]55      DO i = 1,iip1
[524]56      div(     i    , l ) = - sumypn/iim
57      div( i + ip1jm, l ) =   sumyps/iim
[5086]58      END DO
[524]59c
[5086]60      END DO
[524]61      RETURN
62      END
Note: See TracBrowser for help on using the repository browser.