Well info at correct step for save & load RESTART
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.
Added new implementation of serialize_ICON
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.
Handle wildcard in group keywords
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.
Add key string to RestartKey
Pass dimension information for extra fields in restart
Verify that the extra container has THPRES
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".
Tune the makefile according to new principles, which adds a few bells
and whistles and for clarity.
Synopsis:
* The dependency on opm-common is completely gone. This is reflected in
travis and appveyor as well. No non-kitware cmake modules are used.
* Directories are flattened, quite a bit - source code is located in the
lib/ directory if it belongs to opm-parser, and external/ if third
party.
* The sibling build feature is implemented through cmake's
export(PACKAGE) rather than implicitly looking through source files.
* Targets explicitly set required public and private include
directories, compile options and definitions, which cmake will handle
and propagate
* opm-parser-config.cmake for downstream users is now provided.
* Dependencies are set up using targets. In the future, when cmake 3.x+
can be used, these should be either targets from newer Find modules,
or interface libraries.
* Fewer system specific assumptions are coded in, instead we assume
cmake or users set up system specific details.
* All module wide configuration and looking up libraries is handled in
the root makefile - all sub directories only set up libraries and
compile options for the module in question.
* Targets are defined and links handled transitively because cmake now
is told about them. ${module_LIBRARIES} variables are gone.
This is largely guided by the principles outlined in
https://rix0r.nl/blog/2015/08/13/cmake-guide/
Most source files are just moved - if they have some content change then
it's nothing more than include fixes or similar in order to make them
compile.