diff --git a/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90 b/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90
index a81de382ad8777f1e9d46607e9df9e39d0ec176b..3998269cfba2176385530bf0631aaa4766c29109 100644
--- a/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90
+++ b/src/ZSOLVER/tensorproductmultigrid_Source/discretisation.f90
@@ -797,7 +797,9 @@ end subroutine construct_vertical_coeff
 #ifdef MNH_COMPILER_NVHPC       
        !$acc loop independent  collapse(2)
 #endif
+       !dir$ concurrent
        do ij=ijb,ije
+          !dir$ concurrent
           do ii=iib,iie
              zv_st(ii,ij,iz)   = zd_k(iz)* ( (-zb_k(iz)-zc_k(iz))*Tij * zu_st(ii,ij,iz  )  &
                                               +zb_k(iz)          *Tij * zu_st(ii,ij,iz+1)  )
@@ -808,7 +810,9 @@ end subroutine construct_vertical_coeff
 #ifdef MNH_COMPILER_NVHPC          
           !$acc loop independent  collapse(2)
 #endif          
+          !dir$ concurrent
           do ij=ijb,ije
+             !dir$ concurrent
              do ii=iib,iie
                 zv_st(ii,ij,iz) = zd_k(iz)* ( ((-zb_k(iz)-zc_k(iz))*Tij - 4.0_rl ) * zu_st(ii,ij,iz)    &
                                                 +zb_k(iz)          *Tij            * zu_st(ii,ij,iz+1)  &
@@ -826,7 +830,9 @@ end subroutine construct_vertical_coeff
 #ifdef MNH_COMPILER_NVHPC       
        !$acc loop independent  collapse(2)
 #endif       
+       !dir$ concurrent
        do ij=ijb,ije
+          !dir$ concurrent
           do ii=iib,iie
              zv_st(ii,ij,iz) = zd_k(iz)*  (  (-zb_k(iz)-zc_k(iz))*Tij  * zu_st(ii,ij,iz)    &
                                                        +zc_k(iz) *Tij  * zu_st(ii,ij,iz-1)  )
@@ -2097,11 +2103,13 @@ end subroutine line_Jacobi_mnh
        iz=1 
        zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz)
        do iz=2,nz-1
-          zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz) - zd_k(iz) * ( &
-                            zSu_in_st(iib+1:iie+1,ijb:ije,iz) + &
-                            zSu_in_st(iib-1:iie-1,ijb:ije,iz) + &
-                            zSu_in_st(iib:iie,ijb+1:ije+1,iz) + &
-                            zSu_in_st(iib:iie,ijb-1:ije-1,iz) )
+          do concurrent(ii=iib:iie,ij=ijb:ije)
+             zSr_st(ii,ij,iz) = zb_st(ii,ij,iz) - zd_k(iz) * ( &
+                  zSu_in_st(ii+1,ij,iz) + &
+                  zSu_in_st(ii-1,ij,iz) + &
+                  zSu_in_st(ii,ij+1,iz) + &
+                  zSu_in_st(ii,ij-1,iz) )
+          end do
        end do
        iz=nz
        zSr_st(iib:iie,ijb:ije,iz) = zb_st(iib:iie,ijb:ije,iz)
@@ -2116,7 +2124,9 @@ end subroutine line_Jacobi_mnh
 #ifdef MNH_COMPILER_NVHPC          
           !$acc loop independent collapse(2)
 #endif          
+          !dir$ concurrent
           do ij=ijb,ije
+             !dir$ concurrent
              do ii=iib,iie
                 zSu_out_st(ii,ij,iz) = (zSr_st(ii,ij,iz) / (Tijs*zd_k(iz)) & 
                                      - zSu_out_st(ii,ij,iz-1)*zc_k(iz)) / tmp_k(iz)