|MOC is the USGS 2-D Solute Transport and Dispersion in Ground Water by L.F. Konikow and J.D. Bredehoeft.
- Solute transport in ground water.
- One- or two-dimensional problems involving steady-state or transient flow.
- Computes changes in concentration over time caused by the processes of convective transport, hydrodynamic dispersion, and mixing from fluid sources.
- Aquifer may be heterogeneous and/or anisotropic.
- Based on a rectangular, block-centered, finite-difference grid.
- Allows specification of injection or withdrawal wells and of spatially-varying diffuse recharge or discharge, saturated thickness, transmissivity, boundary conditions, and initial heads and concentrations.
- Incorporates (1) first-order irreversible rate-reaction; (2) reversible equilibrium controlled sorption with linear, Freundlich, or Langmuir isotherms; and (3) reversible equilibrium-controlled ion exchange for monovalent or divalent ions
MOCINP is used to CREATE or MODIFY the Input Data File required by the MOC modules (MOCSIP and MOCADI) including the data required for decay, sorption and ion-exchange reactions.
The maximum dimensions of the flow grid and the transport grid have been increased to 120 X 120. The limit on the number of particles has been increased from 3,200 to 57,600. The number of observation points which may be specified has been increased from 5 to 50. Observation point data may now be saved in a file for plotting with MOCTIME.
Easy to Learn and Simple to Use
MOC executes in a unique batch processing shell similar to MODFLOW. Batch files containing data required for a MOC simulation are easily created or modified within MOC. Four major functions exist within the batch shell: Files, Select, Execute and Quit.
The MOC package consists of the MOCSIP and MOCADI source and executable codes, an input processor, an output processor, TECVIEW, MOCREC (removes FORTRAN carriage control characters), user's guide and technical support. The MOC reports/documentations are required but not included.
MOC simulates solute transport in flowing ground water. MOC is both general and flexible in that it can be applied to a wide range of problem types. It is applicable for one- or two-dimensional problems involving steady-state or transient flow. MOC computes changes in concentration over time caused by the processes of convective transport, hydrodynamic dispersion, and mixing (or dilution) from fluid sources. The model assumes that gradients of fluid density, viscosity and temperature do not affect the velocity distribution. However, the aquifer may be heterogeneous and/or anisotropic. MOC is based on a rectangular, block-centered, finite-difference grid. It allows the specification of injection or withdrawal wells and of spatially-varying diffuse recharge or discharge, saturated thickness, transmissivity, boundary conditions and initial heads and concentrations. MOC incorporates:
- First-order irreversible rate-reaction
- Reversible equilibrium controlled sorption with linear, Freundlich, or Langmuir isotherms
- Reversible equilibrium-controlled ion exchange for monovalent or divalent ions
The model couples the ground-water flow equation with the solute-transport equation. The program uses an alternating-direction implicit procedure to solve a finite-difference approximation to the ground-water flow equation, and it uses the method of characteristics to solve the solute-transport equation. The latter uses a particle tracking procedure to represent convective transport and a two-step explicit procedure to solve a finite-difference equation that describes the effects of hydrodynamic dispersion, fluid sources and sinks, and divergence of velocity. This explicit procedure has several stability criteria, but the consequent time-step limitations are automatically determined by the program.
The maximum dimensions of the flow grid and the transport grid have been increased to 120x120. The limit on the number of particles has been increased from 3,200 to 57,600. The number of observation points which may be specified has been increased from 5 to 25. Observation point data (head and concentration verses time) may now be saved in a file for plotting with MOCTIME (not included).
MOC utilizes extended memory.
This package contains two versions of MOC: MOCADI and MOCSIP. These two versions of MOC are identical except for the matrix solver. MOCADI uses the Alternating Direction Implicit (ADI) procedure to numerically solve the flow equations while MOCSIP uses a Strongly Implicit Procedure (SIP). Also included in the package are the following programs: MOCINP, MOCOUT, MOCREC, MOCONV and TECVIEW.
TECVIEW is a program which uses Virtual Memory and page swapping to view and print portions of very large ASCII files. An amount of disk space slightly larger than the size of the file being viewed must be available.
MOCONV is a utility for converting MOC data files to free format. MOC uses data files which are written entirely in free format, that is, all data entries are separated by blanks or commas. MOCONV can convert original MOC Data files to free format.
MOCINP is the Input Processor for the MOC model. MOCINP is used to Create or Modify the Data Files required by MOC (MOCADI or MOCSIP).
The USGS MOC Reports and associated MOC Computer Program Update Notes describe all inputs. MOCINP provides a convenient means for producing the Input Data Files required by MOC. See below for a description of changes to the structure of the Input Data Files required by MOC.
Four new flags, NHYDRO, NPMPCH, NREDUC and NHONLY, have been added to Card 2 of the MOC data files in this version. If NHYDRO is non-zero and NUMOBS is non-zero, the time, concentration and head data for all observation points will be saved in an ASCII file. The program, MOCTIME (not included), may then be used to obtain plots of the data automatically. If NPMPCH is non-zero, source concentrations (associated with NODEID array) are set to zero for all pumping periods after the first. If NREDUC is non-zero, hardcopy output is reduced by eliminating intermediate particle movement printout. If NHONLY is non-zero, only head computations are performed, transport is ignored. These flags are added at the end of Data Card 2 following the NREACT flag for Decay, Sorption and Ion-Exchange Reactions.
If both the transport equation and the flow equation are solved on the same grid, the number of nodes in the X and Y directions, NX and NY, respectively, are restricted to 120. This value of 120 for the maximum number of nodes in either direction compares to 20 in the original MOC source code.
The transport equation may be solved on a smaller grid than the grid on which the flow equation is solved. This may yield savings in computation time and storage for problems in which the hydraulic gradients within the area of interest for transport are influenced by hydraulic stresses and (or) boundary conditions outside of the area in which solute transport is occurring.
The approach is to define a primary finite-difference grid for the flow model. A smaller, secondary subgrid for transport is then defined within the coordinates of the primary grid.
To specify different grid sizes for the transport and flow grids, specify NX as a negative value greater than -120. Then enter a positive value for NY in the range (1 to 120). The program will then prompt for four additional inputs : MX,MY,MMX and MMY. MX and MY are, respectively, the X- and Y-coordinates within the primary grid of the upper-left node of the transport subgrid. MMX and MMY are the respective grid coordinates of the lower-right node of the transport subgrid. The value of 120 for the maximum number of nodes in either direction compares to 40 in the original MOC source code.
For example, if the primary grid is 20 by 20 (that is, NX = -20 and NY = 20), and if the subgrid for transport was to be 10 by 10, with the upper-left node of the subgrid corresponding to node (3,4) of the primary grid, then the following specifications would be made: MX = 3, MY = 4, MMX = 12 and MMY = 13.
Note that the "window" for the transport subgrid can overlap all or any part of the primary grid, but cannot extend beyond it. Also note that unless the subgrid overlaps the first or last row or column of the primary grid, which are no-flow boundaries, then all nodes of the subgrid can be "active" nodes.
Finally, the subgrid should be located so that there will not be a significant amount of convective transport across the subgrid boundary, or else the accuracy of the solution will be adversely affected.
MOCOUT is the Output Processor for the MOC model. MOCOUT takes, as input, the concentration/head/velocity vector unformatted file from MOC (MOCADI or MOCSIP) and permits the user to save selected sets of data in an ASCII file. The ASCII file may be later processed by MOCGRAF.
MOCOUT can also create files for TECKON and XYZ ASCII files for head and concentration data as required by other contouring programs. However, only MOCGRAF can process the velocity vector data generated by MOC and superimpose the data on contour plots of heads and concentrations. The only input to MOCOUT is an unformatted file generated by MOC. As MOCOUT reads each set of data from the unformatted file, it displays the Time Step, Pumping Period and Total Elapsed Time. The user is then prompted to save the data for contouring or skip to the next set. All data to be contoured is converted to ASCII and saved. The original unformatted file is preserved. It is evident that MOCOUT is a powerful tool for filtering the large amount of data which MOC may generate.
The hardcopy output file from a MOC (MOCADI or MOCSIP) run contains FORTRAN Carriage Control characters. The FORTRAN Carriage Control characters are ignored by most dot matrix printers. The hardcopy output, therefore, may be difficult to read. The MOCREC (Remove or Execute Control Characters) program removes the FORTRAN Carriage Control characters and substitutes ASCII control codes.
MOCGRAF (not included) can automatically process any or all concentration, head or velocity-vector grids contained in the file produced by MOCOUT and stack the contour/head/velocity vector plots in a metacode graphics file for subsequent processing with TRANSLATE. The graphics file produced by MOCGRAF could contain up to 500 plots.
MOC PROGRAM USAGE
MOC executes in a unique batch processing environment. The batch processing environment is initiated by typing MOC. The four (4) major functions within the batch shell are: FILES, SELECT, EXECUTE and QUIT. FILES permits the creation (CREATE) or modification (MODIFY) of batch files necessary for execution. Any number of MOC batch files may exist concurrently. Prior to execution, a batch file must be selected. After entering SELECT, a batch file is selected using a file pick list and its contents are displayed. Next, the EXECUTE function is selected. A choice of either solver (MOCADI or MOCSIP) may then be made. Following execution, QUIT (or <ESC> key) exits the batch shell. A mouse may be used.
Help is available for most functions within the shell by pressing the <F1> function key while highlighting that function. Exit help by pressing the <ESC> key.
The following sequence applies to a MOC simulation:
- Run MOCINP to Create or Modify the Data File.
- Run MOC. Create or Modify a Batch File. Select a Batch File. Choose MOCADI or MOCSIP. For most problems MOCADI should be used. However, for steady-state cases when grid nodes have zero transmissivity and for cases in which the transmissivity is highly anisotropic, MOCSIP should be used. The required Input Data File was created using MOCINP. The output files are: a Hardcopy Output File and an Unformatted File (if NPNCHV in the data file is non-zero). During Batch File Creation or Modification, if NPNCHV is non-zero, the program prompts for the files (Data File, Hardcopy Output and Unformatted) and the types of data (concentration, head, velocity vector) which will be saved in the Unformatted File.
- Process the hardcopy output file with MOCREC, if desired, to remove carriage control characters and replace with appropriate ASCII control characters.
- Run MOCOUT if desired. MOCOUT takes as input the Unformatted file from MOC (MOCADI or MOCSIP) and outputs an ASCII file. Unformatted data may have been saved for all simulation time steps (NPNCHV=1). Rather than process all of this data with MOCGRAF, when only a subset is required, MOCOUT gives the user an opportunity to thin out the data while converting to ASCII.
- Run MOCGRAF to contour heads and concentrations and to generate velocity vectors which may be superimposed on the contours or drawn stand-alone. MOCGRAF reads and processes the ASCII file from MOCOUT.
- Run MOCTIME to plot time, concentration and head data at specified observation points. MOCTIME reads an ASCII file produced by MOC.
MOCGRAF and MOCTIME are separate programs specifically developed for use with MOC. These programs are not included with the MOC package.
MOC Code Modifications
Certain necessary changes were made to the original MOC code to accommodate the larger needed arrays and data fields. Data Files are read entirely as free format with the exception of the Title which is a character string of up to 80 characters. Arrays sizes were modified throughout the code to reflect the increase in the transport and flow grid sizes from 20 and 40, to 120 and 120, respectively. The limit for NPMAX has been increased from 3200 to 57600 because of the larger permissible transport grids. The maximum number of observation points which may be specified has been increased from 5 to 25.
MOCGRAF (Graphics for MOC)
MOCGRAF automatically contours concentrations and heads and superimposes velocity vectors for selected pumping periods and time steps for grids of dimension to 200 x 200.
- MOCGRAF can process and create contour plots for up to 100 sets of concentration or head data in a single execution and saves the results in a single file.
- Several methods of contour control are available: the program automatically selects contour levels, the user specifies specific contour levels, or the user specifies the minimum/maximum contour levels and increment.
- Up to 100 contour levels may be generated.
- Colors for frames, title and axis labels, major and minor contour lines and velocity vectors may be specified.
- MOCGRAF is menu driven, runs in a batch processing shell and is very easy to use. Changes may be easily made to existing batch files.
- TRANSLATE (included) produces graphics on a wide variety of devices and creates HPGL files.
MOCGRAF is a menu-driven graphics program specifically designed for use with MOC, the USGS "Computer Model of Two-dimensional Solute Transport and Dispersion in Ground Water." MOCGRAF can generate two-dimensional contour plots of ending concentrations and heads for each time step and pumping period of the simulation. Velocity vectors can, optionally, be superimposed on the contour plots. MOCGRAF uses a data file previously created using MOCOUT (included). The data file from MOCOUT is an ASCII file containing grids of heads, concentrations and velocity vectors from the MOC simulation.
MOCGRAF utilizes extended memory. TRANSLATE (included) is used to produce high quality graphics on a variety of devices.
MOCGRAF PROGRAM USAGE
MOCGRAF executes in a batch processing environment. The four (4) major functions within the batch shell are: FILES, SELECT, EXECUTE and QUIT. FILES permits the creation (CREATE) or modification (MODIFY) of batch files necessary for modification. Any number of MOCGRAF batch files may exist at any time. Prior to execution, a batch file must be selected. After entering select, a batch file is selected using a file pick list and a summary of the batch file is displayed. Next, the EXECUTE function is selected. Following execution, QUIT (or <ESC> key) exits the batch shell. A mouse may be used to make selections.
Context sensitive help is available for most functions within the shell by pressing the <F1> function key while highlighting that function. Exit Help by pressing the <ESC> key.
MOCGRAF DATA INPUTS
All data required for a successful execution of MOCGRAF are contained in the batch file. The batch file contains the names of files as well as data pertaining to contouring. The following describes all data contained in a batch file.
The data associated with the creation of head and/or concentration contours and, optionally, the superposition of velocity vectors is entered through a series of menus. The program scans the input Data File and sequentially displays the appropriate set of menus for each set of data. Page Up/Down is used to select the various menus.
- Data File Name - ASCII Data File (produced by MOCOUT) which contains the grids of head and/or concentrations and, optionally, velocity vector values. The Data File structure is described below.
- Plot File Name - This is a metacode graphics file where one or more frames of graphics information (created by MOCGRAF). TRANSLATE is used to process the Plot File and produce graphics on a specific graphics device upon exit from MOCGRAF.
- Generate Hardcopy Output File - ('Y' or 'N'). The creation of a Hardcopy Output File is optional. If a hardcopy output file is created, it will contain a summary of results generated by MOCGRAF including all grid information.
- Hardcopy Output File Name.
- Pen Number Selections - Various colors may be selected for the contour plots. Pen selections (colors) apply to all MOC data sets which are contoured. Separate pen selections may be made for the border, title & labels, contour lines and velocity vectors.
- Graphics Options - The ordinal number of the current data set is displayed and the presence of head, concentration and velocity vector data is indicated. Also displayed are the time step, pumping period, and total elapsed time. The user may select this set of data for contouring. If both head and concentration data are present, the user may choose to contour either or both. If neither is to be contoured, the program skips to read the next set. If the head and/or concentration data is selected for contouring and if velocity vector data is present, the user is prompted to specify whether velocity vectors will be superimposed on the contours.
- Aspect Ratio - The aspect ratio is defined as: the length of the Y-Axis/the length of the X-Axis. The program scans the current set of data, computes the aspect ratio and displays the computed value. The user is prompted to enter the aspect ratio and, thus, may override the computed value.
- Contour Selection Types - Contour levels may be selected in one of three ways:
- Computer Selects Contour Levels (Default) - The data set is scanned and a set of pleasing, evenly spaced levels is chosen. If both head and concentration data are present in the current data set, contour levels may be selected in a different manner for each.
- User Selects Maximum, Minimum and Increment.
- User Selects Specific Contour Levels.
- Contour Increment and Bounds - Applicable only if the user selects the minimum and maximum contour levels and increment. The program scans the data set and computes the minimum and maximum values of the data to be contoured and computes an interval based on ten contour levels. The data is then displayed. The user may override these computed values with his own selections.
- Selected Contour Levels - Applicable only if the user selects specific contour levels. The program scans the data and computes the minimum and maximum values of the data to be contoured. The data is displayed. The user specifies the number of contour levels which will be selected. The maximum allowable number is 50.
- Selected Contour Levels - Applicable only if the user selects specific contour levels. The desired contour levels are entered through this menu.
- Title/Label Options - Title, X-Axis and Y-Axis labels for heads and/or concentration data may be entered through this menu. Each may consist of a string of up to 40 alphanumeric characters.
MOCGRAF DATA FILE STRUCTURE
The Input Data File may contain ending head data, concentration data and velocity vector data. The Input Data File is an ASCII file consisting of character, integer and real data. The sets of concentration, head and velocity data are stored sequentially in the file.