- Timestamp:
- Jul 23, 2024, 7:14:34 PM (4 months ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/rotat_nfil_loc.f90
r5104 r5105 1 2 c 3 c Auteur : P.Le Van 4 c**************************************************************5 c. Calcule le rotationnel non filtre ,6 ca tous les niveaux d'1 vecteur de comp. x et y ..7 cx et y etant des composantes covariantes ...8 c********************************************************************9 cklevel, x et y sont des arguments d'entree pour le s-prog10 crot est un argument de sortie pour le s-prog11 c 12 13 14 c 15 16 17 18 c 19 c..... variables en arguments ......20 c 21 INTEGERklevel22 REALrot( ijb_v:ije_v,klevel )23 REALx( ijb_u:ije_u,klevel ), y( ijb_v:ije_v,klevel )24 c 25 c... variables locales ...26 c 27 INTEGERl, ij28 29 c 30 c 31 32 33 34 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 35 36 c 37 38 rot( ij,l ) = y( ij+1 , l ) - y( ij,l ) +39 * x(ij +iip1, l ) - x( ij,l )40 41 c 42 c.... correction pour rot( iip1,j,l) ....43 c.... rot(iip1,j,l)= rot(1,j,l) ...44 CDIR$ IVDEP45 46 47 48 c 49 50 c$OMP END DO NOWAIT51 RETURN 52 END 1 SUBROUTINE rotat_nfil_loc (klevel, x, y, rot ) 2 ! 3 ! Auteur : P.Le Van 4 !************************************************************** 5 !. Calcule le rotationnel non filtre , 6 ! a tous les niveaux d'1 vecteur de comp. x et y .. 7 ! x et y etant des composantes covariantes ... 8 !******************************************************************** 9 ! klevel, x et y sont des arguments d'entree pour le s-prog 10 ! rot est un argument de sortie pour le s-prog 11 ! 12 USE parallel_lmdz 13 IMPLICIT NONE 14 ! 15 INCLUDE "dimensions.h" 16 INCLUDE "paramet.h" 17 INCLUDE "comgeom.h" 18 ! 19 ! ..... variables en arguments ...... 20 ! 21 INTEGER :: klevel 22 REAL :: rot( ijb_v:ije_v,klevel ) 23 REAL :: x( ijb_u:ije_u,klevel ), y( ijb_v:ije_v,klevel ) 24 ! 25 ! ... variables locales ... 26 ! 27 INTEGER :: l, ij 28 INTEGER :: ijb,ije 29 ! 30 ! 31 ijb=ij_begin 32 ije=ij_end 33 if(pole_sud) ije=ij_end-iip1 34 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 35 DO l = 1,klevel 36 ! 37 DO ij = ijb, ije - 1 38 rot( ij,l ) = y( ij+1 , l ) - y( ij,l ) + & 39 x(ij +iip1, l ) - x( ij,l ) 40 ENDDO 41 ! 42 ! .... correction pour rot( iip1,j,l) .... 43 ! .... rot(iip1,j,l)= rot(1,j,l) ... 44 !DIR$ IVDEP 45 DO ij = ijb+iip1-1, ije, iip1 46 rot( ij,l ) = rot( ij -iim,l ) 47 ENDDO 48 ! 49 END DO 50 !$OMP END DO NOWAIT 51 52 END SUBROUTINE rotat_nfil_loc
Note: See TracChangeset
for help on using the changeset viewer.