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