This page is part of The Modflow Help File.
Go back to Contents. Note: The "Contents" link will not work unless you have installed the Modflow Help file and are accessing this page locally.
Go to MODFLOW Resources page.
Go back to the Program Reviews page.
Last updated on Tue 09 Nov 1999 at 11:18 PM
I have not received any payment for this review other than an unsolicited copy of PMWIN.
Processing Modflow for Windows Version 4.1 is now freeware. (You still have to buy version 5.)
Processing Modflow for Windows was written by Wen-Hsing Chiang and Wolfgang Kinzelbach. Dr. Chiang has had a chance to review this page to help reduce the chance of errors but the opinions expressed are mine alone as are any remaining errors.
A new version of PMWin is expected to be released in early April 1997. I have not seen the new version but according to Wen-Hsing Chiang, The following features have been added.
In addition to running it's own version of MODFLOW, PMWIN will run those provided by the Scientific Software Group, S.S. Papadopulos, and the International Groundwater Modeling Center. If you have some other version, you can still run it from PMWIN by making a few simple changes to the PMWIN.INI file with a text editor. Appendix 5 of the manual tells what changes you need to make and how to make them. You only need to make those changes if your version of MODFLOW has different IUNIT array assignments than the default.
MODFLOW itself runs in a DOS Window. During execution, the stress period, time step, maximum head change, and (in PCG2) residual, are displayed for each iteration. For small models this information may scroll by too rapidly to be read. If you wish, you can run MODFLOW in DOS outside of PMWIN with the command MODFLOW.BAT.
When you first start a PMWIN model you have a uniform grid but it is easy to change the size and shape of the grid cells. The first time you edit the grid you can add new rows and columns (but not layers) or delete them. In subsequent sessions, you can add new rows, columns and layers by subdividing existing ones but you can not delete rows, columns or layers. It is easy to subdivide the individual rows or columns. One way is to select a row and column. When you press the right mouse button, you are presented with a dialog box that you can use to divide the row, column or both into multiple rows and columns and/or change their size. Alternatively, you can use the control and arrow keys to subdivide cells. Because the cells are subdivided evenly, grid refinement will often result in too great a difference in size between adjacent grid rows and columns. For example if you have rows that are 100 m wide and you divide one in two, you end up with two 50 m wide rows next to 100 m wide rows. Normally you would want the rows to be at least 70 m wide if they are next to a 100 m wide row. PMWIN never warns you about adjacent rows and columns with large disparities in the size. To fix size disparities, you may wish to adjust the row or column sizes either before or after you subdivide them. However, when you change the width of individual rows or columns the whole mesh is offset. I view this as a problem.
This problem with changing row and column sizes is best explained with an extreme example. In the illustration below, the original grid is shown on the left with the locations of two wells. The center illustration shows the appearance of the grid after refining the grid around the well on the lower right. This was done by changing row and column widths and then adding rows and columns to restore the original dimensions. On the right is the appearance of the grid after refining it around the well in the upper left corner of the grid. Just as before, the refinement was done by changing row and column widths. Note that the grid around the well on the lower right is no longer positioned properly. This problem can be avoided by refining the grid from top to bottom and from left to right. In this example it would be possible to subdivide cells in the middle of the grid and then widen them so that the refined grid was moved back into proper position.

One way to largely avoid the shift in the grid would be to save the original grid and then go back and subdivide cells. Initially, this will leave too large a contrast in cell widths as illustrated in the diagram below. To correct for this, widen one of the narrower cells and narrow one of the wider cells by exactly the same amount. The result will be an acceptable grid. Although it is clearly possible to create an acceptable grid with PMWIN, it would be better if the modeler did not have to worry about grid shifts when refining the grid.

One way to change row and column sizes is to select a row or column, push the "copy" button and then move the cursor over the grid. Any rows or columns the cursor goes over will change so that their size matches that of the originally selected cell. (If you move the cursor too fast, however, some rows or columns may be missed.) If you increase the model dimensions too much you may not be able to see all of the model at one time. If that happens you can change the worksheet size to see the whole model. By default, the worksheet size is about twice the model dimensions. This will generally give you enough space to see the whole model after rotating the grid. You can zoom in to any part of the grid you want.
Theoretically, PMWIN can create grids with up to 2000 rows x 2000 columns in a layer and up to 80 layers. I was able to make a 500x500 grid but when I attempted to create a 1000x1000 grid my computer crashed. That was because I didn't have enough memory to deal with such a large model. (I have 8Mb of memory.) Although I could create a 500x500 grid, I wouldn't actually be able to run such a large model after it was created. The first thing that happened when I created the 1-layer 500x500 model, was that PMWIN warned me that running the model would require approximately 25 Mb of RAM. However if I had MODFLOW on a UNIX workstation with lots of memory, I could use PMWIN on my PC to create the input files for MODFLOW. Then I could transfer the input files to the workstation and run MODFLOW there. This might well be preferable to buying a preprocessor for UNIX because then you could run small models on the PC and reserve the UNIX for large models. (PMWIN would not be able to do any postprocessing under this scenario.) Another option for running large models is to upgrade the memory of you PC. Upgrading a PC would be cheaper than buying a UNIX system and high-end PC's can be comparable to UNIX systems in performance.
If you wish to rotate the grid in PMWIN, that is easy to do. One reason you might wish to rotate the grid is because the natural hydrologic boundaries are not well aligned with the site coordinates. You can import up to five drawings of the site in DXF format to use as a template for the model, and then rotate the grid to better match the natural hydrologic boundaries. Any or all of the templates can be displayed simultaneously and the templates can be scaled or offset to match the model.
PMWIN can not import data from existing MODFLOW input files directly. To edit existing MODFLOW models in PMWIN, you must re-enter all the data in PMWIN. However, you can extract all the matrices from the MODFLOW input files and import the matrices.
When you assign a property to an individual cell that cell is indicated by a change in color. If you double click on it, it will change color and every cell that has the same properties will change to the same color. When you assign a property with a polygon, there is no change in color. Although, you can double click on a cell to see the change in color, I would have preferred an immediate color change. Once a cell's properties have been assigned with a polygon they remained fixed until you change them. Thus if you assign properties with a polygon and then decide the polygon was too big, you will have to re-edit the cells that were incorrectly included in the polygon. It isn't enough just to make the polygon smaller because those cells that have been excluded from the smaller polygon do not revert to the default conditions.
The data for individual cells can be displayed in a matrix if desired. The data can be exported to an ASCII matrix but can not be copied to the clipboard. The ASCII matrix has a maximum of 20 values per line. If the model has more than 20 columns, the data are continued in succeeding lines until the end of the row is reached. Thus, to import this matrix into a spreadsheet may require you to edit the ASCII matrix first so that all data for a single model row are on one line. You may be able to employ a macro in your word processor to reduce significantly the amount of manual editing required.
The Data Editor will accept some data that is meaningless in terms of the current definition of a layer. For example, it will accept data on the tops of layers for unconfined layers and in the evapotranspiration package it will accept a layer indicator of 10 even if the model only has 1 layer. Of course, you may later modify the model so that the data is meaningful. It doesn't hurt anything to enter data for the top of an unconfined layer; the data is simply ignored. In addition, if you want PMWIN to calculate the vertical coductance, from vertical hydraulic conductivity, it needs to know the thickness of the unconfined layer. The evapotranspiration layer indicator is more problematic. If you start off by telling PMWIN that layer indicators will be used, it will only allow you to enter correct values. If, on the other hand, you start off by telling PMWIN that all evapotranspiration will come from the top layer, you can enter any value for the layer indicator. This value should then be ignored when creating the MODFLOW input files. I could get PMWIN to create incorrect MODFLOW input files by entering layer indicators for nonexistent layers when the program assumed that all evapotranspiration will come from the top layer (the default condition). If I then changed to using the layer indicator, PMWIN would use the previously entered layer indicators for the non existent layers when creating the MODFLOW input files. Of course, I was deliberately trying to put in incorrect data which is not something that most users would do. However, because the program doesn't check for all potential problems with the input data, it is up to the modeler to make sure that the data that is entered is correct. If you want it to, PMWIN will check for geometrical errors such as cells that have zero thickness or cells whose tops are lower than their bottoms. PMWIN 4.1 checks for additional errors as noted at the beginning of this page.
PMWIN can model both steady state and transient models. To create a transient model you first go to the TIME menu item in the PARAMETER menu and set up the stress periods, time steps, and time-step multiplier. Then you edit data for one of the MODFLOW packages such as the Well package. When you attempt to leave the Data Editor, it will present you with a dialog box allowing you to edit data for another stress period. If you wish, you can copy data from any stress period to any other. If you don't copy such data, you are presented with a "clean slate" when you first start editing data for a stress period. It probably is a good idea to copy well data from one stress period to another and then edit it to make sure that you don't accidentally assign a well to one cell during one stress period and another cell during another stress period. If, after assigning properties to a cell, you go back and refine the grid, PMWIN accommodates the changes by attempting to assign appropriate values to all the daughter cells. Thus, for example, if you subdivide a cell containing a well into four parts, each daughter cell will have 1/4 the pumping rate of the original cell. Because PMWIN does not record precise well locations, it is unable to assign all of the pumping to a single cell. In some cases, such as the stream package, there isn't a good way to decide what properties to assign to each cell based on the data that PMWIN records so in those cases you must re-edit the data after refining the grid.
Data for a River and stream packages are entered in the same was as other data. Unlike Visual MODFLOW, PMWIN has no capability for picking two end points of a line segment and interpolating values in between those end points.
Data entry for the Horizontal flow barrier package is on a cell-by-cell basis. No data entry by zones is possible. In the horizontal flow barrier package, flow barriers are treated as properties of individual cells rather than as the property of the boundary between cells. You can only have one flow barrier per cell. This is more restrictive than required by Modflow but should not cause problems for any practical applications that I can imagine.
In addition to the field interpolator, PMWIN comes with a stochastic field generator that can be used to generate (for example) arrays of hydraulic conductivities with a specified mean values, standard deviations, and correlation lengths. Correlation lengths need not be the same in the x and y directions. These data can then be imported into the PMWIN. The grid must be uniform when using the stochastic field generator because it does not compensate for variations in row or column widths. It is important to remember that the field generation is not a completely random process; if you enter all the same input data, the field generator will produce exactly the same result as it did previously. You need to tell the stochastic field generator you have to say how many "realizations" you want to be generated. It will produce that number of arrays and each array will the same mean value, standard deviation, and correlation length but each array will be independent of the others. You can also use the field generator together with the field interpolator to produce fields that are constrained to match known values at specific points.
You can also graph head, drawdown, concentration, compaction, preconsolidation head, and subsidence vs. time. The data can be exported in a form suitable for importing into spreadsheets or you can save the graphs themselves as describe previously. To create the graphs, you assign an observation point (a "bore") either before or after running the model. The predicted head at that point is interpolated from the model results.
PMWIN comes with a particle tracking program, PMPATH, derived from MODPATH. It allows you to calculate flowlines and flowpaths in both steady state and transient models. You can also apply a retardation factor to the particles if you wish. You can see both a map view of the particles and cross sections. Both the map views and cross sections showing projections of the particle positions. Thus, if you have added particles to layer 1 you will also see them when you are looking at layer 2. To avoid confusion, you could assign different colors to the particles in different layers.
PMWIN also has a Water budget calculator to determine budgets of individual zones and flows between zones. You can only specify a single time step on each run of the Water budget calculator. If you have many time steps, you this may involve a lot of work. The USGS ZONEBUDGET program allows you to get budgets for all time steps during a single run of the program. This would be more convenient for most transient models. Results from the water budget calculator are stored in an output file which must be read with a text editor rather than being displayed directly in PMWIN.
As of Oct. 13, 1996, the following companies had distribution contracts for PMWIN
Go back to Contents. Note: The "Contents" link will not work unless you have installed The Modflow Help File and are accessing this page locally.