From 8ae7a5b823df274a64ddcb663c0145082e7f41c1 Mon Sep 17 00:00:00 2001 From: mo-jonasganderton Date: Fri, 25 Sep 2026 09:16:32 +0100 Subject: [PATCH 1/3] Replace mpl_comm_world with mpi_group in varobs writer --- deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc | 3 +-- src/opsinputs/VarObsWriter.h | 6 ------ 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc b/deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc index 8b856503..1a5646ca 100644 --- a/deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc +++ b/deps/ops/stubs/OpsMod_Varobs/Ops_WriteVarobs.inc @@ -39,7 +39,6 @@ USE GenMod_MiscUMScienceConstants, ONLY: & RMDI USE mpl, ONLY: & - mpl_comm_world, & mpl_real, & mpl_success @@ -164,7 +163,7 @@ CALL ops_mpl_gatherv (VarArray, & displacements, & mpl_real, & 0, & - mpl_comm_world, & + mpi_group, & istat) IF (istat /= mpl_success) THEN WRITE (ErrMess, '(A,I0)') "Error in mpl_gatherv, istat = ", istat diff --git a/src/opsinputs/VarObsWriter.h b/src/opsinputs/VarObsWriter.h index 33fc8a85..86529407 100644 --- a/src/opsinputs/VarObsWriter.h +++ b/src/opsinputs/VarObsWriter.h @@ -43,12 +43,6 @@ class LocalEnvironment; /// /// Most of the implementation is in Fortran (opsinputs_varobswriter_mod.F90). /// -/// \note This filter must only be used with ObsSpaces using the \c MPI_COMM_WORLD communicator, -/// otherwise a deadlock will occur while writing the VarObs file. This is due to a limitation of -/// the \c Ops_WriteVarobs function, which could be removed by replacing \c mpl_comm_world in the -/// call to \c Ops_Mpl_Gatherv by \c mpi_group (for consistency with all other MPI calls in \c -/// Ops_WriteVarobs). -/// /// \see VarObsWriterParameters for the list of accepted configuration parameters. class VarObsWriter : public ufo::ObsFilterBase, private util::ObjectCounter { From 7a0a94fbb78a6fad5a8b0d91682469967c3705f8 Mon Sep 17 00:00:00 2001 From: mo-jonasganderton Date: Fri, 25 Sep 2026 16:10:32 +0100 Subject: [PATCH 2/3] Replace mpl_comm_world with mpi_group in Ops_WriteModelColumn (CX writer) --- deps/ops/code/OpsMod_ModelColumnIO/Ops_WriteModelColumn.inc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/deps/ops/code/OpsMod_ModelColumnIO/Ops_WriteModelColumn.inc b/deps/ops/code/OpsMod_ModelColumnIO/Ops_WriteModelColumn.inc index 8dab90e0..c2f1b7e4 100644 --- a/deps/ops/code/OpsMod_ModelColumnIO/Ops_WriteModelColumn.inc +++ b/deps/ops/code/OpsMod_ModelColumnIO/Ops_WriteModelColumn.inc @@ -61,7 +61,6 @@ USE GenMod_UMHeaderConstants, ONLY: & IC_LenCxCol USE mpl, ONLY: & - mpl_comm_world, & mpl_integer, & mpl_real, & mpl_success @@ -169,7 +168,7 @@ CALL ops_mpl_gatherv ((/len_data/), & mpl_displacements, & mpl_integer, & 0, & - mpl_comm_world, & + mpi_group, & Errstat) IF (Errstat /= mpl_success) THEN WRITE (ErrMess, '(A,I0)') "Error in mpl_gatherv (CX lengths), Errstat = ", Errstat @@ -200,7 +199,7 @@ CALL ops_mpl_gatherv (CxData, & mpl_displacements, & mpl_real, & 0, & - mpl_comm_world, & + mpi_group, & Errstat) IF (Errstat /= mpl_success) THEN WRITE (ErrMess, '(A,I0)') "Error in mpl_gatherv (CX data), Errstat = ", Errstat From f90281b4d48b6af834879b0654e95079688a5125 Mon Sep 17 00:00:00 2001 From: Matt Shin Date: Mon, 5 Oct 2026 12:13:49 +0100 Subject: [PATCH 3/3] Trigger CI