The run() function invoked by PYACTION has got a new fifth argument which is a
callable the script should utilize to apply the keywords from an ACTIONX
keyword. The callable is implemented as C++ lambda which will run the
Schedule::iterateScheduleSection() method and make sure an updated
SimulatorUpdate variable can be passed back to the simulator.
this means getting rid of the Opm::filesystem namespace
and directly using std::filesystem, as well as dropping
some of the compat code for the tr filesystem.
we still need the FileSystem.hpp/cpp files though as unique_path
is not part of std::filesystem.
This former restricts summary output events to coincide with the
report step while the latter (*O) turns off this restriction and
makes summary output for every timestep.
Report steps do not influence the SUMTHIN intervals and the special
value
SUMTHIN
0.0 /
turns off the "thinning" process. This refactoring introduces a new
helper variable, sumthin_active_, which caches whether SUMTHIN is
active (i.e., exists and has strictly positive value).
While here, also ensure that the ministep IDs have non-unit steps
when SUMTHIN ends up skipping an output event.
o The status of a well is maintened as a small object which is managed by a new
std::shared_ptr member in the well objects. The consequence of this is that
several well objects can share the same underlying status object. The
advantage of this is that runtime (i.e. ACTIONX) updates of well status will
affect the correct set of wells.
o The general Schedule::updateWell() will use the DynamicState::upadte_equal()
- rename member function from getRst -> getRestartData
- adding support for parsing and reading data for LGRs
- a number of member functions made const
- updated python bindings for this class
since we still support g++-7, where filesystem is marked experimental,
we introduce a wrapper header and expose the namespace to use
as Opm::filesystem.
for gcc we unconditionally link with libstdc++fs in the python bindings.
the setup.py stuff links as c code, not c++ code, so it is not
automatically added on any gcc version. this might prove unportable
later.