From 2669aba7369cd68e827a9f505767b914018e9f0e Mon Sep 17 00:00:00 2001
From: Antoine Hoffmann <antoine.hoffmann@epfl.ch>
Date: Mon, 7 Nov 2022 15:54:32 +0100
Subject: [PATCH] Secure the moments artificial dissipation w.r.t. the p
 paralleliz.

---
 src/moments_eq_rhs_mod.F90 | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/moments_eq_rhs_mod.F90 b/src/moments_eq_rhs_mod.F90
index c4763b05..25e7f573 100644
--- a/src/moments_eq_rhs_mod.F90
+++ b/src/moments_eq_rhs_mod.F90
@@ -140,8 +140,9 @@ SUBROUTINE moments_eq_rhs_e
                 ! Nonlinear term
                 -hatB_NL(iz,eo) * Sepj(ip,ij,iky,ikx,iz)
 
-            IF(ip-4 .GT. 0) &
+              IF( (ip-4 .GT. 0) .AND. (num_procs_p .EQ. 1) ) &
               ! Numerical parallel velocity hyperdiffusion "+ dvpar4 g_a" see Pueschel 2010 (eq 33)
+              ! (not used often so not parallelized)
               moments_rhs_e(ip,ij,iky,ikx,iz,updatetlevel) = &
                 moments_rhs_e(ip,ij,iky,ikx,iz,updatetlevel) &
                   + mu_p * moments_e(ip-4,ij,iky,ikx,iz,updatetlevel)
@@ -290,8 +291,9 @@ SUBROUTINE moments_eq_rhs_i
                   ! Nonlinear term with a (gxx*gxy - gxy**2)^1/2 factor
                   -hatB_NL(iz,eo) * Sipj(ip,ij,iky,ikx,iz)
 
-                  IF(ip-4 .GT. 0) &
+                  IF( (ip-4 .GT. 0) .AND. (num_procs_p .EQ. 1) ) &
                     ! Numerical parallel velocity hyperdiffusion "+ dvpar4 g_a" see Pueschel 2010 (eq 33)
+                    ! (not used often so not parallelized)
                     moments_rhs_i(ip,ij,iky,ikx,iz,updatetlevel) = &
                       moments_rhs_i(ip,ij,iky,ikx,iz,updatetlevel) &
                         + mu_p * moments_i(ip-4,ij,iky,ikx,iz,updatetlevel)
-- 
GitLab