Commit Graph
100 Commits
Author SHA1 Message Date
Bård Skaflestad e6dff88eb7 Temporarily Limit Block-Jacobi Partitioner to OpenCL Only
The block-Jacobi partitioner (commit e360c00b7) uses grid interfaces
that are only available in CpGrid and this blocks introducing other
grid managers such as ALUGrid.  Since the partitioner was only added
for OpenCL, guard special purposes accesses with HAVE_OPENCL.

This is a temporary measure and we will venture to restore the
partitioner later, although possibly restricted to CpGrid only.
2022-06-08 16:14:39 +02:00
Bård Skaflestad 7537d7ab95 Split Grid Distribution Out to Helper Functions
Mostly to reduce the number of nested scopes in doLoadBalance_() and
to make the data flow a little easier to track for human readers.
While here, also use down-casts to pointer instead of references.
Doing so replaces try/catch blocks with simpler if/else blocks.

Reimplement face transmissibility calculation/extraction loop in
terms of helper functions elements() and intersections().
2022-06-08 16:14:39 +02:00
Bård Skaflestad 4e5745bf4a Make cellPartition() Return Reference To Const
We don't need to copy this array on every call.
2022-06-08 16:11:54 +02:00
Bård Skaflestad 0bb293aeb0 Merge pull request #3936 from atgeirr/use-gridview-argument
Re-add grid view argument to doLoadBalance_().
2022-06-08 16:10:22 +02:00
Bård Skaflestad b593baff2f Merge pull request #3926 from totto82/fix_operability
Fix well operability
2022-06-08 16:09:02 +02:00
Bård Skaflestad af94be5023 Use Consistent Grid Views for Transmissibility Calculation
There was an implied assumption that the "gridv" parameter would
coincide with "grid_->leafGridView()".  Make this assumption
explicit.
2022-06-01 14:34:28 +02:00
Bård Skaflestad be4221ea92 Merge pull request #3869 from plgbrts/vapoilwat
adding three-phase simulator including water evaporation and salt precipitation
2022-05-25 15:33:53 +02:00
Bård Skaflestad 9f22e125f9 Extract Block-Level Component-in-Place Summary Values
This commit calculates the various BxIP* summary output values such
as BOIP (block-level oil-in-place) and BGIPL (block-level
gas-in-place in liquid phase).  While here, also extract the
block-level dissolved gas-oil-ratio (BRS) and vaporised
oil-gas-ratio (BRV).
2022-05-20 23:13:27 +02:00
Bård Skaflestad 252d0afe8e Emit Actual Message on Input Failure
This gives more information to the user and hopefully aids them in
resolving the underlying issue.
2022-05-20 16:30:19 +02:00
Bård Skaflestad 0d6f7f75b6 Merge pull request #3914 from GitPaean/removing_unused_well_state0
removing unused well_state0 in iterateWellEqWithControl for MSW
2022-05-18 10:40:17 +02:00
Bård Skaflestad 26c7055b9e Merge pull request #3905 from goncalvesmachadoc/addBXPV
add Block Pore Volumes
2022-04-29 23:18:02 +02:00
Bård Skaflestad 35cdc9d300 Merge pull request #3904 from totto82/pcow
output pcow, pcog
2022-04-29 17:34:51 +02:00
Bård Skaflestad a21d7c4fc1 Merge pull request #3895 from blattms/fix-spelling
Spelling fix geomtry -> geometry.
2022-04-27 21:03:53 +02:00
Bård Skaflestad 6dcde2c5f7 Retrieve Block Level Solvent Saturation When Requested
This commit adds support for the block level solvent saturation
summary output keyword "BNSAT".
2022-04-05 15:45:00 +02:00
Bård Skaflestad 6b74ba512a Merge pull request #3845 from bska/detect-invalid-cpdata
Don't Process Corner-Point Data If No Valid Cell Geometry
2022-03-25 15:33:27 +01:00
Bård Skaflestad dfdfbbd7d7 Don't Process Corner-Point Data If No Valid Cell Geometry
If no cell has a valid corner-point geometry, typically caused by
using GDFILE to read non-finite data such as all ZCORN = -1.0E+20,
then we must not attempt to generate a grid structure.  If we do, we
will typically just fail somewhere deep down in the corner-point
processing code and generate a diagnostic message that's hard to
decipher.

With this commit we instead output a diagnostic message of the form

    Failed to create valid EclipseState object.
    Exception caught: No active cell in input grid has valid/finite cell geometry
    Please check geometry keywords, especially if grid is imported through GDFILE

This may not be a lot better than the original diagnostic

    Processing grid
    flow: ${ROOT}/opm-grid/opm/grid/cpgpreprocess/preprocess.c:768: is_lefthanded: Assertion `! searching' failed.
    Aborted (core dumped)

but does at least suggest that the grid data may be faulty.
2022-03-25 14:35:55 +01:00
Bård Skaflestad 0cd2ce6589 Merge pull request #3824 from totto82/notswitchthp
Avoid switching to thp control if production is decreasing or injection is increasing
2022-03-25 14:34:30 +01:00
Bård Skaflestad ad9086284d Merge pull request #3838 from totto82/equil_wat_gas
fix initialization EQUIL + water and gas

Fixes #2029
2022-03-11 13:10:34 +01:00
Bård Skaflestad f6e8a9bfac Report Unique IJK Tuples for Failed Bubble/Dew Point Calculations
This commit switches the debug file's records of "failed" bubble and
dew point pressure calculations from a non-unique list of linearised
Cartesian indices to a unique list of (1-based) (I,J,K) tuples.
This format is hopefully easier to read for humans.

Thanks to [at]blattms for suggesting the gatherv() helper function
which greatly simplifies the communication pattern.

Example from selected time steps in a real field case with Cartesian
dimensions 137-by-236-by-58:

  - Original
  Finding the dew point pressure failed for 2 cells [1467066, 1467066]
  Finding the dew point pressure failed for 8 cells [1467063, 1467063, 1467066, 1467066, 1467066, 1467066, 1467066, 1467066]

  - This commit
  Finding the dew point pressure failed for 1 cell [(71,89,46)]
  Finding the dew point pressure failed for 2 cells [(68,89,46), (71,89,46)]
2022-03-02 22:49:28 +01:00
Bård Skaflestad 6ac998e4e4 Support Calculating Phase Pressures for Water/Gas at Block Level
This commit adds support for calculating/extracting the block-level
phase pressures for water (BWPR) and gas (BGPR) for summary output
purposes.
2022-02-28 23:42:48 +01:00
Bård Skaflestad eb55456565 Don't Capture Local Flux Data Unless Needed
This is a potentially expensive operation and so we should not run
it unless such values are actually needed for output purposes (e.g.,
inter-region flow summary vectors).
2022-02-25 11:31:57 +01:00
Bård Skaflestad 18812281b6 Merge pull request #3823 from tskille/add_rxft
adding regression testing of RXFT summary cases
2022-02-24 09:23:54 +01:00
Bård Skaflestad d2d1e1d95b Add Parallel Comparison Test for RxFy Summary Vectors
Sequential regression tests will be added later.
2022-02-23 15:33:44 +01:00
Bård Skaflestad 5f6750bb34 Merge pull request #3820 from goncalvesmachadoc/btemp
add BTCNFHEA
2022-02-22 00:49:27 +01:00
Bård Skaflestad 840a29f8ef Communicate Inter-Region Flows to I/O Rank
This commit ensures that compute inter-region flow rates on all
ranks and collect those on the I/O rank using CollectDataToIORank.

We add a trivial EclInterRegFlowMap data member to the communication
object.  This data member only knows the pertinent FIP region array
names, but uses existing read/write support to collect contributions
from all ranks into this "global" object.  We then pass this global
object on to the summary evaluation routine.
2022-02-18 14:53:43 +01:00
Bård Skaflestad ecec83349b Capture Bulk Connection Fluxes to Accumlate Inter-Region Flows
This commit adds a new grid traversal that computes fluxes-presently
surface level component fluxes-for all bulk connections on the
current MPI rank.  We aggregate those fluxes, if applicable, into a
container for inter-region flows, but this support could be extended
to capturing the full 3D vector flow rates for restart output if
needed.
2022-02-18 10:29:56 +01:00
Bård Skaflestad 1e121799c8 Add Multi-Array Aware Accumulator for Inter-Region Flow Rates
This commit introduces a new helper class

    Opm::EclInterRegFlowMapSingleFIP

that wraps a vector of

    Opm::EclInterRegFlowMapSingleFIP

along with the associate array names (e.g., "FIPNUM" and any
additional "FIP*" arrays).  We implement the same operations as the
*SingleFIP type and simply loop over the internal accumulators to
affect the operations.

Add unit tests to exercise the new class, including simulating
multiple MPI ranks that are communicated to a single I/O rank for
summary output purposes.
2022-02-18 10:29:56 +01:00
Bård Skaflestad 27564f0610 Add MPI-Aware Accumulator for Inter-Region Flow Rates
This commit introduces a new helper class

    Opm::EclInterRegFlowMapSingleFIP

that wraps an object of type

    Opm::data::InterRegFlowMap

along with the MPI rank's notion of a FIP region array definition
(e.g., the local FIPNUM array).  The new single-FIP flow map is
responsible for accumulating local contributions to the inter-region
flows defined by that FIP array.  In the case of connections between
MPI ranks, the rank that owns the lowest region ID accumulates the
associate flow rates.

Add unit tests to exercise the new class, including simulating
multiple MPI ranks that are communicated to a single I/O rank for
summary output purposes.
2022-02-18 10:29:56 +01:00
Bård Skaflestad b5ded12847 Sort List of Existing Unit Tests
In preparation of adding new entries.
2022-02-18 10:29:56 +01:00
Bård Skaflestad e1d55d4017 Remove Extraneous Semicolon
This generates warnings when using GCC's "-Wpedantic" option.
2022-02-17 23:13:31 +01:00
Bård Skaflestad 57cc18cf1b Merge pull request #3797 from totto82/add_total_gas
Add support for maximum total gas (alq + gas rate) in GLIFTOPT
2022-02-04 10:33:38 +01:00
Bård Skaflestad e6ad6ec496 Merge pull request #3801 from totto82/add_performa
Add more performance summary output
2022-02-03 17:15:05 +01:00
Bård Skaflestad e68744e01f Merge pull request #3776 from jilocode/WTEST
Added WTEST models
2022-02-02 16:41:11 +01:00
Bård Skaflestad 1bd81ba276 Merge pull request #3788 from goncalvesmachadoc/precsalt
Add precsalt case to regression tests
2022-02-02 16:01:06 +01:00
Bård Skaflestad 5589491fbf Merge pull request #3799 from akva2/fix_update_data_add_new_files
fixed: use the --porcelain option when parsing git status
2022-02-02 15:22:42 +01:00
Bård Skaflestad cbcb5692a0 Merge pull request #3792 from blattms/no-multiple-dbg-prt-files
Prevent multiple *.?.dbg/prt files in production parallel runs.
2022-01-30 23:10:14 +01:00
Bård Skaflestad b263db1c84 Merge pull request #3794 from joakim-hove/pyaction-pass-state
Pass ActionState to Schedule::runPyAction()
2022-01-28 12:29:58 +01:00
Bård Skaflestad e4278f812c Merge pull request #3790 from hakonhagland/reorder_warning
Silence reorder warning in GasLiftCommon
2022-01-25 14:18:04 +01:00
Bård Skaflestad 9ef547edca Merge pull request #3789 from hakonhagland/add_headers
Add gas lift headers to PUBLIC_HEADER_FILES
2022-01-25 12:31:21 +01:00
Bård Skaflestad 9fc9f5421c Merge pull request #3771 from totto82/fixUpdateGR
Update guiderates after with new rates from newly opened wells
2022-01-21 10:33:00 +01:00
Bård Skaflestad 3317f10c4a Merge pull request #3729 from goncalvesmachadoc/gaswater_brine
allow for gas-water + brine
2022-01-12 12:31:34 +01:00
Bård Skaflestad ee3c3db1af Merge pull request #3766 from blattms/3_a_mpi_multflt_mod2
Let ctest test 3_A_MPI_MULTFLT_SCHED_MODEL2 in parallel.
2022-01-10 21:19:39 +01:00
Bård Skaflestad abf92eed52 Accumulate Dissolved Gas and Vaporized Oil Flow Rates Across Ranks
This is needed to get consistent estimates for the summary vectors

  * {F,G,W}OP{R,T}{F,S} -- Free/Vaporized Oil Production
  * {F,G,W}GP{R,T}{F,S} -- Free/Dissolved Gas Production

in the case of distributed wells.

Thanks to [at]blattms for the suggested fix.
2022-01-10 14:14:39 +01:00
Bård Skaflestad f77d82a0e9 Merge pull request #3744 from OPMUSER/Validate-ROCKCOMP
Validate ROCKCOMP Update
2021-12-20 13:51:07 +01:00
Bård Skaflestad 89dbf807b2 Merge pull request #2584 from goncalvesmachadoc/fixReport
fixReportPRT
2021-12-01 21:39:31 +01:00
Bård Skaflestad 0e7f5c519f Merge pull request #3711 from totto82/aqunum_co2store
fix co2store + aqunum
2021-11-26 12:19:59 +01:00
Bård Skaflestad 842766d6d6 Merge pull request #3705 from totto82/fixSignPot
guard against negative and trivial potentials
2021-11-23 20:12:53 +01:00
Bård Skaflestad d163bebcdc Merge pull request #3699 from blattms/man-page-spelling
Adds manpage and fixes several spelling issue found by lintian
2021-11-17 09:59:50 +01:00
Bård Skaflestad f2fab4475b Merge pull request #3695 from GitPaean/remove_pv_fraction
removing --relaxed-max-pv-fraction for num aquifer tests
2021-11-14 22:44:43 +01:00
Bård Skaflestad 6bf741502f Fix Incorrect Solution Array Tag
The Flow specific PORV_RC and TMULT_RC solution arrays were tagged
as ECLIPSE compatible.  Mark them as Flow specific so they do not
cause restart problems in the ECLIPSE compatible case.
2021-11-14 15:41:14 +01:00
Bård Skaflestad 7f68143d45 Merge pull request #3684 from akva2/cosmetic_ocd
cosmetics: do not indent for namespace
2021-11-11 10:16:18 +01:00
Bård Skaflestad 2bd5b30cda Merge pull request #3681 from akva2/vexcl_no_auto_func_param
fixed: auto function parameters requires the concept-ts
2021-11-10 11:19:30 +01:00
Bård Skaflestad fd743de749 Merge pull request #3680 from akva2/use_runstatic
Use Main::runStatic in PyBlackoilSimulator
2021-11-10 11:14:05 +01:00
Bård Skaflestad 2f71912978 Merge pull request #3682 from akva2/fix_serial_no_cast_op
fix serial build after PR #3675
2021-11-10 11:13:16 +01:00
Bård Skaflestad 6f0b06715e Merge pull request #3676 from akva2/use_single_sum_call
GasLiftGroupInfo: use a array to allow for one sum call
2021-11-10 10:16:39 +01:00
Bård Skaflestad 5e31ea3054 Merge pull request #3675 from akva2/multivar_broadcast_rates
Use multivariable broadcast facility to broadcast rates
2021-11-10 10:14:36 +01:00
Bård Skaflestad fcb6ee60fb Merge pull request #3679 from akva2/fix_serial_build_3671
fix: serial build after PR #3671
2021-11-09 17:01:31 +01:00
Bård Skaflestad 676cdb8307 Merge pull request #3674 from akva2/broadcast_variadic
added: utility to broadcast multiple variables in one operation
2021-11-09 14:51:23 +01:00
Bård Skaflestad c563f14aff Merge pull request #3673 from totto82/fixGasliftX
Add check for group production control for LRAT and WRAT in the gasslift code
2021-11-09 13:32:02 +01:00
Bård Skaflestad 40fdb9e1d6 Mark GRAVITY Keyword as Supported in the Simulator
The input layer now converts this input to DENSITY data.
2021-11-07 22:34:31 +01:00
Bård Skaflestad 07d6de3bbc Switch to Passing VFP Wrapper Tables as References
We don't need to copy those mapping tables on each call.
2021-11-04 21:28:55 +01:00
Bård Skaflestad 869de90b56 Merge pull request #3663 from blattms/remove-warn-opencl
Fixes warning about catching polymorphic type by value.
2021-11-03 18:30:57 +01:00
Bård Skaflestad 2971a3f051 Merge pull request #3659 from joakim-hove/refactor-wellstate-init
Refactor wellstate init
2021-11-03 13:16:34 +01:00
Bård Skaflestad 4a74fd1282 Merge pull request #3633 from bska/accumulate-wxxgr-for-all-gcon-wells
Report Well Level Injection Guide Rates if Group Controlled
2021-11-02 17:59:58 +01:00
Bård Skaflestad 1e34d714bf Report Well Level Production Guide Rates if Group Controlled
This commit extends the guide rate reporting to always extracting
and reporting pertinent production guide rates at the well level
(i.e., WxPGR) if at least one of the groups in the well's upline has
an entry in GCONPROD.  This is for increased compatibility with
ECLIPSE.
2021-11-02 16:19:56 +01:00
Bård Skaflestad 0c70eac490 Report Well Level Injection Guide Rates if Group Controlled
This commit uses the new GroupTreeWalker helper class to ensure that
we always extract and report pertinent injection guide rates at the
well level (i.e., WxIGR) if at least one of the groups in the well's
upline has an entry for the corresponding phase in GCONINJE.  This
is for increased compatibility with ECLIPSE.

Prior to this change we would report zero-valued WWIGR vectors on a
real field case which made analysing simulation results needlessly
difficult.
2021-11-02 16:19:56 +01:00
Bård Skaflestad 2b0aa379f5 Extract Group Tree Walk to Helper Class
This commit extracts a helper class, GroupTreeWalker, from the
current implementation of 'calculateAllGroupGuiderates()'.  This is
in preparation of adding a similar approach to extracting WxIGR for
all wells for which at least one group in the upline has an entry in
GCONINJE.

The user can add visitor operations for wells and groups, typically
with side effects, and then choose whether to run a pre-order walk
(visit groups before their children) or a post-order walk (visit
children-i.e., wells, before their parents).
2021-11-02 16:19:56 +01:00
Bård Skaflestad 1a80378b0a Merge pull request #3613 from bska/accumulate-guiderate-once
Switch Guide Rate Accumulation to Post-Order Traversal
2021-10-29 22:29:13 +02:00
Bård Skaflestad 767b5ca58b Switch Guide Rate Accumulation to Post-Order Traversal
This guarantees, under the assumption that the group tree does not
have cycles, that we do not accumulate group-level guide rate values
until all of its children are fully evaluated.  We use an iterative
depth-first post-order tree traversal with an explicit stack instead
of a recursive implementation.

The previous implementation, which tried to do the same kind of
child-to-parent accumulation, might visit a parent group multiple
times which in turn might lead to losing updates.  This is a more
formalised approach to the value accumulation than was originally
employed.
2021-10-29 21:21:49 +02:00
Bård Skaflestad b94a6e290d Merge pull request #3632 from bska/create-micp-helper
Separate MICP Case Out to Helper Function
2021-10-29 21:17:40 +02:00
Bård Skaflestad f212c946c7 Separate MICP Case Out to Helper Function
In keeping with the other simulation cases.
2021-10-29 16:15:44 +02:00
Bård Skaflestad 66989bcd78 Merge pull request #3646 from akva2/fix_dep_warning_comm
fix deprecation warning with dune 2.7+
2021-10-29 12:47:05 +02:00
Bård Skaflestad 3cfec109db Merge pull request #3620 from blattms/removeSetupCart-rebased
[refactor] Remove cartesianToCompressed Mapping from well model
2021-10-25 16:43:08 +02:00
Bård Skaflestad 102a6b9507 Merge pull request #3631 from alfbr/default-sched
Changed default for sched-restart to false
2021-10-25 13:51:52 +02:00
Bård Skaflestad 1ee8322a51 Merge pull request #3618 from joakim-hove/remove-extra
Remove unnecessary call to simulator.setStartTime()
2021-10-20 14:29:41 +02:00
Bård Skaflestad 5a282a1b34 Merge pull request #3621 from bska/model6-regression-tests
Model6 regression tests
2021-10-20 13:30:17 +02:00
Bård Skaflestad 38f9558c19 Merge pull request #3617 from totto82/micp_ctest
Add micp test case
2021-10-19 18:05:18 +02:00
Bård Skaflestad 9634e401b0 Merge pull request #3596 from joakim-hove/rst-testing
Add RESTART_STEP argument to spe1 and spe9 tests
2021-10-19 16:39:03 +02:00
Bård Skaflestad c6ca024c74 Merge pull request #3612 from bska/report-gxigr-if-present
Report Group Level Injection Guide Rates if Present
2021-10-19 15:01:01 +02:00
Bård Skaflestad 67f4cf62f1 Report Group Level Injection Guide Rates if Present
We used to tie reporting these quantities to whether or not a group
had any guide rates for production (GuideRate::has()), but this is
clearly insufficient for injection guide rates.
2021-10-19 14:15:36 +02:00
Bård Skaflestad 9b3cf66a31 Merge pull request #3581 from bska/restore-guiderate
Initialise Guide Rate Object From Restart File
2021-10-19 14:14:31 +02:00
Bård Skaflestad a7c6203a73 Initialise Guide Rate Object From Restart File
This commit adds an overload set named

    loadRestartGuideRates

which, collectively, initialises the contained GuideRate object
using guide rate values from the restart file.  This is necessary,
but not quite sufficient, to restart models in prediction mode with
group-level constraints.
2021-10-19 13:22:31 +02:00
Bård Skaflestad 8014442a1d Split Restart File Loading Into Multiple Stages
Mostly for readability in preparation of initialising the guide rate
object with values from the restart file.  The new stages, each with
its own 'loadRestart*Data()' member function are

  - Connection
  - Segment
  - Well
  - Group

While here, also switch to using std::any_of() in place of a raw
loop.
2021-10-19 13:22:31 +02:00
Bård Skaflestad 37f589bff1 Merge pull request #3598 from bska/report-siunits-injgr-grouplevel
Report Group Level Inject Guiderate Values in Strict SI Units
2021-10-19 13:20:58 +02:00
Bård Skaflestad 89adc1919b Merge pull request #3611 from joakim-hove/broadcast-wtest-state
Broadcast wtest state
2021-10-19 12:01:17 +02:00
Bård Skaflestad 1d0ee3c005 Report Group Level Inject Guiderate Values in Strict SI Units
The output layer expects its input values to be strictly SI, but we
know that the GuideRate container's values are in output units.

Forgotten in PR #3467 (commit 517db198f8).
2021-10-19 09:32:38 +02:00
Bård Skaflestad dbcba2ff7c Merge pull request #3614 from joakim-hove/handle-nextstep
Handle NEXTSTEP behavior in time stepper
2021-10-18 21:26:17 +02:00
Bård Skaflestad 4f896aefd6 Merge pull request #3616 from akva2/brine_energy_object_lib
build flow_brine_energy as an object library
2021-10-18 15:06:25 +02:00
Bård Skaflestad 4a16e2cf3a Merge pull request #3615 from akva2/energy_not_thermal
rename flow_brine_thermal to flow_brine_energy
2021-10-18 14:12:59 +02:00
Bård Skaflestad 09b7f287a0 Merge pull request #3604 from akva2/improve_test_drivers
changed: use getopts in test drivers
2021-10-17 17:48:23 +02:00
Bård Skaflestad 3174643fe8 Merge pull request #3606 from blattms/fix-non-restart-writes-with-tracers
[bugfix] Make tracerConcentrations_ valid for non-restart writes.
2021-10-14 17:37:20 +02:00
Bård Skaflestad d6ca49f85b Merge pull request #3593 from bska/suppress-unused-param
Mark 'comm' As Potentially Unused
2021-10-10 21:50:53 +02:00
Bård Skaflestad 0f13f4095b Mark 'comm' As Potentially Unused
The communicator is only needed in parallel builds.
2021-10-10 20:38:45 +02:00
Bård Skaflestad 61ac76fe90 Make ARGV[ARGC] Into a Nullpointer
This is strictly speaking required by POSIX.
2021-10-09 00:17:32 +02:00
Bård Skaflestad ad74de2e1a Use Algorithm to Locate '--version' Option 2021-10-09 00:17:32 +02:00
Bård Skaflestad fca167acfd Split Individual Cases Out to Helper Functions
This commit moves the bodies of the various 'dynamicDispatch_<>()'
cases out to separate helper functions.  Not only does this reduce
the number of nested conditionals, it also helps reasoning about
each case in isolation and aids future maintenance.
2021-10-09 00:17:32 +02:00
Bård Skaflestad 3455dbdac9 Main.hpp: Adjust Whitespace
In preparation of refactoring 'dispatchDynamic_<>()'
2021-10-09 00:17:32 +02:00
Bård Skaflestad bfdf158e23 Merge pull request #3589 from bska/remove-unused-parameter
Remove Unused 'Comm' Parameter
2021-10-08 13:02:13 +02:00
Bård Skaflestad d028937925 Remove Unused 'Comm' Parameter
Remnant from ealier refactoring work.
2021-10-08 12:44:27 +02:00
Bård Skaflestad 1feab761d6 Extract Helper Functions From readDeck
Mostly to reduce the number of nested conditionals and long lines.
2021-10-07 22:01:47 +02:00