- Timestamp:
- Aug 2, 2024, 9:58:25 PM (7 weeks ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/diverg_gam.f90
r5140 r5159 4 4 SUBROUTINE diverg_gam(klevel,cuvscvgam,cvuscugam,unsairegam , & 5 5 unsapolnga,unsapolsga, x, y, div ) 6 ! 6 7 7 ! P. Le Van 8 ! 8 9 9 ! ********************************************************************* 10 10 ! ... calcule la divergence a tous les niveaux d'1 vecteur de compos. … … 15 15 USE lmdz_comgeom 16 16 17 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 18 USE lmdz_paramet 17 19 IMPLICIT NONE 18 ! 20 19 21 ! x et y sont des arguments d'entree pour le s-prog 20 22 ! div est un argument de sortie pour le s-prog 21 23 ! 22 INCLUDE "dimensions.h" 23 INCLUDE "paramet.h" 24 ! 24 25 26 25 27 ! .......... variables en arguments ................... 26 ! 28 27 29 INTEGER :: klevel 28 30 REAL :: x( ip1jmp1,klevel ),y( ip1jm,klevel ),div( ip1jmp1,klevel ) 29 31 REAL :: cuvscvgam(ip1jm),cvuscugam(ip1jmp1),unsairegam(ip1jmp1) 30 32 REAL :: unsapolnga,unsapolsga 31 ! 33 32 34 ! ............... variables locales ......................... 33 35 … … 37 39 ! ................................................................... 38 40 39 ! 41 40 42 DO l = 1,klevel 41 ! 43 42 44 DO ij = iip2, ip1jm - 1 43 45 div( ij + 1, l ) = ( & … … 46 48 unsairegam( ij+1 ) 47 49 ENDDO 48 ! 50 49 51 ! .... correction pour div( 1,j,l) ...... 50 52 ! .... div(1,j,l)= div(iip1,j,l) .... 51 ! 53 52 54 !DIR$ IVDEP 53 55 DO ij = iip2,ip1jm,iip1 54 56 div( ij,l ) = div( ij + iim,l ) 55 57 ENDDO 56 ! 58 57 59 ! .... calcul aux poles ..... 58 ! 60 59 61 DO ij = 1,iim 60 62 aiy1(ij) = cuvscvgam( ij ) * y( ij , l ) … … 63 65 sumypn = SSUM ( iim,aiy1,1 ) * unsapolnga 64 66 sumyps = SSUM ( iim,aiy2,1 ) * unsapolsga 65 ! 67 66 68 DO ij = 1,iip1 67 69 div( ij , l ) = - sumypn
Note: See TracChangeset
for help on using the changeset viewer.