Skip to content

Commit 83bd261

Browse files
authored
draft roadmap (#166)
1 parent beed544 commit 83bd261

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

docs/dev/map.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
# FloPy 4 development roadmap
2+
3+
## Phase 1: Minimum Viable Product
4+
5+
Core functionality. Shortcuts are OK.
6+
Read/write input files, run simulations, get/set data.
7+
Initial deliverable for alpha testing (USGS, Deltares).
8+
Alpha testers include Joeri, Huite, and the core MF6 team.
9+
Release via `pip install ` from github URL of our development sandbox.
10+
Tentative timeframe: July.
11+
12+
- [x] DFN spec to TOML
13+
- [x] draft object model
14+
- [x] unified IO framework
15+
- [ ] MF6 input file parser
16+
- [ ] MF6 input file writer
17+
- [ ] code generation from spec
18+
- [ ] minimal docs (quickstart, etc)
19+
20+
## Phase 2: Minimum Marketable Product
21+
22+
Refactor to make production-ready.
23+
Achieve rough feature-parity with 3.x.
24+
Adopt features from e.g. `imod-python`.
25+
Incorporate feedback from alpha testing.
26+
Beta testers include alpha testers and additional volunteers from USGS and Deltares.
27+
Release via `pip install` from github URL of our development sandbox.
28+
Tentative timeframe: by end of year?
29+
30+
- [ ] reimplement object model (maintainability over magic)
31+
- [ ] structured xarray index for topology/geometry-aware selections
32+
- [ ] xarray accessors for cross-cutting concerns (plot, export)
33+
- [ ] xugrid integration for UGRID-compliance (DIS/DISV grids)
34+
- [ ] more extensive docs (converted from old flopy examples)
35+
- [ ] IO optimization (tuning, laziness/concurrency, etc)
36+
- [ ] comprehensive logging and error handling
37+
- [ ] validation framework, model checks
38+
39+
## Phase 3: Rollout
40+
41+
Integrate the product with the existing repository.
42+
Evaluate feature-parity and fill any remaining gaps.
43+
Release via standard channels (PyPI, Conda).
44+
Dial 3.x down to maintenance mode.
45+
46+
- [ ] implement 3.x adapters, compare tests/examples
47+
- [ ] finalize 3.x maintenance plan and 4.x release plan
48+
- [ ] finalize MF6 compatibility policy and codegen tooling

0 commit comments

Comments
 (0)