Changeset 5246 for LMDZ6/trunk/libf/dyn3d_common/divgrad.f90
- Timestamp:
- Oct 21, 2024, 2:58:45 PM (23 hours ago)
- File:
-
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/trunk/libf/dyn3d_common/divgrad.f90
r5245 r5246 2 2 ! $Header$ 3 3 ! 4 5 6 c 7 c=======================================================================8 c 9 cAuteur : P. Le Van10 c----------11 c 12 clh13 ccalcul de (div( grad )) de h .....14 ch et lh sont des arguments d'entree pour le s-prog15 cdivgra est un argument de sortie pour le s-prog16 c 17 c=======================================================================18 c 19 cdeclarations:20 c-------------21 c 22 23 24 25 26 c 27 INTEGERklevel28 REALh( ip1jmp1,klevel ), divgra( ip1jmp1,klevel )29 c 30 REALghy(ip1jm,llm), ghx(ip1jmp1,llm)4 SUBROUTINE divgrad (klevel,h, lh, divgra ) 5 IMPLICIT NONE 6 ! 7 !======================================================================= 8 ! 9 ! Auteur : P. Le Van 10 ! ---------- 11 ! 12 ! lh 13 ! calcul de (div( grad )) de h ..... 14 ! h et lh sont des arguments d'entree pour le s-prog 15 ! divgra est un argument de sortie pour le s-prog 16 ! 17 !======================================================================= 18 ! 19 ! declarations: 20 ! ------------- 21 ! 22 include "dimensions.h" 23 include "paramet.h" 24 include "comgeom.h" 25 include "comdissipn.h" 26 ! 27 INTEGER :: klevel 28 REAL :: h( ip1jmp1,klevel ), divgra( ip1jmp1,klevel ) 29 ! 30 REAL :: ghy(ip1jm,llm), ghx(ip1jmp1,llm) 31 31 32 INTEGERl,ij,iter,lh33 c 34 c 35 c 36 37 c 38 DO 10iter = 1,lh32 INTEGER :: l,ij,iter,lh 33 ! 34 ! 35 ! 36 CALL SCOPY ( ip1jmp1*klevel,h,1,divgra,1 ) 37 ! 38 DO iter = 1,lh 39 39 40 40 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1 ) 41 41 42 43 42 CALL grad (klevel,divgra, ghx , ghy ) 43 CALL diverg (klevel, ghx , ghy , divgra ) 44 44 45 45 CALL filtreg ( divgra,jjp1,klevel,2,1,.true.,1) 46 46 47 DO 5l = 1,klevel48 DO 4ij = 1, ip1jmp149 50 4 CONTINUE51 5 CONTINUE52 c 53 10 CONTINUE54 55 END 47 DO l = 1,klevel 48 DO ij = 1, ip1jmp1 49 divgra( ij,l ) = - cdivh * divgra( ij,l ) 50 END DO 51 END DO 52 ! 53 END DO 54 RETURN 55 END SUBROUTINE divgrad
Note: See TracChangeset
for help on using the changeset viewer.