| 1 | ! |
|---|
| 2 | ! $Header$ |
|---|
| 3 | ! |
|---|
| 4 | SUBROUTINE nxgrad_gam( klevel, rot, x, y ) |
|---|
| 5 | ! |
|---|
| 6 | ! P. Le Van |
|---|
| 7 | ! |
|---|
| 8 | ! ******************************************************************** |
|---|
| 9 | ! calcul du gradient tourne de pi/2 du rotationnel du vect.v |
|---|
| 10 | ! ******************************************************************** |
|---|
| 11 | ! rot est un argument d'entree pour le s-prog |
|---|
| 12 | ! x et y sont des arguments de sortie pour le s-prog |
|---|
| 13 | ! |
|---|
| 14 | USE comgeom_mod_h |
|---|
| 15 | USE dimensions_mod, ONLY: iim, jjm, llm, ndm |
|---|
| 16 | USE paramet_mod_h |
|---|
| 17 | IMPLICIT NONE |
|---|
| 18 | ! |
|---|
| 19 | |
|---|
| 20 | |
|---|
| 21 | INTEGER :: klevel |
|---|
| 22 | REAL :: rot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel ) |
|---|
| 23 | INTEGER :: l,ij |
|---|
| 24 | ! |
|---|
| 25 | DO l = 1,klevel |
|---|
| 26 | ! |
|---|
| 27 | DO ij = 2, ip1jm |
|---|
| 28 | y( ij,l ) = (rot( ij,l ) - rot( ij-1,l )) * cvscuvgam( ij ) |
|---|
| 29 | END DO |
|---|
| 30 | ! |
|---|
| 31 | ! ..... correction pour y ( 1,j,l ) ...... |
|---|
| 32 | ! |
|---|
| 33 | ! .... y(1,j,l)= y(iip1,j,l) .... |
|---|
| 34 | !DIR$ IVDEP |
|---|
| 35 | DO ij = 1, ip1jm, iip1 |
|---|
| 36 | y( ij,l ) = y( ij +iim,l ) |
|---|
| 37 | END DO |
|---|
| 38 | ! |
|---|
| 39 | DO ij = iip2,ip1jm |
|---|
| 40 | x( ij,l ) = (rot( ij,l ) - rot( ij -iip1,l )) * cuscvugam( ij ) |
|---|
| 41 | END DO |
|---|
| 42 | DO ij = 1,iip1 |
|---|
| 43 | x( ij ,l ) = 0. |
|---|
| 44 | x( ij +ip1jm,l ) = 0. |
|---|
| 45 | END DO |
|---|
| 46 | ! |
|---|
| 47 | END DO |
|---|
| 48 | RETURN |
|---|
| 49 | END SUBROUTINE nxgrad_gam |
|---|