- Timestamp:
- Jul 23, 2024, 7:14:34 PM (4 months ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3dmem/laplacien_rotgam_loc.f90
r5104 r5105 1 2 c 3 cP. Le Van4 c 5 c************************************************************6 c... calcul de (rotat x nxgrad)_gam du rotationnel rotin ..7 c************************************************************8 cklevel et teta sont des arguments d'entree pour le s-prog9 cdivgra est un argument de sortie pour le s-prog10 c 11 12 13 c 14 15 16 1 SUBROUTINE laplacien_rotgam_loc ( klevel, rotin, rotout ) 2 ! 3 ! P. Le Van 4 ! 5 ! ************************************************************ 6 ! ... calcul de (rotat x nxgrad)_gam du rotationnel rotin .. 7 ! ************************************************************ 8 ! klevel et teta sont des arguments d'entree pour le s-prog 9 ! divgra est un argument de sortie pour le s-prog 10 ! 11 USE parallel_lmdz 12 IMPLICIT NONE 13 ! 14 INCLUDE "dimensions.h" 15 INCLUDE "paramet.h" 16 INCLUDE "comgeom.h" 17 17 18 c 19 c ............. variables en arguments ........... 20 c 21 INTEGER klevel 22 REAL rotin( ijb_v:ije_v,klevel ), rotout( ijb_v:ije_v,klevel ) 23 c 24 c ............ variables locales ............... 25 c 26 INTEGER l, ij 27 REAL ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm) 28 c ........................................................ 29 c 30 INTEGER :: ijb,ije 31 32 c 18 ! 19 ! ............. variables en arguments ........... 20 ! 21 INTEGER :: klevel 22 REAL :: rotin( ijb_v:ije_v,klevel ), rotout( ijb_v:ije_v,klevel ) 23 ! 24 ! ............ variables locales ............... 25 ! 26 INTEGER :: l, ij 27 REAL :: ghy(ijb_v:ije_v,llm), ghx(ijb_u:ije_u,llm) 28 ! ........................................................ 29 ! 30 INTEGER :: ijb,ije 33 31 34 CALL nxgrad_gam_loc ( klevel, rotin, ghx , ghy ) 35 CALL rotat_nfil_loc ( klevel, ghx , ghy , rotout ) 36 c 37 ijb=ij_begin 38 ije=ij_end 39 if(pole_sud) ije=ij_end-iip1 40 c$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 41 DO l = 1, klevel 42 DO ij = ijb, ije 43 rotout(ij,l) = rotout(ij,l) * unsairz_gam(ij) 44 ENDDO 45 ENDDO 46 c$OMP END DO NOWAIT 47 RETURN 48 END 32 ! 33 34 CALL nxgrad_gam_loc ( klevel, rotin, ghx , ghy ) 35 CALL rotat_nfil_loc ( klevel, ghx , ghy , rotout ) 36 ! 37 ijb=ij_begin 38 ije=ij_end 39 if(pole_sud) ije=ij_end-iip1 40 !$OMP DO SCHEDULE(STATIC,OMP_CHUNK) 41 DO l = 1, klevel 42 DO ij = ijb, ije 43 rotout(ij,l) = rotout(ij,l) * unsairz_gam(ij) 44 ENDDO 45 ENDDO 46 !$OMP END DO NOWAIT 47 48 END SUBROUTINE laplacien_rotgam_loc
Note: See TracChangeset
for help on using the changeset viewer.