Make Groundwater (mkgw)



The mkgw program was developed to distribute estimates of pumping and return flows developed on a county or similar regional scale to individual wells.

During the model development, Colorado and Kansas estimated pumping and the associated return flows on a county scale. The groundwater model, however, requires cell by cell pumping. The mkgw program was developed to distribute the pumping and return flows based on a well database.

From 2001 onwards, Kansas developed the program pumprechv5 to perform this task. Colorado continues to use the mkgw program.

The mkgw program reads a parameter file that contains instructions as to which files to read and write. The parameter file for Colorado is typically called co.gw.par. The instructions can appear in any order. The following table lists the instructions that may appear in the parameter file

CommandDescription
FILE Directory PumpExt RechargeExt AcresExt [BIN] Specify the directory and file name extensions for output files
TRANSIENT StartYear EndYear Specify the start and ending year to process
IBOUND file Specify file defining the active model domain
AREA ListOfAreas Define the areas (counties) to be used
MONTH MonthlyFactorFile|ListOfMonthlyFactors Set factors for distributing annual pumping to months
WELL WellFile [StartYear EndYear] Set the well database file
PUMPING PumpingFile [ReturnFractionFile [AcresFile]] Define the pumping, return flow fraction and acreage files

Principles of Operation

The mkgw program takes pumping estimates on a regional basis and distributes it to individual model cells proportional to a well by well appropriation.

County by county pumping is read from the file specified on the PUMPING command. This file contains the annual pumping by county by year. Groundwater return flow is calculated by multiplying this pumping by a return flow fraction which is read from the return flow flow fraction file which is also by county and by year.

County totals are distributed to individual wells proportional to the appropriated acreage associated with each well. The well database specified on the WELL command lists the county, starting and ending date of the well's operation, and the appropriated amount. The amount of pumping assigned to each well is the fraction of the appropriated amount for that well as a fraction of the appropriated amounts for all wells in the county. If for a given year the well is indicated not to be operating, the appropriated amount is taken as zero in both the amount assigned to the well and in calculating the county total appropriation.

Return flows for individual wells are calculated as the return flow fraction for the county multiplied by the pumped amount at that well. Based on the (x,y) coordinates of the well, both the pumping and return flow is assigned to a model cell.

When the county total groundwater irrigated acreage is specified on the PUMPING command, the acreage is distributed to individual cells using the same procedure.

Annual pumping is distributed to individual months when the MONTH command is specified. The distribution may be one set of values that is applied to all years and all counties, or may be specified year by year and county by county. If no MONTH command is specified, only the annual total is distributed.

Command Reference

FILE Directory PumpExt RechargeExt AcresExt [BIN]

The FILE command is used to set the output file directory and file extensions. The FILE command must be followed by a subdirectory name. All output files will be saved in this subdirectory. Subdirectories should be named for the state in question since output files have no other means of identifying the state to which they belong. For Colorado this should be co and for Kansas it should be ks.

Following the directory name should be the file extensions to use for the pumping, groundwater return flow and acreage files. The rrpp program expects these extensions to be pmp, rcg and agw, respectively.

The output files will be ASCII text unless the optional parameter BIN is specified, in which case binary output files are produced. This feature was used to improve efficiency during the calibration phase.

If the acres file extension is an asterisk (*), no acres file will be saved.

The pumping output files will be named dir/yyyy.mm.pmp where dir is the specified directory, yyyy is the year, mm is the month and pmp is the pumping file extension. Similarly the groundwater return flows will be named dir/yyyy.mm.rcg where rcg is the appropriate extension. The acreage file, if saved, will be named dir/yyyy.agw.

When the MONTH command is not given and the program is run in an annual mode, the pumping and recharge output files are named dir/yyyy.pmp and dir/yyyy.rcg, respectively.

The pumping and recharge output files contain volumes for the corresponding periods in acre-feet. The acreage files contain areas in acres.

When an output file would consist of all zeroes, no output file is produced.

TRANSIENT StartYear EndYear

The TRANSIENT command is used to set the period for which the program operates. Both the start and end year must be specified even when they are the same.

The program produces output files for all years from the first to the last year, and for all months within each year if the MONTH command is used.

Note that the input files typically cover a much larger period than requested. Colorado's input files, for example, cover from 1940 to present day. The TRANSIENT command is used to select only that subset of these years of interest.

IBOUND file

The IBOUND command is used to select the active model domain. The file referenced should always be the MODFLOW-2000 IBOUND file ../static/02.ibound. This file is always read using a FORTRAN format of (999I2).

AREA ListOfAreas

The AREA command is used to define the areas (counties) that will be used. The AREA command must occur before the
MONTH, PUMPING or WELL commands so that the valid areas can be known.

The AREA command is followed by a list of area names (county names), separated by spaces. When names contain a space, they must be enclosed in double quotes ("). However, it is generally recommended that names are simply written without spaces. For example, Kit Carson is written as KitCarson.

The area names are not case sensitive.

MONTH MonthlyFactorFile|ListOfMonthlyFactors

The MONTH command is used to distribute calendar year annual pumping to calendar months. When the MONTH command is not specified, the output consists of only a single annual value.

If the first value following the MONTH command is a real number, a list of twelve values are read. Each value represents the fraction of the annual total volume that is distributed to the corresponding month from January to December. The values must sum to one.

If the first value following the MONTH command is not a real number, it is treated as a file name. Monthly factors are read from this file by by county and by year. Each line in the file should contain the name of the county, followed by the year, followed by twelve values corresponding to the fraction of the annual volume to be distributed to each month. Any line beginning with a # is treated as a comment and is not processed.

The county name must have been previously defined in the AREA command. Extra counties are not permitted. The year does not have to be only in the range defined by the TRANSIENT command. The monthly fractions for each county for each year must sum to one. If a county and year is omitted and there is pumping in that county in that year, the program will print a warning message.

WELL WellFile [StartYear EndYear]

The WELL command is used to specify the well database file. The well database file is a text file containing a list of wells, one per line. Any line beginning with a # is treated as a comment.

Each line of the well database file consists of an x coordinate, a y coordinate, a county name, starting date (optional), ending date (optional), and an appropriated amount.

The x and y values are in model coordinates. If the specified coordinates are outside the model domain or in an inactive part of the model domain (as defined by the IBOUND array), a warning message is printed and the well is ignored. The county name must have been previously specified on the AREA command. Extra counties are not permitted. The county name format rules are the same as those specified above for the AREA command.

The format of the rest of the line depends on whether the file name on the WELL command is followed by a starting and ending year.

If no starting and ending year is specified on the WELL command, each line in the well database file must include a starting date, an ending date and an appropriated amount. The starting and ending dates are in the form yyyymmdd representing the year, month and day that the well was put into production and abandoned, respectively. Although a well may have been active for only part of the year, the program considers it to have been active for the entire irrigation season for the year during which it was put into production and the year it was abandoned. Wells that have not been abandoned can be given any date in the future, but 99991231 is recommended.

The appropriated amount is considered to be constant from the starting to ending dates. When the appropriated amount changes, the first entry should be marked as abandoned and a second entry should be created with the new appropriated amount. Note that the changeover must be marked as December 31 and January 1, or the well will be counted double in the year of the changeover.

When the starting and ending year is specified on the WELL command, each line in the well database file is instead completed by a list of annual appropriated amounts. The line must contain a value for each of the years from the starting to ending years. For years that a well did not exist, was not producing or was abandoned, a zero should be present. The years specified on the TRANSIENT command can be a subset of the years on the WELL command.

The appropriated amount specified in the well file is used to proportion the county total pumping to the wells. The appropriated amount may be any quantity that would cause the well pumping to be appropriately distributed. However, if no acreage file is specified on the PUMPING command, the appropriated amount will be assumed to be a number of acres which will be used to generate the groundwater acreage file.

The remainder of the line is ignored, and can be used to contain an identifier for the well. This is useful for diagnostic purposes but is not used by the program.

PUMPING PumpingFile [ReturnFractionFile [AcresFile]]

The PUMPING command is used to set the values to be distributed. When the PUMPING command is followed only by a pumping file name, it is assumed that this is net pumping, and only pumping output files are generated. When a return fraction file follows the pumping file name, the pumping file is assumed to contain total pumping, and the return flow generated is the specified return flow fraction times the pumped amount.

If the return fraction file is followed by an acreage file, the county total acreage is distributed in proportion to the pumping. If an acreage file is not specified, the appropriated amounts are treated as acreage and used to generate the groundwater acreage.

All files used on the PUMPING command have the same format. The first line must contain a column header consisting of the area that each column correspond to. The first column should be the year. Subsequent columns should be the areas (counties) in the same order as they appear in on the AREA command.

Subsequent lines should contain the year and one value for each area (county). A # can be used to insert comments.

The pumping file should contain the annual total pumping for the area (county) in acre-feet. The units are not significant to this program, but subsequent programs expect volumes to be in acre-feet.

The return flow fraction file should contain the fraction of the pumping that becomes recharge. A value of 0.2 would indicate that for every 100 acre-feet pumped, 20 acre-feet returns to the aquifer as recharge. Note that this is not equivalent to an efficiency of 80 percent, since other losses such as evaporation and runoff may occur.

The acreage file should contain the county total groundwater acres. The units are not significant to this program, but subsequent programs expect areas to be in acres.

Example: Colorado Agricultural Pumping 2002

The following example generates Colorado pumping, recharge and groundwater acreage files for 2002 in the sub-directory co.

The Northern High Plains well database nohipl.dat is used to distribute the county by county pumping data in pumping.dat to cells. The counties are listed on the AREA command. The return flow fractions are in returns.dat and county total groundwater acreages are in gwacres.dat. Input files are stored in the ../data/co directory and contain county by county values for all years from 1940 to the present.

Annual pumping is distributed to months using a fixed fraction for each month. Note that no pumping occurs from October to May, so no corresponding monthly output files are produced.

Note the use of blank lines and comment lines which start with a # to make the command file more easily readable.

#  Output
FILE co pmp rcg agw
TRANSIENT 2002 2002

#  Domain
IBOUND ../static/02.ibound

#  Wells
AREA    Cheyenne KitCarson Lincoln Logan Phillips Sedgwick Washington Yuma
#        Jan   Feb   Mar   Apr   May   Jun   Jul   Aug   Sep   Oct   Nov   Dec
MONTH   0.000 0.000 0.000 0.000 0.000 0.147 0.320 0.328 0.205 0.000 0.000 0.000
PUMPING ../data/co/pumping.dat ../data/co/returns.dat ../data/co/gwacres.dat
WELL    ../data/co/nohipl.dat

Example: Kansas M&I Pumping 1918 - 2000

This example from V12p7 demonstrates the use of mkgw to generate net pumping on a year by year basis. The output files are stored in the ks12b directory and are named yyyy.mi because no MONTH command is given and the pumping file extension on the FILE command is mi. No acreage files are produced because the acreage file extension is *. No recharge files are produced because the PUMPING command contains only one file name. This is reinforced by specifying * as the recharge file extension on the FILE command.

The WELL command specifies that the distribution of M&I pumping within each county is specified on a year by year basis from 1918 to 2000. This happens to be the same as the period specified in the TRANSIENT command, but output could have been selected for any period from 1918 to 2000.

#  Output
FILE ks12b mi * *
TRANSIENT 1918 2000

#  Domain
IBOUND 02.ibound

#  Wells
AREA    Cheyenne Decatur Gove Graham Jewell Logan Norton Rawlins Sheridan Sherman Thomas Trego

PUMPING ks-data/ksmipump.dat
WELL    ks-data/ksmiwells.dat 1918 2000

Home | Index | Previous | Next

Model Units
Directory Structure
Programs
Static Files
Precipitation Data Entry
Colorado Data Entry
ET Data Entry
Stream Data Entry
Kansas Data Entry
Nebraska Data Entry
Running the Model