diff --git a/src/moments_eq_rhs_mod.F90 b/src/moments_eq_rhs_mod.F90 index 9d4dc7a12113430be824b38167a06342f9819f8f..2fe9694a987844bd37c1323cd80d204469241095 100644 --- a/src/moments_eq_rhs_mod.F90 +++ b/src/moments_eq_rhs_mod.F90 @@ -59,7 +59,7 @@ SUBROUTINE moments_eq_rhs_e eo = MODULO(p_int,2) ! Indicates if we are on odd or even z grid kperp2= kparray(iky,ikx,iz,eo)**2 - + IF((CLOS .EQ. 1) .AND. (p_int+2*j_int .LE. dmaxe)) THEN !! Compute moments mixing terms Tperp = 0._dp; Tpar = 0._dp; Tmir = 0._dp ! Perpendicular dynamic @@ -115,7 +115,9 @@ SUBROUTINE moments_eq_rhs_e + TColl_e(ip,ij,iky,ikx,iz) & ! Nonlinear term - Sepj(ip,ij,iky,ikx,iz) - + ELSE + moments_rhs_e(ip,ij,iky,ikx,iz,updatetlevel) = 0._dp + ENDIF END DO ploope END DO jloope END DO kyloope @@ -177,7 +179,7 @@ SUBROUTINE moments_eq_rhs_i p_int = parray_i(ip) ! Hermite degree eo = MODULO(p_int,2) ! Indicates if we are on odd or even z grid kperp2= kparray(iky,ikx,iz,eo)**2 - + IF((CLOS .EQ. 1) .AND. (p_int+2*j_int .LE. dmaxi)) THEN !! Compute moments mixing terms Tperp = 0._dp; Tpar = 0._dp; Tmir = 0._dp ! Perpendicular dynamic @@ -236,7 +238,9 @@ SUBROUTINE moments_eq_rhs_i + TColl_i(ip,ij,iky,ikx,iz)& ! Nonlinear term - Sipj(ip,ij,iky,ikx,iz) - + ELSE + moments_rhs_i(ip,ij,iky,ikx,iz,updatetlevel) = 0._dp + ENDIF END DO ploopi END DO jloopi END DO kyloopi diff --git a/src/processing_mod.F90 b/src/processing_mod.F90 index 84ca47df51f8d639c4d174b3998076a006e3c003..d4997a5940d2a873ad4d91fa775965db834d334c 100644 --- a/src/processing_mod.F90 +++ b/src/processing_mod.F90 @@ -206,6 +206,28 @@ SUBROUTINE compute_nadiab_moments_z_gradients_and_interp ENDIF ENDDO + !! Ensure to kill the moments too high if closue option is set to 1 + IF(CLOS .EQ. 1) THEN + IF(KIN_E) THEN + DO ip=ipgs_e,ipge_e + p_int = parray_e(ip) + DO ij=ijgs_e,ijge_e + j_int = jarray_e(ij) + IF(p_int+2*j_int .GT. dmaxe) & + nadiab_moments_e(ip,ij,:,:,:) = 0._dp + ENDDO + ENDDO + ENDIF + DO ip=ipgs_i,ipge_i + p_int = parray_i(ip) + DO ij=ijgs_i,ijge_i + j_int = jarray_i(ij) + IF(p_int+2*j_int .GT. dmaxi) & + nadiab_moments_i(ip,ij,:,:,:) = 0._dp + ENDDO + ENDDO + ENDIF + !------------- INTERP AND GRADIENTS ALONG Z ---------------------------------- IF (KIN_E) THEN