This commit adds support for recognizing a small subset of the
summary quantities that are reported at the node level of an
extended network--especially the 'GPR' keyword.
Briefly, we add a new 'Node' config category and a processor for
this category which knows about the distinction between nodes and
groups. It uses member function ExtNetwork::node_names() to produce
configuration nodes whose named entity is the node rather than a
group. Deriving this list of node names across all timesteps is
potentially expensive, so perform this operation at most once and
pass the result into the processor from the SummaryConfig
constructor.
Add a simple unit test for demonstration purposes.
corrections to iwel[10] open/shut flag
further corrections SWEL for handling udq-restarts correctly
further changes to get correct SWEL in ECL-Restart file
added comment to clarify change
correction to group sequence and group controls for EclRST-file
changes to correct IGRP[NWGMAX+5]
corrected compile errors/warnings
further minor code corrections
initial changes to include group current Prod/inj Constraint in summary file
further changes to currentsStatusGroupControl to Summary output
further corrections and additions of Field current controls
further corrections for IGRP
minor corrections to code style
corrections for tests
changes to correct test_AggregateWellData
a few more initial changes for next version of igrp/sgrp
changes to igrp & sgrp according to tests
changes to handle special conditions at report step 0
corrections due to changes in Summary.cpp
changes to improve code quality and robustness
Add default value to igrp[nwgmax+5]
corrections and code improvements base on testing
corrections to handling of GCONINJE
further corrections for IGRP
even further corrections IGRP
changes to correct SGRP
correction to IGRP defaults
corrections to SWEL and IGRP
further corrections for IGRP
removed some comments
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.