This commit introduces a special case for the restart file writing
code. In particular we no longer write dynamic data vectors (e.g.,
*WEL, *GRP, *CON) to the restart file if we're being asked to output
the initial condition (i.e., report step/sequence number 0).
Add the report step as a new explicit parameter to createInteHEAD()
instead of inferring this value from the "sim_step" and output
dynamic sizes as zero for report_step=0. While here, also correct
an omission from earlier commit 7986e99e. We must ensure that the
maximum number of wells in the field (intehead[163]) is at least as
large as the current number of active wells (intehead[16]).
Update "intehead" test to account for report_step being passed
directly as an argument to InteHEAD::stepParam().
This commit adds support for persisting the *VIT cumulative summary
vector at the well, group, and field levels in the simulation
restart files. Connection level currently not supported.
1. If the well is MSW the connections in the WellConnection class is sorted in
output order in the ::order() method, and retained that way.
2. Add method WellConnection::output() which return a vector of connection
pointers sorted in output order.
This outputs a numeric code, an integer value, for all configured
wells at all times and enables more visual inspection of how the
wells' active controls change over time--either in response to
explicit target modes in the input or as a result of limits becoming
active.
Note that due to the fall-back option of selecting the input value
if no dynamic value is available, we must ensure that the test code
does not specify well types (producer/injector) that conflict with
the keywords used in the backing data set. Update the relevant
tests accordingly.
With this commit the PYACTION keyword is changed, instead of embedding the
Python code directly in the .DATA file the keyword now points to an external
file which is loaded verbatim into the PyAction keyword.
In addition the PYACTION keyword has now got a name and a string indicating how
many times it should run.