Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/dev/test.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
# FloPy 4 testing plan

## Phase 1: MVP testing

Reproduce the FloPy3 quickstart.

Hand-write a small number of programmatically defined models, patterned after simple FloPy3 and MF6 test cases. Support only limited simulations at first (e.g. just GWF), until code generation is implemented.

Set up CI test harness to compare results of simulations written by FloPy3 and the product. Reuse patterns in MF6 tests: comparisons and/or snapshots. Catalog and resolve differences in simulation output as they are discovered. Begin with the set of [MODFLOW 6 test models](https://github.com/MODFLOW-ORG/modflow6-testmodels) since the input files are readily available.

Alpha testers provide feedback.

## Phase 2: MMP testing

Adapt FloPy3 Python tests and MF6 examples to the product. Exhaustively characterize differences (API and behavior) between FloPy3 and the product, including cosmetic differences in input files written by the two systems.

Beta testers provide feedback.
3 changes: 3 additions & 0 deletions flopy4/mf6/converter.py
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,9 @@ def dict_to_array(value, self_, field) -> NDArray:
"""
Convert a sparse dictionary representation of an array to a
dense numpy array or a sparse COO array.

TODO: generalize this not only to dictionaries but to any
form that can be converted to an array (e.g. nested list)
"""

if not isinstance(value, dict):
Expand Down
Loading