! $Header$ SUBROUTINE divgrad(klevel,h, lh, divgra ) USE lmdz_filtreg, ONLY: filtreg IMPLICIT NONE ! !======================================================================= ! ! Auteur : P. Le Van ! ---------- ! ! lh ! calcul de (div( grad )) de h ..... ! h et lh sont des arguments d'entree pour le s-prog ! divgra est un argument de sortie pour le s-prog ! !======================================================================= ! ! declarations: ! ------------- ! include "dimensions.h" include "paramet.h" include "comgeom.h" include "comdissipn.h" ! INTEGER :: klevel REAL :: h( ip1jmp1,klevel ), divgra( ip1jmp1,klevel ) ! REAL :: ghy(ip1jm,llm), ghx(ip1jmp1,llm) INTEGER :: l,ij,iter,lh ! ! ! CALL SCOPY ( ip1jmp1*klevel,h,1,divgra,1 ) ! DO iter = 1,lh CALL filtreg ( divgra,jjp1,klevel,2,1,.TRUE.,1 ) CALL grad (klevel,divgra, ghx , ghy ) CALL diverg (klevel, ghx , ghy , divgra ) CALL filtreg ( divgra,jjp1,klevel,2,1,.TRUE.,1) DO l = 1,klevel DO ij = 1, ip1jmp1 divgra( ij,l ) = - cdivh * divgra( ij,l ) END DO END DO ! END DO RETURN END SUBROUTINE divgrad