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 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 {