Category: Groundwater Modeling Software
|May 17, 2013||Posted by karmadsen under blog, GIS, Groundwater Modeling, Groundwater Modeling Software, GroundwaterGo, Open Source|
I have published a short report providing a better explanation and theoretical background on the map the water-table algorithm. The report, An Algorithm for Estimating the Topography of the Water-Table, can be read and downloaded here.
|May 16, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, MODFLOW, Programming|
Scientists throughout the world are continually developing new packages for MODFLOW to expand the functionality of the code. In 2010, graduate student Wesley Henson presented his new packages, MODFLOW-PSZ, at several hydrology conferences.
In the 2010 Proceedings of the Student World Water Forum, he wrote:
“A perched aquifer often develops in the soil zone during periods of heavy rainfall, delivering interflow to channels in a watershed. The soil zone has been described as the upper most region of the vadose zone where plant and soil processes enhance storage and permeability, providing a fast pathway for water and solutes to streams. The soil zone connects the watershed surface to the deeper unsaturated, and saturated zones. Modeling of soil zone processes has been used to gain understanding of watershed hydrologic processes. Currently MODFLOW-2005 does not simulate dynamic near-surface hydrologic processes such as, infiltration, hortonian runoff, dunnian runoff, and return flow. The Perched Soil-Zone package (PSZ) for MODFLOW-2005 is being developed to address these major components of hillslope hydrology for simulating watershed processes in the context of basin-scale groundwater flow modeling.”
In his 2011 dissertation, Henson compared a new version of this package, the MODFLOW Soil-Zone Processes Package, with Richard’s Equation for infiltration. His research indicated that the MODFLOW-SZP was more efficient that Richard’s Equation in numerical modeling for his test cases. Henson’s dissertation, A Model for Simulating Soil-Zone Processes at the Regional Scale, is available for purchase from Amazon.com.
|May 14, 2013||Posted by karmadsen under blog, Conferences/Events, Groundwater Modeling, Groundwater Modeling Software, MODFLOW|
On May 22nd, Environmental Simulations Incorporated will be holding free seminars called “Introducing MODFLOW-USG for Unstructured Grids in Groundwater Vistas.”
The new Groundwater Vistas 6 supports MODFLOW-USG, a code that frees the MODFLOW numerical process from the need for a rectangular grid. This allows the user to develop complex shapes within the grid, such as trangular meshes around wells.
|May 13, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, GroundwaterGo, MODFLOW|
I have added USGS NED rasters to model output view in Ginger MODFLOW to provide better context for models.
|April 12, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, Groundwater Pumping, Saltwater|
The SWI MODFLOW package and the MODFLOW-based SEAWAT model can each be used to simulate the interface between salt and fresh water in coastal aquifers. However, a slightly different vertical discretization is needed for each.
In SEAWAT, the interface is modeled as the saltwater concentrations in each of the model’s grid cells. Thus, fine vertical discretization is desirable to get a picture of the shape of the salt-water interface. To get a sense of how many layers are needed, in the SEAWAT distribution files no model has less than ten layers, even simple box models. Not only is such discretization unnecessary in SWI, it can lead to problems. Because SWI simulates the horizontal movement of the interface, a high level of vertical discretization will interfere with correct movement of the layer. The layer will fail to correctly account for vertical head gradients, such as might be experienced during up-coning. Thus, SWI models should stick with the vertical discretization that would typically be used in a MODFLOW model, or even less if the discretization is interfering with modeling the interface correctly.
In SWI, during each timestep, the interface can move horizontally or vertically within the layer. From the SWI user’s manual:
“At the end of a timestep, the slope i of the surface in boundary cell j is determined . . . If this slope is larger than a specified maximum threshold value, imax, the surface is moved into the adjacent empty cell . . . This is accomplished by lowering the elevation of the surface in the boundary cell by a small amount △ζ and at the same time specifying the elevation of the surface in the adjacent empty cell to be △ζ above the base of the aquifer. As such, continuity of flow is ensured . . .”
Thus, modeling up-coning in SWI is probably handled most easily if all up-coning happens in a single grid layer.
|March 28, 2013||Posted by karmadsen under blog, Complexity, Conceptual Models, Groundwater Modeling, Groundwater Modeling Software, Modeling Software, MODFLOW|
What does it mean to use “optimization” in groundwater management? Optimization simply refers to the process of finding the best solution to a management problem. For example, if you were designing a groundwater remediation system, you might want to know: Where are the best locations for placing pumping wells and injection wells? What are the best pumping rates? How can cost be minimized? How can draw-down be minimized? Etc.
If you could model your system with a simple function, you could just graph that function to locate minimums and maximums, which would represent things like minimum draw-down, or maximum revenue. But because groundwater models are such complicated problems, optimization questions are not easy to answer. There’s really only one way to do it: Try lots of different design set-ups and choose the one that performs the best. But what if you had ten wells that could each be placed in any cell in a 200 x 200 grid model? That’s a lot of trial runs. This population of design possibilities is referred to as the problem space, and optimization algorithms, like genetic algorithms, help the modeler explore the space efficiently without having to try out every single possible design. In many case, trying every single possibility just isn’t realistic.
Optimization problems can be described by a series of optimization functions, composed of the following structure:
O1 = max / min [f1(d1,d2,...dn1;s1,s2,...sn2)
O2 = max / min [f2(d1,d2,...dn1;s1,s2,...sn2)
Om = max / min [fm(d1,d2,...dn1;s1,s2,...sn2)
These functions represent optima (O) based on decision (d) variables and state (s) variables.
These decision and state variables exist within constraints.
d1min < d1 < d1max
s1min < s1 < s1max
dn1min < dn1 < dn1max
sn2min < sn2 < sn2max1
Decision variables refer to the parameter that the modeler is attempting to choose through optimization. It may be a variable such as optimal pumping rates, well locations, or injection sites. The state variable refers to the constraints that are placed on the condition of the system. For example, state variables might be the maximum draw-down or maximum water gradient that is considered safe for the system.
It is important to structure an optimization problem in the simplest way possible. For example, if the optimization functions can be combined into one function, or if the functions can be considered one and a time, it may be possible to solve the problem with a basic function search algorithm. When multiple optimization functions are considered at once, a more complicated solver, such as genetic algorithm, is necessary.
1. Erickson,M., Mayer, A., & Horn, J. (2002). Multi-objective optimal design of groundwater remediation systems: application of the niched Pareto genetic algorithm (NPGA). Advances in Water Resources 25: 51-65.
|March 26, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, MODFLOW, Saltwater|
(Originally published on March 12, 2013)
Sometimes it is helpful to compare the results of a SEAWAT model with a SWI model or vice versa. In this post, I will discuss converting from SEAWAT to SWI, which is the easier transition. SWI employs a simplifying assumption which means that it needs fewer inputs than SEAWAT. Both SWI and SEAWAT are built on the MODFLOW structure, which means it is relatively easy to transition one to the other. The process, here, involves replacing SEAWAT’s modified MT3D files with a SWI file.
When SEAWAT’s starting conditions include a sharp interface, as is the case in many of the distribution example problems, it is very straightforward to transfer to SWI. The .BNT file in the SEAWAT model contains starting concentrations under the SCONC variable. Fresh water will look like this, “0.000,” and salt water will look like this, “35.000.” Thus, the top elevation values of the cells containing salt water could be used to describe the initial surface position of the salt water interface in SWI. This should be entered in the SWI file as the ZETA variable. The effective porosity (the SSZ variable in SWI), can also be taken from SEAWAT. In SEAWAT, effective porosity is listed under the PRSITY variable in the BNT file.
Something to keep in mind is that one of the major advantages of using SWI over SEAWAT is that SWI requires less vertical discretization than SEAWAT, because the SWI density layers can be defined inside of a cell, rather than on its faces. Thus, to truly take advantage of SWI, some reduction of vertical discretization of the SEAWAT model may be necessary, but doing this correctly will require a certain finesse.
|February 19, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, MODFLOW, Saltwater|
In this blog post, I will review two recent experiments in saltwater intrusion modeling calibration. In 2004, W. Barclay Shoemaker published an article with Ground Water in which he discussed using UCODE in conjunction with SEAWAT. UCODE is an inverse modeling program, published by the USGS to aid in parameter estimation and sensitivity analysis. SEAWAT is a numerical flow model with density-dependent simulations capacities. Both of these codes require a certain level of expertise to run, and while most hydrogeologists would be comfortable with the principles behind them, actually executing the codes correctly takes some investment of time. These pragmatic challenges may be why UCODE has not been used in conjunction with SEAWAT very often. However, as Shoemaker explains in his article: “As computing power increases and expertise grows, modeling studies will likely use both inverse methods and density-dependent ground water flow simulations to solve complicated water resource or ground water contamination problems (Shoemaker 2004).”
Shoemaker’s results demonstrated why UCODE can be so advantageous to saltwater intrusion modeling. Among other benefits, UCODE helped illustrate the relative importance of different model parameters, and the types of observations the result in decreased correlation.
The second experiment was a modeling effort conducted by the USGS and the Georgia Department of Natural Resources. In order to develop a regional-scale model of saltwater intrusion in coastal Georgia, the researchers constructed models in MODFLOW and SUTRA concurrently. The MODFLOW model (MODFLOW can only modeled constant density fluid flow) was used to develop and calibrate the initial grid characteristics, using parameter estimation tools. Once the MODFLOW model was constructed, a parallel SUTRA model was developed of the same region based on the developed parameter values. The SUTRA code is able to simulate variable density flow. When the researchers were satisfied with the calibration of the SUTRA model, they began refining the grid (Payne et al 2003).
Payne, D.F., Provost, A.M., & Voss, C.I. (2003). Parallel Development of MODFLOW and SUTRA Models in Coastal Georgia, South Carolina, and Florida: An Approach to Study Regional Ground-Water Flow and Local Saltwater Intrusion. Proceedings of the 2003 Georgia Water Resources Conference, held April 23–24, 2003, at the University of Georgia. Kathryn J. Hatcher, editor, Institute of Ecology, The University of Georgia, Athens, Georgia.
Shoemaker, W.B. 2004. Important Observations and Parameters for a Salt Water Intrusion Model. Ground Water. 42(6):829-840.
|February 12, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, Modeling Software, MODFLOW, Saltwater|
The beautiful thing about the SWI package is that it can be built right on top of an existing MODFLOW model, simply by adding the .SWI file and adjusting the .NAM file. Thus, ModelMuse can be used to design the underlying MODFLOW model before adding the .SWI file. ModelMusecan be used to check the overall stability and reasonability of the MODEL design and a first calibration can be performed before adding on salt water intrusion modeling capabilities.
Once the MODFLOW model is in an acceptable format, the .SWI file will have to be written as a text file, and the model must be run from the command line. However, some of the model results, such as the .fhd and .fdn files may be loaded into ModelMUSE for viewing. This can be accomplished by loading the original MODFLOW model grid that was designed prior to adding SWI, then navigating to the output files produced using the .SWI package. ModelMUSE will be able to load these files.
|February 1, 2013||Posted by karmadsen under blog, Groundwater Modeling, Groundwater Modeling Software, MODFLOW|
MODFLOW can be installed on a Ubuntu server with a few simple commands. First, make a directory for the MODFLOW program and get the installation file package from the USGS. Then install the gfortran program to run the Fortran code.
sudo mkdir mf2005
sudo wget http://water.usgs.gov/nrp/gwsoftware/modflow2005/mf2005v1_XXXX.tar.Z
sudo tar -xzvf mf2005v1_XXXX.tar.Z
sudo apt-get install gfortran
sudo nano makefile
Gfortran needs to be set as the fortran program inside the makefile. To do this, make the following changes to the makefile:
- Change F90= f90 to F90= gfortran
- Change CC= gcc to CC= gfortran
Exit the makefile and run make.
MODFLOW can now be run on server using the follow command in conjunction with a name file.
sudo /usr/local/src/mf2005/src/mf2005 1303783835.nam