From 7765cde2f15e1c5734c52673a28797de6ef4138a Mon Sep 17 00:00:00 2001 From: wpbonelli Date: Tue, 14 Oct 2025 08:18:05 -0400 Subject: [PATCH] draft test plan, add todo comment to converter --- docs/dev/test.md | 17 +++++++++++++++++ flopy4/mf6/converter.py | 3 +++ 2 files changed, 20 insertions(+) create mode 100644 docs/dev/test.md diff --git a/docs/dev/test.md b/docs/dev/test.md new file mode 100644 index 00000000..3d6f64d1 --- /dev/null +++ b/docs/dev/test.md @@ -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. diff --git a/flopy4/mf6/converter.py b/flopy4/mf6/converter.py index 16db8e35..c47f9d67 100644 --- a/flopy4/mf6/converter.py +++ b/flopy4/mf6/converter.py @@ -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):