Changeset 5246 for LMDZ6/trunk/libf/dyn3d_common/nxgrad.f90
- Timestamp:
- Oct 21, 2024, 2:58:45 PM (22 hours ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/nxgrad.f90
r5245 r5246 2 2 ! $Header$ 3 3 ! 4 5 c 6 cP. Le Van7 c 8 c********************************************************************9 ccalcul du gradient tourne de pi/2 du rotationnel du vect.v10 c********************************************************************11 crot est un argument d'entree pour le s-prog12 cx et y sont des arguments de sortie pour le s-prog13 c 14 15 c 16 17 18 19 INTEGERklevel20 REALrot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel )21 INTEGERl,ij22 c 23 c 24 DO 10l = 1,klevel25 c 26 DO 1ij = 2, ip1jm27 28 1 CONTINUE29 c 30 c..... correction pour y ( 1,j,l ) ......31 c 32 c.... y(1,j,l)= y(iip1,j,l) ....33 CDIR$ IVDEP34 DO 2ij = 1, ip1jm, iip135 36 2 CONTINUE37 c 38 DO 4ij = iip2,ip1jm39 40 4 CONTINUE41 DO 6ij = 1,iip142 43 44 6 CONTINUE45 c 46 10 CONTINUE47 48 END 4 SUBROUTINE nxgrad (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 IMPLICIT NONE 15 ! 16 INCLUDE "dimensions.h" 17 INCLUDE "paramet.h" 18 INCLUDE "comgeom.h" 19 INTEGER :: klevel 20 REAL :: rot( ip1jm,klevel ),x( ip1jmp1,klevel ),y(ip1jm,klevel ) 21 INTEGER :: l,ij 22 ! 23 ! 24 DO l = 1,klevel 25 ! 26 DO ij = 2, ip1jm 27 y( ij,l ) = ( rot( ij,l ) - rot( ij-1,l ) ) * cvsurcuv( ij ) 28 END DO 29 ! 30 ! ..... correction pour y ( 1,j,l ) ...... 31 ! 32 ! .... y(1,j,l)= y(iip1,j,l) .... 33 !DIR$ IVDEP 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 ) ) * cusurcvu( ij ) 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 48 END SUBROUTINE nxgrad
Note: See TracChangeset
for help on using the changeset viewer.