Changeset 5159 for LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divgrad2.f90
- Timestamp:
- Aug 2, 2024, 9:58:25 PM (3 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
LMDZ6/branches/Amaury_dev/libf/dyn3d_common/divgrad2.f90
r5136 r5159 2 2 3 3 SUBROUTINE divgrad2(klevel, h, deltapres, lh, divgra) 4 ! 4 5 5 ! P. Le Van 6 ! 6 7 7 ! *************************************************************** 8 ! 8 9 9 ! ..... calcul de (div( grad )) de ( pext * h ) ..... 10 10 ! **************************************************************** 11 11 ! h ,klevel,lh et pext sont des arguments d'entree pour le s-prg 12 12 ! divgra est un argument de sortie pour le s-prg 13 ! 13 14 14 USE lmdz_ssum_scopy, ONLY: scopy 15 15 USE lmdz_comdissipn, ONLY: tetaudiv, tetaurot, tetah, cdivu, crot, cdivh 16 16 USE lmdz_comgeom2 17 17 18 USE lmdz_dimensions, ONLY: iim, jjm, llm, ndm 19 USE lmdz_paramet 18 20 IMPLICIT NONE 19 21 ! 20 INCLUDE "dimensions.h" 21 INCLUDE "paramet.h" 22 23 22 24 23 25 ! ....... variables en arguments ....... 24 ! 26 25 27 INTEGER :: klevel 26 28 REAL :: h(ip1jmp1, klevel), deltapres(ip1jmp1, klevel) 27 29 REAL :: divgra(ip1jmp1, klevel) 28 ! 30 29 31 ! ....... variables locales .......... 30 ! 32 31 33 REAL :: signe, nudivgrs, sqrtps(ip1jmp1, llm) 32 34 INTEGER :: l, ij, iter, lh 33 35 ! ................................................................... 34 36 35 ! 37 36 38 signe = (-1.)**lh 37 39 nudivgrs = signe * cdivh … … 39 41 CALL SCOPY (ip1jmp1 * klevel, h, 1, divgra, 1) 40 42 41 ! 43 42 44 CALL laplacien(klevel, divgra, divgra) 43 45 … … 47 49 ENDDO 48 50 ENDDO 49 ! 51 50 52 DO l = 1, klevel 51 53 DO ij = 1, ip1jmp1 … … 55 57 56 58 ! ........ Iteration de l'operateur laplacien_gam ........ 57 ! 59 58 60 DO iter = 1, lh - 2 59 61 CALL laplacien_gam (klevel, cuvscvgam2, cvuscugam2, unsair_gam2, & 60 62 unsapolnga2, unsapolsga2, divgra, divgra) 61 63 ENDDO 62 ! 64 63 65 ! ............................................................... 64 66 … … 68 70 ENDDO 69 71 ENDDO 70 ! 72 71 73 CALL laplacien (klevel, divgra, divgra) 72 ! 74 73 75 DO l = 1, klevel 74 76 DO ij = 1, ip1jmp1
Note: See TracChangeset
for help on using the changeset viewer.