diff --git a/opm/autodiff/BlackoilOutputEbos.hpp b/opm/autodiff/BlackoilOutputEbos.hpp index 7f6dbe0df..9a7d9990e 100644 --- a/opm/autodiff/BlackoilOutputEbos.hpp +++ b/opm/autodiff/BlackoilOutputEbos.hpp @@ -133,7 +133,11 @@ namespace Opm const auto& defunct_well_names = ebosSimulator_.vanguard().defunctWellNames(); WellsManager wellsmanager(eclState(), schedule(), - eclState().getInitConfig().getRestartStep(), + // The restart step value is used to identify wells present at the given + // time step. Wells that are added at the same time step as RESTART is initiated + // will not be present in a restart file. Use the previous time step to retrieve + // wells that have information written to the restart file. + std::max(eclState().getInitConfig().getRestartStep() - 1, 0), Opm::UgGridHelpers::numCells(grid()), Opm::UgGridHelpers::globalCell(grid()), Opm::UgGridHelpers::cartDims(grid()), diff --git a/opm/autodiff/SimulatorFullyImplicitBlackoilOutput.hpp b/opm/autodiff/SimulatorFullyImplicitBlackoilOutput.hpp index 27f87a8ba..3e3aa2a52 100644 --- a/opm/autodiff/SimulatorFullyImplicitBlackoilOutput.hpp +++ b/opm/autodiff/SimulatorFullyImplicitBlackoilOutput.hpp @@ -439,7 +439,11 @@ namespace Opm DynamicListEconLimited dummy_list_econ_limited; WellsManager wellsmanager(eclipseState_, schedule_, - eclipseState_.getInitConfig().getRestartStep(), + // The restart step value is used to identify wells present at the given time step. + // Wells that are added at the same time step as RESTART is initiated will not be + // present in a restart file. Use the previous time step to retrieve wells + // that have information written to the restart file. + std::max(eclipseState_.getInitConfig().getRestartStep() - 1, 0), Opm::UgGridHelpers::numCells(grid), Opm::UgGridHelpers::globalCell(grid), Opm::UgGridHelpers::cartDims(grid),