This commit introduces a wrapper for a linear subrange of
consecutive elements of an arithmetic type that imposes an ordering
of the elements when treated as directional component surface flow
rates. The wrapper distinguishes negative from positive flow rate
contributions and tracks those separately. This is a building block
for accounting for the inter-region flows in a parallel context.
When a restarted model uses SKIPREST, there must be DATES or TSTEP
records/report times that correspond exactly to the restart time.
The current diagnostic message is a little too brief and developer
centric and does not offer sufficient hints to the user as to what
the underlying issue might be.
Try to expand the current message and provide more clues to the user
by mentioning both the SKIPREST and RESTART keywords in addition to
the expected and encountered time points.
Example original message:
Error: Problem with keyword DATES
In PRED_FLOW.DATA line 223
At date: 2019-04-18 - scanned past restart data: 2019-04-12
Example message in this commit:
Error: Problem with keyword DATES
In PRED_FLOW.DATA line 223
In a restarted simulation using SKIPREST, the DATES keyword must have
a record corresponding to the RESTART time 12-Apr-2019 00:00:00.
Reached time 18-Apr-2019 00:00:00 without an intervening record.
This commit adds a new query
SummaryConfig::fip_regions_interreg_flow
that retrieves the set of FIP array names (e.g., FIPNUM and FIPXYZ)
that are associated to any inter-region flow summary keywords. This
query method returns an empty set if there are no inter-region flow
summary keywords.
This commit extends the 'SummaryConfig' support for inter-region
flows to be aware of user-provided FIP arrays. In other words, we
now recognize, e.g., that
ROFT_XYZ
is the cumulative inter-region oil flow volume corresponding to
regions defined by the 'FIPXYZ' region definition.