Changeset 5105 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common/grad.f90
- Timestamp:
- Jul 23, 2024, 7:14:34 PM (3 months ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/grad.f90
r5104 r5105 2 2 ! $Header$ 3 3 4 5 c 6 cP. Le Van7 c 8 c******************************************************************9 c.. calcul des composantes covariantes en x et y du gradient de g10 c 11 c******************************************************************12 cpg est un argument d'entree pour le s-prog13 cpgx et pgy sont des arguments de sortie pour le s-prog14 c 15 16 c 17 18 19 INTEGERklevel20 REALpg( ip1jmp1,klevel )21 REALpgx( ip1jmp1,klevel ) , pgy( ip1jm,klevel )22 INTEGERl,ij23 c 24 c 25 26 c 27 28 29 30 c 31 c.... correction pour pgx(ip1,j,l) ....32 c... pgx(iip1,j,l)= pgx(1,j,l) ....33 CDIR$ IVDEP34 35 36 37 c 38 39 40 41 c 42 43 44 END 4 SUBROUTINE grad(klevel, pg,pgx,pgy ) 5 ! 6 ! P. Le Van 7 ! 8 ! ****************************************************************** 9 ! .. calcul des composantes covariantes en x et y du gradient de g 10 ! 11 ! ****************************************************************** 12 ! pg est un argument d'entree pour le s-prog 13 ! pgx et pgy sont des arguments de sortie pour le s-prog 14 ! 15 IMPLICIT NONE 16 ! 17 INCLUDE "dimensions.h" 18 INCLUDE "paramet.h" 19 INTEGER :: klevel 20 REAL :: pg( ip1jmp1,klevel ) 21 REAL :: pgx( ip1jmp1,klevel ) , pgy( ip1jm,klevel ) 22 INTEGER :: l,ij 23 ! 24 ! 25 DO l = 1,klevel 26 ! 27 DO ij = 1, ip1jmp1 - 1 28 pgx( ij,l ) = pg( ij +1,l ) - pg( ij,l ) 29 END DO 30 ! 31 ! .... correction pour pgx(ip1,j,l) .... 32 ! ... pgx(iip1,j,l)= pgx(1,j,l) .... 33 !DIR$ IVDEP 34 DO ij = iip1, ip1jmp1, iip1 35 pgx( ij,l ) = pgx( ij -iim,l ) 36 END DO 37 ! 38 DO ij = 1,ip1jm 39 pgy( ij,l ) = pg( ij,l ) - pg( ij +iip1,l ) 40 END DO 41 ! 42 END DO 43 RETURN 44 END SUBROUTINE grad
Note: See TracChangeset
for help on using the changeset viewer.