Changeset 5105 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common/gradiv.f90
- Timestamp:
- Jul 23, 2024, 7:14:34 PM (4 months ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/gradiv.f90
r5104 r5105 2 2 ! $Header$ 3 3 4 5 c 6 cAuteur : P. Le Van7 c 8 c***************************************************************9 c 10 cld11 ccalcul de (grad (div) ) du vect. v ....12 c 13 cxcov et ycov etant les composant.covariantes de v14 c****************************************************************15 cxcov , ycov et ld sont des arguments d'entree pour le s-prog16 cgdx et gdy sont des arguments de sortie pour le s-prog17 c 18 c 19 20 c 21 22 23 4 SUBROUTINE gradiv(klevel, xcov, ycov, ld, gdx, gdy ) 5 ! 6 ! Auteur : P. Le Van 7 ! 8 ! *************************************************************** 9 ! 10 ! ld 11 ! calcul de (grad (div) ) du vect. v .... 12 ! 13 ! xcov et ycov etant les composant.covariantes de v 14 ! **************************************************************** 15 ! xcov , ycov et ld sont des arguments d'entree pour le s-prog 16 ! gdx et gdy sont des arguments de sortie pour le s-prog 17 ! 18 ! 19 IMPLICIT NONE 20 ! 21 include "dimensions.h" 22 include "paramet.h" 23 include "comdissipn.h" 24 24 25 INTEGERklevel26 c 27 REALxcov( ip1jmp1,klevel ), ycov( ip1jm,klevel )28 REALgdx( ip1jmp1,klevel ), gdy( ip1jm,klevel )25 INTEGER :: klevel 26 ! 27 REAL :: xcov( ip1jmp1,klevel ), ycov( ip1jm,klevel ) 28 REAL :: gdx( ip1jmp1,klevel ), gdy( ip1jm,klevel ) 29 29 30 REALdiv(ip1jmp1,llm)30 REAL :: div(ip1jmp1,llm) 31 31 32 INTEGERl,ij,iter,ld33 c 34 c 35 c 36 37 38 c 39 40 c 41 42 43 44 c 45 46 47 48 49 50 51 52 53 c 54 55 56 END 32 INTEGER :: l,ij,iter,ld 33 ! 34 ! 35 ! 36 CALL SCOPY( ip1jmp1*klevel,xcov,1,gdx,1 ) 37 CALL SCOPY( ip1jm*klevel, ycov,1,gdy,1 ) 38 ! 39 DO iter = 1,ld 40 ! 41 CALL diverg( klevel, gdx , gdy, div ) 42 CALL filtreg( div, jjp1, klevel, 2,1, .TRUE.,2 ) 43 CALL grad( klevel, div, gdx, gdy ) 44 ! 45 DO l = 1, klevel 46 DO ij = 1, ip1jmp1 47 gdx( ij,l ) = - gdx( ij,l ) * cdivu 48 END DO 49 DO ij = 1, ip1jm 50 gdy( ij,l ) = - gdy( ij,l ) * cdivu 51 END DO 52 END DO 53 ! 54 END DO 55 RETURN 56 END SUBROUTINE gradiv
Note: See TracChangeset
for help on using the changeset viewer.