1slide Presentation For Christian Langevin, PH.D., USGS
1slide Presentation For Christian Langevin, PH.D., USGS
Core Principles
Teachable
Documented
Reliable
Robust
Efficient
Extensible
Portable
MODFLOW Support Environment
Core Principles
Teachable
Documented
Reliable
Robust
Efficient
Extensible
Portable
Solute and Heat
Transport
Landscape Reactive
Hydrology Transport
Flow Path
Parallel Analysis
Core Principles
Teachable
Documented
Reliable Karst and
Subsidence Robust Pipe Flow
Efficient
Extensible
Portable
Unstructured
Grids Management
Parameter
Estimation Unsaturated
and Uncertainty Zone
Surface Water
Flow
MODFLOW 6
MT3DMS
GSFLOW-PRMS MT3D-USGS, USG PHREEQC-PHT3D
SWB, HSPF, SWAT SEAWAT, SWI, GWT PHWAT
OWHM RT3D
Solute and Heat
Transport
Landscape Reactive
Hydrology Transport
MODPATH
mod-PATH3DU
SAMG PATH3D
PKS-MODFLOW FlowSource
PKS-SEAWAT Flow Path
MODFLOW 6 Parallel Analysis
Core Principles
Teachable
Documented
SUB Reliable Karst and MODFLOW-USG
Subsidence Robust Pipe Flow CFP, VKD
CSUB
Efficient
Extensible
Portable
Unstructured
Grids Management PESTPP-OPT
MODSIM
GWM
MODFLOW-USG
MODFLOW 6 Parameter
Estimation Unsaturated
and Uncertainty Zone
Surface Water
Flow
PEST UZF
PESTPP HYDRUS
UCODE SFR, SWR
HEC-RAS
VSF
MODFLOW
BRANCH ECOSYSTEM OF CODES
WHAT’S NEW?
Active Development
§ MODFLOW 6
§ Groundwater Flow (GWF) Model (released Aug 2017)
§ Compaction and Subsidence (CSUB) Package (released Dec 2019)
§ Groundwater Transport (GWT) Model (released Oct 2020)
§ Coupled Variable-Density Flow and Transport (released Oct 2020)
§ MODFLOW API (released Jun 2020)
§ Related Programs
§ FloPy
§ MODPATH
§ MT3D-USGS
Groundwater
Flow (GWF)
Model
Discretization General-Head
Node Property Specified Stream-Flow
(DIS, DISV, Storage (STO) Boundary
Flow (NPF) Head (CHD) Routing (SFR)
DISU) (GHB)
Unsaturated
Observations Buoyancy Evapo- Zone Flow
(OBS) (BUY) transpiration (UZF)
(EVT)
Water Mover
(MVR)
Child 1
Parent
Child 2
Grandchild
Water Mover
§ Generalized package for transferring water from one
MODFLOW package to another
§ Water can be transferred from a “provider” to a “receiver”
subject to simplified rules
§ All transfers are tracked in a water budget
MODFLOW 6 GWF + MT3D-USGS
§ MT3D-USGS developed and
maintained in cooperation
with S.S. Papadopulos &
Associates Inc.
§ Works with standard head
and budget files produced by
MODFLOW 6
§ Regular MODFLOW grids
§
§
§
sha1_base64="JnZGk8nhYOWNdZ+ehosPtc+E+/0=">AAADonicfVLbbtNAEN3EXEq4pfDIAyMCoqgispsK6EOlSgYJIQGtStpK2dRab9bJqru2612DguX/4jt4428Y59akLYy01ujMnJk54wlTJY113T+1unPj5q3ba3cad+/df/Cwuf7oyCR5xkWXJyrJTkJmhJKx6FpplThJM8F0qMRxeOZX8ePvIjMyib/ZcSr6mg1jGUnOLELBeu0XjTLGoaApy6xkCqgSkYUNOAx+ALUjYRn4QDM5HFl4VV7k2RJ2ofEaaMxCxYDyQWIX5HPkLEjQ2Lw+a6nF+3mGv0I7fxkY8PFtwmf8TvopVDdggTenVlV8wMCQaX0JpxQZUaCx6CgJQviv2AQXVe2x8MuLIVYVL/XfWq57hb8Y50paVcLkCCmppTVBIfWuV54WsdQl7uwnjl5h5bTmbL5Knz+F55MFzZbb3qnsDUydzg467rbndjrgtd2JtcjM9oPmbzpIeK5FbLlixvQ8N7X9ohLHlSgbNDciZfyMDUUP3ZhpYfrF5MRKeIHIAKIkwxdbmKDLjIJpY8Y6xEzN7MhcjlXgdbFebqN3/ULGaW5FzKeNohyXnUB1rzCQmeBWjdFhPJM4K/ARw79o8aobuIS5Uvi3c7TV9ty2d7Dd2nNn61gjT8gzskE88pbskY9kn3QJrz+tf6h/qX91njufnAPncJpar804j8mKOfQv8b4cgg==</latexit>
sha1_base64="JnZGk8nhYOWNdZ+ehosPtc+E+/0=">AAADonicfVLbbtNAEN3EXEq4pfDIAyMCoqgispsK6EOlSgYJIQGtStpK2dRab9bJqru2612DguX/4jt4428Y59akLYy01ujMnJk54wlTJY113T+1unPj5q3ba3cad+/df/Cwuf7oyCR5xkWXJyrJTkJmhJKx6FpplThJM8F0qMRxeOZX8ePvIjMyib/ZcSr6mg1jGUnOLELBeu0XjTLGoaApy6xkCqgSkYUNOAx+ALUjYRn4QDM5HFl4VV7k2RJ2ofEaaMxCxYDyQWIX5HPkLEjQ2Lw+a6nF+3mGv0I7fxkY8PFtwmf8TvopVDdggTenVlV8wMCQaX0JpxQZUaCx6CgJQviv2AQXVe2x8MuLIVYVL/XfWq57hb8Y50paVcLkCCmppTVBIfWuV54WsdQl7uwnjl5h5bTmbL5Knz+F55MFzZbb3qnsDUydzg467rbndjrgtd2JtcjM9oPmbzpIeK5FbLlixvQ8N7X9ohLHlSgbNDciZfyMDUUP3ZhpYfrF5MRKeIHIAKIkwxdbmKDLjIJpY8Y6xEzN7MhcjlXgdbFebqN3/ULGaW5FzKeNohyXnUB1rzCQmeBWjdFhPJM4K/ARw79o8aobuIS5Uvi3c7TV9ty2d7Dd2nNn61gjT8gzskE88pbskY9kn3QJrz+tf6h/qX91njufnAPncJpar804j8mKOfQv8b4cgg==</latexit><latexit
sha1_base64="JnZGk8nhYOWNdZ+ehosPtc+E+/0=">AAADonicfVLbbtNAEN3EXEq4pfDIAyMCoqgispsK6EOlSgYJIQGtStpK2dRab9bJqru2612DguX/4jt4428Y59akLYy01ujMnJk54wlTJY113T+1unPj5q3ba3cad+/df/Cwuf7oyCR5xkWXJyrJTkJmhJKx6FpplThJM8F0qMRxeOZX8ePvIjMyib/ZcSr6mg1jGUnOLELBeu0XjTLGoaApy6xkCqgSkYUNOAx+ALUjYRn4QDM5HFl4VV7k2RJ2ofEaaMxCxYDyQWIX5HPkLEjQ2Lw+a6nF+3mGv0I7fxkY8PFtwmf8TvopVDdggTenVlV8wMCQaX0JpxQZUaCx6CgJQviv2AQXVe2x8MuLIVYVL/XfWq57hb8Y50paVcLkCCmppTVBIfWuV54WsdQl7uwnjl5h5bTmbL5Knz+F55MFzZbb3qnsDUydzg467rbndjrgtd2JtcjM9oPmbzpIeK5FbLlixvQ8N7X9ohLHlSgbNDciZfyMDUUP3ZhpYfrF5MRKeIHIAKIkwxdbmKDLjIJpY8Y6xEzN7MhcjlXgdbFebqN3/ULGaW5FzKeNohyXnUB1rzCQmeBWjdFhPJM4K/ARw79o8aobuIS5Uvi3c7TV9ty2d7Dd2nNn61gjT8gzskE88pbskY9kn3QJrz+tf6h/qX91njufnAPncJpar804j8mKOfQv8b4cgg==</latexit><latexit
sha1_base64="JnZGk8nhYOWNdZ+ehosPtc+E+/0=">AAADonicfVLbbtNAEN3EXEq4pfDIAyMCoqgispsK6EOlSgYJIQGtStpK2dRab9bJqru2612DguX/4jt4428Y59akLYy01ujMnJk54wlTJY113T+1unPj5q3ba3cad+/df/Cwuf7oyCR5xkWXJyrJTkJmhJKx6FpplThJM8F0qMRxeOZX8ePvIjMyib/ZcSr6mg1jGUnOLELBeu0XjTLGoaApy6xkCqgSkYUNOAx+ALUjYRn4QDM5HFl4VV7k2RJ2ofEaaMxCxYDyQWIX5HPkLEjQ2Lw+a6nF+3mGv0I7fxkY8PFtwmf8TvopVDdggTenVlV8wMCQaX0JpxQZUaCx6CgJQviv2AQXVe2x8MuLIVYVL/XfWq57hb8Y50paVcLkCCmppTVBIfWuV54WsdQl7uwnjl5h5bTmbL5Knz+F55MFzZbb3qnsDUydzg467rbndjrgtd2JtcjM9oPmbzpIeK5FbLlixvQ8N7X9ohLHlSgbNDciZfyMDUUP3ZhpYfrF5MRKeIHIAKIkwxdbmKDLjIJpY8Y6xEzN7MhcjlXgdbFebqN3/ULGaW5FzKeNohyXnUB1rzCQmeBWjdFhPJM4K/ARw79o8aobuIS5Uvi3c7TV9ty2d7Dd2nNn61gjT8gzskE88pbskY9kn3QJrz+tf6h/qX91njufnAPncJpar804j8mKOfQv8b4cgg==</latexit><latexit
<latexit
§
@t
@ (Sw ✓C)
=
fm ⇢b
@t
Environmental Inc.
@ Sw C
First released October 2020
2 f m ⇢b S w C
New model type in MODFLOW 6
2 f m ⇢b S w
r · (qC) + r · (Sw ✓DrC) + qs0 Cs + Ms
X
nim
im=1
Developed in collaboration with Sorab Panday, GSI
1 ✓Sw C
⇣im Sw (C
MODFLOW 6 Groundwater Transport Model
1 ✓Sw
Cim )
Patterned after MT3D, USG-Transport, MODFLOW-GWT, SUTRA
Groundwater
Transport
(GWT) Model
Groundwater
Transport
(GWT) Model
Discretization
(DIS, DISV,
DISU)
Initial
Conditions
(IC)
Output Control
(OC)
Observations
(OBS)
Flow Model
Interface (FMI)
Data Input
Groundwater
Transport
(GWT) Model
Mobile Immobile
Domain Domain
Discretization
(DIS, DISV,
DISU)
Initial
Conditions
(IC)
Output Control
(OC)
Observations
(OBS)
Flow Model
Interface (FMI)
Data Input
Groundwater
Transport
(GWT) Model
Mobile Immobile
Domain Domain
Discretization
(DIS, DISV,
DISU)
Initial
General Features
Conditions
(IC)
• Works with DIS, DISV, and DISU model grids
• Supports active ”dry cells” from Newton flow
Output Control
(OC) formulation
• Current implementation uses implicit formulation
Observations
(OBS) for all transport terms
• Flow and transport grids must be the same
Flow Model
Interface (FMI)
Data Input
Groundwater
Transport
(GWT) Model
Mobile Immobile
Domain Domain
Discretization
Advection
(DIS, DISV,
(ADV)
DISU)
Initial
Dispersion
Conditions
(DSP)
(IC)
Output Control
(OC)
Observations
(OBS)
Flow Model
Interface (FMI)
Mobile Immobile
Domain Domain
Discretization
Advection
(DIS, DISV,
(ADV)
DISU)
Initial
Dispersion
Advection (ADV) Package Dispersion (DSP) Package
Conditions
(IC)
(DSP)
• Central in space • Generalized unstructured
Output Control
• Upstream formulation
(OC) • Second-order implicit • Fast and approximate, or
TVD with van Leer flux • XT3D formulation with
Observations
(OBS) limiter expanded stencil
• No particle-based
Flow Model
Interface (FMI) methods
Mobile Immobile
Domain Domain
Discretization
Advection
(DIS, DISV,
(ADV)
DISU)
Initial
Dispersion
Conditions
(DSP)
(IC)
Output Control
(OC)
Observations
(OBS)
Flow Model
Interface (FMI)
Mobile Immobile
Domain Domain
Initial
Conditions
Dispersion
Mass Source
Loading Generalized solute boundary
(DSP)
(IC) (SRC)
conditions
Output Control
Constant
Concentration
• Concentration associated with
(OC)
(CNC) groundwater inflows (SSM)
Observations
• Direct application or removal of
(OBS)
solute mass (SRC)
Flow Model
• Fixed concentration (CNC)
Interface (FMI)
Mobile Immobile
Domain Domain
Flow Model
Interface (FMI)
Mobile Immobile
Domain Domain
Constant
Output Control
Concentration
(OC)
(CNC)
Observations
(OBS)
Flow Model
Interface (FMI)
Mobile Immobile
Domain Domain
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
Mobile Immobile
Domain Domain
Mobile Immobile
Domain Domain
<latexit sha1_base64="Gv0+fVdIwXY+9nUNqJD6ZISHtNk=">AAADIHicdVJNb9QwEHXCVwlfWzhysVghFRVWSbcq9IBUKReORbBtpfUqcrzOxqqdRPYEtET5KVz4K1w4gBDc4NfgfLTdrspIkUZv3rw3mXFcSGHA9/847rXrN27e2rjt3bl77/6DwebDI5OXmvEJy2WuT2JquBQZn4AAyU8KzamKJT+OT8OmfvyBayPy7D0sCz5TdJGJRDAKFoo2nT0CKQcaVULVmCSasooUVIOgEocdWl8gUONtnPRkneZRvN5DcmvXTFOFdcu73P0aE+K9wETaEefWNXjeSq3M0JuucHZazrrtuk8vvKBKXal7Uev0erlzPeJtY/LpnP4u+mgn4AngLRza5vDMXSxSwM+iwdAf7Texh7tkvG8Tfzfwx2McjPw2hqiPw2jwm8xzViqeAZPUmGngFzCrms0wyWuPlIYXlJ3SBZ/aNKOKm1nVHrjGTy0yx0mu7ZcBbtHVjooqY5YqtkxFITXrtQa8qjYtIXk1q0RWlMAz1hklpb1UjpvXgudCcwZyaRPKtLCzYpZSe3Cwb8qzSzj7U/z/5GhnFPij4O3u8MDv17GBHqMnaAsF6CU6QG/QIZog5nx2vjrfnR/uF/eb+9P91VFdp+95hC6F+/cfbLP+8g==</latexit>
+⇣im Sw (C Cim )
Data Input Transport/ Transport/ Transport/ Transport/ Transport/
Grid External Internal Advanced Internal
Package
Groundwater
Transport
(GWT) Model
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
Mobile Immobile
Domain Domain
Constant Multi-Aquifer
Output Control Well Transport
Concentration
(OC) (MWT)
(CNC)
Unsaturated
Observations Zone Transport
(OBS) (UZT)
Mover Transport
Flow Model (MVT)
Interface (FMI)
ion2
ulat MODFLOW 6
Sim Concentration
GWT
File(s)
Head File
In review
EXAMPLES
Newton Formulation for Water Table Aquifers
§ Minimizes wetting and drying complications
Transport Solution for Perched Aquifers
§ Instantaneous solute routing through the unsaturated zone
Advanced Packages and Water Mover
Surface and Groundwater Flow and Transport
Of course!
Optimal Plume Management
§ Example from Jeremy
White, INTERA Inc.
§ Simple synthetic
problem
§ 50 m cells
§ 10 km x 5 km x 1 layer
§ 20 years of treatment
Optimal Plume Management Extractor
§ Standard 5-spot
injector/extractor
configuration
Injectors
Optimal Plume Management Extractor
§ 20 years of treatment
§ Configuration works,
but could it be better?
Injectors
pestpp-mou (beta)
§ Constrained multi-objective
optimization under uncertainty within
the PEST interface
§ Template files, instruction files, control files
§ Treat “risk” (probability of success) as
an objective
§ Uses first-order second-moment or
“stack”-based “chances”
§ Plays nicely with other PEST and PEST++ tools
§ Fault-tolerant, model-independent,
parallel run management
Mapping Tradeoff Between Objectives
§ Decision Variables 5-spot system
§ Injector location
§ Extractor location
§ Extraction rate
§ Injector apportioning
§ Objectives
§ Mass treated
§ Total cost (drilling + operation)
§ Final maximum concentration
§ Constraints
§ Concentration at compliance point
< 5-spot
§ Mass flux to downstream
boundary < 5-spot
MODFLOW API
MODFLOW API
§ API = Application Programming Interface
API for MODFLOW 6
§ Developed in collaboration with Martijn Russcher, Deltares
§ Full control of MODFLOW while it’s running
§ Access to MODFLOW internal variables (as a copy or pointer)
§ Three different levels of control
§ Between time steps
§ Within a time step
§ Within an iteration
§ Well-defined interfaces based on Basic Model Interface (BMI)
standard
§ Uses identical code base as executable version
MODFLOW API – Between Time Steps
Main Program
start
Create (CR)
Define (DF)
Calculate (CA)
Output (OT)
NO Last Time
Step
YES
Final Processing (FP)
Deallocate (DA)
end
MODFLOW API – Between Time Steps
Main Program
start
Create (CR)
update
TIME STEP LOOP
Calculate (CA)
Output (OT)
NO Last Time
Step
YES
Final Processing (FP)
finalize
Deallocate (DA)
end
MODFLOW API – Between Time Steps
Main Program
start
Create (CR)
Calculate (CA)
while current_time < end_time:
Output (OT) mf6.update()
current_time = mf6.get_current_time()
NO Last Time
Step
mf6.finalize()
YES
Final Processing (FP)
finalize
Deallocate (DA)
end
MODFLOW API – Within a Time Step
update
Calculate (CA)
Output (OT)
MODFLOW API – Within a Time Step
update
mf6 = XmiWrapper(‘libmf6.dll’)
mf6.initialize(‘mfsim.nam’)
update current_time = 0.
Time Update (TU) prepare_time_step end_time = mf6.get_end_time()
current_time = mf6.get_current_time()
mf6.finalize()
MODFLOW API – Within an Iteration
do_time_step
Advance (AD)
NO
Converged
YES
Budget (BD)
MODFLOW API – Within an Iteration
do_time_step
NO
Converged
YES
if has_converged:
break
NO
Converged
mf6.finalize_solve(1)
mf6.finalize_time_step()
YES
current_time = mf6.get_current_time()
Budget (BD) finalize_solve
mf6.finalize()
Why We’re Excited about the API!
§ Tight integration with other models
§ Callable from other languages, such
as Python; access to 3rd party tools
§ Sensitivity analysis, adjoint state,
parameter estimation, optimization,
uncertainty analysis
§ Alternative solvers (PETSc, …)
§ Alternative data input (netCDF,
database access, online services, …)
§ MODFLOW can be customized by
our users
ONLINE RESOURCES
MODFLOW Distribution
Additional Online Resources
Main Repository FloPy Executables