diff --git a/flow/flow_tag.hpp b/flow/flow_tag.hpp index 6b238a29a..7773e3056 100644 --- a/flow/flow_tag.hpp +++ b/flow/flow_tag.hpp @@ -329,8 +329,14 @@ int mainFlow(int argc, char** argv) deckFilename = PreVanguard::canonicalDeckPath(deckFilename).string(); } catch (const std::exception& e) { - Opm::Parameters::printUsage(PreProblem::helpPreamble(argc, const_cast(argv)), - e.what()); + if (mpiRank == 0) + { + Opm::Parameters::printUsage(PreProblem::helpPreamble(argc, const_cast(argv)), + e.what()); + } +#if HAVE_MPI + MPI_Finalize(); +#endif return 1; } diff --git a/opm/simulators/flow/FlowMainEbos.hpp b/opm/simulators/flow/FlowMainEbos.hpp index 0acb23170..e23b1784d 100644 --- a/opm/simulators/flow/FlowMainEbos.hpp +++ b/opm/simulators/flow/FlowMainEbos.hpp @@ -142,15 +142,15 @@ namespace Opm EWOMS_END_PARAM_REGISTRATION(TypeTag); - // read in the command line parameters - int status = Opm::setupParameters_(argc, const_cast(argv), /*doRegistration=*/false, /*allowUnused=*/true, /*handleHelp=*/true); - if (status == 0) { - - int mpiRank = 0; + int mpiRank = 0; #if HAVE_MPI - MPI_Comm_rank(MPI_COMM_WORLD, &mpiRank); + MPI_Comm_rank(MPI_COMM_WORLD, &mpiRank); #endif + // read in the command line parameters + int status = Opm::setupParameters_(argc, const_cast(argv), /*doRegistration=*/false, /*allowUnused=*/true, /*handleHelp=*/(mpiRank==0)); + if (status == 0) { + // deal with unknown parameters. int unknownKeyWords = 0;