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 commit promotes the 'aquifer' data member of 'RestartValue' to
first class status. In particular, this means that users must
provide aquifer data, albeit possibly empty, when constructing the
RestartValue object for input or output.
This is in preparation of using more dynamic aquifer quantities from
the simulator layer as part of the restart I/O.
This commit adds a level of indirection to the existing group-level
data (active controls and guiderates), and adds a new 'NodeData'
level to the 'data::' protocol for transporting values from the
simulator to the output layer.
Update all call sites and users accordingly.
This commit adds a level of indirection to the current per-group
summary quantities that is directly assigned by the simulator. In
particular, introduce a new structure named
GroupData
that contains a 'GroupConstraints' object and make the per-group
values into 'map<string, GroupData>' rather than the current
'map<string, GroupConstraints>'. This is in preparation of adding
support for reporting group-level production/injection guiderates
(Gx[IP]GR) to the summary file.
Update tests and APIs accordingly.
With this commit the result of a ACTIONX evaluation goes to the new type
Action::Result which in addition to the overall thruthness of the expression
keeps track of the list of matching wells.
Introduced a new namespace Action for everything related to the ACTIONX
implemenentation.