source: LMDZ6/trunk/libf/dyn3d_common/nxgradst.f90 @ 5281

Last change on this file since 5281 was 5281, checked in by abarral, 4 days ago

Turn comgeom.h comgeom2.h into modules

  • 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.2 KB
Line 
1!
2! $Header$
3!
4SUBROUTINE nxgradst (klevel,rot, x, y )
5  USE comgeom_mod_h
6  USE dimensions_mod, ONLY: iim, jjm, llm, ndm
7  USE paramet_mod_h, ONLY: iip1, iip2, iip3, jjp1, llmp1, llmp2, llmm1, kftd, ip1jm, ip1jmp1, &
8          ip1jmi1, ijp1llm, ijmllm, mvar, jcfil, jcfllm
9IMPLICIT NONE
10  ! Auteur :  P. Le Van
11  !
12  !   ********************************************************************
13  !  calcul du gradient tourne de pi/2 du rotationnel du vect.v
14  !   ********************************************************************
15  !   rot          est un argument  d'entree pour le s-prog
16  !   x  et y    sont des arguments de sortie pour le s-prog
17  !
18
19
20  INTEGER :: klevel
21  REAL :: rot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel )
22  INTEGER :: l,ij
23  !
24  DO l = 1,klevel
25  !
26  DO  ij = 2, ip1jm
27  y(ij,l)=( rot(ij,l) - rot(ij-1,l))
28  END DO
29  !
30  !    ..... correction pour  y ( 1,j,l )  ......
31  !
32  !    ....    y(1,j,l)= y(iip1,j,l) ....
33
34  DO  ij = 1, ip1jm, iip1
35  y( ij,l ) = y( ij +iim,l )
36  END DO
37  !
38  DO  ij = iip2,ip1jm
39  x(ij,l)= rot(ij,l)-rot(ij-iip1,l)
40  END DO
41  DO ij = 1,iip1
42  x(    ij    ,l ) = 0.
43  x( ij +ip1jm,l ) = 0.
44  END DO
45  !
46  END DO
47  RETURN
48END SUBROUTINE nxgradst
Note: See TracBrowser for help on using the repository browser.