Commit Graph

6561 Commits

Author SHA1 Message Date
Bård Skaflestad
e495207e9f Summary Evaluation: Make Function Table Private
This commit pulls the table of evaluation functions out of the Opm
namespace and into the existing anonymous namespace of Summary.cpp.

This is an intermediate step towards enabling new writer code for
Flow's summary files.
2019-10-07 13:32:31 +02:00
Joakim Hove
f2bc961bd4 Merge pull request #1074 from bska/prepare-new-summary-writer
Prepare New Summary Writer
2019-10-07 08:56:07 +02:00
Bård Skaflestad
68ff2f08a7 Test Summary: Ensure Uppercase Case Names in Result Sets
Simplifies introduction of a new writer for the summary file.
2019-10-05 14:33:55 +02:00
Bård Skaflestad
7bac89429e Summary Test: Include ert_unique_ptr.hpp
Intermediate step towards enabling a new summary writer that is
independent of libecl.
2019-10-05 14:32:13 +02:00
Bård Skaflestad
032de6c289 SummaryConfig: Capture Keyword Type for Connection Keywords
Overlooked when making the 'SummaryNode' class independent of LibECL.
2019-10-05 14:29:22 +02:00
Bård Skaflestad
aa9471dff1 Forward Declare 'out::Summary' Class in EclipseIO
Mostly to reduce build coupling.  Include Summary.hpp where needed.
2019-10-05 14:27:51 +02:00
Bård Skaflestad
5a5a87d602 EclOutput: Add Stream Flushing Operation
Calls '.flush()' on the contained 'ofstream' object.  Needed as a
means of ensuring that bits in the internal buffers of the I/O
system are promptly output to permanent storage.  This, in turn, is
needed in upcoming work on the summary writing feature.
2019-10-05 14:23:21 +02:00
Joakim Hove
cefdd86f1b Merge pull request #1071 from joakim-hove/python-install
Use ${PYTHON_EXECUTABLE} instead of 'python' in CMakeLists.txt
2019-10-05 07:37:38 +02:00
Joakim Hove
204ea1a1a2 Use ${PYTHON_EXECUTABLE} instead of 'python' in CMakeLists.txt 2019-10-04 20:14:27 +02:00
Joakim Hove
2991ce0aea Merge pull request #1070 from stefoss23/deck_keyword_value_constructor
DeckKeyword constructor w/ DeckValue records
2019-10-04 11:49:17 +02:00
Steinar Foss
b9ded4433a DeckKeyword constructor w/ DeckValue fails for sizetype ALL. 2019-10-04 10:51:25 +02:00
Steinar Foss
7199e1ede4 DeckValueTests: added test for DeckKeyword constructor taking DeckValue vectors.
DeckKeyword: new constructor takes recordlist.

DeckKeyword: invalid arg for wrong nr. of records.

DeckValue: type_tag replaces DeckValueEnum.

DeckValue: added as source for genkw.

DeckValue: default is unknown type.

DeckKeyword cosntr w/ record-lists works, but not for defaults.

DeckKeyword: added function add_deckvalue.

.. xx --

...

...

...

...

...

...

...

DeckValue: is<double> true also if integer.

...

...

last commit .m
2019-10-04 10:13:56 +02:00
Bård Skaflestad
3280f26f10 Merge pull request #1069 from joakim-hove/degenrate-cells
Degenrate cells
2019-10-03 19:26:23 +02:00
Joakim Hove
fbe1d211b2 Protect against division by zero in degenerate cells 2019-10-03 18:19:06 +02:00
Joakim Hove
9167359570 Remove trailing whitespace in EclipseGrid files 2019-10-03 18:19:06 +02:00
Joakim Hove
07a998f3c2 Merge pull request #1058 from bska/new-smspec-writer
Add File Manager Stream for Summary Specification
2019-10-03 10:08:33 +02:00
Bård Skaflestad
080225d8e5 Add File Manager Stream for Summary Specification
This commit introduces a new OutputStream class for representing the
summary specification file (.SMSPEC).  The stream is constructed
with constant data (output directory, basename, start date &c), and
provides a single write() member function that outputs a summary
specification.

Each call to write rewinds the underlying stream's output position.
Class EclOutput grants friendship to the new output stream class in
order to support easy stream rewinding.

Add a unit test to exercise the new class.
2019-10-03 10:04:10 +02:00
Joakim Hove
37203833b3 Merge pull request #1066 from bska/uncouple-table-linearisation
Decouple Table Linearisation from LibECL
2019-10-03 09:46:22 +02:00
Bård Skaflestad
c01dae67f9 Decouple Table Linearisation from LibECL
This commit makes the table linearisation code independent of
LibECL's "ecl_kw_magic.h" header.  In particular, we add a new set
of vector items (tabdims.hpp) that describe the items we currently
define and reimplement the member functions of the 'Tables' class in
terms of these items.

Update the unit test accordingly.
2019-10-02 23:11:56 +02:00
Joakim Hove
b8cfa8be68 Merge pull request #1064 from joakim-hove/W
Add remaining W keywords
2019-10-02 19:31:00 +02:00
Joakim Hove
b28540c57f Merge pull request #1065 from joakim-hove/python-link-zlib
Link to zlib in setup.py libraries
2019-10-02 19:24:28 +02:00
Joakim Hove
1aa4685b62 Link to zlib in setup.py libraries 2019-10-02 18:42:23 +02:00
Joakim Hove
0d31e87072 Merge pull request #1063 from stefoss23/add_keywords_G1
Adding keywords beginning w/ G and H.
2019-10-02 16:52:46 +02:00
Joakim Hove
c1cb489106 Add remaining W keywords 2019-10-02 16:51:21 +02:00
Steinar Foss
c60032e227 added keywords beginning w/ G and H.
added keywords GSEPCOND, GSSCPTST, GSWING, GTADD.

added keywords GTMULT, GUIDECAL, GUPFREQ.

added keyword GWRTWC.

added keywords HALFTRAN, HMPROPS.

added keywords HAxxxxxx, HBNUM, HDISP.

added keywords HMADUCT, HMAQUFET, HMAQUNUM.

added keywords HDIMS, HMFAULTS, FMNLAQUN.

added keywords HMMLCTAW, HMMLFTAQ, HMMLTWCN.

added HMMULTFT, HMMULTXX.
2019-10-02 15:32:13 +02:00
Joakim Hove
d9916d6e50 Merge pull request #1062 from alfbr/log-consistent
Made Reading message consistent with other messages.
2019-10-02 15:28:16 +02:00
Alf Birger Rustad
19d12e7ba2 Made Reading message consistent with other messages. 2019-10-02 14:09:37 +02:00
Joakim Hove
ab14d99f0a Merge pull request #1061 from bska/remove-original-pvttable-linearisation
Table Linearisation: Remove Original PVT Functions
2019-10-02 07:46:48 +02:00
Bård Skaflestad
3db106dd5c Table Linearisation: Remove Original PVT Functions
This commit removes the original member functions

    void Tables::addPVTO()
    void Tables::addPVTW()
    void Tables::addPVTG()

since these are no longer needed.  The PVT tables are now defined in
terms of the 'addPVTTables()' member function

While here, also remove the fwrite() free function which was defined
in terms of LibECL types.

Update the unit test accordingly.
2019-10-02 00:47:35 +02:00
Joakim Hove
adebeba784 Merge pull request #1060 from joakim-hove/debug-msg
Modify warning message
2019-10-01 22:30:05 +02:00
Joakim Hove
44ae1fd574 Modify warning message 2019-10-01 21:12:18 +02:00
Joakim Hove
04eb33771c Merge pull request #1045 from joakim-hove/guide-rate-nnn
Guide rate nnn
2019-10-01 07:27:22 +02:00
Joakim Hove
78820654c7 Merge pull request #1057 from bska/uncouple-libecl
Make UnitSystem Independent of LibECL
2019-10-01 07:26:30 +02:00
Bård Skaflestad
c51842d65b Make UnitSystem Independent of LibECL
This commit decouples the UnitSystem class from the LibECL type
ert_ecl_unit_enum.  This, in turn, makes UnitSystem independent of
LibECL.

Update the unit test accordingly, and include <ert/util/util.h>
where needed.  This header was included transitively through
UnitSystem.hpp before.
2019-09-30 23:49:57 +02:00
Atgeirr Flø Rasmussen
51b3d14851 Merge pull request #1044 from joakim-hove/deck-sistate
DeckItem - use same store for both si and raw
2019-09-30 23:14:37 +02:00
Joakim Hove
650dd32274 Ensure that DeckItem is written raw in output 2019-09-30 19:08:06 +02:00
Joakim Hove
809177af03 Update DeckItem::equal() implementation
When the DeckItem::dval vector is used transparently for both raw values and SI
values the ::equal implementation must be aware of this.
2019-09-30 18:51:35 +02:00
Joakim Hove
6c34aee00e Use only one double vector in DeckItem 2019-09-30 18:51:35 +02:00
Joakim Hove
25f8ec6641 Merge pull request #1049 from bska/revised-summary-node
Decouple SummaryConfig Class From LibECL
2019-09-30 18:50:22 +02:00
Joakim Hove
c55c1799f6 Merge pull request #1053 from joakim-hove/W
Add W keywords up to WSEGTABL
2019-09-30 18:43:27 +02:00
Joakim Hove
6cdd4fd76f Protext against zero potential 2019-09-30 16:15:35 +02:00
Joakim Hove
3f83f2ed56 Fix bug 2019-09-30 16:15:24 +02:00
Tor Harald Sandve
f7b611afec various fixes to make guiderate work 2019-09-30 14:14:09 +02:00
Joakim Hove
a55f691581 Improvements to GuideRate 2019-09-30 14:14:09 +02:00
Joakim Hove
e738712ad5 GuideRateConfig class has a pointer to GuideRateModel 2019-09-30 14:14:09 +02:00
Bård Skaflestad
70daf0f2c8 Decouple SummaryConfig From LibECL
This commit reimplements the SummaryNode class in order not to use
the ecl::smspec_node class from LibECL.  Consequently, we remove
class SummaryConfig's binding to LibECL.

Class SummaryNode maintains the same information as before.  We also
implement a "named constructor" strategy to assign data members that
only make sense for a subset of the node categories.  The previous
member function 'type' is renamed to 'category' to identify the
attachment category (e.g., Well, Group, Field, Block, Region).  In
turn, we introduce a new 'type' member function to identify the
parameter kind (e.g, pressure, rate, cumulative total, well count)
represented by a given node.  We furthermore capture whether or not
the node is a user defined quantity (i.e., a UDQ).

We reimplement the keyword classifier operations that are currently
needed as free functions named 'is_*()' in SummaryConfig.cpp.

Note that in addition to the renamed member functions of class
SummaryNode, this commit also switches the summary key strategy for
block parameters.  Rather than capturing the 'ijk' values
individually as "BOSAT:3,3,6", we now store the equivalent global
(Cartesian) index (i.e., as "BOSAT:523").  Code that directly
constructs block parameter keys must be updated accordingly.

Chase the API change in the 'Summary' constructor and update unit
tests as needed.
2019-09-30 13:59:34 +02:00
Bård Skaflestad
dff62946dd Summary Config: Simplify Derivation of Maximum Number of Segments
Since switching to Well2 we no longer need a time loop to derive the
maximum number of segments in an MSW.
2019-09-30 13:27:32 +02:00
Bård Skaflestad
0a6dda5d6d Summary Config: Make 'is_udq' Predicate More Robust
In particular, don't classify 'RUNSUM' as a UDQ keyword.  Moreover,
restrict the known UDQ patterns to

    AU*, BU*, CU*, FU*, GU*, RU*, SU*, and WU*
2019-09-30 13:27:32 +02:00
Bård Skaflestad
d2db04ec13 Uncouple SummaryState from LibECL
This commit removes the member function

    void SummaryState::update(const ecl::smspec_node&, double)

and places an equivalent implementation into Summary.cpp's private
helper function namespace.  Doing so allows us to make the summary
state object independent of the 'libecl' library.
2019-09-30 13:27:32 +02:00
Joakim Hove
f799d7c6b9 Merge pull request #1055 from joakim-hove/rename-debug-class
Renamed DEBUG -> DEBUG_LEVEL
2019-09-30 12:57:14 +02:00