The following jupyter Notebooks contain examples for using FloPy pre- and post-processing capabilities with a variety of MODFLOW-based models. The FloPy example notebooks can be opened and run using Pangeo by clicking on the launch binder link below.
-
An overview of loading existing MODFLOW models, creating models, and common post-processing capabilities using FloPy is presented in the flopy3_working_stack_demo Notebook.
-
An overview of the options to enter layer, row, column, data values for packages such as the wel and ghb packages is given in the flopy3_modflow_boundaries Notebook
-
An overview of how to control the format of numeric arrays written by FloPy to MODFLOW-based input files is given in the flopy3_array_outputformat_options Notebook.
-
An overview of how FloPy handles external files for numeric arrays written by FloPy to MODFLOW-based input files is given in the flopy3_external_file_handling Notebook.
-
An overview of FloPy capabilities to load a SFR2 file and evaluate data contained in the file is given in the flopy3_SFR2_load Notebook.
-
An overview of FloPy capabilities to create a SFR2 file and evaluate data contained in the file is given in the flopy3_sfrpackage_example Notebook. This example also shows how to read SFR water balance output into a pandas dataframe for additional postprocessing.
-
An overview of FloPy capabilities to create a MNW2 file and evaluate data contained in the file is given in the flopy3_mnw2package_example Notebook.
-
An overview of FloPy capabilities to create a UZF file and evaluate data contained in the file and UZF output files is given in the flopy3_uzf_example Notebook.
-
An overview of FloPy capabilities to create a DRT file is given in the flopy3_drain_return Notebook.
-
An overview of FloPy capabilities to specify the option block for the WEL, UZF, and SFR packages for MODFLOW-NWT is given in the flopy3_nwt_options Notebook.
-
An overview of FloPy capabilities for exporting two-dimensional array data as a binary file is given in the flopy3_save_binary_data_file Notebook.
-
An overview of FloPy capabilities to create MODPATH 6 models and plot MODPATH 6 results is given in the flopy3_modpath6_example Notebook.
-
An overview of FloPy capabilities to create simple forward and backtracking MODPATH 7 models using the
Modpath7.create_mp7()
method and plot MODPATH 7 pathline and endpoint results is given in the flopy3_modpath7_create_simulation Notebook. -
An overview of FloPy capabilities to create MODPATH 7 models for structured MODFLOW-2005 and MODFLOW 6 models and plot MODPATH 7 results is given in the flopy3_modpath7_structured_example Notebook.
-
An overview of FloPy capabilities to create MODPATH 7 models for unstructured MODFLOW 6 models (DISV) and plot MODPATH 7 results is given in the flopy3_modpath7_unstructured_example Notebook. The notebook includes an example of using GRIDGEN to create a DISV discretization for MODFLOW 6.
-
An overview of using FloPy and GRIDGEN to creating layered quadtree grids for MODFLOW-USG is given in the flopy3_gridgen Notebook. See the flopy3_modpath7_unstructured_example Notebook for an example of using GRIDGEN to create an unstructured DISV quadtree discretization for MODFLOW 6.
-
The lake example, a very simple FloPy example of steady flow in a square model with a fixed head cell in the middle (representing a lake) in a 10-layer model.
-
A variant of the water-table example, a very simple example of one-dimensional groundwater flow in an unconfined aquifer with recharge, from the MODFLOW-NWT documentation (https://pubs.usgs.gov/tm/tm6a37/). This IPython Notebook build files for MODFLOW-NWT.
-
The Zaidel discontinuous water-table example, which simulates a discontinuous water table over a stairway impervious base, from https://doi.org/10.1111/gwat.12019. This IPython Notebook build files for MODFLOW-USG. (https://pubs.usgs.gov/tm/06/a45/).
-
The MT3DMS Example Problems, which uses to Flopy to reproduce the ten example problems described in the MT3DMS documentation report by Zheng and Wang (1999).
-
An overview of the options for creating a Source/Sink Mixing (SSM) Package for MT3DMS and SEAWAT is given in the flopy3ssm Notebook.
-
The 'Crank-Nicolson' example distributed with MT3D-USGS, a simple MT3D-USGS model that uses the SFT Package.
-
A more in-depth MT3D-USGS example that uses 3 packages available with the first release of MT3D-USGS - SFT, LKT, and UZT packages is given in the flopy3_mt3d-usgs_example_with_sft_lkt_uzt Notebook.
-
The Henry Problem, a simple saltwater intrusion model developed with FloPy and run using SEAWAT.
Examples from Bakker, M., Post, V., Langevin, C. D., Hughes, J. D., White, J. T., Starn, J. J. and Fienen, M. N., 2016, Scripting MODFLOW Model Development Using Python and FloPy: Groundwater, v. 54, p. 733–739, doi:10.1111/gwat.12413.
-
A basic FloPy example Notebook.
-
Upper San Pedro Basin simulated model results (figure 2) and computed capture fraction (figure 5) Notebook.
-
Example 1 of the SWI2 manual, simulating a rotating interface.
-
Example 4 of the SWI2 manual, upconing below a pumping well below a two-aquifer island system.
-
An overview of the FloPy model input data
check()
method capabilities. -
An overview of the FloPy zone budget
ZoneBudget()
method capabilities Notebook. TheZoneBudget()
method is a python implementation of USGS ZONEBUDGET executable for MODFLOW (Harbaugh, 1990). -
An overview of the FloPy
get_transmissivities()
method for computing open interval transmissivities (for weighted averages of heads or fluxes) Notebook. This method can be used to:- compute vertically-averaged head target values representative of observation wells of varying open intervals (including variability in saturated thickness due to the position of the water table). This may be especially important for reducing error in observations used for parameter estimation, in areas with appreciable vertical head gradients (due to aquitards, pumping, discharge to surface water, etc.)
- apportion boundary fluxes (e.g. from an analytic element model) among model layers based on transmissivity.
- any other analysis where a distribution of transmissivity is needed for a specified vertical interval of the model.
-
An overview of utilities for post-processing head results from MODFLOW.
-
An overview of the FloPy netCDF and shapefile export capabilities.
-
An overview of the FloPy model shapefile export capabilities.
-
An overview of FloPy Visualization Toolkit (vtk) export capabilities.
-
An overview of intersecting a FloPy model grid object with a shapefile.
-
An overview of intersecting a FloPy model grid object with a raster.
- An overview of the FloPy parameter estimation capabilities.
- An overview of creating meshes with the Triangle class.
-
A simple MODFLOW 6 example is given in the flopy3_mf6_A_simple-model Notebook.
-
A more complicated MODFLOW 6 example is given in the flopy3_mf6_B_complex-model Notebook.
-
A tutorial for creating, saving, running, loading, and modifying MODFLOW 6 simulations is given in the flopy3_mf6_tutorial Notebook.
-
An overview of options for adding observations, time series, and time array series to MODFLOW 6 packages is given in the flopy3_mf6_obs_ts_tas Notebook.
- An overview of the FloPy model grid class capabilities.
-
An overview of the FloPy map plotting capabilities.
-
An overview of the FloPy cross-section plotting capabilities.
-
An overview of the FloPy model input and output data
plot()
method capabilities -
An overview of SWR1 Process Output Processing and Plotting is given in the flopy3_LoadSWRBinaryData Notebook.
-
The flopy3_shapefile_features Notebook illustrates some functionality in flopy for exchanging MODFLOW-related information with shapefiles, including convenience functions for working with shapefile data in numpy recarrays, some simple container objects for storing geographic information, and a demonstration of automatic writing of projection (.prj) files using EPSG codes.
- Example problems from the 2015 2nd edition of Applied Groundwater Modeling by Mary P. Anderson, William W. Woessner, and Randall J. Hunt (https://github.com/Applied-Groundwater-Modeling-2nd-Ed)