In particular:
- correct path for test deck,
- use unit system to convert output correctly,
- handle and warn for the case where we do not have an explicit
connection transmissibility factor from the deck.
Added function getGroups(pattern) to allow records with wildcard.
Included the functionality for GCONPROD, GCONINJE and GEFAC - currently
the only group keywords that should accept wildcards.
Handle invalid wellpatterns for WCONPROD.
Given a deck with:
----
WELSPECS
'PROD' 'G1' 10 10 8400 'OIL' /
/
COMPDAT
'PROD' 10 10 3 3 'OPEN' 1* 1* 0.5 /
/
WCONPROD
'SOMETHINGELSE' 'OPEN' 'ORAT' 20000 4* 1000 /
/
----
OPM will now by default abort and inform the user that no well match
"SOMETHINGELSE".
Handle invalid wellpatterns for COMPDAT.
Given a deck with:
----
WELSPECS
'PROD' 'G1' 10 10 8400 'OIL' /
/
COMPDAT
'SOMETHINGELSE' 10 10 3 3 'OPEN' 1* 1* 0.5 /
/
----
OPM will now by default abort and inform the user that no well match
"SOMETHINGELSE".
The "prev_compls" was initialized with preadded completions, such that
new records in COMPDAT would append in the correct order.
However the order is maintained without the need of including the check
in Completion::fromCOMPDAT.
Tests exist in ScheduleTests.cpp to verify completion order for both
TRACK and INPUT mode.
Completion order will affect the print in RFT data. A simple case which
will have changes for completion order was simulated and the output was
verified (with both INPUT and TRACK order).
The value 'Kh' (effective for connection) is not directly available from
the Connection interface. For the time being, a dummy value is used.
Computing the correct value for 'Kh' involves using the connection
transmissibility factor (avaliable), the well diameter (available), as
well as information about grid geometry (not immediately available), well
angle through connection cell (not immediately available, as far as I
can tell), and possibly a conversion factor.
The new function has been added to the file WriteRestartHelpers, and
intended to take over for the local function 'serialize_ICON' in
`restartIO.cpp` when `restartIO::save()` is to be updated. The purpose
of the new implementation is to be compatible with Eclipse.
In particular, implement logic for "datenum" of start point in
addition to elapsed time (in days) and "datenum" of current time
point (start + elapsed).
This commit allows clients to derive an InteHEAD::TimePoint (renamed
from InteHEAD::Date) from a calendrical start point (std::time_t)
and an elapsed time in seconds. This is generally useful for
restart purposes which needs to fill in Y-m-d H:M:S information in
INTEHEAD and has other uses as well. Demonstrate utility in a new
unit test that also shows leap year handling.
While here, also add fractional second resolution to the time-point
handling. INTEHEAD(411) already has microsecond precision and we
should leverage that support.
Retrieve number of wells and completions at the beginning of the
simulated step. Otherwise a well introduced at the same time step as the
report will be included - even though there doesn't exist any simulated
data yet.
This issue would trigger a throw if WRFTPLT was added at the same time
step as a well is introduced in the schedule section.
Removed one DATES item in FIRST_SIM.DATA. The
EclipseReadWriteWellStateData in test_Restart compared state at T1,
which did not include any well data as it was. No other tests were
affected.