-
Added basic model checking functionality (
.check()
). -
Added support for reading SWR Process observation, stage, budget, flow, reach-aquifer exchanges, and structure flows.
-
flopy.utils.HydmodObs
returns a numpy recarray. Previously numpy arrays were returned except when theslurp()
method was used. The slurp method has been deprecated but the same functionality is available using theget_data()
method. The recarray returned from theget_data()
method includes thetotim
value and one or all of the observations (HYDLBL
). -
Added support for MODFLOW-USG DISU package for unstructured grids.
-
Added class (
Gridgen
) for creating layered quadtree grids using GRIDGEN (flopy.utils.gridgen
). See the flopy3_gridgen notebook for an example of how to use theGridgen
class. -
Added user-specified control on use of
OPEN/CLOSE
array options (see flopy3_external_file_handling notebook). -
Added user-specified control for array output formats (see flopy3_array_outputformat_options IPython notebook).
-
Added shapefile as optional output format to
.export()
method and deprecated.to_shapefile()
method. -
Bug fixes:
- Fixed issue with right justified format statement for array control record for MT3DMS.
- Fixed bug writing PHIRAMP for MODFLOW-NWT well files.
- Fixed bugs in NETCDF export methods.
- Fixed bugs in LMT and BTN classes.
-
Added template creation support for several packages for used with PEST (and UCODE).
-
Added support for the SEAWAT viscosity (VSC) package.
-
Added support for the MODFLOW Stream (STR), Streamflow-Routing (SFR2), Subsidence (SUB), and Subsidence and Aquifer-System Compaction Package for Water-Table Aquifers (SWT) Packages.
-
Mt3d model was redesigned based on recent changes to the Modflow model. Mt3d packages rewritten to support multi-species. Primary packages can be loaded (btn, adv, dsp, ssm, gcg). Array utilities modified to read some MT3D RARRAY formats.
-
Fixed array loading functionality for case when the CNSTNT value is zero. If CNSTNT is zero and is used as an array multiplier, it is changed to 1 (as done in MODFLOW).
-
Added support for the MODFLOW HYDMOD (HYD) Package and reading binary files created by the HYDMOD Package (
HydmodObs
Class) in theflopy.utils
submodule. -
flopy.utils.CellBudgetFile
returns a numpy recarray for list based budget data. Previously a dictionary with thenode
number andq
were returned. The recarray will return thenode
number,q
, and theaux
variables for list based budget data. -
Added travis-ci automated testing.
-
FloPy now supports some simple plotting capabilities for two- and three-dimensional model input data array classes and transient two-dimensional stress period input data using the
.plot()
methods associated with the data array classes (util_2d
,util_3d
, andtransient_2d
). The model results reader classes (HeadFile
,UcnFile
, andCellBudgetFile
) have also been extended to include a.plot()
method that can be used to create simple plots of model output data. See the notebook flopy3_PlotArrayExample. -
Added
.to_shapefile()
method to two- and three-dimensional model input data array classes (util_2d
andutil_3d
), transient two-dimensional stress period input data classes (transient_2d
), and model output data classes (HeadFile
,UcnFile
, andCellBudgetFile
) that allows model data to be exported as polygon shapefiles with separate attribute columns for each model layer. -
Added support for ASCII model results files.
-
Added support for reading MODPATH version 6 pathline and endpoint output files and plotting MODPATH results using mapping capabilities in
flopy.plot
submodule. -
Added
load()
method for MODFLOW GMG solver. -
Bug fixes:
- Multiplier in array control record was not being applied to arrays
- vani parameter was not supported
-
FloPy can now be used with Python 3.x
-
Revised setters for package class variables stored using the
util_2d
orutil_3d
classes. -
Added option to load a subset of MODFLOW packages in a MODFLOW model name file using
load_only=
keyword.
-
FloPy now supports some simple mapping and cross-section capabilities through the
flopy.plot
submodule. See the notebook flopy3_MapExample. -
Full support for all Output Control (OC) options including DDREFERENCE, SAVE IBOUND, and layer lists. All Output Control Input is specified using words. Output Control Input using numeric codes is still available in the ModflowOc88 class. The ModflowOc88 class is currently deprecated and no longer actively maintained.
-
Added support for standard MULT package FUNCTION and EXPRESSION functionality are supported. MODFLOW parameters are not supported in
write()
methods.
FloPy is significantly different from earlier versions of FloPy (previously hosted on googlecode). The main changes are:
-
FloPy is fully zero-based. This means that layers, rows and columns start counting at zero. The reason for this is consistency. Arrays are zero-based by default in Python, so it was confusing to have a mix.
-
Input for packages that take layer, row, column, data input (like the wel or ghb package) has changed and is much more flexible now. See the notebook flopy3boundaries
-
Input for the MT3DMS Source/Sink Mixing (SSM) Package has been modified to be consistent with the new MODFLOW boundary package input and is more flexible than previous versions of FloPy. See the notebook flopy3ssm
-
Support for use of EXTERNAL and OPEN/CLOSE array specifiers has been improved.
-
load() methods have been developed for all of the standard MODFLOW packages and a few less used packages (e.g. SWI2).
-
MODFLOW parameter support has been added to the
load()
methods. MULT, PVAL, and ZONE packages are now supported and parameter data are converted to arrays in theload()
methods. MODFLOW parameters are not supported inwrite()
methods.