MODFLOW is the U.S. Geological Survey modular finite-difference flow model, which is a computer code that solves the groundwater flow equation. The program is used by hydrogeologists to simulate the flow of groundwater through aquifers. The source code is free public domain software, written primarily in Fortran, and can compile and run on Microsoft Windows or Unix-like operating systems.
Since its original development in the early 1980s, the USGS has made four major releases, and is now considered to be the de facto standard code for aquifer simulation. There are several actively developed commercial and non-commercial graphical user interfaces for MODFLOW.
MODFLOW was constructed in what was in 1980's called a modular design. This means it has many of the attributes of what came to be called object-oriented programming. For example, capabilities (called "packages") that simulate subsidence or lakes or streams, can easily be turned on and off and the execution time and storage requirements of those packages go away entirely. If a programmer wants to change something in MODFLOW, the clean organization makes it easy. Indeed, this kind of innovation is exactly what was anticipated when MODFLOW was designed.
Importantly, the modularity of MODFLOW makes it possible for different Packages to be written that are intended to address the same simulation goal in different ways. This allows differences of opinion about how system processes function to be tested. Such testing is an important part of multi-modeling, or alternative hypothesis testing. Models like MODFLOW and SUMMA, a program from NCAR that simulates surface processes like rainfall-runoff and gully erosion, make this kind of testing more definitive and controlled. This results because other aspects of the program remain the same. Tests become more definitive because they become less prone to being influenced unknowingly by other numerical and programming differences.
- 1 Groundwater flow equation
- 2 Versions
- 3 Packages
- 4 Graphical user interfaces
- 5 See also
- 6 References
- 7 External links
Groundwater flow equation
The governing partial differential equation for a confined aquifer used in MODFLOW is:
- , and are the values of hydraulic conductivity along the x, y, and z coordinate axes (L/T)
- is the potentiometric head (L)
- is a volumetric flux per unit volume representing sources and/or sinks of water, where negative values are extractions, and positive values are injections (T−1)
- is the specific storage of the porous material (L−1); and
- is time (T)
- is the hydraulic head at cell i,j,k at time step m
- CV, CR and CC are the hydraulic conductances, or branch conductances between node i,j,k and a neighboring node
- is the sum of coefficients of head from source and sink terms
- is the sum of constants from source and sink terms, where is flow out of the groundwater system (such as pumping) and is flow in (such as injection)
- is the specific storage
- are the dimensions of cell i,j,k, which, when multiplied, represent the volume of the cell; and
- is the time at time step m
This equation is formulated into a system of equations to be solved as:
or in matrix form as:
- A is a matrix of the coefficients of head for all active nodes in the grid
- is a vector of head values at the end of time step m for all nodes in the grid; and
- is a vector of the constant terms, RHS, for all nodes of the grid.
- The water must have a constant density, dynamic viscosity (and consequently temperature) throughout the modelling domain (SEAWAT is a modified version of MODFLOW which is designed for density-dependent groundwater flow and transport)
- The principal components of anisotropy of the hydraulic conductivity used in MODFLOW is displayed on the right. This tensor does not allow non-orthogonal anisotropies, as could be expected from flow in fractures. Horizontal anisotropy for an entire layer can be represented by the coefficient "TRPY" (Data Item 3 Page 153).
The USGS throughout the 1970s had developed several hundred models, written in different dialects of FORTRAN. At the time, it was common practice to rewrite a new model to fit the need of a new groundwater scenario. The concept for MODFLOW was originally designed in 1981 to provide a common modular groundwater model, which could be compiled on multiple platforms without major (or any) modification, and can read and write common formats. Different aspects of the groundwater system would be handled using the modules, similar to the idea of a "component stereo system". The original name of the code was "The USGS Modular Three-Dimensional Finite-Difference Ground-Water Flow Model", or informally as "The Modular Model." The name MODFLOW was coined several years after the initial code development, which started in 1981.
MODPATH, was initially developed in 1989 to post-process the steady-state MODFLOW-88 data to determine three-dimensional pathlines of particles. This innovation has been indispensable for the fields of contaminant hydrogeology. It is still used as a post-processor in recent versions of MODFLOW.
A separate program, MODFLOWP, was developed in 1992 to estimate various parameters used in MODFLOW. This program was eventually built into MODFLOW-2000.
- MODFLOW-96 (version 3.3, May 2, 2000)
- MODFLOW-96h (version 3.3h, July 10, 2000), with HYDMOD package
- MODFLOWP (version 3.2, Oct 9, 1997), MODFLOW-96 with parameter-estimation
Several graphical interfaces were first developed using the MODFLOW-96 code.
MODFLOW-2000 (version 1.0; version numbering was reset) was released on July 20, 2000, which merged MODFLOWP and HYDMOD codes into the main program and has integrated observation, sensitivity analysis, parameter estimation, and uncertainty evaluation capabilities. Many new packages and enhancements were also included, including new solvers, stream and saturated flow packages. The internal design concepts also changed from previous versions, such that packages, processes and modules are distinct. This version was coded in a mixture of FORTRAN 77, Fortran 90, and one solver was programmed in C. MODFLOW-2000 can also be compiled for parallel computing, which can allow multiple processors to be used to increase model complexity and/or reduce simulation time. The parallelization capability is designed to support the sensitivity analysis, parameter estimation, and uncertainty analysis capabilities of MODFLOW-2000.
- MF2K-GWM or GWM-2000 (version 1.1.4, May 31, 2011, branched from mf2k 1.17.2), with groundwater management capability using optimization
- MF2K-FMP (version 1.00, May 19, 2006, based on mf2k 1.15.03), with Farm Process
- MF2K-GWT (version 1.9.8, October 28, 2008, based on MF2K 1.17.02), groundwater flow and solute-transport model
- SEAWAT (version 4.00.05, October 19, 2012), variable-density flow and transport processes
- VSF (version 1.01, July 5, 2006), variably saturated flow
MODFLOW-2005  differs from MODFLOW-2000 in that the sensitivity analysis, parameter estimation, and uncertainty evaluation capabilities are removed. Thus, the support for these capabilities now falls to "clip on" codes that are supported externally to the MODFLOW support effort. In addition, the code was reorganized to support multiple models within one MODFLOW run, as needed for the LGR (Local Grid Refinement) capability. MODFLOW-2005 is written primarily in Fortran 90 and C, with C being used for one solver.
The current version of MODFLOW-2005 is version 1.12.00, released on February 3, 2017. Related or branched codes include:
- MODFLOW-CFP (version 1.8.00, February 23, 2011), conduit flow process to simulate turbulent or laminar groundwater flow conditions
- MODFLOW-LGR (version 2.0, September 19, 2013), local grid refinement
- GWM-2005 (version 1.4.2, March 25, 2013), groundwater management capability using optimization
- MF2005-FMP2 (version 1.0.00, October 28, 2009), estimate dynamically integrated supply-and-demand components of irrigated agriculture as part of the simulation of surface-water and ground-water flow
- MODFLOW-NWT(version 1.1.3, August 1, 2017), Newton formulation for solving problems involving drying and rewetting nonlinearities of the unconfined groundwater-flow equation.
MODFLOW-OWHM (version 1.00.00, September 15, 2014), The One-Water Hydrologic Flow Model (MODFLOW-OWHM, MF-OWHM or MODFLOW-ONE), is a fusion of multiple versions of MODFLOW-2005 (NWT, LGR, FMP, SWR, SWI) into ONE version, contains upgrades and new features and allows the simulation of head-dependent flows, flow-dependent flows, and deformation dependent flows that collectively affect conjunctive use of water resources. There is an online input guide. MODFLOW-OWHM provides the ability to simulated demand-driven, supply-limited hydrologic systems, as commonly occur in arid agricultural areas and other situations in which the demand for water exceeds supply. This is the only version of MODFLOW with this capability as of this writing. When the added capabilites are not used, MODFLOW-OWHM performs exactly like MODFLOW-2005.
All version of MODFLOW listed above are constructed on what is called a structured grid. That is, the grid is composed of rectilinear blocks. The only exception is the LGR capability, which allows locally refined grids to be inserted into the structure of a "parent" grid. The local area is again composed of rectilinear blocks, but the blocks are smaller. Experimentation with a much more flexible grid structure resulted in the release of MODFLOW-USG (version 1.3.00, December 1, 2015), designed to be adapted to a wide range of grid variations using unstructured grids. MODFLOW-USG was replaced with MODFLOW 6, which provided grid capabilites with and intermediate level of flexibility.
MODFLOW 6 (MF6), released in 2017, is the sixth core version of MODFLOW to be released by the USGS. This release was rewritten as an object-oriented program, and provides a platform for supporting multiple models. It combines the capabilities from several previous versions, including MODFLOW-2005, -NWT, -USG, -LGR, and -CDSS. The current version is 1.00, August 11, 2017.
The names in this table are the labels used to turn MODFLOW capabilities on and off via a key input file. Most capabilities have many alternatives or can be omitted, but the ones related to the BASIC Package are always required. Many of the capabilities introduced are supported in later versions, though the grid change enabled with MODFLOW=USG and MODFLOW 6 meant that such backward compatibility was rather selective.
|Name||Long name||Version introduced|
|Basic Package and its Components|
|DISU||Unstructured Discretization||MODFLOW-USG (1.0)|
|DISV||Discretization by Vertices||MODFLOW 6 (1.00)|
|IC||Initial Conditions||MODFLOW 6 (1.00)|
|Groundwater flow packages|
|BCF||Block-Centered Flow Package||original|
|CLN||Connected Linear Network Process||MODFLOW-USG (1.0)|
|GNC||Ghost Node Correction Package||MODFLOW-USG (1.0)|
|HFB||Horizontal Flow Barrier Package||MODFLOW-88|
|HUF||Hydrogeologic Unit Flow Package||MODFLOW-2000 (1.1)|
|LPF||Layer-Property Flow Package||MODFLOW-2000 (1.0)|
|NPF||Node Property Flow||MODFLOW 6 (1.00)|
|SWI2||Seawater Intrusion Package||MODFLOW-2005 (1.11)|
|UPW||Upstream Weighting Package||MODFLOW-NWT (1.0)|
|UZF||Unsaturated-Zone Flow Package||MODFLOW-2005 (1.2)|
|Specified Head boundary packages|
|CHD||Constant-Head Boundary / Time-Variant Specified-Head||MODFLOW-88|
|FHB||Flow and Head Boundary Package||MODFLOW-96 (3.2)|
|Specified flux boundary packages|
|FHB||Flow and Head Boundary Package||MODFLOW-96 (3.2)|
|Head-dependent flux boundary packages|
|DRT||Drain Return Package||MODFLOW-2000 (1.1)|
|ETS||Evapotranspiration Segments Package||MODFLOW-2000 (1.1)|
|GHB||General-Head Boundary Package||original|
|LAK||Lake Package||MODFLOW-2000 (1.1)|
|MAW||Multi-Aquifer Well||MODFLOW 6 (1.00)|
|MNW||Multi-Node, Drawdown-Limited Well Package||MODFLOW-2000 (1.11)|
|RES||Reservoir Package||MODFLOW-88 (2.6)|
|RIP||Riparian Evapotranspiration Package||MODFLOW-OWHM (1.0)|
|SFR||Streamflow-Routing Package||MODFLOW-2000 (1.14.00)|
|SWR||Surface-Water Routing Process||MODFLOW-NWT 1.08|
|UZF||Unsaturated-Zone Flow Package||MODFLOW-2005 (1.2)|
|DE4||Direct Solver Package||MODFLOW-88 (2.5)|
|GMG||Geometric Multigrid Solver||MODFLOW-2000 (1.15.00)|
|LMG||Link-AMG Package||MODFLOW-2000 (1.4) [Note 1]|
|PCG||Preconditioned Conjugate-Gradient Package||MODFLOW-88|
|PCGN||Preconditioned Conjugate Gradient Solver with Improved Nonlinear Control||MODFLOW-2005 (1.9.0)|
|SIP||Strongly Implicit Procedure Package||original|
|SMS||Sparse Matrix Solver||MODFLOW-USG (1.0)|
|SOR||Slice Successive Over-Relaxation Package||original|
|KDEP||Hydraulic-Conductivity Depth-Dependence Capability||MODFLOW-2000 (1.12)|
|LVDA||Model-Layer Variable-Direction Horizontal Anisotropy Capability||MODFLOW-2000 (1.12)|
|MVR||Water Mover||MODFLOW 6 (1.00)|
|STO||Storage||MODFLOW 6 (1.00)|
|SUB||Subsidence and Aquifer-System Compaction||MODFLOW-2000 (1.12)|
|SWT||Subsidence and Aquifer-System Compaction Package for Water-Table Aquifers||MODFLOW-2000 (1.18)|
|Observation process input files|
|OBS||Input File For All Observations||MODFLOW-2000|
|DTOB||Drain Return Observation||MODFLOW-2000|
|CHOB||Constant-Head Flow Observation||MODFLOW-2000|
|ADV||Advective-Transport Observation||MODFLOW-2000 (1.0)|
|GFD||General Finite-Difference||MODFLOW-88 to 96|
|TLK||Transient Leakage||MODFLOW-88 to 96|
- Due to licensing restrictions, the USGS is no longer able to publicly distribute the Algebraic Multi-Grid
Graphical user interfaces
There are several graphical interfaces to MODFLOW, which often include the compiled MODFLOW code with modifications. These programs aid the input of data for creating MODFLOW models.
Non-commercial MODFLOW versions are free, however, their licensing usually limit the use to non-profit educational or research purposes.
- ModelMuse is a grid-independent graphical user interface from the USGS for MODFLOW-2005, MODPATH, and PHAST. There are no license restrictions. The source code is included.
- MODFLOW-GUI – Made by the USGS: it is updated often to match the current USGS MODFLOW development. It supports MODFLOW-96, MODFLOW-2000, MODFLOW-2005, MODPATH, ZONEBUDGET, GWT, MT3DMS, SEAWAT, and GWM. Source code for MODFLOW-GUI is included. It depends on Argus ONE: a commercial interface for constructing generic models. There are no license restrictions beyond those of Argus ONE.
- PMWIN – "Processing MODFLOW" (for Windows) – powerful freeware for MODFLOW processing and visualization, provided alongside an instructional book; also available in Traditional Chinese. The license for this version is limited to non-commercial use.
- mflab - mflab is a MATLAB interface to MODFLOW. The user builds and analyzes models by writing a set of MATLAB scripts. This results in flexible and efficient workflows, allowing a great deal of automation.
- iMOD - Free and open source interface developed by Deltares. iMOD contains an accelerated version of MODFLOW with fast, flexible and consistent sub-domain modeling techniques. Facilitating large, high resolution MODFLOW modeling and geo-editing of the subsurface
- FREEWAT is a free and open source, QGIS-integrated modelling platform integrating MODFLOW (MODFLOW versions integrated are MODFLOW-2005 and MODFLOW-OWHM) and the following MODFLOW-related simulation codes: MT3DMS, MT3D-USGS, SEAWAT, ZONE BUDGET, MODPATH, UCODE-2014. FREEWAT has been developed in the framework of the H2020 FREEWAT project (FREE and open source software tools for WATer resource management), financed by the EU Commission under the call WATER INNOVATION: BOOSTING ITS VALUE FOR EUROPE. The source code is released under a GNU GENERAL PUBLIC LICENSE, Version 2, June 1991, along with a complete set of User Manuals and tutorials.
Commercial MODFLOW programs are typically used by governments and consultants for practical applications of MODFLOW to real-world groundwater problems. Professional versions of MODFLOW are generally priced at a minimum of around $1000 and typically range upward to $7000 USD. This is a list of commercial programs for MODFLOW:
- Argus ONE
- GMS – Groundwater Modeling System
- Groundwater Vistas
- Leapfrog Hydro
- Processing Modflow
- Visual MODFLOW
All current versions of these programs run only on Microsoft Windows, however previous versions of GMS (up to Version 3.1) were compiled for several Unix platforms.
Former graphical interfaces
- Graphic Groundwater – Windows-based interface
- ModelCad – A Windows-based interface, developed by Geraghty and Miller, Inc.
- ModIME – A DOS-based interface by S.S. Papadopulos & Associates, Inc.
- Water Webserver Team (March 5, 2014). "Software User Rights Notice". Water Resources of the United States. U.S. Department of the Interior, U.S. Geological Survey. Retrieved 2014-05-27.
- McDonald M.G. & Harbaugh, A.W. (2003). "The History of MODFLOW". Ground Water. 41 (2): 280–283. doi:10.1111/j.1745-6584.2003.tb02591.x. PMID 12656294.
- McDonald, M.G. & Harbaugh, A.W. (December 28, 1983). A modular three-dimensional finite-difference ground-water flow model. Open-File Report 83-875. U.S. Geological Survey.
- McDonald, M.G. & Harbaugh, A.W. (1988). A modular three-dimensional finite-difference ground-water flow model (PDF). Techniques of Water-Resources Investigations, Book 6. U.S. Geological Survey.
- Harbaugh, A.W. & McDonald, M.G. (1996a). User's documentation for MODFLOW-96, an update to the U.S. Geological Survey modular finite-difference ground-water flow model (PDF). Open-File Report 96-485. U.S. Geological Survey.
- Harbaugh, A.W. & McDonald, M.G. (1996). Programmer's documentation for MODFLOW-96, an update to the U.S. Geological Survey modular finite-difference ground-water flow model (PDF). Open-File Report 96-486. U.S. Geological Survey.
- Harbaugh, A.W., Banta, E.R., Hill, M.C., and McDonald, M.G. (2000). MODFLOW-2000, the U.S. Geological Survey modular ground-water model — User guide to modularization concepts and the Ground-Water Flow Process (PDF). Open-File Report 00-92. U.S. Geological Survey.
- Harbaugh, Arlen W. (2005). MODFLOW-2005, The U.S. Geological Survey Modular Ground-Water Model—the Ground-Water Flow Process. Techniques and Methods 6–A16. U.S. Geological Survey.
- Mehl, Steffen (2005). MODFLOW-2005, The U.S. Geological Survey Modular Ground-Water Model—Documentation of Shared Node Local Grid Refinement (LGR) and the Boundary Flow and Head (BFH) Package. Techniques and Methods 6–A12. U.S. Geological Survey.
- Niswonger, Richard G.; Panday, Sorab; Ibaraki, Motomu (2011), MODFLOW-NWT, A Newton Formulation for MODFLOW-2005, Techniques and Methods 6-A37, Reston, VA: U.S. Geological Survey
- Hanson, Randall T.; Boyce, Scott E.; Schmid, Wolfgang; Hughes, Joseph D.; Mehl, Steffen W.; Leake, Stanley A.; Maddock, Thomas, III; Niswonger, Richard G. (2014), One-Water Hydrologic Flow Model (MODFLOW-OWHM), Techniques and Methods 6-A51, Reston, VA: U.S. Geological Survey
- Panday, Sorab; Langevin, Christian D.; Niswonger, Richard G.; Ibaraki, Motomu; Hughes, Joseph D. (2013), MODFLOW–USG Version 1: An Unstructured Grid Version of MODFLOW for Simulating Groundwater Flow and Tightly Coupled Processes Using a Control Volume Finite-Difference Formulation, Techniques and Methods 6-A45, Reston, VA: U.S. Geological Survey
- Langevin, Christian D.; Hughes, Joseph D.; Banta, Edward R.; Niswonger, Richard G.; Panday, Sorab; Provost, Alden M. (2017). Documentation for the MODFLOW 6 Groundwater Flow Model. Techniques and Methods 6-A55. doi:10.3133/tm6A55.
- Wen-Hsing Chiang (2005). 3D-Groundwater Modeling with PMWIN (Second ed.). Springer. doi:10.1007/3-540-27592-4. ISBN 978-3-540-27590-9.