This commit generates the IAQN and RAQN restart vectors pertaining
to numeric aquifers. The arrays are sized according to the number
of records in the input AQUNUM keyword. RAQN is a mix of static and
dynamic information, including the cumulative total inflow volume of
water from the aquifer into the model. IAQN is exclusively static
information.
We add new members to 'AggregateAquiferData' and ensure that the
numeric aquifer arrays remain empty when no numeric aquifers exist
in the model. Add unit tests for these new arrays and update
existing unit tests to account for new dimension items.
We support both Fetkovich and Carter-Tracy aquifers. We presently
output trivial values only in the 'ACAQ' (per-connection, double
precision elements), but otherwise assemble reasonable values for
many items.
We leverage the fact that the aquifer connections do not change
throughout the simulation run. The "Aggregate" API is therefore
constructed in such a way that most of the expensive operations
(e.g., mapping active cell IDs to their columnar counterparts)
happens once (in the constructor) and the per-aquifer operations are
performed for each restart output step. We intend that one aquifer
output object be constructed at the start of the simulation run, if
needed, and that this object will live until simulation shutdown.