From 5d56a9f36226331e205e8ae69ffa9329dc547d04 Mon Sep 17 00:00:00 2001
From: Philippe WAUTELET <philippe.wautelet@aero.obs-mip.fr>
Date: Fri, 23 Feb 2024 16:00:24 +0100
Subject: [PATCH] Philippe 23/02/2024: bugfix: set new ranks of aircrafts and
 balloons just after their transfers

---
 src/MNH/aircraft_balloon.f90 | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/MNH/aircraft_balloon.f90 b/src/MNH/aircraft_balloon.f90
index 6af5edcf4..b66fdc49e 100644
--- a/src/MNH/aircraft_balloon.f90
+++ b/src/MNH/aircraft_balloon.f90
@@ -1,4 +1,4 @@
-!MNH_LIC Copyright 2000-2023 CNRS, Meteo-France and Universite Paul Sabatier
+!MNH_LIC Copyright 2000-2024 CNRS, Meteo-France and Universite Paul Sabatier
 !MNH_LIC This is part of the Meso-NH software governed by the CeCILL-C licence
 !MNH_LIC version 1. See LICENSE, CeCILL-C_V1-en.txt and CeCILL-C_V1-fr.txt
 !MNH_LIC for details. version 1.
@@ -79,7 +79,6 @@ IF(.NOT. ALLOCATED(XSVW_FLUX)) ALLOCATE(XSVW_FLUX(SIZE(PSV,1),SIZE(PSV,2),SIZE(P
 
 IF ( NBALLOONS > 0 ) THEN
   IF ( GFIRSTCALL ) CALL BALLOONS_INIT_POSITIONS()
-  NRANKCUR_BALLOON(:) = NRANKNXT_BALLOON(:)
   NRANKNXT_BALLOON(:) = 0
 
   DO JI = 1, NBALLOONS
@@ -97,7 +96,6 @@ END IF
 !
 IF ( NAIRCRAFTS > 0 ) THEN
   IF ( GFIRSTCALL ) CALL AIRCRAFTS_INIT_POSITIONS()
-  NRANKCUR_AIRCRAFT(:) = NRANKNXT_AIRCRAFT(:)
   NRANKNXT_AIRCRAFT(:) = 0
 
   DO JI = 1, NAIRCRAFTS
@@ -209,6 +207,8 @@ DO JI = 1, NAIRCRAFTS
   END IF
 END DO
 
+NRANKCUR_AIRCRAFT(:) = NRANKNXT_AIRCRAFT(:)
+
 END SUBROUTINE AIRCRAFTS_MOVE_TO_NEW_RANKS
 !----------------------------------------------------------------------------
 !----------------------------------------------------------------------------
@@ -276,7 +276,7 @@ CALL MPI_ALLREDUCE( MPI_IN_PLACE, NRANKNXT_BALLOON, NBALLOONS, MNHINT_MPI, MPI_M
 !Do this to not use MPI_IN_PLACE (not yet implemented in MPIVIDE)
 ALLOCATE( IRANKNXT_BALLOON_TMP, MOLD = NRANKNXT_BALLOON )
 CALL MPI_ALLREDUCE( NRANKNXT_BALLOON, IRANKNXT_BALLOON_TMP, NBALLOONS, MNHINT_MPI, MPI_MAX, NMNH_COMM_WORLD, IERR )
-NRANKNXT_BALLOON = IRANKNXT_BALLOON_TMP
+NRANKNXT_BALLOON(:) = IRANKNXT_BALLOON_TMP(:)
 DEALLOCATE( IRANKNXT_BALLOON_TMP )
 #endif
 
@@ -292,6 +292,8 @@ DO JI = 1, NBALLOONS
   END IF
 END DO
 
+NRANKCUR_BALLOON(:) = NRANKNXT_BALLOON(:)
+
 END SUBROUTINE BALLOONS_MOVE_TO_NEW_RANKS
 !----------------------------------------------------------------------------
 END SUBROUTINE AIRCRAFT_BALLOON
-- 
GitLab