LMDZ
nxgrad_gam_p.F
Go to the documentation of this file.
1  SUBROUTINE nxgrad_gam_p( klevel, rot, x, y )
2 c
3 c P. Le Van
4 c
5 c ********************************************************************
6 c calcul du gradient tourne de pi/2 du rotationnel du vect.v
7 c ********************************************************************
8 c rot est un argument d'entree pour le s-prog
9 c x et y sont des arguments de sortie pour le s-prog
10 c
11  USE parallel_lmdz
12  IMPLICIT NONE
13 c
14 #include "dimensions.h"
15 #include "paramet.h"
16 #include "comgeom.h"
17  INTEGER klevel
18  REAL rot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel )
19  INTEGER l,ij
20  integer ismin,ismax
21  external ismin,ismax
22  INTEGER :: ijb,ije
23 c
24 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK)
25  DO 10 l = 1,klevel
26 c
27  ijb=ij_begin
28  ije=ij_end
29  if(pole_sud) ije=ij_end-iip1
30 
31  DO 1 ij = ijb+1, ije
32  y( ij,l ) = (rot( ij,l ) - rot( ij-1,l )) * cvscuvgam( ij )
33  1 CONTINUE
34 c
35 c ..... correction pour y ( 1,j,l ) ......
36 c
37 c .... y(1,j,l)= y(iip1,j,l) ....
38 CDIR$ IVDEP
39  DO 2 ij = ijb, ije, iip1
40  y( ij,l ) = y( ij +iim,l )
41  2 CONTINUE
42 c
43  ijb=ij_begin
44  ije=ij_end+iip1
45  if(pole_nord) ijb=ij_begin+iip1
46  if(pole_sud) ije=ij_end-iip1
47 
48  DO 4 ij = ijb,ije
49  x( ij,l ) = (rot( ij,l ) - rot( ij -iip1,l )) * cuscvugam( ij )
50  4 CONTINUE
51 
52  if (pole_nord) then
53  DO ij = 1,iip1
54  x( ij ,l ) = 0.
55  ENDDO
56  endif
57 
58  if (pole_sud) then
59  DO ij = 1,iip1
60  x( ij +ip1jm,l ) = 0.
61  ENDDO
62  endif
63 c
64  10 CONTINUE
65 c$OMP END DO NOWAIT
66  RETURN
67  END
!$Header llmm1 INTEGER ip1jmp1
Definition: paramet.h:14
integer, save ij_end
logical, save pole_sud
!$Header llmm1 INTEGER ip1jm
Definition: paramet.h:14
logical, save pole_nord
subroutine nxgrad_gam_p(klevel, rot, x, y)
Definition: nxgrad_gam_p.F:2
integer, save ij_begin
c c zjulian c cym CALL iim cym klev iim
Definition: ini_bilKP_ave.h:24
!$Header!CDK comgeom COMMON comgeom cuscvugam
Definition: comgeom.h:25
!$Header!CDK comgeom COMMON comgeom cvscuvgam
Definition: comgeom.h:25