Laserfiche WebLink
To: Lanya Ross, Anneka LaBelle, Ali Elhassan <br />From: Evan Christianson, Ray Wuolo <br />Subject: Metro Pumping Optimization 3 <br />Date: April 2, 2015 <br />Page: 6 <br />The source code for this script is provided with the project deliverables and is documented internally. A <br />brief description of how the script works is provided below for those not familiar with the python <br />programing language. <br />GWM-VI creates a file called MMProc.in jtf at the start of an optimization run that acts as a template file <br />for well pumping rates. Throughout the optimization, GWM-VI (or a runner program called jrunner if <br />running in parallel mode) uses MMProc.injtf to create a file called MMProc.in which contains pumping <br />rates for MODFLOW to use. Updated pumping rates are pulled from MMProc.in and used by <br />pyMMProc.py to generate a new Well (WEL) Package and Revised Multi -Node Well (MNW2) Package files <br />for MODFLOW. pyMMProc.py then executes MODFLOW. <br />After MODFLOW is completed, pyMMProc.py extracts hydraulic head and river flux data from MODFLOW <br />output files associated with the head and river observation packages. Selected hydraulic head data are <br />used to calculate groundwater flow -directions by solving a three-point problem. The deviation in <br />groundwater flow direction from a provided base condition is then determined. The change in river flux <br />from the base condition is also calculated. All hydraulic head, change in flow direction, and change in <br />river flux are written to a file called Simulated Values.out which is read directly by GWM-VI. <br />pyMMproc.py also checks to make sure that MODFLOW converged and that no pumping rates were <br />reduced by the MNW2 or Upstream Weighting (UPW) Package. Convergence status and pumping rate <br />status are written to a file called modflow.status which is read directly by GWM-VI. <br />The use of pyMMproc.py necessitates slight modifications on how GWM-VI input files are set up that may <br />not be initially intuitive. Input files were set up to treat all constraints, including baseflow and <br />flow -direction constraints as head constraints. All constraint types are included in the head constraints <br />(HEDCON) input file. This was necessary due to GWM-VI only supporting the Stream Package, whereas <br />the Metro Model 3 uses the River Package. If GWM-VI input files were set up using the stream constraints <br />(STRMCON) input file, GWM-VI would expect to find a Steam Package, which does not exist for Metro <br />Model 3. <br />2.4 Limitations of GWM-VI <br />During the course of this optimization several hindrances were encountered that relate to the GWM-VI <br />software. We have notified the developers of GWM-VI about these issues; however, there is currently no <br />timeline for fixing them. A discussion of these issues and current workarounds to each are described <br />below. <br />1.) Solving of the linear program (LP) is not optimized or parallelized. The SLP solver used by <br />GWM-VI has two main phases: 1) calculation of the response matrix, which requires MODFLOW to <br />