Releases: modflowpy/flopy
Releases · modflowpy/flopy
FloPy 3.9.5
FloPy 3.9.4
Version 3.9.4
Support for MF6.6.3 plus a number of bugfixes and enhancements.
New features
- feat(utils): Add normalization option for to_cvfd to add hanging nodes (#2547). Committed by Joseph Hughes on 2025-07-24.
- feat(hfb): Open/close support for HFB package (#2569). Committed by Joseph Hughes on 2025-08-05.
- feat(CellBudgetFile): Support aux vars in get_ts() method (#2568). Committed by wpbonelli on 2025-09-17.
- feat(gridgen): Add get_anglex method, include mfusg transport notebooks in docs and tests (#2617). Committed by Martin Vonk on 2025-09-29.
Bug fixes
- fix(MfUsgWel): Fix well package loading (#2515). Committed by Chris Nicol on 2025-05-19.
- fix(mflist_export): Patch mf6 list data export (#2532). Committed by wpbonelli on 2025-06-13.
- fix: Throw error on invalid crs type (#2533). Committed by Emmanuel Ferdman on 2025-06-14.
- fix(rasters): Let rasterio raise error on invalid CRS (#2535). Committed by wpbonelli on 2025-06-16.
- fix(Mf6Splitter): Multiple bug fixes (#2541). Committed by Joshua Larsen on 2025-07-09.
- fix: Avoid error in gage load, skip comments in GMG files (#2544). Committed by whcollab-proj on 2025-07-14.
- fix(flopy_io): Strip filename quotes in OPEN/CLOSE statements (#2545). Committed by whcollab-proj on 2025-07-15.
- fix(codegen): Accommodate toml dfn file rename in devtools (#2546). Committed by wpbonelli on 2025-07-16.
- fix(get-modflow): Allow run_main bindir to be a path (#2560). Committed by Martin Vonk on 2025-07-28.
- fix(usg datafile): Fix unstructured datafile extraction by layer (#2561). Committed by Chris Nicol on 2025-07-31.
- fix(resample_to_grid): Use rescale=True for scipy.interpolate.griddata (#2565). Committed by wpbonelli on 2025-08-05.
- fix(mflist_export): Fix sparse spd export on disv and disu grids (#2566). Committed by wpbonelli on 2025-08-07.
- fix(examples): Fix modflow boundaries example name (#2579). Committed by wpbonelli on 2025-08-13.
- fix(mf6): Accept stress period data cellid as nested list (#2584). Committed by wpbonelli on 2025-08-27.
- fix(MfUsgCln): Issue with default unitnumber; improve docstrings (#2595). Committed by Mike Taves on 2025-09-11.
- fix(notebooks): Fix tutorial notebook sections (#2598). Committed by wpbonelli on 2025-09-15.
- fix(mtuzt): Set attributes None if not provided (#2607). Committed by wpbonelli on 2025-09-25.
- fix(mfupw): Fix chani condition (should be <= 0) (#2606). Committed by wpbonelli on 2025-09-26.
- fix(codegen): Fix recarray variable docstring rendering (#2614). Committed by wpbonelli on 2025-09-28.
- fix(mfdataplist): Preserve headers in external files (#2609). Committed by wpbonelli on 2025-09-29.
- fix(mfdataplist): Close file handle (#2615). Committed by wpbonelli on 2025-09-29.
- fix(get_transmissivities): Support mf6 models (#2611). Committed by wpbonelli on 2025-09-29.
Refactoring
- refactor(intersect): Refactor "forgrive" parameter to "forgive" (#2516). Committed by Joshua Larsen on 2025-05-23.
- refactor(codegen): Miscellaneous cleanup, amend tests (#2519). Committed by wpbonelli on 2025-05-27.
- refactor(codegen): Better workaround for legacy dfn format requirement (#2520). Committed by wpbonelli on 2025-05-28.
- refactor(mf6/codegen): Remove definition files from version control (#2521). Committed by wpbonelli on 2025-05-28.
- refactor(mf6): Remove createpackages.py (#2526). Committed by wpbonelli on 2025-06-09.
- refactor(codegen): Import dfn utils from devtools (#2538). Committed by wpbonelli on 2025-06-24.
- refactor(modeltime): Use dataclass, add type hints (#2528). Committed by wpbonelli on 2025-07-14.
- refactor(GeoSpatialCollection): Add standard geo_interface method (#2550). Committed by Joshua Larsen on 2025-08-05.
- refactor(whitespace): Use CR EOLs, trailing whitespace (#2585). Committed by Mike Taves on 2025-09-03.
- refactor: Apply a few pylint rules (via ruff) (#2587). Committed by Mike Taves on 2025-09-04.
- refactor: Use PathLike and curdir concisely and consistently (#2589). Committed by Mike Taves on 2025-09-05.
- refactor(codegen): Mf6 classes and codegen templates (#2593). Committed by Mike Taves on 2025-09-09.
- refactor: Various adjustments for ruff check preview rules (#2597). Committed by Mike Taves on 2025-09-12.
- refactor(codegen): Skip prerelease variables, adjust default verbosity (#2604). Committed by wpbonelli on 2025-09-20.
- refactor(optimize_splitting_mask): Add
active_onlyflag (#2600). Committed by Joshua Larsen on 2025-09-26.
FloPy 3.9.3
Version 3.9.3
Support for MF6.6.2, several bugfixes, and a couple enhancements.
New features
- feat(modeltime): Add from_headers and reverse methods (#2481). Committed by wpbonelli on 2025-03-29.
- feat: Add the angldegx to the kw dictionary produced by the get_disu_kwargs method (#2484). Committed by Sunny Titus on 2025-04-14.
Bug fixes
- fix(resolve_exe): Typecast exe name to string before passing to _resolve (#2457). Committed by martclanor on 2025-02-20.
- fix(HeadFile,CellBudgetFile): Fix tdis reversal (#2460). Committed by wpbonelli on 2025-02-25.
- fix(output_util.py): Trap grb in MF6Output (#2468). Committed by wpbonelli on 2025-03-07.
- fix(binaryfile): Tdis in head/budget reversal methods (#2475). Committed by wpbonelli on 2025-03-18.
- fix(binaryfile): Fix head/budget file reversal (#2483). Committed by wpbonelli on 2025-04-01.
- fix(flopy/utils/sfroutputfile.py::SfrFile.get_results): Refactor deprecated DataFrame.append() call to pandas.concat() (#2491). Committed by aleaf on 2025-04-21.
- fix(model_splitter.py): Add trap for obs packages in bc packages (#2493). Committed by Joshua Larsen on 2025-04-22.
- fix(evt): Optional field mishandling (#2490). Committed by mjreno on 2025-04-23.
- fix: Update numpy array comparisons to use isin (#2504). Committed by Emmanuel Ferdman on 2025-05-06.
- fix(column lengths): Autoscale array write to ncol for structured multi-model simulations (#2507). Committed by Joshua Larsen on 2025-05-12.
Refactoring
- refactor(resolve_exe): Also fix tests (#2464). Committed by Mike Taves on 2025-03-03.
- refactor(createpackages): Use jinja for mf6 module code generation (#2333). Committed by wpbonelli on 2025-03-07.
- refactor(Mf6Splitter): Change how node mapping is stored and loaded (#2465). Committed by Joshua Larsen on 2025-03-14.
- refactor(gridutil): Improve arg handling in get_disu_kwargs (#2480). Committed by wpbonelli on 2025-04-01.
- refactor(model_splitter.py): Support for SSM and ATS (#2505). Committed by Joshua Larsen on 2025-05-08.
- refactor(codegen): Move dfn utils from devtools (#2508). Committed by wpbonelli on 2025-05-13.
FloPy 3.9.2
Version 3.9.2
Support for MF6.6.1, as well as new features and bugfixes.
New features
- feat(mf2005,mf2k): Allow loading custom flopy packages (#2404). Committed by Davíd Brakenhoff on 2025-01-10.
- feat(generate_classes.py): Allow excluding components (#2447). Committed by wpbonelli on 2025-02-11.
Bug fixes
- fix(mp7particledata): Add global_xy option for to_coords/to_prp (#2405). Committed by Davíd Brakenhoff on 2024-12-23.
- fix(resolve_exe): Allow shutil.which() to find exe without suffix in Windows (#2408). Committed by martclanor on 2025-01-10.
- fix(cvfdutil): Fix skip_hanging_node_check (#2423). Committed by Oscar Sanchez on 2025-01-21.
- fix(Mf6Splitter): Multiple bug fixes and added support (#2418). Committed by Joshua Larsen on 2025-01-30.
- fix(mp7particledata.py): Avoid attribute error (#2441). Committed by wpbonelli on 2025-02-08.
Perf
- perf(tutorials): Skip some writes in export_vtk_tutorial.py (#2432). Committed by wpbonelli on 2025-02-03.
Refactoring
- refactor(model_splitter): Add timeseries support (#2403). Committed by Joshua Larsen on 2025-01-03.
- refactor(FlopyBinaryData): Make properties readonly, deprecate set_float() (#2421). Committed by wpbonelli on 2025-01-20.
- refactor(get-modflow): Don't hard-code available os tags (#2426). Committed by wpbonelli on 2025-01-26.
- refactor(mf6): Allow using existing dfn files in generate_classes.py (#2431). Committed by wpbonelli on 2025-02-03.
- refactor(ModelTime): Refactor ModelTime and add new features (#2367). Committed by Joshua Larsen on 2025-02-05.
FloPy 3.9.1
FloPy 3.9.0
Version 3.9.0
New features
- feat(plot_centers): Add plot_centers support to PlotMapView and PlotCrossSection (#2318). Committed by Joshua Larsen on 2024-10-07.
- feat(get-modflow): Support windows extended build (#2356). Committed by mjreno on 2024-11-06.
- feat(binaryfile): Add head/budget file reversal script (#2383). Committed by wpbonelli on 2024-11-27.
Bug fixes
- fix(ZoneFile6.load): Add split statement to input read (#2330). Committed by Joshua Larsen on 2024-10-09.
- fix(resample_to_grid): Fix unintended extrapolation (#2331). Committed by Joshua Larsen on 2024-10-09.
- fix(utils): Exclude ncf from mf6 output utils (#2336). Committed by mjreno on 2024-10-16.
- fix(masked_4D_arrays): Allow re-use of preceding spd data if empty (#2314). Committed by martclanor on 2024-10-20.
- fix(gridintersect): Fix multiple issues (#2343). Committed by Davíd Brakenhoff on 2024-10-25.
Refactoring
- refactor(PackageContainer): Compose not inherit, deprecate methods (#2324). Committed by Marnix on 2024-10-14.
- refactor(Modpath7.create_mp7): Expose porosity parameter of Modpath7Bas (#2340). Committed by martclanor on 2024-10-20.
- refactor(gridintersect): Clean up gridintersect (#2346). Committed by Davíd Brakenhoff on 2024-10-24.
- refactor(Mf6Splitter): Added split_multi_model method (#2352). Committed by Joshua Larsen on 2024-11-06.
- refactor(mf6): Deprecate mf6 checks (#2357). Committed by wpbonelli on 2024-11-06.
- refactor: Apply suggestions from pyupgrade (#2361). Committed by Mike Taves on 2024-11-11.
- refactor: Fix long lines to resolve check E501 (#2368). Committed by Mike Taves on 2024-11-14.
- refactor: Resolve ruff check F821 for undefined names (#2374). Committed by Mike Taves on 2024-11-18.
- refactor: Apply fixes for flake8 comprehensions (C4) (#2376). Committed by Mike Taves on 2024-11-18.
- refactor(deprecations): Deprecate flopy.mf6.utils.reference module (#2375). Committed by wpbonelli on 2024-11-19.
- refactor: Apply Ruff-specific rule checks (#2377). Committed by Mike Taves on 2024-11-22.
FloPy 3.8.2
Version 3.8.2
Bug fixes
- fix(mp7particledata): Fix get_extent() vertical extent calculation (#2307). Committed by wpbonelli on 2024-09-12.
- fix(array3d_export): Fix exporting of array3d to shp (#2310). Committed by martclanor on 2024-09-16.
- fix(binaryfile): Accommodate windows drives for in-place reversal (#2312). Committed by wpbonelli on 2024-09-16.
- fix(get_modflow): Accommodate missing ratelimit info on api response (#2320). Committed by wpbonelli on 2024-10-01.
FloPy 3.8.1
Version 3.8.1
This release includes various bugfixes as well as model splitter improvements. It also adds some capabilities for the soon forthcoming MF6 surface water model. Since the latter is still under development and not yet officially available, we do not consider these to be full-fledged features yet, and so this is a patch rather than a minor FloPy release.
New features
- feat(cell1d): Add support for 1D vertex grids (#2296). Committed by langevin-usgs on 2024-08-23.
Bug fixes
- fix(ParticleTrackFile.write_shapefile): Check for "k" even if "i", "j are not present (#2294). Committed by Joshua Larsen on 2024-08-17.
- fix(modelgrid): Add more support for mf6 surface water models (#2295). Committed by langevin-usgs on 2024-08-22.
Refactoring
- refactor(model_splitter.py): Update UnstructuredGrid support (#2292). Committed by Joshua Larsen on 2024-08-16.
FloPy 3.8.0
Version 3.8.0
This release includes a number of bugfixes, a few new features, and support for NumPy 2.
New features
- feat(datafile): Add .headers property with data frame (#2221). Committed by Mike Taves on 2024-06-11.
- feat(lgr-disv): Add to_disv_gridprops() method to lgr object (#2271). Committed by langevin-usgs on 2024-07-26.
Bug fixes
- fix(docs): Section underline matches section title (#2208). Committed by Mike Taves on 2024-06-06.
- fix(vtk): Fix __transient_vector access (#2209). Committed by mickey-tsai on 2024-06-06.
- fix(swt): Pass load_only down to Mt3dms.load() (#2222). Committed by wpbonelli on 2024-06-11.
- fix(ParticleTrackFile): Fix particle filtering in get_alldata (#2223). Committed by martclanor on 2024-06-11.
- fix(regression): Corrections to test_create_tests_transport (#2228). Committed by Mike Taves on 2024-06-13.
- fix(binaryread): Raise/handle EOFError, deprecate vartype=str (#2226). Committed by Mike Taves on 2024-06-13.
- fix(pandas warnings): Catch pandas warnings and display them in a more useful way (#2229). Committed by scottrp on 2024-06-14.
- fix: Test_uzf_negative_iuzfopt (#2236). Committed by Mike Taves on 2024-06-17.
- fix(PlotMapView): Default to all layers in plot_pathline() (#2242). Committed by wpbonelli on 2024-06-19.
- fix(Raster): Reclassify np.float64 correctly (#2235). Committed by martclanor on 2024-06-24.
- fix(HeadFile): Fix dis reversal, expand tests (#2247). Committed by wpbonelli on 2024-06-25.
- fix(mfmodel): Fix get_ims_package (#2272). Committed by martclanor on 2024-08-06.
- fix(modelgrid): Fix missing coord info if disv (#2284). Committed by martclanor on 2024-08-07.
- fix(examples): Restore example notebooks skipped after #2264 (#2286). Committed by wpbonelli on 2024-08-08.
Refactoring
- refactor(expired deprecation): Raise AttributeError with to_shapefile (#2200). Committed by Mike Taves on 2024-05-30.
- refactor: Deprecate unused flopy.utils.binaryfile.binaryread_struct (#2201). Committed by Mike Taves on 2024-05-31.
- refactor(exceptions): Raise NotImplementedError where appropriate (#2213). Committed by Mike Taves on 2024-06-07.
- refactor(datafile): Use len(obj) rather than obj.get_nrecords() (#2215). Committed by Mike Taves on 2024-06-11.
- refactor(binarygrid_util): Refactor get_iverts to be general and not dependent on grid type (#2230). Committed by langevin-usgs on 2024-06-14.
- refactor(datafile): Deprecate list_records() and other list_ methods (#2232). Committed by Mike Taves on 2024-06-14.
- refactor: Fixes for numpy-2.0 deprecation warnings, require numpy>=1.20.3 (#2237). Committed by Mike Taves on 2024-06-17.
- refactor: Np.where(cond) -> np.asarray(cond).nonzero() (#2238). Committed by wpbonelli on 2024-06-17.
- refactor(dependencies): Support numpy 2 (#2241). Committed by wpbonelli on 2024-06-19.
- refactor(get-modflow): Support ARM macs by default (previously opt-in) (#2225). Committed by wpbonelli on 2024-06-21.
- refactor(Raster): Add new methods and checks (#2267). Committed by Joshua Larsen on 2024-07-17.
- refactor(resample_to_grid): Filter raster nan values from scipy resampling routines (#2285). Committed by Joshua Larsen on 2024-08-08.
FloPy 3.7.0
Version 3.7.0
Support for MODFLOW 6.5.0 as well as fixes and enhancements.
New features
- feat(get-modflow): Support ARM mac nightly build (#2115). Committed by wpbonelli on 2024-02-23.
- feat(binaryfile): Get budget by second package name
paknam2(#2050). Committed by Michael Ou@SSPA on 2024-03-14. - feat(get-modflow): Support windows parallel nightly build (#2128). Committed by wpbonelli on 2024-03-22.
- feat: Add optional custom print callable (#2121). Committed by Mike Müller on 2024-03-25.
- feat(dis2d): Introduce limited support for a 2D structured grid (for overland flow) (#2131). Committed by langevin-usgs on 2024-04-01.
- feat(vtk): Improve vtk particle track export (#2132). Committed by wpbonelli on 2024-04-02.
- feat(disv2d): Introduce support for a 2D vertex grid (for overland flow) (#2151). Committed by langevin-usgs on 2024-04-15.
- feat(vtk): Include all arrays on pathline input (#2161). Committed by wpbonelli on 2024-04-19.
- feat(mp7particledata): Add localz option for PRT PRP conversions (#2166). Committed by wpbonelli on 2024-04-24.
- feat(sim options block packages): Support for packages declared in simulation name file's options block (#2164, #2174). Committed by spaulins-usgs on 2024-05-01.
- feat(MfList): Support kper field in stress period data (#2179). Committed by wpbonelli on 2024-05-04.
Bug fixes
- fix(PRT): Allow empty recarray or dataframe for output conversion fns (#2103). Committed by wpbonelli on 2024-02-19.
- fix(gridintersect): Gridintersect does not work for rotated vertex grids (#2107). Committed by Davíd Brakenhoff on 2024-02-20.
- fix(str and repr): Better repr and str output for transient data with multiple blocks (#2058) (#2102). Committed by scottrp on 2024-03-13.
- fix(get_package and model_time): #2117, #2118 (#2123). Committed by spaulins-usgs on 2024-03-20.
- fix(modflow): Dataframe support was patchy in a few packages (#2136). Committed by wpbonelli on 2024-04-04.
- fix(dependencies): Pin pyzmq >= 25.1.2 for arm macs (#2138). Committed by wpbonelli on 2024-04-05.
- fix(empty transient data): Empty first stress period block (#1091) (#2139). Committed by spaulins-usgs on 2024-04-05.
- fix(comma delimited, scientific notation): #2053 (#2144). Committed by spaulins-usgs on 2024-04-11.
- fix(empty transient arrays): #2145 (#2146). Committed by spaulins-usgs on 2024-04-12.
- fix(#2152): Improve gridintersect geometry creation for vertex grids (#2154). Committed by Davíd Brakenhoff on 2024-04-15.
- fix(grb): Update binary grid file reader for new grid types (#2157). Committed by langevin-usgs on 2024-04-17.
- fix(OptionBlock): Deprecate attribute typo 'auxillary' -> 'auxiliary' (#2159). Committed by Mike Taves on 2024-04-19.
- fix(typos): Fixed a variety of typos throughout project (#2160). Committed by Mike Taves on 2024-04-19.
- fix(cvfdutil): Polygon area and centroid calculations now use shapely (#2165). Committed by langevin-usgs on 2024-04-23.
- fix(gridgen): Remove duplicate disv grid vertices #1492 (#2119). Committed by wpbonelli on 2024-05-02.
- fix(mfmodel): Fix budgetkey for transport models (#2176). Committed by wpbonelli on 2024-05-03.
- fix(gridintersect): Relax cell boundary checks with np.isclose (#2173). Committed by wpbonelli on 2024-05-06.
- fix(MFFileAccessArray): Read_text_data_from_file modified for non-layered (#2183). Committed by langevin-usgs on 2024-05-06.
- fix(styles): Remove need for platform evaluation (#2188). Committed by jdhughes-usgs on 2024-05-09.
- fix(get_structured_faceflows): Fix lower face flows when idomain is -1 (#2192). Committed by vincentpost on 2024-05-17.
- fix(tutorial, verbosity setter): Fixed tutorial model name and verbosity setter (#2182) (#2193). Committed by scottrp on 2024-05-21.
Refactoring
- refactor(datautil): In is_int/float use .item() for np arrays (#2068). Committed by wpbonelli on 2024-02-19.
- refactor(plotting): Check for user set axes limits (#2108). Committed by Joshua Larsen on 2024-02-21.
- refactor(get_cell_vertices): Raise helpful messages, improve docs, add tests (#2125). Committed by Mike Taves on 2024-03-18.
- refactor(modpathfile): Toward unified particle tracking api (#2127). Committed by wpbonelli on 2024-03-28.
- refactor(MFSimulationBase): Allow simulations to have no attached models (#2140). Committed by Joshua Larsen on 2024-04-06.
- refactor(lgrutil): Convert numpy types to builtins for np2 compat (#2158). Committed by wpbonelli on 2024-04-19.
- refactor(mp7particledata): Match mp7 order in to_coords()/to_prp() (#2172). Committed by wpbonelli on 2024-05-01.