DOCUMENTATION OF UCODE,

A Computer Code for

Universal Inverse Modeling

______________________________________________________________________________

______________________________________________________________________________

U.S. GEOLOGICAL SURVEY

WATER-RESOURCES INVESTIGATIONS REPORT 98-4080

UNIVERSAL -- USE WITH ANY MODEL

Finite-Difference Models

Finite-Element Models

Analytical Models
DOCUMENTATION OF UCODE,

A Computer Code for

Universal Inverse Modeling

By Eileen P. Poeter 1and Mary C. Hill 2

1. International Ground Water Modeling Center of the Colorado School of Mines

2. U.S. Geological Survey

______________________________________________________________________________

______________________________________________________________________________

U.S. GEOLOGICAL SURVEY

WATER-RESOURCES INVESTIGATIONS REPORT 98-4080

Prepared in cooperation with the

U.S. Army Corps of Engineers Waterways Experiment Station and the International

Ground Water Modeling Center of the Colorado School of Mines

Denver, Colorado

1998
U.S. DEPARTMENT OF THE INTERIOR

BRUCE BABBITT, Secretary

U.S. GEOLOGICAL SURVEY

Thomas J. Casadevall, Acting Director

The use of trade, product, industry, or firm names is for descriptive purposes only and does not

imply endorsement by the U.S. Government.

For additional information write to:

Regional Research Hydrologist

U.S. Geological Survey

Box 25046, Mail Stop 413

Denver Federal Center

Denver, CO 50225-0046

Copies of this report can be

can be purchased from:

U.S. Geological Survey

Branch of Information Services

Box 25286

Denver, CO 50225-0425
iv

PREFACE

The computer code described in this report is designed to allow inverse modeling, posed

as a parameter estimation problem, using existing application models. Although designed using

ground-water models, the code can be used in conjunction with other application models that use

ASCII or text only input, produce ASCII or text only output, and can be executed in batch mode.

The performance of UCODE has been tested in a variety of applications. Future applications,

however, might reveal errors that were not detected in the test simulations. Users are requested to

notify the originating office of any errors found in the report or the computer program. Updates

might occasionally be made to both the report and to UCODE. Users can check for updates on

the Internet at URL http://water.usgs.gov/software/ground_water.html/.
v

CONTENTS

ABSTRACT ......................................................................................................................................................... 1

INTRODUCTION

................................................................................................................................................ 2

Purpose and Scope ........................................................................................................................................ 3

Acknowledgments......................................................................................................................................... 3

UCODE PROCEDURES ..................................................................................................................................... 4

Overview ...................................................................................................................................................... 4

Calculation of Sensitivities............................................................................................................................ 8

INVERSE MODELING CONSIDERATIONS ................................................................................................. 11

Guidelines for Effective Model Calibration and Analysis using Nonlinear Regression................................. 11

Parameterization......................................................................................................................................... 12

Starting Parameter Values .......................................................................................................................... 13

Common Ways of Improving a Poor Model................................................................................................. 14

Alternative Models ..................................................................................................................................... 15

Residual Analysis ....................................................................................................................................... 15

Predictions and Differences and Their Linear Confidence and Prediction Intervals..................................... 15

RUNNING UCODE ........................................................................................................................................... 18

Filename Restrictions.................................................................................................................................. 19

Program Files for UCODE.......................................................................................................................... 20

Program Files for the Application Model(s) ................................................................................................ 20

Input Files .................................................................................................................................................. 21

Output Files................................................................................................................................................ 22

Run Command............................................................................................................................................ 23

INPUT FILE CONSTRUCTION....................................................................................................................... 24

Universal Input File—fn.uni ....................................................................................................................... 25

Directions for the Universal Input File ............................................................................................... 25

Annotated Example of a Universal Input File..................................................................................... 30

Prepare File—fn.pre, Template, and Function (fn.fnc) Files........................................................................ 30

Directions for the Prepare Input File .................................................................................................. 30

FORMAT Configuration Rules.......................................................................................................... 36

Template File Construction................................................................................................................ 37

Parameter-Substitution Function File Construction—fn.fnc ............................................................... 37

Annotated Example of a Prepare Input File........................................................................................ 39

Annotated Example of a Template File .............................................................................................. 40

Annotated Example of a Function Input File...................................................................................... 41

Extract File—fn.ext..................................................................................................................................... 41

Directions for the Extract Input File................................................................................................... 41

Annotated Example of an Extract Input File ...................................................................................... 45

Input Files for Predictions and Differences and Linear Confidence and Prediction Intervals........................ 47

Directions for Input Files for Predictions--PHASE=44 ....................................................................... 48

Directions for Input Files for Differences--PHASE=45....................................................................... 49

USING UCODE OUTPUT................................................................................................................................. 50

Output Files from a Forward Simulation--PHASE=1 and 11 ....................................................................... 50

Output Files from Sensitivity Calculations--PHASE=2 and 22 .................................................................... 53

Output Files from Nonlinear Regression--PHASE=3................................................................................... 54
vi

Output Files from Test of Linearity--PHASE=33......................................................................................... 55

Output Files from Predictions and Differences--PHASE=44 and 45 ............................................................ 59

Troubleshooting.......................................................................................................................................... 60

REFERENCES................................................................................................................................................... 61

APPENDIX A: EXAMPLE................................................................................................................................ 62

Physical System .......................................................................................................................................... 62

Application Model Input Files..................................................................................................................... 66

Application Model Output File, mod.out..................................................................................................... 68

UCODE Input Files .................................................................................................................................... 77

Template Files................................................................................................................................... 77

Universal File--fn.uni ........................................................................................................................ 78

Prepare File--fn.pre............................................................................................................................ 79

Function File--fn.fnc.......................................................................................................................... 80

Extract File--fn.ext ............................................................................................................................ 80

Input Files for Predictions and Their Confidence and Prediction Intervals--fn.u44 and fn.e45............ 81

Input Files for Differences and Their Confidence and Prediction Intervals--fn.u45 and fn.e45 ........... 83

Input Prepare File for PHASE=11--fn.pre .......................................................................................... 84

Selected UCODE Output Files.................................................................................................................... 85

Listing File--fn._ot............................................................................................................................. 85

Check File--fn._ck ............................................................................................................................. 93

Residual Analysis Files...................................................................................................................... 96

Modified Beale’s Measure of Model Linearity--fn._33 ......................................................................103

Output File for Predictions and Their Linear Confidence and Prediction Intervals–fn._44.................105

Output File for Differences and Their Linear Confidence and Prediction Intervals--fn._45................108

Output Files for PHASE=11 –fn._11.................................................................................................112

APPENDIX B: DISTRIBUTION, COMPILING, PORTABILITY, AND SPACE ISSUES...........................113

Distributed Files and Directories................................................................................................................113

Compiling and Loading .............................................................................................................................113

Portability..................................................................................................................................................113

Space Requirements...................................................................................................................................113

APPENDIX C: PROGRAM DESCRIPTION ..................................................................................................114

UCODE Programs and Subroutines and Their Tasks .................................................................................114

Scratch Files..............................................................................................................................................115

FIGURES

Figure 1: Flowchart for estimating parameters with UCODE ................................................................................. 5

Figure 2: Physical system for the example case .................................................................................................... 64

Figure 3: Location of observations for the example case ....................................................................................... 65

TABLES

Table 1: Guidelines for effective model calibration (from Hill, 1998) ................................................................... 12

Table 2: AWK functions for the function file ....................................................................................................... 38

Table 3: Residual and model fit statistics printed in fn._ot when PHASE=1, 2, 22 or 3 ........................................ 56

Table 4: Parameter statistics printed in fn._ot when PHASE=2, 22, and 3............................................................ 57

Table 5: Files created by UCODE that contain data sets for graphical residual analysis........................................ 58

Table 6: Regression performance measures printed in fn._ot when PHASE=3...................................................... 59
1

DOCUMENTATION OF UCODE,

A Computer Code for Universal Inverse Modeling

____________________________________

By Eileen P. Poeter and Mary C. Hill

____________________________________

ABSTRACT

This report documents the computer program UCODE, which performs inverse modeling,

posed as a parameter-estimation problem, using nonlinear regression. Any application model or

set of models can be used; the only requirement is that they have numerical (ASCII or text only)

input and output files and that the numbers in these files have sufficient significant digits.

Application models can include pre-processors and post-processors as well as models related to

the processes of interest (physical, chemical, and so on), making UCODE extremely powerful.

An estimated parameter can be a quantity that appears in the input files of the application

model(s), or that can be used in conjunction with user-defined functions to calculate a quantity

that appears in the input files. Observations to be matched in the regression can be any quantity

for which a simulated equivalent value can be produced, and simulated equivalent values are

calculated using values that appear in the application model output files and a set of additive and

multiplicative functions. Prior, or direct, information on estimated parameters also can be included

in the regression. The nonlinear regression problem is solved by minimizing a weighted leastsquares objective function with respect to the parameter values using a modified Gauss-Newton

method. Sensitivities needed for the method are calculated approximately by forward or central

differences, and problems and solutions related to this approximation are discussed. Statistics are

calculated and printed for use in (1) diagnosing inadequate data and identifying parameters that

probably cannot be estimated; (2) evaluating estimated parameter values; (3) evaluating the model

representation of the actual processes; and (4) quantifying the likely uncertainty of model

simulated values. UCODE is intended for use on any computer operating system: it consists of
2

algorithms programmed in perl, a freeware language designed for text manipulation, and

Fortran90, which efficiently performs numerical calculations.

INTRODUCTION

Despite their apparent utility, inverse models are used much less than would be expected -

calibrations conducted using only trial-and-error methods are much more commonly used in

practice. This is partly because of difficulties inherent in inverse modeling, which are related to the

mathematics used to represent the processes, the complexity of the simulated systems, and the

sparsity of data in most situations; and partly due to a lack of effective, versatile inverse models.

Recent work has clearly demonstrated that inverse modeling, though an imperfect tool, provides

capabilities that help modelers take greater advantage of the insight available from their models

and data. Expanded use of this technology requires tools with different capabilities than those

that exist in currently available inverse models. UCODE has two attributes that are not jointly

available in other inverse models: (1) the ability to work with any mathematically based model or

pre- or post-processor with ASCII or text only input and output files, and (2) the inclusion of

more informative statistics.

UCODE is designed to allow inversion using existing algorithms (called application

models in this work) that use numerical (ASCII or text only) input, produce numerical output, and

can be executed in batch mode. Specifically, the code was developed to: (1) manipulate

application model input files and read values from application model output files; (2) compare

user-provided observations with equivalent simulated values derived from the values read from

the application model output files using a weighted least-squares objective function; (3) use a

modified Gauss-Newton method to adjust the value of user selected input parameters in an

iterative procedure to minimize the value of the weighted least-squares objective function; (4)

report the estimated parameter values; and (5) calculate and print statistics to be used to (a)

diagnose inadequate data or identify parameters that probably cannot be estimated, (b) evaluate

estimated parameter values, (c) evaluate how accurately the model represents the actual

processes, and (d) quantify the uncertainty of model simulated values.

Application models executed by UCODE can include pre-processors and post-processors

as well as models related to the processes of interest (physical, chemical, and so on), making
3

UCODE extremely powerful. In general, graphical user interfaces cannot be used directly with

UCODE, but can be adapted with relatively little effort.

Purpose and Scope

This report documents how to use UCODE, a universal inverse code. Because UCODE

can be used with application models from any discipline, readers of this report may come from

many backgrounds. Different fields tend to have their own problems related to inverse modeling

and their own literature addressing these problems. The reader is encouraged to become familiar

with these resources.

This report begins with an overview of how UCODE solves the nonlinear regression

problem, and how the sensitivities needed for the regression are calculated. The nonlinear

regression theory used in UCODE and guidelines for its use in model calibration are described by

Hill (1994, 1998), as derived largely from Cooley and Naff (1990), and basic ideas from those

works are presented briefly. The remainder of the report describes, in detail, how to run UCODE,

construct input files, and use the UCODE output files. Appendix A includes selected application

model and UCODE input and output files for a simple problem. Appendices B and C include

information about the distributed code and a description of the code, respectively. Source files for

UCODE are available at the Internet address listed in the beginning of this report. The expertise

of the authors is in the simulation of ground-water systems, so examples in this report come from

this field. The program, however, has nearly unlimited applicability.

Users of UCODE need to be familiar with the application model(s). In addition, although

this report is written at an elementary level, some knowledge about basic statistics and the

application of nonlinear regression is assumed. For example, it is assumed that the reader is

familiar with the terms “standard deviation, variance, correlation, sensitivity, optimal parameter

values, and residual analysis”. Readers who are unfamiliar with these terms need to review a basic

statistics book. Useful references and applications are cited in Hill (1998), including the

illustrative example described by Poeter and Hill (1997).

Acknowledgments

The authors would like to gratefully acknowledge the following people. Richard Yager of

the U.S. Geological Survey introduced the authors to the idea of a universal inverse code many
4

years ago. David Boldt of the U.S. Geological Survey suggested using the programming language

perl and provided the authors with some preliminary perl code and continued advice on perl

programming. Larry Allen of the Colorado School of Mines provided some programming

assistance.

UCODE PROCEDURES

This section presents an overview of the procedures used in UCODE. An important part

of those procedures is the method for calculating sensitivities, and this is discussed in detail.

Overview

A flowchart of UCODE is presented in figure 1. This section describes the steps listed in

the flowchart and introduces the most commonly used UCODE input files. The input files

introduced are the universal, prepare, and extract files (one of each is needed for each UCODE

run), the function file (optional, one may be used for each UCODE run), and template files (one

or more are used for each UCODE run). The application model(s) executed by UCODE can

include only one process/simulation model, a sequence of such models, or any combination of preprocessors, process/simulation models, and post-processors. Each application model needs to be

set up to run in batch mode.

UCODE initializes a problem by reading the following information: (1) solution control

information, commands needed to execute the application model(s), and observations from the

universal file; (2) instructions from the prepare file, template files and, perhaps, a function file,

which are used to create application model input files with starting or updated parameter values;

and (3) instructions from the extract file for calculating simulated equivalents for each observation

from numbers extracted from the application model output files. This information is stored for

later use.
5

Figure 1: Flowchart for estimating parameters with UCODE
6

 Parameter-estimation iterations are needed to solve the nonlinear regression problems for

which UCODE is designed. In UCODE, parameter-estimation iterations begin by substituting the

starting parameter values into the template files using instructions from the prepare file to create

application model input files. UCODE then performs one execution of the application model(s)

based on commands provided by the user. Next, for each observation, UCODE extracts one or

more values from the application model output and, using instructions from the extract file,

calculates an equivalent simulated value to be compared to the observation. Equivalent simulated

values are referred to simply as simulated values in the remainder of this section. Examples of

calculating simulated values from extracted values are described below. The simulated values

calculated at this step of each parameter-estimation iteration are called unperturbed simulated

values because they are calculated using the starting or updated parameter estimates. The

unperturbed simulated values are subtracted from the observations, and these differences are

called residuals. The residuals are weighted, squared, and summed to produce the sum-ofsquared-weighted residuals objective function, which is used by the regression to measure model

fit of the observations (Hill, 1998, eq. 1).

To calculate sensitivities of the simulated values to the parameters, the application

model(s) are executed once again for each parameter, and each time the value of one parameter is

slightly different (perturbed) than its unperturbed value. The differences between perturbed

simulated values and the unperturbed simulated values are used to calculate forward-difference

sensitivities, as described below. Alternatively, the application model(s) can be executed yet again

for each parameter (not shown in fig. 1) and sensitivities can be calculated using more accurate

central differences, but this added accuracy is rarely needed to perform parameter-estimation

iterations.

Once the residuals and the sensitivities are calculated, they are used in a computer

program which is specified by name in the universal file and performs a single parameterestimation iteration. UCODE is distributed with the nonlinear regression code MRDRIVE, which

updates the parameter values using one iteration of the modified Gauss-Newton method as

described by Hill (1998). The last step of each parameter-estimation iteration involves comparing

two quantities against convergence criteria: (1) the changes in the parameter values and (2) the

change in the sum-of-squared-weighted residuals. If the changes are too large and the maximum
7

number of parameter-estimation iterations has not been reached, the next parameter-estimation

iteration is executed. If the changes are small enough, parameter estimation converges. If

convergence is achieved because the changes in the parameter values are small (1 above), the

parameter values are assumed to be the optimal parameter values – that is, the values that produce

the best possible match between the simulated and observed values, as measured using the

weighted least-squares objective function. If convergence is achieved because the changes in the

objective function are small, it is less likely that the estimated parameters are optimal and further

analysis generally is needed.

If parameter estimation does not converge and the maximum number of iterations has not

been reached, the updated parameter values are substituted into the template files, and the next

parameter-estimation iteration is performed.

When parameter estimation converges or the maximum number of iterations has been

reached, sensitivities are calculated using the more accurate central-difference method. The

additional accuracy is needed to achieve a sufficiently accurate parameter variance-covariance

matrix (Hill, 1998, eq. 26), from which a number of useful statistics are calculated. If parameterestimation converged, the final parameter values are considered to be optimized.

Once a model is calibrated, it can be used to make predictions for management or other

purposes. UCODE can calculate linear confidence and prediction intervals that approximate the

likely uncertainty in predictions simulated using the application models and optimized parameter

values.

UCODE allows substantial flexibility in the values that are to be used as simulated

equivalents of the observations or that are to be simulated as predictions because such values can

be calculated from more than one of the values extracted from the application model output

file(s). A situation in which this would be needed is when an observation is located at a point in

space that is not represented by a printed value in the simulation output, but rather falls between

the locations of a number of printed values. In this situation, UCODE can be instructed to

interpolate the printed values to obtain a simulated value to compare with the observation.

Alternatively, an observation may be the equivalent of the sum of many values or portions of

values printed by the application code(s). In UCODE, these values or appropriate portions of

them can be summed to obtain an equivalent simulated value.
8

Calculation of Sensitivities

One sensitivity equals the derivative of a simulated value, y’, associated with an

observation, y, with respect to one parameter, b. That is, ∂y’/∂b. One sensitivity is calculated for

each observation with respect to each parameter. Sensitivities serve two functions in inverse

modeling. First, they are useful indicators of both the importance of the observation to the

estimation of the different parameters and the importance of each parameter to the simulated

values. Second, they are needed by the modified Gauss-Newton method to determine parameter

values that produce the best fit, as measured by a weighted least-squares objective function. For

additional discussion about sensitivities and their utility, see Hill (1998, eq. 8-13 and Guideline 3).

In UCODE, sensitivities are calculated approximately using either a forward- or centraldifference approximation. For forward differences, each sensitivity (one for each observation with

respect to each parameter) is calculated as:

Δy’ = y’(b + Δb) - y’(b) (1)

Δb (b + Δb) - (b)

where:

Δy’ = the change in the simulated value caused by the parameter value change, Δb;

b = a vector (can be thought of as a list), of the values of the estimated parameters;

Δb = a vector in which all values are zero except for one which corresponds to the parameter for

which sensitivities are being calculated;

Δb = the nonzero value in Δb, which is called the perturbation for this parameter; and

y’(b) and y’(b + Δb) indicate that the value of the simulated value, y’, is calculated using the

parameter values represented by b or (b + Δb).

The derivative is said to be “evaluated for the parameter values in b”, which is important because

for nonlinear problems, the sensitivities are different depending on the values in b.

The size of the perturbation, Δb, is calculated as a user-specified factor

(PERTURBATION of the prepare file; see below) times the unperturbed parameter value. To

calculate backward instead of forward differences, specify a negative factor. If the unperturbedparameter value equals zero during the regression, the perturbation is calculated using the starting

parameter value. If the starting parameter value equals zero, a value of 1.0 is used to calculate Δb,

so that Δb = PERTURBATION in that circumstance. Calculating the sensitivities for each
9

parameter using either forward or backward differences requires that the application model be run

once for the unperturbed parameters and an additional time for each parameter being estimated.

The flowchart of figure 1 includes the steps by which forward-difference sensitivities are

calculated.

Central-difference sensitivities are more accurate than forward-difference sensitivities, but

require runs of the application model(s) in which the perturbed parameter is both increased and

decreased, thus increasing execution time by about a factor of two. The central-difference

sensitivities are calculated as:

Δ2 y’ = y’(b + Δb) - y’(b - Δb) (2)

Δ2 b (b + Δb) - (b - Δb)

where Δ2 is used to denote the central-difference. Again, the derivative is said to be “evaluated for

the parameter values in b”. The added accuracy of the central-difference approximation always is

needed when the variance-covariance matrix is calculated. It rarely is needed for the regression if

the suggestions described below are followed, but UCODE allows central-difference sensitivities

to be used in the regression if the variable DIFFERENCING = 2 in the universal file, as described

below.

The accuracy of the approximate sensitivities calculated by UCODE depends on the

number of accurate significant figures included in the extracted simulated values and the

magnitude of the simulated values. For example, using the problem in Appendix A, UCODE was

executed using the partial double-precision application model MODFLOW96 (Harbaugh and

McDonald, 1996) with the preconditioned conjugate-gradient (PCG2) solver (Hill, 1990) with

HCLOSE=1x10-5 and RCLOSE=1x10-5. For this problem, with hydraulic heads typically in the

100’s, this is expected to produce values that are accurate to about seven significant digits. A

print format with six significant figures (the maximum provided by MODFLOW96) was used to

print heads. The parameter values substituted into the template files typically had four significant

digits. Sensitivities calculated by UCODE with PERTURBATION = 0.01, or one percent of the

parameter value, were compared with the more accurate sensitivity-equation sensitivities

calculated by MODFLOWP (Hill, 1992) using the PCG2 solver with HCLOSE = RCLOSE =

1x10-5. For this situation, even the more accurate central-difference sensitivities differed in the

third significant digit for three of the six estimated parameters, which can produce important
10

differences in calculated parameter correlation coefficients in some circumstances (O. Osterby,

Aarhus University, Denmark and M.C. Hill, U.S Geological Survey, written commun., 1997).

This indicates that the number of significant figures used for both the simulated values and the

parameter substitution needs to be carefully considered. The simulated values and parameter

values of equations 1 and 2 need to have sufficient precision to maintain a reasonable number of

significant digits after the subtraction. Use of more than 6 or 7 significant digits, however, needs

to be considered carefully. Depending on how single and double precision variables are used in

the application model and the accuracy of the computer, the additional figures may be meaningless

and would not improve the accuracy of the perturbation sensitivities.

Some situations provide opportunities for improving the accuracy of the simulation. In

ground-water flow problems, for example, one such situation occurs when the simulated hydraulic

heads are in the 100's or 1000's. Often a simple change in datum results in simulated values being

consistently in the 10's, which allows more of the available significant figures to be used to

improve the accuracy of the solution. For example, the accuracy of the problem in Appendix A

would improve by increasing the datum by 100m. To accomplish this, 100 m would need to be

subtracted from the hydraulic-head observations, the river elevation, and the elevation of the

bottom of the top layer. In transport simulations, similar improvements may be attainable by

scaling the concentrations.

For nonlinear parameters, the accuracy of the sensitivities also depends on the size of the

parameter perturbations. Determining the appropriate size can be problematic. Theoretically, the

perturbation sensitivities approach the exact sensitivities as the perturbation size decreases.

However, perturbations that are too small can result in negligible differences in the extracted

values or differences that are obscured by round-off error. A perturbation that is too large,

however, can yield inaccurate sensitivities for nonlinear parameters. The user needs to be aware

of the potential difficulties and may need to experiment with different perturbation values.

Even in nonlinear problems, some parameters can be linear. For example, in ground-water

problems, recharge is a linear parameter if the forward problem is linear (the system is confined

and all boundary conditions are linear). For linear parameters, perturbations generally can be

large, and inaccurate sensitivities result only when the perturbation is so small that the numerators

of equations 1 and 2 are dominated by round-off error.
11

A value of zero is calculated and printed for the sensitivity by UCODE if the extracted

values for the perturbed and unperturbed parameters are identical given the number of significant

figures printed in the output. If many of the other sensitivities related to this parameter are

nonzero, the zero value may simply indicate that the observation is not very important to

estimation of the parameter involved, and this is correctly represented by the zero sensitivity

value. In such a situation, no corrective action is needed. If all of the sensitivities for a parameter

are zero, a problem clearly exists, and corrective action is needed. If many sensitivities for a

parameter are zero, corrective action may or may not be needed. Five possible corrective actions

are: (1) smaller solver convergence criteria can be specified in the application codes to improve

the accuracy of the simulated values, but also will increase execution time; (2) the extracted

values can be printed with more significant figures in the application model output file if the

values are calculated with sufficient accuracy; (3) the datum of the problem can be changed or a

normalization can be applied, as discussed above; (4) the perturbation for the parameter can be

increased (this may require use of more significant digits to represent the parameter in the

template files); and (5) the methods for coping with insensitive parameters discussed below can be

employed. If available, the first three options are preferable because the fourth option will

produce less accurate sensitivities and the fifth may require a less detailed parameterization.

INVERSE MODELING CONSIDERATIONS

Calibration of models of complex systems is commonly hampered by problems of

parameter insensitivity and extreme correlation caused by data that are insufficient to estimate the

defined parameters. A lengthy discussion of the utility and limitations of using nonlinear

regression methods in the calibration and analysis of complex models is beyond the scope of this

report, but is considered by Hill (1998). The discussions of this report in this section and in the

section “Using UCODE Output” briefly present a few key issues and provide suggestions and

warnings where they will be most readily available to users of UCODE.

Guidelines for Effective Model Calibration and Analysis using Nonlinear Regression

There are many opinions about how nonlinear regression can best be applied to the

calibration of complex models, and there is not a single set of ideas that is applicable to all
12

situations. It is useful, however, to consider one complete set of guidelines that incorporates many

of the methods and statistics available in nonlinear regression, such as those suggested and

explained by Hill (1998) and listed in table 1. This approach has been used successfully even with

exceptionally complex systems; see D’Agnese and others (1998, in press). Table 1 is presented to

introduce and remind the reader of the guidelines, but the brief statements could be misleading.

Those who wish to use these guidelines are encouraged to read the complete discussion.

Table 1: Guidelines for effective model calibration (from Hill, 1998)

 1. Apply the principle of parsimony (start very simple; build complexity slowly)

 2. Use a broad range of information to constrain the problem

 3. Maintain a well-posed, comprehensive regression problem

 4. Include many kinds of data as observations in the regression

 5. Use prior information carefully

 6. Assign weights which reflect measurement errors

 7. Encourage convergence by making the model more accurate

 8. Evaluate model fit

 9. Evaluate optimized parameters

10. Test alternative models

11. Evaluate potential new data

12. Evaluate the potential for additional estimated parameters

13. Use confidence and prediction intervals to indicate parameter and prediction

 uncertainty

14. Formally reconsider model calibration from the perspective of the desired predictions

Parameterization

Parameterization is the process of identifying the aspects of the simulated system that are

to be represented by estimated parameters. Most data sets only support the estimation of

relatively few parameters. In most circumstances, it is useful to begin with simple models and

incorporate complexity as warranted by the complexity of the system and the inability of the

model to match observed values (Guideline 1 of table 1).

To obtain an accurate model and a tractable calibration problem, data not used directly as

observations in the regression need to be incorporated into model construction (Guideline 2 of
13

table 1). For example, in ground-water systems, it is important to respect and use the known

hydrogeology, and it is unacceptable to add features to the model to attain model fit if they

contradict known hydrogeologic characteristics.

During calibration it may not be possible to estimate all parameters of interest using the

available observations. In such circumstances, consider the suggestions of the section “Common

Ways of Improving a Poor Model”.

Starting Parameter Values

Nonlinear regression begins with starting parameter values. There are three aspects of

these starting values that are important.

1. In UCODE, depending on the option chosen, the starting parameter values are used to

calculate residuals, scaled and composite scaled sensitivities, and parameter correlation

coefficients. These statistics are important to diagnosing potential problems with the model

and the regression and to determining ways of addressing these problems. In most

circumstances, it is useful to evaluate these statistics regularly as the model changes during the

calibration process. The statistics printed by UCODE are discussed in the section “Using

UCODE Output” and in Hill (1998). The latter also includes a discussion of how model

nonlinearity effects the analysis.

2. It is sometimes advantageous to change the starting parameter values. As calibration

proceeds, parameter values that produce a better model fit than the original starting parameter

values are estimated by regression. Using the estimated parameter values to update the

original starting parameter values used by UCODE in subsequent regression runs can reduce

execution time because, commonly, fewer regression iterations are required when the starting

parameter values produce a closer model fit.

3. The starting parameter values can be used to test for the uniqueness of optimized parameter

values; that is, the values at which the regression converges. This is accomplished by initiating

the regression with different sets of starting values. If the resulting parameter estimates differ

from each other by values that are small relative to their calculated standard deviations, the

optimization is likely to be unique. If this is not the case, the optimal parameter values are not

unique. Lack of uniqueness can be caused by a number of factors. If caused by local minima,
14

it may be possible to examine the objective function value achieved by the different sets of

parameter estimates and identify a global minimum as the set of estimated parameter values

that produces the smallest objective-function value. If non-uniqueness is caused by extreme

parameter correlation, the objective-function value for each optimized set of parameters is

likely to be similar and at least one pair of parameters will have a correlation coefficient very

close to 1.0 or -1.0. This is demonstrated clearly by the simple test case presented by Poeter

and Hill (1997).

Common Ways of Improving a Poor Model

Problems such as insensitivity and extreme correlation of parameters and poor model fit

are common in model calibration. Possible ways of addressing these problems are as follows,

listed in order of how often the suggestion is most appropriate in practice.

1. Reconsider the model construction. Regression difficulties and poor model fit can help reveal

misconceptions used to construct the model.

2. Modify the defined parameters by adding, omitting, and(or) combining parameters to be

estimated. See section “Parameterization” above.

3. Carefully eliminate observations or prior information based on evidence that they are likely to

be biased. Do not omit observations just because the model does not fit them well.

4. Adjust weights either for groups of observations and prior information, or perhaps

individually. Small changes in the weighting rarely affect regression results, so, in most

circumstances, time-consuming repeated runs using slightly different weights should be

avoided.

A useful approach is to continually strive to identify and correct inaccuracies in the model

construction or the use of observations. Use the model fit and calculated parameter sensitivities

and correlation coefficients to facilitate this process. Nearly always, nonlinear regression will

converge as the problems are resolved. This is the ‘Achieve convergence through improved model

accuracy’ approach described in Hill (1998). Additional potential difficulties and resolutions also

are discussed in Hill (1998).
15

Alternative Models

The sparse data sets available for the development of most models often support equally

feasible alternative conceptual models, and it is important to evaluate all such models. Equally

feasible conceptual models are those that reasonably represent known conditions and yield an

acceptable fit to the data with reasonable optimal parameter values, as determined using

regression. All such models need to be used to make predictions and to determine the associated

confidence in those predictions. If the various models produce a range of predictions that are

different enough to make the appropriate management decision or scientific conclusion unclear,

statistics of the regression can be used to help identify data that are most likely to differentiate the

models, and thus help to eliminate those that are not representative of the system.

Residual Analysis

Analysis of the residuals (observed minus simulated values) is crucial to judging whether a

model is likely to represent a system accurately. A complete analysis of residuals includes

consideration of summary statistics and consideration of graphs and maps of weighted and

unweighted residuals (see section “Graphical Analysis of Model Fit and Related Statistics” and

Guideline 8 of Hill, 1998). In the graphical analyses, some departure from ideal patterns may be

attributed to the limited number of data and the fitting of the regression. The effect of these

contributions can be evaluated by generating random data sets that have the same number of data

and characteristics consistent with the fitting of the regression. Such random data sets are

generated by UCODE using a slightly modified version of the computer program RESANP (Hill,

1994; Cooley and Naff, 1990).

Predictions and Differences and Their Linear Confidence and Prediction Intervals

Predictions are calculated by UCODE using the calibrated application model(s). In these

simulations, the estimated parameter values are used and the predictions are defined using

UCODE input files in the same manner that observations were defined for model calibration.

UCODE includes some sophisticated methods of calculating and evaluating predictions of

interest. First, UCODE allows differences to be calculated by subtracting values produced by

what is called a base simulation from values produced by what is called a predictive simulation.

That is:
16

(value from predictive simulation) - (value from base simulation) = difference

Commonly, but not always, the base simulation represents conditions related to the calibration.

For a steady-state calibration model, the base case commonly is equivalent to the calibration

conditions; for a transient calibration the base case commonly is equivalent to the conditions at the

end of the calibration period. In a ground-water example, values of interest might be hydraulic

heads at the same location before and after additional pumpage is imposed on the system. In this

circumstance, the predictive simulation includes the additional pumpage, and the base simulation

does not. The difference would be the drawdown resulting from the pumpage. The use of

differences is discussed further by Hill (1994).

UCODE can be used to calculate 95-percent linear confidence and prediction intervals on

both predictions and differences, using equations 11 though 17 and a slightly modified version of

computer program YCINT presented by Hill (1994). This is accomplished in UCODE using

central-difference sensitivities (eq. 2). Linear confidence and prediction intervals indicate the

uncertainty with which the predictions or differences are determined using the calibrated

application model(s). In this context, confidence and prediction intervals can be defined as

follows:

Confidence intervals represent the uncertainty in the simulated values that is a propagation

of the uncertainty in the estimated parameter values. For the purpose of calculating the

confidence interval, the uncertainty in the estimated parameter values is expressed by the

optimal parameter variance-covariance matrix (Hill, 1998, eq. 28). The validity of the

confidence intervals depends on the calibrated application model(s) accurately representing

the true system, the model being linear, and the weighted residuals being normally distributed.

Prediction intervals include the uncertainty in the estimated parameter values as described

for confidence intervals, but also include the effects of the measurement error that is likely to

be incurred if the predicted quantity were to be measured. Prediction intervals need to be used

when a measured value is to be compared to the calculated interval.

From these definitions, it is obvious that a single prediction can have an associated

confidence interval or prediction interval, depending on whether or not the effects of

measurement error are to be included. The idea of prediction interval is distinct from the

predictions, but the similarity of the terms can cause confusion. The terms need to be used

carefully.
17

There are several ways to calculate the confidence and prediction intervals, depending on

how many predictions and differences are to be considered together. The calculations differ only

in the critical values used (Hill, 1994, eq. 11-17), which are statistics from standard probability

distributions. The probability distributions of concern are the Student-t, Bonferroni-t, and Fdistributions. Tables of the statistics from these distributions were programmed into UCODE, so

that the appropriate critical value is determined by the program, based on information provided by

the user. Two types of intervals are considered: individual and simultaneous, and there are three

ways of calculating simultaneous intervals. UCODE calculates all of the intervals and prints three

of them after eliminating one as being less accurate than its alternative. Of the three intervals

printed, the user needs to choose the appropriate interval for a given application. The intervals

and selection criteria are described in the following paragraphs.

Individual intervals apply when only one prediction or difference is of concern. There is

only one method of calculating individual linear confidence and prediction intervals (Hill, 1994,

eq. 11 and 15), and it is exact if the model is linear and accurate, and the residuals are normally

distributed.

Simultaneous intervals apply when the number of predictions and differences of concern

exceeds one, or when the interval is calculated on a quantity which is not precisely defined, such

as the largest value wherever it occurs within the model.

If a finite number of predictions and differences are of concern, and the number is

represented by k, the approximate Bonferroni and Scheffe d=k (or, if k is greater than the number

of parameters, np, then Scheffe d=np) simultaneous intervals apply. Both methods tend to

produce intervals that are larger than exact intervals would be for a linear, accurate model with

normally distributed residuals. In any circumstance, therefore, the smaller of the two intervals

needs to be used, and UCODE only prints the smaller of the two intervals. A potential problem

occurs when a combination of predictions and differences are included in the k values, and the

total number of values of concern is finite. The confidence and prediction intervals on the

predictions are calculated using a critical value determined using the number of predictions; the

confidence and prediction intervals on differences are calculated using a critical value determined

using the number of differences. This problem can be resolved by defining enough predictions or
18

differences to make the number used to determine the critical values the desired number, and then

ignoring results that are not of interest.

If the number of predictions and differences of concern cannot be exactly defined,

simultaneous linear confidence and prediction intervals using the approximate Scheffe d=np

method apply. Scheffe d=np intervals tend to be larger than exact linear intervals would be for a

linear, accurate model calculated for the same circumstances.

While linear confidence and prediction intervals can be useful indicators of the uncertainty

with which the prediction or difference has been determined, as tested by Christensen and Cooley

(in press), the intervals also can be misleading if interpreted and presented without understanding

and correctly representing their underlying assumptions. In particular, the significance level of the

intervals is nominally 5 percent (1.0 minus 0.95 for 95-percent intervals), but depends on the

model being linear for parameter values near the optimized parameter values, and on the model

accurately representing the system. Model linearity can be tested with UCODE, which uses a

slightly modified version of BEALEP (Hill, 1994; Cooley and Naff, 1990); model accuracy is

evaluated by analyzing model fit as mentioned above in the section “Residual Analysis”. The

proper use, and potential inaccuracies, of using linear confidence and prediction intervals for

nonlinear problems is discussed by Hill (1994 and 1998) and Christensen and Cooley (in press).

Another common problem occurs when the predictions and differences of interest include

types of quantities not included in the observations used to calibrate the model, or the calibration

conditions differ dramatically from the calibration conditions. In such a circumstance, confidence

and prediction intervals may be useful, but generally do not accurately indicate prediction

uncertainty and need to be used with caution.

RUNNING UCODE

This section (1) contains information on filename restrictions that need to be respected for

UCODE to perform correctly, (2) provides a complete list of the filenames UCODE uses with

brief explanations; and (3) describes the command used to run UCODE. Additional information

on the input and output files is presented in subsequent sections.
19

The PHASE of the UCODE execution is mentioned below in describing the input and

output files. PHASE is a variable fully defined later in the instructions for input file fn.uni (see

below), and governs the input files needed and the output files produced.

Filename Restrictions

The filenames involved in UCODE include the names of the program files, batch files used

to run the application models, files used by the application model, UCODE input and output files,

and temporary files used by UCODE. Names of the UCODE program files and input and output

files need to conform to the restrictions described below. Names of the batch files and files used

by the application model are unrestricted.

Most UCODE input and output files are named with a user-defined prefix (referred to as

fn) specified in the UCODE command line (see the section “Run Command”). For the required

universal, prepare, and extract input files, and the optional function file, all of which are presented

below, UCODE requires the suffixes uni, pre, ext, and fnc respectively. For example, fn.uni is the

universal input file, where fn is replaced by the user-defined prefix. Italicized filenames are used to

refer to these generic filenames in this report to remind the reader that the fn is replaced. For

case-sensitive operating systems, fn needs to be the same case as is used on the UCODE

command line, and the suffix needs to be lower case.

Output filename suffixes are specified by UCODE, and always start with an underscore

(for example, fn._ot) to make them readily identifiable. In most circumstances, the UCODE

output files are written over in subsequent runs of UCODE. To preserve output files, the prefix of

the subsequent run can be changed, or files can be moved to another directory or renamed.

One set of UCODE input and output files have no naming restriction. These are the

template files and the application model input files the template files are used to create. Names for

both types of files are specified in the UCODE prepare input file (see below). For convenience,

template files are referred to as *.tpl in this report. Typically, there are many template files for a

single run of UCODE, so that the * would be replaced by many names.

There are 18 temporary files produced by UCODE named u9_zscr.1 through u9_zscr.16,

and u9_zscr.44 and u9_zscr.45, as listed in Appendix C. At the end of execution, UCODE

deletes all files that start with “u9_zscr.”. Care needs to be taken to ensure that no other files
20

with these names are located in the directory in which UCODE is executed. The files are given

their unusual names in hopes of avoiding naming conflicts.

Program Files for UCODE

The UCODE program consists of two files that most modelers will execute: a perl file and

a Fortran executable file. Two additional files are needed to interpret the perl file and another two

are needed for execution of the Fortran executable file, as compiled. These files are briefly

described here, and are binary files except as noted.

ucode An ASCII file that contains the perl portion of the inversion code. The perl

language does not require that executables be created.

Executable

of mrdrive The compiled and loaded Fortran90 inversion algorithm executed by UCODE. The

Fortran files also are distributed with UCODE, and are described in Appendix C. If

another inversion algorithm is used, its name needs to be specified in input file

fn.uni (see below).

Executable

of perl A freeware program that interprets the ucode file to execute its commands.

For distribution

on a PC

perl100.dll Windows file needed for executing perl on a PC under windows.

Copies of the perl executable and accessory files as required for some operating systems can be

retrieved from http://www.perl.com/perl/ and are available for most operating systems (UNIX,

DOS, SUNOS, and so on). Additional details regarding distribution and compiling of UCODE are

given in a “readme” file on the distribution sites and Appendix B. A more detailed description of

the first two program files is presented in Appendix C.

Program Files for the Application Model(s)

Application model program files need to be accessible for UCODE execution. They can be

located in another directory, and can be referenced directly or through a batch file. A batch file is

needed if variables are defined on or following application model command lines.
21

Input Files

The input files needed to run UCODE are listed here. Directions for constructing all but

the application model input files are included in the following section “Input File Construction”

and examples are presented there and in Appendix A. fn in the filenames is replaced by the userdefined prefix specified in the UCODE run command. The filenames are italicized to remind the

reader of this substitution. The first three files, fn.uni, fn,pre, and fn.ext have strict naming

requirements as discussed above, as does an optional fourth file, fn.fnc.

Universal file (Note naming restrictions discussed above)

fn.uni Contains control parameters for the regression and printing, and observation

information.

Prepare file (Note naming restrictions discussed above)

fn.pre Specifies whether a function file fn.fnc is used to define parameters. Names the

template files and the application model input files that the template files are used

to create with the defined parameters. Provides the starting parameter values,

reasonable minimum and maximum values of the parameters, perturbation size, and

formatting information for substituting parameter values into template files.

Defines prior information on the parameters.

Extract file (Note naming restrictions discussed above)

fn.ext Names the application model output files, describes how to extract values from the

output, and defines how to use the extracted information to calculate simulated

equivalents of the observations.

Function file (Note naming restrictions discussed above)

fn.fnc Optional file that is read only if indicated in the prepare file. Allows functions of

the parameter values to be used as input to the application model.

Template files (any filenames can be used, but *.tpl is used in this report)
22

*.tpl Copies of application model input files, edited such that search strings replace

values derived from the defined parameters. The prepare file describes how the

search strings are to be replaced with numbers to create input files for the

application model.

fn.u44, fn.p44, fn.f44, and fn.e44;

 fn.u45, fn.p45, fn.f45, and fn.e45 Additional input files needed when PHASE=44 or 45 (see

directions for the universal file below). Rudimentary versions of these files with

comments to guide their completion are created by UCODE, with the prefix,

“temp” as discussed below in the section ‘Input Files Needed for Predictions and

Their Linear Confidence and Prediction Intervals’.

Input files for the application model(s) that are not produced by UCODE using the template files.

Output Files

The following is a complete list of the UCODE output files with brief descriptions, and is

provided to help the user classify UCODE output files. Additional information about file content,

suggestions for using the output, and examples are provided in the section “Using UCODE

Output” and Appendix A. fn represents the user-specified filename prefix (see section “Run

Command” below). As noted above, the UCODE output files commonly are written over in

subsequent runs of UCODE. To preserve output files, change the prefix for different runs, move

the files to another directory, or rename the files.

fn._ot The main UCODE output file. Contains some of the diagnostic and inferential

statistics described by (Hill, 1998). Content depends on the value of PHASE as

specified in the universal file.

fn._ck Reports the extraction commands from the fn.ext file, the value extracted from the

application model output file using each extraction command, and the simulated

values that are calculated from extracted value(s). Also reports the name and value

of the observation listed in the fn.uni file to which the regression will compare the
23

simulated value. Use this file to find and correct errors in the fn.ext and fn.uni

input files.

fn._st A restart file containing parameter values from each parameter-estimation

iteration. Only generated for PHASE=3. Use this file to obtain intermediate

parameter values for restarting the regression.

fn._os, fn._ww, fn._ws, fn._r, fn._w, fn._nm , fn._rp, fn._rd, fn._rg Files containing data for the

graphical analyses of model fit described by Hill (1998). These data can be used to

produce x-y graphs, maps, 3D visualization, and so on. Examples of these files are

listed in section “Residual Analysis Files” of Appendix A.

fn._11, fn._33, fn._44, fn._45 Primary output files for PHASE=11, 33, 44, and 45, respectively.

fn._lb File created when PHASE=11, contains labels for columns of file fn._11. (lb stands

for label).

fn._tp File created when PHASE=1, but only written during PHASE=33, only used for

PHASE=33, 44 and 45; generally not accessed by the user.

fn._b1 File created when PHASE=1, but only written during PHASE=3, and used for 33;

generally not accessed by the user.

fn._b2 File created when PHASE=33, generally not accessed by the user.

fn._y1, fn._y2 Files created when PHASE=44 and 45, respectively, but generally not accessed by

the user.

Selected application model input files are produced by UCODE using the template files.

Run Command

The run command needs to be executed in the directory containing the UCODE input

files. An example run command is:

perl ucode fn

where: "perl" is the command necessary to invoke the Perl program on the computer where the

code is installed; and "ucode" is the pathname for the UCODE Perl script; and fn is a filename

prefix that needs to be replaced using any name that conforms with filename restrictions of the
24

operating system being used. The only exception is that spaces are not allowed in fn, even on

operating systems that allow spaces in filenames.

INPUT FILE CONSTRUCTION

The UCODE input files are described in detail in this section. As discussed in the previous

section ‘Filename Restrictions,’ most of these files need to have names of the form fn.*, where fn

is replaced by the prefix defined in the UCODE run command, and the suffix * is specified for

different types of files. For example, the universal file suffix needs to be uni, and the universal file

is referred to as fn.uni in this report. Italicized names are used to remind the reader that the fn

prefix is replaced by the user-defined prefix from the run command.

The following sections describe the universal, prepare, template, function, and extract

input files in detail and provide annotated examples of each file. Four characteristics are shared

by all but the template files, so are listed here and briefly mentioned again below.

free format Each line of the input files is read using free-format, but the number of variables

specified for each line needs to be adhered to strictly.

blank lines Blank lines are permitted anywhere in all files, except for fn.uni in which no blank

lines are permitted.

# Comments are included in all of the files by inserting the symbol #, after which all

characters are ignored by UCODE. In the universal and extract files, comments

can be inserted as the first character of a line or to the right of input data after one

or more blank spaces. In the prepare file, comments need to occupy an entire line

and the # needs to be located in the first column.

END The last line of the data input of each file needs to be END or end, starting in the

first space. Anything after this line will not be read, which provides a convenient

place for notes. On some computers at least one line needs to follow this line; that

is, an “enter” or “return” needs to be inserted at the end of the line.

Annotated example files presented in this section illustrate a variety of input options. The

files presented generally are not consistent with one another, and simply display possible input file

construction.
25

Universal Input File—fn.uni

The universal input file, fn.uni, consists of solution control variables, the name of the

inversion model, the command(s) needed to execute the application model(s), variables governing

output, and a list of observation information.

Directions for the Universal Input File

Except for the last part of this input file, which contains the observation information, each

line contains only one variable. Comments can be included either by placing a # sign in the very

first column of a line, or by placing a # sign after one or more blank spaces at the end of a data

input line. Blank lines are not permitted before the END line. The data input, in order of

appearance, are as follows.

PHASE - Specifies the function UCODE performs. It is useful to begin with PHASE=1 and

proceed to 2 and(or) 22, and then 3. Runs with PHASE=33, 44, and 45 generally

are run only using a satisfactorily calibrated model. Phase 11 produces values

which can be used to create a sum-of-squared, weighted residuals contour graph,

and may never be used in some circumstances. The function of each PHASE is

described briefly in the following table.

PHASE Function

1 Parameter substitution and forward modeling using the starting parameter values

specified in the prepare file.

11 Substitutes parameters, performs a forward model run, and calculates the sum-ofsquared, weighted residuals objective function for many sets of parameter values.

PHASE=11 produces data sets from which objective-function contour graphs can be

produced. Execution of PHASE=11 requires modification of the search-string lines

of the fn.pre file.

2 Sensitivities at starting parameter values

22 Sensitivities and parameter variances, covariances and correlations at starting

parameter values. Execution time for 22 is about twice that of 2 because central

differences, rather than forward differences are calculated.

3 Perform regression.

PHASE=33 and 44 need to be preceded by executing UCODE with PHASE=3 and GRAPH=1

in the same directory (GRAPH is a variable in fn.uni).

33 Calculate the modified Beale’s measure of model linearity using methods discussed

by Cooley and Naff (1990) and Hill (1994).
26

44 Calculate predictions and their linear confidence and prediction intervals. Only

PHASE is read from the universal file.1

PHASE=45 needs to be preceded by executing UCODE with PHASE=44 in the same

directory.

45 Calculate differences and their linear confidence and prediction intervals. Only

PHASE is read from the universal file.1

1. Calculated using a slightly modified version of the computer program YCINT (Hill, 1994).

The following six variables control the sensitivity and regression calculations and define the

inversion algorithm.

DIFFERENCING - Controls the method used to calculate sensitivities during the parameterestimation iterations (starting with 1 is recommended):

1 forward differencing is used; and

2 central differencing is used and execution time is likely to double.

TOL When parameter values change less than this fractional amount between regression

iterations, parameter estimation converges (0.01 is recommended).

SOSR When the sum-of-squared, weighted residuals changes less than this fractional

amount over three regression iterations, parameter estimation converges. Ideally,

for the final results convergence is achieved by satisfying the TOL criterion so that

SOSR can equal 0.0 (in which case SOSR is not used as a convergence criteria).

Values of SOSR of 0.01 and even 0.1 can be useful, however, in the early stages of

model calibration because it stops the regression when it is not progressing.

NOPT Controls whether quasi-Newton updating will be used when the sum-of-squared,

weighted residuals changes less than 0.01 over three regression iterations (using 0

is recommended):

0 no quasi-Newton updating; and

1 apply quasi-Newton update when criterion is met.

NOPT = 1 may facilitate convergence of highly nonlinear problems (Hill, 1998).

MAX-ITER - Maximum number of regression iterations (starting with twice the number of

parameters is recommended; it is rare that more iterations will be helpful for

problems that do not converge).
27

MAX-CHANGE - Maximum fractional change of a parameter value allowed in one regression

iteration. For example, if MAX-CHANGE = 2.0, a parameter value of 1.0 will not

be allowed to change by more than 2.0 (MAX-CHANGE times the parameter

value). Consequently, the new value will be between -1.0 and 3.0. A parameter

value of 2.0 will not be allowed to change more than a value of 4.0 (again, MAXCHANGE times the parameter value), and the new value will be between -2.0 and

6.0). This maximum change is applied to the physical parameter value, not its log

transform. Exceptions are discussed in Hill (1998, Appendix B). (MAXCHANGE = 2.0 is common, but smaller values may help an oscillating regression

to converge.)

INVERSION ALGORITHM - Name of nonlinear regression executable (MRDRIVE, as

distributed; generally the path name needs to be specified).

The following lines control the application model(s)

N-APPLICATIONS - Number of application models used.

APPLICATION MODEL EXECUTION COMMANDS - Commands needed to run the

application models. Application models can be pre-processor or post-processors.

If the application model requires screen input, create a batch file to run the

application model. In many situations, the batch file will contain just one line with

the application model command followed by < filename, where the file filename

contains information that is typically input to the screen. The example in Appendix

A illustrates a rather complex connection of files (m.bat, in, ex.fil, and out). The

file m.bat runs the application model in batch mode, defining the file in as the

standard input and the file out as the standard output using <in and >out,

respectively. The file in simply contains the filename ex.fil , which would need to

be typed in answer to a query on the screen if the application model were executed

directly, as opposed to in batch mode. Specifying the file out results in the

diversion of printing from the screen to out, thus allowing messages provided by

UCODE concerning the regression to appear on a less cluttered screen.

The following four variables control output, and do not influence the solution.
28

SCALE-SENSITIVITIES - Controls the scaling applied to the printed sensitivities. (typically, 1,

2, or 3 are used, rarely is the user interested in viewing unscaled sensitivities):

0 No scaling is applied, and unscaled sensitivities are printed.

1 Dimensionless scaled sensitivities are printed. Sensitivities are scaled by the

parameter value times the square-root of the weight, resulting in dimensionless

numbers. Composite scaled sensitivities also are printed.

2 One-percent scaled sensitivities are printed. Sensitivities are scaled by the

parameter value divided by 100, resulting in numbers with the dimensions of the

observations.

3 Both dimensionless and one-percent scaled sensitivities are printed.

PRINT-INTERMEDIATE - Controls whether residuals and sensitivities are printed for

intermediate iterations (using 0 is recommended):

0 no printing for intermediate iterations; and

1 printing for intermediate iterations.

GRAPH - When PHASE=3, controls printing of data for graphical evaluation of residuals

and creation of input files needed for executing PHASE=33 and 44:

0 do not print post-processing files; and

1 print post-processing files (generally recommended because the files generally are

not large and it is convenient to have them available).

NUMBER-RESIDUAL-SETS – The number of sets of residuals that will be produced and

written to files fn._rp, fn._rd, and fn._rg for evaluation of apparent nonrandomness of residuals. All sets used need to be generated in the same run, so if

additional sets are desired, execute PHASE=3 again (using final parameter values

as starting values to minimize execution time), specifying the total number of

desired sets of residuals.

LIST OF OBSERVATIONS - A list of observations follows; one line for each observation. This

observation list needs to be coordinated exactly with the extract input file (fn.ext)

discussed later, in that the same OBS-NAMEs need to occur in both files. If a

mismatch occurs, UCODE prints an error message and stops. It may be

convenient, but is not necessary, to put the observations in the same order in the
29

two files. To list them in the same order, use the instructions for the extract file to

determine an order that considers the extraction effort. Each line in the list of

observations includes the following variables.

OBS-NAME OBS-VALUE STATISTIC STAT-FLAG PLOT-SYMBOL The five values

need to appear on one line separated by one or more blanks, and need to be in this

order. The variables are defined as follows.

OBS-NAME - Observation name including up to 12 non-blank characters. OBSNAME need not occupy 12 spaces, but needs to be followed by a blank space.

OBS-VALUE - Observed value.

STATISTIC - Statistic used to calculate the weight for the observation. The

statistic can be a variance, standard deviation, or coefficient of variation, depending

on the value of STAT-FLAG. The three options are provided so that the user can

specify the statistic that is most meaningful in a given situation. For all three

options, the statistic is used to calculate the variance, and the weight for the

observation is set to one divided by the variance. For further discussion about

calculation of weights and suggestions for determining STATISTIC, see Hill

(1998, ‘Weights for Observations and Prior Information’ and Guideline 6).

STAT-FLAG - A flag indicating whether STATISTIC is a variance, standard

deviation, or coefficient of variation.

 STAT-FLAG STATISTIC___

0 variance

1 standard deviation

 2 coefficient of variation

PLOT-SYMBOL - Printed in files for graphical analyses to allow control of the

symbols used when plotting data. Commonly, different values for PLOT-SYMBOL

are used for different types of observations. The utility of this input value depends

on the plotting program.

END - Indicates the end of the data input for this file.
30

Annotated Example of a Universal Input File

3 # phase

### sensitivity and regression control

1 # differencing: for sensitivity calculations (1 forward, 2 central)

0.01 # tol, convergence criterion based on changes in estimated parameter values

0.0 # sosr, convergence criterion based on changes in model fit

0 # do not apply quasi-Newton updating

10 # max-iter: maximum # of iterations

2.0 # max-change: maximum fractional parameter change

..\code\mrdrive # path and name of inverse code

### application models

 2 # number of application models

m # run command for application model

mt3d # run command for application model

### printing options

 1 # scale-sensitivity: (0, none; 1 dimensionless scaled; 2, one-percent scaled; 3, 1 and 2)

 0 # print-intermediate: (0 no print, 1 print)

 1 # graph: print graphing files (0 no, 1 yes)

 10 # number of sets of normally distributed random numbers to generate

### observations

# NOTE: This example shows only a few observations. To estimate six parameters, far more

# than six observations would be needed.

# The same plot-symbol values are given to observations in selected categories

#obsname obs stat stat-flag plot-symbol

1A 100.2 0.5 0 1 # observation 1

1B 121.5 0.5 0 1 # observation 2

1C 141.0 0.005 2 1 # observation 3

2A 121.8 0.5 0 2 # observation 4

f low 2. 0.80 1 3 # observation 5

# observation identifiers can be up to 12 characters long

concentratio 1.2e-7 0.03 2 4 # observation 6

mass 2e-3 4e-4 1 5 # observation 7

END

Prepare File—fn.pre, Template, and Function (fn.fnc) Files

Unlike the other input files, the prepare input file is associated with additional input files.

These associated files are the template and function files, and also are discussed in this section.

Directions for the Prepare Input File

Indicator codes are used in the prepare file to indicate the purpose and composition of

each line. Indicator codes are #, F or f, <, >, /, and P or p, and need to be in the very first column
31

of all nonblank lines in the prepare file. Most lines can appear in any order, except as follows

(these exceptions also are noted below): (1) if the F (or f) indicator code is used, only the #

indicator code can precede it; (2) the < and > indicator codes are associated pairs with the <

defining a template file and the following > specifying the associated application model input file;

and (3) all lines beginning with P need to follow any lines beginning with /. Blank lines in the

prepare file are ignored, and can be used to make the file easier to read. The indicator codes and

information that needs to follow them are described here.

# Comments - any information you may wish to note in the prepare file. Comments

cannot be located as flexibly in the prepare file as in the universal, function, and

extract files: in the prepare file the # indicator code only can be located in the first

column of a line; they cannot follow input data on the same line.

F Indicates whether functions will be applied to parameters before substitution, and

needs to be the first line in the prepare file that is not blank or a comment. Only

two possibilities exist:

F yes Use the function file.

F no Do not use the function file.

If the indicator code F does not appear in the prepare file, no function file is used.

< The name of a template file which contains symbols for which values are to be

substituted.

> The name of the application model input file that is to be created by substituting

numbers into the preceding template file.

/ Each of these lines defines a parameter name, provides information for finding

where the value of the parameter is to be substituted in a template file, specifies the

starting parameter value, and lists other parameter information. Each line contains

eight items separated by one or more blanks, and ordered as:

/SEARCH-STRING START-VALUE REASONABLE-MINIMUM REASONABLE-MAXIMUM

PERTURBATION FORMAT LOG-TRANSFORM ESTIMATE

Each item is described below.
32

SEARCH-STRING - A parameter name preceded by an exclamation point,

and followed by commas and a final exclamation point; for example, !Rch1,,,!.

The parameter name is used to label parameter-related values in UCODE output

files, to define prior information (see the P indicator code below), and to define

parameter-substitution functions (see the section ‘Parameter-Substitution

function file construction’ below). Parameter names can include any

combination of upper and lower case letters (A-Z, a-z) and numerals (0-9). The

total number of characters in SEARCH-STRING, including the exclamation

points, defines the number of spaces used to insert numbers into template files

to create application model input files. For example, SEARCH-STRING

!Rch1,,,! provides inserted numbers with nine spaces. A single parameter can

be used to replace numbers in more than one template file to produce more than

one application model input file, in which case the SEARCH-STRING for the

parameter will appear in more than one template file.

START-VALUE - The starting value for this parameter, with which the

parameter-estimation iterations begin. Do not specify the log of log-transformed

parameters (discussed below); they are calculated by the program.

REASONABLE-MINIMUM - For PHASE=3, this is the reasonable minimum

value for this parameter. The value is used solely to determine how the final

optimized value of this parameter compares to a reasonable range of values. Do

not specify the log of log-transformed parameters; they are calculated by the

program. For PHASE=11, this value is used as the lower limit of the range over

which the parameter value is varied for calculating the sum-of-squared,

weighted residual objective function.

REASONABLE-MAXIMUM - For PHASE=3, this is the reasonable

maximum value for this parameter. This value is used solely to determine how

the final optimized value of this parameter compares to a reasonable range of

values. Specify native values even if the parameter is log-transformed. For

PHASE=11, this value is used as the upper limit of the range over which the
33

parameter value is varied for calculating the sum-of-squared, weighted residuals

objective function.

PERTURBATION - For most PHASES, this is the fractional amount the

parameter is perturbed to calculate sensitivities. Starting with 0.01, one percent

of the parameter value, is recommended. A larger value is needed if too many

calculated sensitivities for the parameter are printed as 0.0. If a string of

asterisks or if a divide-by-zero-error occurs; PERTURBATION can be

increased or, in some situations, FORMAT (see below) can be redefined to

provide more significant digits. For PHASE=11, PERTURBATION is the

number of values the parameter is assigned, bounded by the values specified as

REASONABLE-MINIMUM and REASONABLE-MAXIMUM. For

PHASE=11, PERTURBATION needs to be greater than 1; for all other

phases, values less than one are needed.

FORMAT - The format for the value of the SEARCH-STRING variable as

read by its application model. This format needs to be compatible with the

format specified for the input file in the application model documentation. (See

the section ‘Format Configuration Rules’). If a function is applied such that the

value substituted for the SEARCH-STRING is many orders of magnitude

different than the parameter value, the specified format needs to provide a

format with sufficient significant digits to accommodate the computed value.

UCODE supports C computer-language format configurations, as discussed in

the following section.

LOG-TRANSFORM - Set this variable to 1 to log-transform the parameter

and 0 otherwise. Note the restriction when applying prior information to logtransformed parameters below. Typically log-transformed parameters are those

for which negative values are not reasonable. For PHASE=11, increments are

generated in log space if the parameter is log transformed and both the native

parameter value and its log transform are included in the output file for plotting.

ESTIMATE - For PHASE=3, set to 1 to estimate the parameter by including it

in the regression, and to 0 to leave the parameter at the specified value
34

throughout the regression. For PHASE=11, set to 1 to vary the parameter value

using the specified values of REASONABLE-MINIMUM, REASONABLEMAXIMUM, and PERTURBATION, set to 0 to leave the parameter value at

START-VALUE.

P These statements define prior information on parameters. Search strings for all

parameters must be specified before the prior equations are defined. Each

definition of prior information occupies a single line composed of the following

variables:

P EQUATION stat STAT flag STAT-FLAG plot PLOT-SYMBOL

where P is the indicator code, EQUATION is defined below, STAT, STATFLAG, and PLOT-SYMBOL are variables for which numbers are read, and stat,

flag, and plot are labels. Items following EQUATION need to be separated by the

indicated labels (stat, flag, and plot); the labels and variables need to be separated

by at least one,spaces. EQUATION and the variables are defined as follows.

EQUATION - An equation of the form:

PVALUE = C1 x P1 & C2 x P2 . . . . .,

where the components are defined as follows. Items within the equation can be

separated by any number of spaces.

PVALUE - The prior information value. Specify the native value, even for a

log-transformed parameter.

= Indicates that the simulated value to be compared with PVALUE is

calculated as follows.

C1, C2 Coefficients with values as specified by the user.

x Indicates multiplication. Needs to be preceded and followed by one blank

space.

P1, P2 Parameter names, such as Rch1, as defined within the SEARCHSTRINGs defined earlier in the prepare input file. For the prior information

calculation, these names are replaced by the parameter value.

& - Indicates that the preceding and following products are to be summed; thus,

it performs like a +.
35

For one parameter, an example equation is 120 = 1 x K1. For parameters with

LOG-TRANSFORM = 0, the equation can contain as many products as desired.

For example, if prior information indicates that the annual recharge rate is 10

inches, and recharge is estimated for 6 months of winter and for 6 months of

summer (using parameter names RCHWINT and RCHSUMR), then

EQUATION would be:

10 = 0.5 x RCHWINT & 0.5 x RCHSUMR

A similar type of equation on prior information could be applied to hydraulic

conductivity values of multiple units determined by an aquifer test for which a

single effective hydraulic conductivity was estimated and is used as prior

information. As noted next, the multiple hydraulic conductivity parameters

involved could not be log-transformed.

For log-transformed parameters only one term can be used in the equation.

Thus, for log-transformed parameters, EQUATION is of the form

pvalue = C1xP1

STAT - Statistic used to calculate the weight for the prior information. As for

STATISTIC in the fn.uni file, the statistic can be a variance, standard deviation, or

coefficient of variation, depending on the value of STAT-FLAG. For all three

options, the statistic is used to calculate the variance, and the weight for the prior

information is set to one divided by the variance. For log-transformed

parameters, specify the log-transformed statistic, even though PVALUE is a

native value.

STAT-FLAG -- A flag indicating whether STATISTIC is a variance, standard

deviation, or coefficient of variation.

STAT-FLAG STATISTIC

0 variance

1 standard deviation

 2 coefficient of variation

PLOT-SYMBOL - An integer printed in the UCODE output files used for

graphical analyses. Different values for plot-symbol can be used to indicate
36

different types of observations so they can be differentiated with a unique symbol

on a graph. The utility of PLOT-SYMBOL will depend on the graphical software

being used.

Completing one of the examples from above, a complete line beginning with the P

indicator code is:

P 10 = 0.5 x RCHWINT & 0.5 x RCHSUMR stat 0.20 flag 2 plot 4

END - indicates the end of data input for this file

FORMAT Configuration Rules

To specify FORMAT for the values replacing the SEARCH-STRING, C language

formatting rules are used in UCODE. The most commonly used formats are described here; the

numbers in the examples can be changed as needed.

%6d Integer. Overall width is 6 places. 6 places are available for printing the value, and

this needs to include a negative sign to allow for integers less than zero.

%10.4f Real number. Overall width is 10 places with 4 digits to the right of the decimal

point. For example, -1496.4945 would require a format of %10.4f. If the

significant digits to the left of the decimal point are too numerous for the number

to be expressed within the defined overall width (10 in the example), many

computers will print asterisks (*) instead of a number. For example, if %9.4f is

specified to print the number -1496.4945, commonly nine asterisks are printed.

%10.3e Real number in exponential notation. Overall width is 10 places, with one

significant digit to the left of the decimal point. The number of significant digits

after the decimal point depends on whether the number is negative or positive. For

positive numbers, three significant figures are included to the right of the decimal

point so that there are four significant digits total. For negative numbers, two

significant digits are included to the right of the decimal point so that there are

three significant digits total. For example, a FORMAT of %10.3e produced the

numbers 2.313e-002 and -1.20e+000. If the exponential format is written more
37

generally as %a.be, a minus b needs to be at least 7, and the number of significant

digits printed will be b+1 for positive numbers and b for negative numbers.

Template File Construction

Template files generally are most easily constructed by starting with a working application

model input file and identifying the numbers for which values are to be substituted by UCODE.

Then, replace these numbers with SEARCH-STRINGS defined in the prepare input file. Such

substitutions generally are straightforward, as shown in the annotated example shown below, but

can be tedious.

Parameter-Substitution Function File Construction—fn.fnc

The function input file is an optional file which can be used to provide instructions for

manipulating parameter values before substituting them into template files. If used, the first line

that is not blank or a comment in the prepare file needs to start with indicator code F (or f),

followed by the word “yes”, as follows:

F yes

Omitting this statement, or including the statement

F no

causes parameter values to be substituted directly, without manipulation. In such cases, the

parameter-substitution function file is not read.

In addition to comment lines, the function file includes groups of lines with a specific

structure. Each group completely describes how one parameter value is to be manipulated before

being substituted into one template file. The required structure begins with two indicator code

lines, the first with indicator code :file and the other with indicator code :key”, followed by any

number of lines with no indicator code.

The indicator code of the first line identifies the template file into which the manipulated

values are to be substituted.

:file One or more spaces and the name of a template file follows; for example,

:file bcf.tpl.

The indicator code of the second line identifies the parameter.

:key One or more spaces and a parameter name follows; for example, :key k2m.
38

These two lines are followed by any number of lines called occurrence and function lines.

Each of these lines contains two entries: occurrence and function. Each occurrence entry identifies

occurrence(s), in the file specified by the preceding :file indicator code, of the SEARCH STRING

containing the parameter name specified by the preceding :key indicator code. The identified

occurrence(s) are to be replaced using the function entry. The following paragraphs describe the

occurrence and function entries in detail.

The occurrence entry is an integer or list of integers, where 1 indicates the first occurrence

of the parameter name in the file specified by the preceding :file line, 2 indicates the second

occurrence of the parameter name in the file, and so on. The counting starts at the top of the

template file and proceeds left to right across each line. If the same function is to be applied to a

number of sequential occurrences of the parameter name, the occurrence entry can be composed

of the first and last number separated by two periods. For example, 1..6 indicates that the function

will be applied to occurrences 1 through 6. If the occurrences are not sequential they need to

appear on different lines. The occurrences under each :file indicator code need to be listed in

increasing order . For example, the sequence 1, 3, 5 on three consecutive lines is acceptable, while

the sequence 1, 5, 3 is not. For occurrences that do not appear in the list, the parameter value is

substituted without modification.

The function entry is separated from the occurrence entry by one or more spaces. The

function expressions can use any of the AWK functions listed in table 2, and parentheses can be

used to dictate the order of the operations. When parentheses are not used, common

mathematical operation order is applied.

Table 2: AWK functions for the function file

AWK function Description

+, -, *, / Addition, subtraction, multiplication, & division

x ^ y Returns x raised to the power y.

atan2( y, x ) Returns arctangent of y/x.

cos( x ) Returns cosine of x; x is in radians.

sin( x ) Returns sin of x; x is in radians.

exp( x ) Returns the exponential function of x, base e.

log( x ) Returns the natural logarithm of x.

sqrt( x ) Returns the square root of x.

int( x ) Returns the value of x truncated to an integer.
39

The value of the parameter listed in the preceding :key line is represented by $x in the

AWK expressions. Other parameter values can be represented in the function as the parameter

name bounded by exclamation points, such as !rch1!. If two or more parameters are always

functionally related in the same way, generally only one of the parameters should be estimated by

regression to avoid extreme correlation between the parameters involved.

Numbers of any format can be used in the AWK expressions, including integers, real

numbers, and real numbers expressed in exponential notation. Exponential notation is expressed

using the common conventions; for example, e-8, E+10, and e-001.

The following is an example of a group of occurrence and function lines:

1 $x*2.0e-03

2..5 $x*35 + 6

6 $x*(!rch1!+!rch2!)

7 sin($x)

If manipulated values of the same parameter are to be substituted into more than one template file,

another group of lines needs to be repeated for each template file. If the same template file

includes more than one parameter for which the value needs to be manipulated before

substitution, again another complete group of lines, including the :file line, needs to be repeated

for each parameter.

Annotated Example of a Prepare Input File

# Comments have a “#” in the first column of the line

# Comments cannot follow data on any line in the prepare file

# read a function file

F yes

### list template files and associated application model input files

# bcf file

< bcf.tpl

> ex.bcf

# river package

< riv.tpl

> ex.riv
40

### parameter information

# information for parameter k1

/!k1,,,,,,! 3.0E-02 3e-4 3e-0 0.01 %10.3e 1 1

# information for parameter Krb

/!KrB,,,,,! 1.001 0.1 10 0.01 %10.3e 1 1

# information for parameter rch1

/!rch1,,! 1.0 0.1 10 0.01 %8.3f 0 1

# information for parameter RCH2

/!RCH2,,! 1.5 0.5 5 0.01 %8.3f 0 0

### list additional template file and associated application model input file

< dsp.tpl

> mt3d.dsp

### information for another parameter

# information for parameter dsp1

/!dspl! 10. 1 100 0.01 %4.1f 0 1

### prior information

P 1.0 = 1 x KrB stat 0.0625 flag 0 plot 5

P 1.25 = 0.5 x rch1 & 0.5 x RCH2 stat 0.25 flag 0 plot 6

END

Annotated Example of a Template File

The following file duplicates a file normally read by an application model, but SEARCHSTRINGS have been substituted for some of the numbers. UCODE replaces these SEARCHSTRINGS using parameter values. Only the spaces occupied by the SEARCH-STRING are

replaced. The file has not been annotated internally because such annotation could interfere with

the application model.

1 0

 0 0

 0 1.

 0 1000.

 0 1000.

 0!k1,,,,,,!

 0!KC,,,,,,!

 18!k2m,,,,,!(18F3.0)
41

Annotated Example of a Function Input File

This annotated example displays a wide variety of the AWK functions, but it is expected

that, most commonly, the function file will be used to apply different multiplication factors. For

example, when simulating rivers in ground-water modeling, it is common to define a parameter to

be the riverbed hydraulic conductivity and to use multiplication factors to represent river length,

width, and thickness.

#manipulate and substitute parameter KrB in template file a.tpl

:file a.tpl

:key KrB

1 ($x+3)/10

2 $x*10

3..4 $x-2

# sub rch1 in b.tpl,

# for the 2nd and 3rd occurrences, the parameter value is

# substituted directly

:file b.tpl

:key rch1

1 $x/(10*2) + 5

4 log($x)

5..7 cos($x)-.0006

8 $x*$x

9 sqrt($x)

#sub rch2 in b.tpl

:file b.tpl

:key rch2

6..10 $x*1.5

16..20 $x*2.0

26..30 $x*2.5

Extract File—fn.ext

The extract input file provides instructions for extracting values from application model

output files. If needed, the extract file also provides instructions for using these values to calculate

the simulated equivalent values that are to be compared with the observations specified in the

universal input file.

Directions for the Extract Input File

Each line in the extract input file needs to be structured in one of the two ways: (1) the

first space of the line needs to be one of nine indicator codes, or (2) the line needs to be blank or

include only comments. In any line, anything after a # sign is ignored by the program, and this
42

provides a convenient method of including comments in the file. The input items can appear in

nearly any order, but are executed sequentially. Thus, file must be opened before moving forward

a given number of lines, or extracting a value between specified columns. The symbol designating

comments and the nine indicator codes are as follows.

# Comments (can be placed anywhere; any subsequent text on the line is ignored by

the program).

The first indicator code identifies an observation from the universal input file, and is called an

observation indicator code.

o An OBS-NAME from the universal input file follows either directly or after one or

more spaces.

A line with an o indicator code needs to be followed by instructions that define how to

calculate a simulated value that is to be compared with the observation identified by OBS-NAME

using extracted values and user-defined factors. The remaining indicator codes perform the

functions needed to accomplish these calculations.

The next indicator code identifies the application model output file from which the

subsequent extractions occur. This is called the file indicator code.

< The name of an application model output file follows; for example, <mod.out. The

same file can be opened any number of times, but each time directions need to be

given starting at the top of the file. When a file is opened, the position is at line

zero. In order to operate on the first line, a subsequent code of +1 (discussed

below) must be specified.

Three indicator codes are used to locate a line containing one or more values to be

extracted. These are called locating indicator codes.

/...../ A string of characters for which to search is listed between the forward slashes (the

case of letters needs to be matched). For example, /HEADS/ would cause UCODE

to search the file specified by the last file indicator code < for the next occurrence

of the string ‘HEADS’. Note: Long strings are more efficient.

+ Move down the following number of lines. For example, +3 indicates to move

down 3 lines. To be positioned at the first line of a file requires that +1 be specified

after opening the file.
43

- Move up the following number of lines. For example, -13 indicates to move up 13

lines.

To ensure consistent results, use location indicator codes that function correctly in the

presence of normal output file variations. For example, the number of lines printed by solvers

often varies from run to run, and consistent results can not be achieved using only the + and -

indicator codes. Consistent results can be achieved by searching for a string that follows the

solver output, and proceeding from there using + and - indicator codes.

Values are extracted with the extraction indicator code c.

c Extract the value that occurs between column numbers which follow the c and are

separated by an underscore ( _ ). Multiply the extracted value by a factor that

equals 1.0 or a number which follows after a second underscore. For example,

c52_63_0.5 extracts the value in columns 52 through 63 and multiplies it by 0.5;

c52_63 extracts the value and multiplies it by 1.0. NOTE: Extract as many

significant figures as possible, as discussed in the section “Calculation of

Sensitivities by UCODE”.

In simple situations, a line with observation indicator code o can be preceded or followed

by a single line with file indicator code <, any number of lines with locating indicator codes, and a

single line with extraction indicator code c. For example,

<mod.out # open a file

o 1A # OBS-NAME 1A

+1 # go to the first line in the file

c8_15 # a value is extracted and a factor of 1.0 is used

Such a situation occurs when the product of one extracted value and its factor is directly

comparable to an observed value specified in the universal input file, fn.uni.

For more complicated situations, UCODE includes three additional indicator codes, called

function indicator codes, that define different ways in which extracted values and factors can be

combined. These indicator codes may be followed by: one or more lines with file indicator code <,

usually many lines with locating indicator codes, and usually many lines with extraction indicator

code c. If all extractions are from the same file the single file indicator code can precede the

function indicator code.
44

Two function indicator codes perform exactly the same mathematical function, in that they

sum the products of extracted values and their factors. That is, they perform calculations of the

form

Y = X1*F1 + X2*F2 + . . . . .,

where

X1, X2, . . . are values extracted using a c indicator code;

F1, F2, . . . are the user-defined factors associated with X1, X2, . . . (the last of the three values

listed after the c indicator code, or 1.0 if the third value is omitted); and

Y is a value that is to be compared with an observation.

Calculations of this form are commonly used both for interpolating values and summing values,

and the different indicator code options are provided so that these different purposes can be

identified more easily in the extract input file.

i Interpolation is performed. For example, i4 indicates interpolation of the following

4 extracted values. For interpolation, the user-defined factors commonly sum to

1.0.

s Summation is performed. For example, s20 indicates summation of the following

20 extracted values. In summation the user-defined factors commonly each equal

1.0.

The final indicator code performs a summation of the products of pairs of extracted values

and their factors. That is, it performs calculations of the form:

Y = (X1*F1 * X2*F2) + (X3*F3 * X4*F4) . . . .,

where:

X1, X2, X3, X4, . . . are values extracted using a c indicator code;

F1, F2, F3, F4, . . . are the factors associated with X1, X2, . . .; and

Y is a value that is to be compared with an observation.

Calculations of this form are used in a variety of circumstances. A common ground-water

example occurs when application model output files include flow rates and concentrations, and
45

the observation of interest is a flux-averaged concentration. The applicable function indicator

code is p, which stands for product.

p Sum a sequence of products of pairs of extracted values and their associated

factors. For example, p2 indicates the product of the following 2 pairs of extracted

values and their factors will be summed. That is, the product of the following 2

extracted values will be summed with the product of the subsequent 2 extracted

values. Four values need to be extracted using four lines with extraction indicator

codes (c). If the product of 5 pairs were to be summed, the code would be p5, and

10 extractions (code c lines) would follow before another observation name was

specified.

END indicates the end of data input for this file.

Annotated Example of an Extract Input File

<mod.out #open application model output file

o 1A ### observation 1: simulated equivalent is extracted directly from the output file

/IN LAY/ # search for string

c8_15 # extract the value in column 8 through 15; the factor is set to 1.0

o 1B ### observation 2: simulated equivalent is interpolated

+2 # go down two lines from the line where the last observation was extracted

i2 # interpolate using the next two extracted values and their factors

# the observation lies halfway between two nodal points so both factors equal 0.5

c50_57_0.5 # extract the value in column 50 through 57; the factor is set to 0.5

c64_71_0.5 # extract the value in column 64 through 71; the factor is set to 0.5

o 1C ### observation 3: simulated equivalent is interpolated

+12 # go down twelve lines from the line where the last observation was extracted

i4 # interpolate using the next four extracted values and their factors

# the coefficients below were calculated by bi-linear interpolation based on the

# distance from the observation location to the grid nodes

c50_57_0.1875

c64_71_0.0625

+2

c50_57_0.5625

c64_71_0.1875

o flow ### observation 5; simulated equivalent is a sum
46

-150 # go up 150 lines above where the last value was extracted to get above the search string

/RIVER LEAKAGE/ #search for string

+1 # go down one line

s3 # sum the products of the next three extracted values and their factors

# the negative factors below are used so that the sign conventions of the simulated value and

# the observation are consistent

c_59_-0.5 # the absolute value of the factor is less than 1.0 to include only part in the sum

+1

c49_59_-1.0

+1

c49_59_-0.25

o concentratio ### observation 6; simulated equivalent extracted from another output file

<mt3d.out # open new file

/CONCENTRATION/ #search for string

+25 # go down 25 lines

c53_63 # extract value and set its factor to 1.0

o mass ### observation 7; simulated equivalent is calculated using a p indicator code

p2 # the sum the products of 2 pairs of extracted values and their factors.

# first pair

<mod.out # open file

/BOUNDARY LEAKANCE/

+3

c52_58 # extract value; factor equals 1.0

<mt3d.out # open file

/CONCENTRATION STEP 6/

+38

c9_18 # extract value; factor equals 1.0

# second pair

<mod.out # open file

/BOUNDARY LEAKANCE/

+4

c52_58 # extract value; factor equals 1.0

<mt3d.out # open file

/CONCENTRATION STEP 6/

+38

c19_28 # extract value; factor equals 1.0

END
47

Input Files for Predictions and Differences and Linear Confidence and Prediction Intervals

Predictions and differences, and their linear confidence and prediction intervals, are

discussed in sub-section “Predictions and Differences and Their Linear Confidence and Prediction

Intervals” within the section “Inverse Modeling Considerations”. These quantities are calculated

with UCODE using PHASE=44 and 45, with a slightly modified version of the computer program

YCINT (Hill, 1994). In UCODE, PHASE=44 is used to calculate predictions for conditions that

can (but may not) differ from the calibration conditions; PHASE=45 is used to calculate

differences. The differences are calculated by subtracting values produced by a base simulation

(simulated when PHASE=45) from values produced by a predictive simulation (simulated when

PHASE=44). That is:

(value from predictive simulation with PHASE=44)

- (value from base simulation with PHASE=45)

 = difference

Confidence and prediction intervals generally are calculated only for a satisfactorily

calibrated model. PHASE=44 can be executed only after running PHASE=3 with GRAPH=1 in

fn.uni, which creates files: fn._tp, temp.u44, temp.p44, temp.f44, and temp.e44. For PHASE=44,

files temp.u44, temp.p44, temp.f44, and temp.e44, either need to be modified by the user, as

described below and saved with the prefix fn; or, for those files where no modifications are

needed, they must be copied to the filenames fn.u44, fn.p44, fn.f44, and fn.e44, respectively. The

modified files need to be present in the directory in which UCODE with PHASE=3 was executed

and from which UCODE with PHASE=44 is initiated. PHASE=45 can be executed only after

running PHASE=44 in the same directory and modifying, then saving or copying the files:

temp.u45, temp.p45, temp.f45, and temp.e45, to filenames: fn.u45, fn.p45, fn.f44, and fn.e45,

respectively.

The rest of this section describes how to construct files for PHASE=44 and 45, including

files fn.u44, fn.p44, fn.f44, and fn.e44, for PHASE=44, and files fn.u45, fn.p45, fn.f45, and

fn.e45, for PHASE=45. These files are constructed in the same manner as the universal, prepare,

function, and extract files discussed above, and are referred to as the prediction universal file, the

prediction prepare file, and so on, and the base universal file, base prepare file, and so on.

Although it may seem redundant to create these additional files, this organization makes it easy to
48

return to PHASE=3 after executing the latter phases, as often is needed to evaluate alternative

conceptual models.

Directions for Input Files for Predictions--PHASE=44

Input files for PHASE=44 are constructed as follows.

1. Change the application model(s), the application model input files, and associated template

files, as needed to simulate the predictions. The following checklist includes common changes,

but additional changes also may be needed.

a) Change the batch file(s) that execute the application model(s). If the name of the batch file

is changed, or if a batch file is added, include this new information in the prediction

universal file, fn.u44.

b) Change the files used by the application model(s). For example, in a ground-water

simulation, the imposed pumpage may need to be changed.

c) Change the prediction prepare and function files, as required if application code input files

used for the prediction simulation do not conform to the input files used during model

calibration. In this circumstance, the prediction prepare file, fn.p44, needs to be changed to

specify the file names pertinent to the predictive simulation. If used, the prediction function

file, fn.f44, also needs to have file names changed, and, though unlikely, the occurrences

also may need to be changed. If such changes are made, it is suggested that the application

model(s) be checked to ensure that the substitutions produce the same system

characteristics as they did for the calibration.

d) As needed, change the batch files used to run the application model(s) for the prediction

conditions.

2. Set PHASE=44 in file fn.uni. Although the rest of fn.uni is ignored for PHASE=44, usually it

is most convenient not to modify the rest of the file.

3. List the predictions and specify information about the predictions using the prediction universal

file, fn.u44. Use the last part of the file, which was used to specify observations in the fn.uni

file. The format described for observations also is used for predictions, so that the lines are of

the form:

OBS-NAME OBS-VALUE STATISTIC STAT-FLAG PLOT-SYMBOL

where, for PHASE=45,
49

OBS-NAME - Prediction name (can be up to 12 characters long).

OBS-VALUE - Specify a number, but the number is not used.

STATISTIC - The standard deviation or variance of the measurement error

expected for the prediction used to calculate prediction intervals (see Hill, 1994,

eq. 15, 16, and 17).

STAT-FLAG - Set to 0 if STATISTIC is a variance and 1 if STATISTIC is a

standard deviation.

PLOT_SYMBOL - Used as before.

4. Edit prediction extract file fn.e44, which was produced by UCODE with PHASE=3 and

GRAPH=1. As produced, fn.e44 simply contains comment statements with instructions. The

completed fn.e44 needs to extract values from application model output file(s) using the same

mechanisms defined for the extract file above, and define how to calculate the predictions

from the extracted values.

Directions for Input Files for Differences--PHASE=45

Input files for PHASE=45 are constructed as follows.

1. Change the application model(s) and application model input files as needed to represent the

base conditions, which are used to calculate differences from the PHASE=44 execution. See

the list presented for PHASE=44 for suggested changes. Set PHASE=45 in file fn.uni.

Although the rest of fn.uni is ignored for PHASE=45, usually it is most convenient not to

modify the rest of the file.

2. List the base quantities and specify information about them using the base universal file,

fn.u45. Use the last part of the file, which was used to specify the predictions in fn.u44. The

order needs to be identical to that of the predictions listed in fn.u44 because the base values

are subtracted from the predictions using that order. Thus, the first base value defined in

fn.e45 is subtracted from the first prediction specified in fn.e44, the second base value is

subtracted from the second prediction, and so on. As before, lines in the last part of the file

need to be of the form:

OBS-NAME OBS-VALUE STATISTIC STAT-FLAG PLOT-SYMBOL

where, for PHASE=45,

OBS-NAME - Name of the difference (can be up to 12 characters long).
50

OBS-VALUE - Specify a number, but the number is not used.

STATISTIC - The standard deviation or variance of the measurement error that

would be likely if the base value were measured. STATISTIC is used to calculate

prediction intervals (see discussion above).

STAT-FLAG - Set to 0 if STATISTIC is a variance, and 1 if STATISTIC is a

standard deviation.

PLOT_SYMBOL - Used as before.

3. Edit the base extraction file fn.e45, which was produced by UCODE with PHASE=44. As

produced, fn.e45 is identical to fn.e44. The completed fn.e45 file needs to extract values from

application model output files that reflect the base case, using the same mechanisms used in

the extract file discussed above, and to define how to calculate the base values from the

extracted values. The base values can be extracted in any order; they are subtracted from

values produced when PHASE=44 using the order established in the fn.u44 and fn.u45 files.

USING UCODE OUTPUT

Different output files are produced by UCODE depending on the value of PHASE

designated in fn.uni. For PHASE=1, 2, 22, and 3, the primary output file is fn._ot. Example

output files are distributed with UCODE in the ex subdirectory as Testph1._ot, Testph2._ot,

Testph22._ot, and Testph3._ot. An example fn._ot file for PHASE=3 is presented in Appendix A,

and the contents of fn._ot for other PHASES are described in the following sections. For

PHASE= 11, 33, 44, and 45, the primary output files are fn._11, fn._33, fn._44, and fn._45,

respectively. Additional output files are described below, and suggestions for using the output

files are presented. As stated elsewhere in this report, when using UCODE, the fn in the filenames

is replaced by the user-defined prefix specified in the UCODE run command. The filenames are

italicized to remind the reader of this substitution.

Output Files from a Forward Simulation--PHASE=1 and 11

When PHASE=1, UCODE executes the application model(s) once using the starting

parameter values and produces files fn._ck and fn._ot.
51

Before executing UCODE with PHASE=1, it is imperative that the application model(s)

execute correctly from the directory where UCODE is executed, using the command line specified

in fn.uni. To ensure this, execute the application model(s) from the directory where UCODE will

be executed, using the command(s) that are to be specified in fn.uni. Check that the output file(s)

from the application model(s) are generated from this run, and are correct. Resolve any problems.

fn._ck contains the extraction commands as executed, the values extracted from the

application output files, the simulated equivalent values, and the corresponding observation values

from fn.uni. The extracted values appear in lines such as :

<<<< extracted item = -0.218391>>>>

and the extracted characters start one space after the equal sign and end just before the first

greater-than sign. In the case shown above, no blank spaces were included in the extraction, It is

acceptable, however, and at times desirable, to include blanks. For example, the length of an

extracted value may vary depending on the values of the parameters used to generate the output.

In this case, the extraction needs to be large enough to include all possibilities, while excluding

unwanted characters. Check fn._ck to determine if extracted characters are missing or are

incorrect. Use fn._ck and the application output file(s) to find and correct all errors in fn.ext.

After executing UCODE with PHASE=1, fn._ot includes the table and statistics described

in the top of table 3. When calibration begins or when a new conceptual model is first being

tested, these values reflect the model fit given the initial model configuration and starting

parameter values, and the initial ideas about how to calculate equivalent simulated values to be

compared with the observations. Exceptionally large discrepancies between simulated and

observed values may indicate, for example, that there is a conceptual error either in the model

configuration or in the calculation of the simulated values. Inspection of these values for

PHASE=1, and correction of obvious problems, can eliminate many hours of frustration.

Additional suggested checks include the following:

1. Delete the application model output file(s) listed in fn.ext and the application model input

file(s) listed in fn.pre, if they are present in the directory, before executing UCODE with

PHASE=1. After execution, check that the correct application model input files were created

by UCODE and scrutinize the application model output file(s) to check that UCODE executed

the application model correctly. If errors are found, continue to review and correct the fn.pre

file and the template files, until the application model input files are correct.
52

2. Check that the application model(s) are executed correctly from the directory where UCODE

is executed using the command line specified in fn.uni. Check all other directories and files

referenced in the UCODE input.

3. Check fn._ot to determine that the UCODE input items are echoed correctly. Use the

instructions in the section “Input File Construction”, the example files in Appendix A, and the

Testph#._ot files distributed with UCODE in the ex subdirectory to determine what should be

printed in fn._ot. (This suggestion applies to all PHASES).

4. If the simulated values are not being related to the correct observations in fn._ck, check the

names of the observations and make necessary changes.

It is essential for UCODE to perform correctly at PHASE=1. Proceeding with errors will

result in an invalid regression and wasted time. After obtaining satisfactory extractions and

resolving major errors with PHASE=1, proceed to PHASE=11, or 2 and(or) 22 by changing the

value of PHASE in fn.uni.

When PHASE=11, UCODE executes the application model many times using parameter

values at increments within ranges defined by the user in the prepare file. The primary output file

is fn._11, which contains data for generating contour graphs of the objective function. These data

are arranged in space-delimited columns. The first column contains values of the first parameter

in the fn.pre for which ESTIMATE=1 for PHASE=11. If a parameter is log transformed, the next

column will contain the base-10 log of the first parameter value. Otherwise, the next column

contains values of the second parameter, and so on, until all parameters indicated by the user have

been included. The final two columns include the sum-of-squared, weighted residuals, with and

without prior, respectively. Labels describing the columns of values written in the fn._11 file are

printed at the bottom of the fn._ot and in the fn._lb file (lb represents label). The fn._lb file is

created because execution of subsequent phases will overwrite the fn._ot file. The fn._11 file is

intended for use with external plotting software. Many such packages will not function if

anything other than the data appears in the file, thus the separate file for labeling the columns.
53

Output Files from Sensitivity Calculations--PHASE=2 and 22

When PHASE=2, UCODE uses the starting parameter values and slightly perturbed sets

of parameter values (as described after equation 1) to execute the application model(s) as many

times as needed to calculate sensitivities. Files fn._ot and fn._ck are produced.

When PHASE=2, fn._ot contains the quantities presented in table 3 and the first two rows

of table 4; when PHASE=22, fn._ot contains all of the quantities listed in tables 3 and 4.

fn._ck contains the values extracted from the application model output file(s) created

using the starting, unperturbed, parameter values. Thus, the extracted values will not be consistent

with the final PHASE=2 or 22 application model output file(s) because these are produced using

the final set of parameter values, for which one value is perturbed from its starting value. If any

errors in the extraction are recognized during a PHASE=2 or 22 run, it is best to return to

PHASE=1 to correct them.

Whether UCODE is executed for both PHASE=2 and 22 or only for one of them depends

on the execution time of the application model(s) and whether anticipated problems include

parameter insensitivity or extreme parameter correlation or both. If DIFFERENCING=1 in fn.uni,

as suggested, PHASE=22 requires about twice the execution time of PHASE=2. Problems of

parameter insensitivity often can be diagnosed using the composite scaled sensitivities, which are

printed when PHASE=2 or 22 and SCALE-SENSITIVITIES=1 in fn.uni. Problems of extreme

parameter correlation need to be diagnosed using the correlation coefficients printed when

PHASE=22. For problems with small execution times (forward execution times of less than about

1 minute), probably only PHASE=22 is needed. For problems with larger execution times,

PHASE=2 can be used to investigate and address parameter insensitivity before proceeding to

PHASE=22 to investigate and address both parameter insensitivity and correlation. Approaches to

addressing parameter insensitivity and correlation are discussed above in the section “Inverse

Modeling Considerations”.

A problem that sometimes occurs when PHASE=2 or 22 is that the printed sensitivities

equal zero. If this occurs, consider the suggestions presented in the section “Calculation of

Sensitivities”.

After satisfactory conclusion of PHASE=2 and(or) 22, proceed to PHASE=3 by changing

the value of PHASE in fn.uni.
54

Output Files from Nonlinear Regression--PHASE=3

When PHASE=3, UCODE performs nonlinear regression and produces files fn._ck, fn._st,

and fn._ot, as well as files for proceeding to higher phases, such as fn._b1, which is not generally

accessed by the user, and temp.u44, temp.p44, temp.f44, and temp.e44, which are edited by the

user to produce, fn.u44, fn.p44, fn.f44, and fn.e44 for subsequent execution of Phase 44. In

addition, when GRAPH=1 in fn.uni, files containing data for analysis of residuals are created, as

listed in table 5.

fn._ck contains values extracted from the application model output file(s) created using

the starting parameter values. Thus, the extracted values in fn._ck will not be consistent with the

final PHASE=3 application model output file(s). If any errors in the extraction are recognized

during a PHASE=3 run, it is best to return to PHASE=1 to correct them. Such errors likely

would become evident when evaluating the observed and simulated values printed in fn._ot, which

is discussed below.

fn._st is a restart file that contains updated parameter values for each iteration. Values

from this file can be used to replace the starting parameter values in the prepare file so that (1)

fn._ck can be produced for intermediate parameter values using PHASE=1 and PHASE=2

and(or) 22 to investigate extracted values and sensitivities calculated with these parameter values,

and (2) the regression can be started using values from intermediate parameter-estimation

iterations that are likely to be closer to the optimal parameter values. The second use of the

values listed in the restart file often reduces execution time.

fn._ot is the main output file for PHASE=3, and indicates whether or not the regression

converged. In either case, fn._ot lists the statistics described in tables 3 through 6. A sample fn._ot

file for PHASE=3 is included in Appendix A of this report and is called test._ot. The best way to

become familiar with the file is to review that example and the comments in tables 3 through 6.

Residual analysis can be accomplished using the statistics listed in table 3 and the files

listed in table 5. Examples of the files with their contents labeled are shown in Appendix A.

Filenames with two letters in the suffix include two columns of values and generally are used to

create x-y plots. Filenames with a single letter suffix contain only one column of values and

generally are used to create maps, temporal plots, or higher-dimensional images of residuals. Each

line includes the information related to one observation or piece of prior information. In all files,
55

each line includes the OBS-NAME from the fn.uni file or, for prior information, the PLOTSYMBOL from the fn.pre file. Comments about how to use the generated plots are presented in

table 3. Additional discussion can be found in Hill (1998) and references cited therein.

During the calibration of most models, UCODE with PHASE=3 will be executed many

times as various aspects of the model are changed to test hypotheses about the system. Once a

satisfactory parameter estimation is obtained, linearity of the model at the optimized parameter

values can be evaluated by executing UCODE with PHASE=33 in fn.uni.

Output Files from Test of Linearity--PHASE=33

When PHASE=33, UCODE calculates the modified Beale’s measure of model linearity of

Cooley and Naff (1990) and statistics that indicate the magnitude of the nonlinearity of each

parameter. These calculations are executed using a slightly modified version of the computer

program BEALEP (Hill, 1994). PHASE=33 produces primary output file fn._33 and file fn._b2.

Generally, the user does not access the latter two files. An example fn._33 file is presented in

Appendix A as test._33. Some information related to interpretation of the output is included in the

file. Hill (1994) explains of the modified Beale’s measure and the information printed in the

fn._33 file.
56

Table 3: Residual and model fit statistics printed in fn._ot when PHASE=1, 2, 22 or 3

[Summarized from Hill (1998, sections “Graphical Analysis of Model Fit and Related Statistics” and

“Statistical Measures of Model Fit”); see example file test._ot in Appendix A of this report.]

Statistic as labeled in

fn._ot1

Comments

Table of observations,

simulated values, residuals,

and weighted residuals

Residuals are calculated as the observations minus the simulated values. Use

this table to investigate model fit for individual observations.

MAXIMUM WEIGHTED

 RESIDUAL

MINIMUM WEIGHTED

 RESIDUAL

The maximum weighted residual indicates where the worst fit occurs relative

to the expected fit, and often reveals gross errors. The minimum provides a

little context by which to judge the maximum value.

AVERAGE WEIGHTED

 RESIDUAL

An average weighted residual near zero is needed for an unbiased model fit

(usually satisfied if regression converges).

# RESIDUALS >= 0.

# RESIDUALS < 0.

The number of positive and negative residuals indicates whether the model

fit is consistently low or high. Preferably, the two values are about equal.

NUMBER OF RUNS Number of sequences of residuals with the same sign (+ or -). Too few or

too many runs could indicate model bias. The related statistic is printed and

interpreted in fn._ot. See Appendix A, file test._ot for an example of the

runs test and its interpretation. Hill (1998) explains the test.

The following are printed only for PHASE=22 and 3.

LEAST-SQUARES OBJ FUNC

(DEP.VAR. ONLY)

(W/PARAMETERS)

Weighted least-squares objective function value. Given randomly distributed

residuals and the same observations and weight matrix, a lower value of the

least-squares objective function indicates a closer model fit to the data.2

CALCULATED ERROR

VARIANCE

Given randomly distributed residuals, smaller values are desirable. Values

less than 1.0 indicate that the model generally fits the data better than is

consistent with the variances used to weight the observations and prior

information, values greater than 1.0 indicate that the fit is worse.

See Hill (1998, Guideline 6)

STANDARD ERROR OF THE1

REGRESSION

The square root of the calculated error variance, and the same comments

apply.

CORRELATION OEFFICIENT

W/PRIOR

R of Hill (1998). Correlation between weighted observed or prior

information and simulated values. Correlation coefficient values below about

0.9 indicate poor model fit.

MAX LIKE OBJ FUNC

AIC

BIC

The maximum likelihood objective function, and the AIC and BIC statistics.

Given randomly distributed residuals, lower values indicate better fitting

models.

ORDERED WEIGHTED1

RESIDUALS

The weighted residuals are ordered smallest to largest.2

CORRELATION BETWEEN

ORDERED WEIGHTED

RESIDUALS AND NORMAL

ORDER STATISTICS

RN

2

 of Hill (1998). Values above the critical values listed in Hill (1998,

Appendix D) and printed in fn._ot indicate independent, normal weighted

residuals, and that the points of file fn._nm (table 5) are likely to fall on a

straight line.2

1. THIS FONT is used for labels taken directly from the output

2. To allow detection of unusually poor fit to one type of regression data, these statistics are calculated

both for a) the observed dependent variables (the observations) and b) the observations and prior

information.
57

Table 4: Parameter statistics printed in fn._ot when PHASE=2, 22, and 3

[Summarized from Hill (1998, section “Parameter Statistics” and Guidelines 3 and 9); see example file

test._ot in Appendix A of this report.]

Parameter statistic or

characteristic

Function of item in interpreting results

DIMENSIONLESS SCALED

SENSITIVITIES (SCALED BY

B*(WT**.5))1

Indicates the importance of an observation to the estimation of a parameter

or, conversely, the sensitivity of the simulated equivalent of the observation

to the parameter. These values are listed in a table with a row for each

observation and a column for each parameter.

COMPOSITE SCALED

SENSITIVITIES

((SUM OF THE SQUARED

VALUES)/ND)**.5 1

Indicates the information content of all of the observations for the estimation

of a parameter. Printed at the end of the scaled sensitivity table. Values less

than 0.01 times the largest value indicate parameters with much less

information, and that the regression is likely to have trouble converging.

The statistics below are printed only for PHASE=22 and 3.

Parameter covariance

matrix

The diagonal tems of this matrix are variances, the off-diagonal terms are

covariances. These values are used to calculate the statistics listed below.

The statistics in this box are printed in a table labeled “PARAMETER SUMMARY”.2

Parameter values When parameter estimation converges, these are the optimized parameter

values and the rest of table 4 constitutes a linear uncertainty analysis of

these optimized parameter values. Unreasonable optimal parameter values

indicate a problem with the observations or the model.

Parameter standard

deviations

Confidence Intervals on optimized parameter values indicate the precision

with which the values are estimated.

Parameter coefficients of

variation

Provides a dimensionless measure of the precision with which the

parameters are estimated which can be used to compare the precision of

parameters with different dimensions.

Parameter 95% linear

individual confidence

Intervals3

Given normally distributed residuals, reasonable optimized parameter

values, a satisfactory model fit, and a linear model, linear confidence

intervals are likely to reflect the uncertainty of the optimal parameter

values. Model linearity is tested using PHASE=33.

Parameter correlation

coefficients

For any set of parameter values, absolute values larger than about 0.95 may

indicate that two or more parameters can not be uniquely estimated.

Explore uniqueness by varying starting parameter values and checking for

changes in optimized parameter values. (see instructions printed in fn._ot)

1. Printed for SCALE-SENSITIVITIES=1 in fn.uni. Replaced by a table of unscaled sensitivities when

SCALE-SENSITIVITIES=0, and a table of one-percent sensitivities when SCALESENSITIVITIES=2. For SCALE-SENSITIVITIES=3, both dimensionless and one-percent scaled

sensitivity tables are printed.

2. For log-transformed parameters, the parameter value and associated confidence intervals are calculated

and printed first as log-transformed values, and next as exponential (native) values. The native values

generally will be of most interest.

3. Calculated as usual; see eq. 28 of Hill (1998).
58

Table 5: Files created by UCODE that contain data sets for graphical residual analysis

[Summarized from Hill (1998, section “Graphical Analysis of Model Fit and Related Statistics”); example

files with the contents labeled are presented in Appendix A; these files are produced when PHASE=3 and

GRAPH=1]

Filename1Intended graph or analysis Comments 2

fn._os Observed versus simulated

values

Ideally points lie along a line with a slope of 1.0. Uneven

spreading along the length of the line does not

necessarily indicate problems because the values are not

weighted.

fn._ww Weighted observed versus

weighted simulated values.

Ideally the points lie along a line with a slope of 1.0. A

different slope or uneven spreading along the length of

the line may indicate problems.

fn._ws Weighted residuals versus

weighted simulated values.

Traditionally, weighted

simulated values are on the x

axis.

Ideally the points are evenly distributed above and

below the zero weighted residual axis, which indicates

random weighted residuals. Uneven spreading along the

zero axis may indicate problems.3

fn._r The residuals listed in this file

can be plotted against any

independent variable of interest.

Possible displays include plotting values from a single

location against time on an x-y graph, on maps, on

three-dimensional images of a contaminant plume, and

on nested maps representing different times. Useful to

display model fit, but use of unweighted residuals

means that large values may not indicate problems.3

fn._w The weighted residuals listed

can be plotted as suggested for

fn._r

The plotted values should be random, which can be

tested using a runs test. Individual extreme values and

areas of consistent negative or positive values are likely

to indicate problems. They should be closely examined

and the model corrected if possible.3

fn._nm Normal probability graph of the

weighted residuals. The

probability values are

transformed so that they plot on

an arithmetic scale.

Ideally the weighted residuals fall along a straight line.

If not, possibilities include: (1)The apparent

nonrandomness results from limited number of values or

from the regression itself, which can be tested using

fn._rd and fn._rg, (2) problems are indicated.3

fn._rd Normal probability graph of

random numbers.

Demonstrates the variation from a straight line caused

by the limited number of plotted values.3

fn._rg Normal probability graph of

correlated random numbers.

Demonstrates the variation from a straight line caused

by the limited number of weighted residuals and by the

regression fitting of the data.3

1. fn is replaced by the prefix defined by the user on the UCODE command line.

2. The phrase “indicate problems” means that the circumstance described indicates that the processes

represented by the data may not be adequately modeled.

3. For examples, see Hill (1998) and references cited therein.
59

Table 6: Regression performance measures printed in fn._ot when PHASE=3

[These measures are printed for each parameter-estimation iteration; see example file test._ot in

Appendix A of this report]

Performance measure as

labeled in fn._ot 1

Comments

MARQUARDT PARAMETER

(AMP)

Used as described in Hill (1998, eq. 4). Non-zero values indicate an illconditioned problem.

FACTOR FOR SCALING PAR.

CHANGE (AP)

The damping parameter of eq. 4 of Hill (1998). Values less than 1.0

indicate that the maximum fractional parameter change exceeded the

MAX-CHANGE value specified in fn.uni, or that oscillation control was

active (Hill, 1998, Appendix B).

MAX. FRACTIONAL PAR.

CHANGE (DMX)

Maximum fractional change calculated for any parameter in the parameterestimation iteration. The fractional change is always relative to the native

parameter value, even if the parameter is log-transformed (Hill, 1998,

Appendix B). When this value is less than the user specified

TOLERANCE of file fn.uni, the regression converges.

MAX. FRAC. CHANGE

OCCURRED FOR PAR.#

The parameter for which the maximum fractional change occurs. If the

regression does not converge, the parameters listed here are likely to be

contributing to the problem.

1. The names in parentheses, AMP, AP, and DMX are used to label these performance measures in a

table printed in fn._ot.

Output Files from Predictions and Differences--PHASE=44 and 45

When PHASE=44, UCODE calculates predictions and the 95-percent linear confidence

and prediction intervals on the predictions using a slightly modified version of the computer

program YCINT of Hill (1994), as described above in the section “Predictions and differences and

their linear confidence and prediction intervals”. PHASE=44 produces primary output file fn._44,

file fn._y1, which generally is not accessed by the user, and files, temp.u45, temp.p45, temp.f45,

and temp.e45, for the user to edit and create, fn.u45, fn.p45, fn.f45, and fn.e45 for subsequent

execution of Phase 45. Tables in the fn._44 file are labeled, indicating the type of confidence or

prediction interval included in the table. The labels used are:

INDIVIDUAL 95% CONFIDENCE INTERVALS

k SIMULTANEOUS 95% CONFIDENCE INTERVALS, (k is replaced by a number) or

UNDEFINED NUMBER OF SIMULTANEOUS 95% CONFIDENCE INTERVALS
60

The first label is followed by individual confidence intervals. The second label is followed by the

Bonferroni or d=k Scheffe (d=NP Scheffe if k>NP) confidence intervals, whichever are smaller

(Bonferroni are used when they are equal). These are labeled as:

BONFERRONI CONFIDENCE INTERVALS ARE USED

SCHEFFE CONFIDENCE INTERVALS ARE USED

The last of the three labels is followed by d=NP Scheffe confidence intervals. An example of a

fn._44 file is presented in Appendix A.

When PHASE=45, UCODE calculates 95-percent linear confidence and prediction

intervals on predictions and differences, as described above in the section “Predictions and

differences and their linear confidence and prediction intervals”. PHASE=45 produces the primary

output file fn._45. Tables in the fn._45 file are labeled, indicating the type of confidence or

prediction interval included in the table. An example of a fn._45 file is presented in Appendix A.

PHASE=45 also produces file fn._y2, which generally is not accessed by the user.

The output files fn._44 and fn._45 are largely self-explanatory. The theory for calculating

confidence and prediction intervals, and the contents of the fn._44 and fn._45 files are discussed

by Hill (1994). The linearity assumption of these confidence and prediction intervals can be

evaluated using file fn._33, generated by PHASE=33.

Troubleshooting

Most of the problems encountered in using UCODE arise from omitting required data

items from the input files, listing data in the input files in improper order, specifying incorrect

values, or specifying filenames and pathnames incorrectly. A typical resulting problem is that

UCODE does not run to completion. Input errors can be minimized by following the suggestions

presented for PHASE=1 and elsewhere in the text and tables of this section and in the section

“Input File Construction”. When problems are encountered the user is encouraged to review those

suggestions. Often, termination messages are printed to the screen and provide guidance on how

to correct the error.

Another common problem is that the extractions are correct but UCODE fails for

PHASE=2 or 22 or the regression fails to converge for PHASE=3. One situation that can cause

this problem is that too many of the calculate sensitivities equal zero. It is common for some
61

sensitivities to be zero, but most of the sensitivities for each parameter generally need to be nonzero. If more than a few sensitivities equal zero, consider the suggestions presented in the section

“Calculation of Sensitivities”. The existence of zero sensitivities can be investigated as follows.

1. Check for sensitivities equal to zero in the fn._ot file produced for PHASE=2 or 22.

Sensitivities at these PHASES are calculated using the starting parameter values.

2. Sensitivities calculated for the values of the parameters just prior to failure can be investigated

by substituting these parameter values as starting values in the prepare file and executing

UCODE with PHASE=2 or 22.

3. Sensitivities for all intermediate sets of parameter values can be investigated by setting

PRINT-INTERMEDIATE=1 in fn.uni and executing UCODE again with PHASE=3.

Other problems commonly encountered result from the regression problem being poorly

posed because at least some of the defined parameters are insensitive to the available data, the

parameters are extremely correlated, or the model exhibits strong nonlinearity. These problems

can be addressed as discussed in the section “Inverse Modeling Considerations”.

REFERENCES

Christensen, Steen and Cooley, R.L, in press, Simultaneous confidence intervals for a steady-state

leaky aquifer groundwater flow model: Advances in Water Resources Special Issue of

Model Calibration and Reliability Evaluation.

Cooley, R. L., and R.L. Naff, 1990, Regression modeling of ground-water flow: U.S. Geological

Survey Techniques in Water Resources Investigations, book 3, chap, B4, 232#p.

D'Agnese, F.A. Faunt, C.C., Hill, M.C, and Turner, A.K., in press, Death Valley regional groundwater flow model calibration using optimal parameter estimation methods and geoscientific

information systems: Advances in Water Resources, Special Issue on Groundwater Model

Calibration and Reliability.

D'Agnese, F.A. Faunt, C.C., Turner, A.K, and Hill, M.C., 1998, Hydrogeologic evaluation and

numerical simulation of the Death Valley Regional ground-water flow system, Nevada and

California: U.S. Geological Survey Water-Resources Investigation Report 96-4300, 124p.
62

Harbaugh, A.W. and McDonald, M.G., 1996, User’s documentation for MODFLOW’96, an

update to the U.S. Geological Survey Modular Finite Difference Ground-Water Flow

Model: U.S. Geological Survey Open-File Report 96-485, 56 p.

Hill, M.C., 1990, Preconditioned Conjugate Gradient 2 (PCG2), A computer program for solving

ground-water flow equations, U.S. Geological Survey, Water-Resources Investigations

Report 98-4048, p. 43.

Hill, M.C., 1992, A computer program (MODFLOWP) for estimating parameters of a transient,

three-dimensional, ground-water flow model using nonlinear regression: U.S. Geological

Survey Open-File Report 91-484, 358 p.

Hill, M.C., 1994, Five computer programs for testing weighted residuals and calculating linear

confidence and prediction intervals on results from the ground-water parameter estimation

computer program MODFLOWP: U.S. Geological Survey Open-File Report 93-481, 81 p.

Hill, M.C., 1998, Methods and guidelines for effective model calibration: U.S. Geological Survey,

Water-Resources Investigations Report 98-4005.

Poeter, E. P. and M.C. Hill, 1996, Unrealistic parameter estimates in inverse modeling: A problem

or a benefit?: in Kovar, Karel and van der Heidje, Paul, eds, Calibration and reliability in

groundwater modeling, Proceedings of ModelCARE’96, Golden Colorado, September,

1996, International Association of Hydrologic Scientists Publication, 237, p. 277-285.

Poeter, E. P. and Hill, M.C., 1997, Inverse models: A necessary next step in groundwater

modeling: Ground Water, v. 35(2), p. 250-260.

APPENDIX A: EXAMPLE

Physical System

 The physical system illustrated in figure B1 uses the application model MODFLOW’96

(Harbaugh and McDonald, 1996). The system includes two confined aquifers separated by a

confining unit. A river extends along one boundary of the system. The opposite boundary

represents a low hydraulic conductivity upland from which minimal ground-water flow enters the

system. The system is at steady state. Properties in the model include: the storage coefficient and

homogeneous transmissivity of the shallow aquifer; the storage coefficient and a spatially varying
63

transmissivity of the deep aquifer; the vertical hydraulic conductivity of the confining unit; the

hydraulic conductivity of the material on the upland side of the aquifers; and the conductivity of

the riverbed. Application model input file t2 defines the spatial distribution of transmissivity of the

deep aquifer, which increases linearly with distance from the river. Stresses on the system include

recharge for two regions: one within 9000 m of the river and one between 9000 m from the

stream and the adjoining hillside.

Six parameter values are estimated, including: (1) hydraulic conductivity of the shallow

aquifer, (2) vertical hydraulic conductivity of the confining unit, (3) hydraulic conductivity of the

deep aquifer below the river, (4) riverbed conductivity, (5) recharge rate on the half of the area

closest to the river and 6) recharge rate on the remaining area.

The 18x18 finite-difference grid used to simulate the system is shown in figure 3. The cells

are 1000-m squares.

As a synthetic example, the true values of all parameters are known, and are listed in

figure 2. A forward run of this model using the true parameter values was used to generate ten

simulated hydraulic heads and one flow that are then used as observations in a regression that

starts from other parameter values. The ten hydraulic-head observation locations and the river

reach for which the flow applies are shown in figure 3. The generated hydraulic-head values were

rounded to the nearest 0.1m before entering them as observations, and the flow was rounded to

the nearest 1m3/s. The rounding and the limited number of observations results in optimized

parameter values that do not exactly match the true parameter values. To become more familiar

with UCODE input and output files and nonlinear regression, it may be useful to experiment with

the example, starting with different parameter values, adding noise to the observations, using

different observations, and selecting different values for some of the solution control parameters.

Selected segments of most of the application model (MODFLOW96) input and output

files and UCODE input and output files for PHASE=3, 33, 44, and 45 follow in this appendix. A

complete listing of all the files for this problem are provided with UCODE.
64

Figure 2: Physical system for the example case

Surface area is 18,000 by 18,000 meters

Aquifer layers are 50m thick

Confining Layer is 10m thick

Riverbed is 10 meters wide and 10 meters thick

True model input values, parameters in bold type are included as

parameters in the UCODE example files

Transmissivity of layer1 = 50 m * K1; K1= 0.03 m/s

Transmissivity of layer2 = 50 m * K2m* (1+x (8/18,000))

x is the distance from the river, in meters

K2m = K under the river, in meters

K2m = 2.2x10

-3 m/s

Kc

= Kv/ thickness = 1 x 10

-8 /s; Kv = 1 x 10-7 m/s

KRB = 1 x 10

-3 m/s

RCH1 = 1 x 10

-8 m/s

RCH2 = 1.5 x 10

-8 m/s

Adjoining

Hillside

RCH2

RCH1

River

K1

K2m

KC

KRB
65

Figure 3: Location of observations for the example case

Observation Data

1A

2A 1B

2C

2B

1D

1E

1C 2D 2E

Statistic used to define the weight

1A 100.2m 0.5m2

-- --

1B 121.5m -- -- 0.0058

1C 141.0m 0.5m2

-- --

1D 120.8m 0.5m2 -- --

1E 128.9m 0.5m2 -- --

2A 121.8m 0.5m2 -- --

2B 126.8m 0.5m2-- --

2C 101.5m 0.5m2 -- --

2D 144.2m 0.5m2 -- --

2E 156.1m 0.5m2-- --

FLOW 2.0m3/s -- 0.2m3/s --

Grid cells are 1000 feet x 1000 feet

Explanation

1A is a name of a hydraulic head observation. The number indicates the layer in which the observation occurs. The letter

identifies the observation within the layer.

Where there is no symbol associated with the observation label, the observation is located at the center of the cell.

Cells that represent the river are shaded. Lighter shading indicates the reach of the river contributing to the flow observation.

Standard Coefficient

Name Value Variance Deviation of Variation
66

Application Model Input Files

The application model input files listed here are those that are created by UCODE from

template files, or used by files created by UCODE. The values replaced are presented in bold.

Application model input files that are not listed or partially listed here, but are provided with

distribution of UCODE, are as follows: For PHASE=3, ex.oc, ex.bas, ex.pcg, ex.ghb, and ex.fil

are not listed, and the files ex.t2 and ex..arr are only partially listed. For PHASE=44, expred.bas is

not listed.

For phase 3, using starting values (in bold):

ex.bcf

 1 0

 0 0

 0 1.

 0 1000.

 0 1000.

 03.000e-002

 05.000e-008

 182.000e-003(18F3.0)

t2

 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9

 ***18 identical lines follow in t2***

ex.riv

 18 -1

 18

 1 1 1 100 2.0 90

 1 2 1 100 2.0 90

 1 3 1 100 2.0 90

 1 4 1 100 2.0 90

 1 5 1 100 2.0 90

 1 6 1 100 2.0 90

 1 7 1 100 2.0 90

 1 8 1 100 2.0 90

 1 9 1 100 2.0 90

 1 10 1 100 2.0 90

 1 11 1 100 2.0 90

 1 12 1 100 2.0 90

 1 13 1 100 2.0 90

 1 14 1 100 2.0 90

 1 15 1 100 2.0 90

 1 16 1 100 2.0 90

 1 17 1 100 2.0 90

 1 18 1 100 2.0 90
67

ex.rch

 1 0 NRCHOP IRCHBD

 0 0

 30 1.E-0(9e11.3) 0

ex.arr

 5.000e-009 5.000e-009 5.000e-009 5.000e-009 5.000e-009 5.000e-009 5.000e-009 5.000e-009 5.000e-009

 2.000e-008 2.000e-008 2.000e-008 2.000e-008 2.000e-008 2.000e-008 2.000e-008 2.000e-008 2.000e-008

 ***18 identical sets of lines follow***

ex.oc

 2 0 0 0

 0 1 1 1

 1 0 0 0

ex.fil

LIST 6 mod.out

BAS 1 ex.bas

BCF 3 ex.bcf

RIV 13 ex.riv

GHB 12 ex.ghb

RCH 31 ex.rch

PCG 9 ex.pcg

OC 11 ex.oc

DATA 18 t2

DATA 30 ex.arr

For phase 44:

expred.wel (defines pumpage for predictive conditions)

 1 -1

 1

 2 10 5 -1.

files.prd (includes the well package)

LIST 6 modpred.out

BAS 1 ex.bas

BCF 3 ex.bcf

RIV 13 ex.riv

WEL 14 expred.wel

GHB 12 ex.ghb

RCH 31 ex.rch

PCG 9 ex.pcg

OC 11 ex.oc

DATA 18 t2

DATA 30 ex.arr
68

Application Model Output File, mod.out

The application model output file is generated many times by UCODE with PHASE=3 using different sets of parameter values.

The following file was generated using the final parameter values of this synthetic test case, as it would exist at the end of an execution

of UCODE with PHASE=3. The values extracted using the instructions in test.ext are highlighted in bold text. The values differ from

those in test._ck listed below because test._ck includes values extracted after the application model was executed using the starting

parameter values.

LISTING FILE: mod.out

 UNIT 6

 OPENING ex.bas

 FILE TYPE:BAS UNIT 1

 OPENING ex.bcf

 FILE TYPE:BCF UNIT 3

 OPENING ex.riv

 FILE TYPE:RIV UNIT 13

 OPENING ex.ghb

 FILE TYPE:GHB UNIT 12

 OPENING ex.rch

 FILE TYPE:RCH UNIT 31

 OPENING ex.pcg

 FILE TYPE:PCG UNIT 9

 OPENING ex.oc

 FILE TYPE:OC UNIT 11

 OPENING t2

 FILE TYPE:DATA UNIT 18

 OPENING ex.arr

 FILE TYPE:DATA UNIT 30

1 MODFLOW

 U.S. GEOLOGICAL SURVEY MODULAR FINITE-DIFFERENCE GROUND-WATER FLOW MODEL

 UCODE SIMULATION OF A MODIFIED VERSION OF MODFLOWP TEST CASE 1

 2 LAYERS 18 ROWS 18 COLUMNS

 1 STRESS PERIOD(S) IN SIMULATION

 MODEL TIME UNIT IS SECONDS
69

 BAS5 -- BASIC MODEL PACKAGE, VERSION 5, 1/1/95 INPUT READ FROM UNIT 1

 ARRAYS RHS AND BUFF WILL SHARE MEMORY

 INITIAL HEAD WILL BE KEPT THROUGHOUT THE SIMULATION

 6200 ELEMENTS IN X ARRAY ARE USED BY BAS

 6200 ELEMENTS OF X ARRAY USED OUT OF 1500000

 BCF5 -- BLOCK-CENTERED FLOW PACKAGE, VERSION 5, 9/1/93 INPUT READ FROM UNIT 3

 STEADY-STATE SIMULATION

 HEAD AT CELLS THAT CONVERT TO DRY= 0.00000

 WETTING CAPABILITY IS NOT ACTIVE

 LAYER LAYER-TYPE CODE INTERBLOCK T

 --------------------------------------------

 1 0 0 -- HARMONIC

 2 0 0 -- HARMONIC

 2 ELEMENTS IN X ARRAY ARE USED BY BCF

 6202 ELEMENTS OF X ARRAY USED OUT OF 1500000

 RIV5 -- RIVER PACKAGE, VERSION 5, 9/1/93 INPUT READ FROM UNIT 13

 MAXIMUM OF 18 RIVER REACHES

 CELL-BY-CELL FLOWS WILL BE PRINTED WHEN ICBCFL NOT 0

 108 ELEMENTS IN X ARRAY ARE USED BY RIV

 6310 ELEMENTS OF X ARRAY USED OUT OF 1500000

 GHB5 -- GHB PACKAGE, VERSION 5, 9/1/93 INPUT READ FROM UNIT 12

 MAXIMUM OF 36 HEAD-DEPENDENT BOUNDARY NODES

 180 ELEMENTS IN X ARRAY ARE USED BY GHB

 6490 ELEMENTS OF X ARRAY USED OUT OF 1500000

 RCH5 -- RECHARGE PACKAGE, VERSION 5, 6/1/95 INPUT READ FROM UNIT 31

 OPTION 1 -- RECHARGE TO TOP LAYER

 324 ELEMENTS IN X ARRAY ARE USED BY RCH

 6814 ELEMENTS OF X ARRAY USED OUT OF 1500000

0PCG2 -- CONJUGATE GRADIENT SOLUTION PACKAGE, VERSION 2.1, 6/1/95

 MAXIMUM OF 1 CALLS OF SOLUTION ROUTINE

 MAXIMUM OF 200 INTERNAL ITERATIONS PER CALL TO SOLUTION ROUTINE

 MATRIX PRECONDITIONING TYPE : 1

 4392 ELEMENTS IN X ARRAY ARE USED BY PCG

 11206 ELEMENTS OF X ARRAY USED OUT OF1500000

1

 UCODE SIMULATION OF A MODIFIED VERSION OF MODFLOWP TEST CASE 1

 BOUNDARY ARRAY = 1 FOR LAYER 1

 BOUNDARY ARRAY = 1 FOR LAYER 2

 AQUIFER HEAD WILL BE SET TO 0.50000 AT ALL NO-FLOW NODES (IBOUND=0).

 INITIAL HEAD = 200.0000 FOR LAYER 1

 INITIAL HEAD = 200.0000 FOR LAYER 2

 OUTPUT CONTROL IS SPECIFIED EVERY TIME STEP
70

 HEAD PRINT FORMAT CODE IS 2 DRAWDOWN PRINT FORMAT CODE IS 0

 HEADS WILL BE SAVED ON UNIT 0 DRAWDOWNS WILL BE SAVED ON UNIT 0

 COLUMN TO ROW ANISOTROPY = 1.000000

 DELR = 1000.000

 DELC = 1000.000

 TRANSMIS. ALONG ROWS = 0.3030000E-01 FOR LAYER 1

 VERT HYD COND /THICKNESS = 0.9287000E-08 FOR LAYER 1

 TRANSMIS. ALONG ROWS FOR LAYER 2

 READING ON UNIT 18 WITH FORMAT: (18F3.0)

 1 2 3 4 5 6 7 8 9 10

 11 12 13 14 15 16 17 18

 ........................................................................................................................

 1 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 2 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 3 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 4 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 5 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 6 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 7 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 8 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 9 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 10 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 11 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 12 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 13 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 14 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 15 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 16 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 17 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02
71

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

 18 2.0000E-03 2.0000E-03 4.0000E-03 4.0000E-03 6.0000E-03 6.0000E-03 8.0000E-03 8.0000E-03 1.0000E-02 1.0000E-02

 1.2000E-02 1.2000E-02 1.4000E-02 1.4000E-02 1.6000E-02 1.6000E-02 1.8000E-02 1.8000E-02

0

 SOLUTION BY THE CONJUGATE-GRADIENT METHOD

 -------------------------------------------

0 MAXIMUM NUMBER OF CALLS TO PCG ROUTINE = 1

 MAXIMUM ITERATIONS PER CALL TO PCG = 200

 MATRIX PRECONDITIONING TYPE = 1

 RELAXATION FACTOR (ONLY USED WITH PRECOND. TYPE 1) = 0.10000E+01

 PARAMETER OF POLYMOMIAL PRECOND. = 2 (2) OR IS CALCULATED : 2

 HEAD CHANGE CRITERION FOR CLOSURE = 0.10000E-05

 RESIDUAL CHANGE CRITERION FOR CLOSURE = 0.10000E-05

 PCG HEAD AND RESIDUAL CHANGE PRINTOUT INTERVAL = 999

 PRINTING FROM SOLVER IS LIMITED(1) OR SUPPRESSED (>1) = 2

 DAMPING PARAMETER = 0.10000E+01

1

 STRESS PERIOD NO. 1, LENGTH = 86400.00

 ----------------------------------------------

 NUMBER OF TIME STEPS = 1

 MULTIPLIER FOR DELT = 1.000

 INITIAL TIME STEP SIZE = 86400.00

 18 RIVER REACHES

 LAYER ROW COL STAGE CONDUCTANCE BOT. ELEV. REACH NO.

 -----------------------------------------------------------------

 1 1 1 100.0 1.043 90.00 1

 1 2 1 100.0 1.043 90.00 2

 1 3 1 100.0 1.043 90.00 3

 1 4 1 100.0 1.043 90.00 4

 1 5 1 100.0 1.043 90.00 5

 1 6 1 100.0 1.043 90.00 6

 1 7 1 100.0 1.043 90.00 7

 1 8 1 100.0 1.043 90.00 8

 1 9 1 100.0 1.043 90.00 9

 1 10 1 100.0 1.043 90.00 10

 1 11 1 100.0 1.043 90.00 11

 1 12 1 100.0 1.043 90.00 12

 1 13 1 100.0 1.043 90.00 13

 1 14 1 100.0 1.043 90.00 14

 1 15 1 100.0 1.043 90.00 15

 1 16 1 100.0 1.043 90.00 16

 1 17 1 100.0 1.043 90.00 17

 1 18 1 100.0 1.043 90.00 18

 36 HEAD-DEPENDENT BOUNDARY NODES
72

 LAYER ROW COL ELEVATION CONDUCTANCE BOUND NO.

 -------------------------------------------------------

 1 1 18 350.0 0.1000E-06 1

 1 2 18 350.0 0.1000E-06 2

 1 3 18 350.0 0.1000E-06 3

 1 4 18 350.0 0.1000E-06 4

 1 5 18 350.0 0.1000E-06 5

 1 6 18 350.0 0.1000E-06 6

 1 7 18 350.0 0.1000E-06 7

 1 8 18 350.0 0.1000E-06 8

 1 9 18 350.0 0.1000E-06 9

 1 10 18 350.0 0.1000E-06 10

 1 11 18 350.0 0.1000E-06 11

 1 12 18 350.0 0.1000E-06 12

 1 13 18 350.0 0.1000E-06 13

 1 14 18 350.0 0.1000E-06 14

 1 15 18 350.0 0.1000E-06 15

 1 16 18 350.0 0.1000E-06 16

 1 17 18 350.0 0.1000E-06 17

 1 18 18 350.0 0.1000E-06 18

 2 1 18 350.0 0.1000E-06 19

 2 2 18 350.0 0.1000E-06 20

 2 3 18 350.0 0.1000E-06 21

 2 4 18 350.0 0.1000E-06 22

 2 5 18 350.0 0.1000E-06 23

 2 6 18 350.0 0.1000E-06 24

 2 7 18 350.0 0.1000E-06 25

 2 8 18 350.0 0.1000E-06 26

 2 9 18 350.0 0.1000E-06 27

 2 10 18 350.0 0.1000E-06 28

 2 11 18 350.0 0.1000E-06 29

 2 12 18 350.0 0.1000E-06 30

 2 13 18 350.0 0.1000E-06 31

 2 14 18 350.0 0.1000E-06 32

 2 15 18 350.0 0.1000E-06 33

 2 16 18 350.0 0.1000E-06 34

 2 17 18 350.0 0.1000E-06 35

 2 18 18 350.0 0.1000E-06 36

 RECHARGE

 READING ON UNIT 30 WITH FORMAT: (9e11.3)

 1 2 3 4 5 6 7 8 9 10

 11 12 13 14 15 16 17 18

 ........................................................................................................................

 1 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 2 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 3 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08
73

 4 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 5 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 6 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 7 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 8 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 9 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 10 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 11 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 12 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 13 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 14 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 15 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 16 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 17 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 18 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.0380E-08 1.4570E-08

 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08 1.4570E-08

 HEAD/DRAWDOWN PRINTOUT FLAG = 1 TOTAL BUDGET PRINTOUT FLAG = 1

 CELL-BY-CELL FLOW TERM FLAG = 1

 OUTPUT FLAGS FOR ALL LAYERS ARE THE SAME:

 HEAD DRAWDOWN HEAD DRAWDOWN

 PRINTOUT PRINTOUT SAVE SAVE

 ----------------------------------

 1 0 1 0

 RIVER LEAKAGE PERIOD 1 STEP 1

 REACH 1 LAYER 1 ROW 1 COL 1 RATE -0.224588

 REACH 2 LAYER 1 ROW 2 COL 1 RATE -0.224585

 REACH 3 LAYER 1 ROW 3 COL 1 RATE -0.224590

 REACH 4 LAYER 1 ROW 4 COL 1 RATE -0.224585

 REACH 5 LAYER 1 ROW 5 COL 1 RATE -0.224584

 REACH 6 LAYER 1 ROW 6 COL 1 RATE -0.224590

 REACH 7 LAYER 1 ROW 7 COL 1 RATE -0.224589

 REACH 8 LAYER 1 ROW 8 COL 1 RATE -0.224587

 REACH 9 LAYER 1 ROW 9 COL 1 RATE -0.224591

 REACH 10 LAYER 1 ROW 10 COL 1 RATE -0.224586

 REACH 11 LAYER 1 ROW 11 COL 1 RATE -0.224590

 REACH 12 LAYER 1 ROW 12 COL 1 RATE -0.224586
74

 REACH 13 LAYER 1 ROW 13 COL 1 RATE -0.224586

 REACH 14 LAYER 1 ROW 14 COL 1 RATE -0.224588

 REACH 15 LAYER 1 ROW 15 COL 1 RATE -0.224588

 REACH 16 LAYER 1 ROW 16 COL 1 RATE -0.224591

 REACH 17 LAYER 1 ROW 17 COL 1 RATE -0.224586

 REACH 18 LAYER 1 ROW 18 COL 1 RATE -0.224590

1

 HEAD IN LAYER 1 AT END OF TIME STEP 1 IN STRESS PERIOD 1

 -----------------------------------------------------------------------

 1 2 3 4 5 6 7 8 9

 10 11 12 13 14 15 16 17 18

 ..............................................................................................................................

 1 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 2 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 3 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 4 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 5 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 6 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 7 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 8 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 9 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 10 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 11 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 12 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 13 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 14 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 15 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 16 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 17 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

 18 100.215 106.894 113.074 118.739 123.957 128.735 133.111 137.098 140.725

 144.012 146.861 149.294 151.334 152.997 154.302 155.263 155.894 156.205

1

 HEAD IN LAYER 2 AT END OF TIME STEP 1 IN STRESS PERIOD 1

 -----------------------------------------------------------------------

 1 2 3 4 5 6 7 8 9
75

 10 11 12 13 14 15 16 17 18

 ..............................................................................................................................

 1 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 2 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 3 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 4 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 5 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 6 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 7 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 8 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 9 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 10 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 11 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 12 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 13 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 14 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 15 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 16 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 17 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

 18 101.490 107.407 113.632 119.079 124.277 128.929 133.263 137.155 140.716

 143.873 146.649 149.008 150.993 152.598 153.856 154.771 155.365 155.652

1

 VOLUMETRIC BUDGET FOR ENTIRE MODEL AT END OF TIME STEP 1 IN STRESS PERIOD 1

 -----------------------------------------------------------------------------

 CUMULATIVE VOLUMES L**3 RATES FOR THIS TIME STEP L**3/T

 ------------------ ------------------------

 IN: IN:

 --- ---

 CONSTANT HEAD = 0.0000 CONSTANT HEAD = 0.0000

 RIVER LEAKAGE = 0.0000 RIVER LEAKAGE = 0.0000

 HEAD DEP BOUNDS = 60.3640 HEAD DEP BOUNDS = 6.9866E-04

 RECHARGE = 349220.1880 RECHARGE = 4.0419

 TOTAL IN = 349280.5630 TOTAL IN = 4.0426
76

 OUT: OUT:

 ---- ----

 CONSTANT HEAD = 0.0000 CONSTANT HEAD = 0.0000

 RIVER LEAKAGE = 349278.9380 RIVER LEAKAGE = 4.0426

 HEAD DEP BOUNDS = 0.0000 HEAD DEP BOUNDS = 0.0000

 RECHARGE = 0.0000 RECHARGE = 0.0000

 TOTAL OUT = 349278.9380 TOTAL OUT = 4.0426

 IN - OUT = 1.6250 IN - OUT = 1.8597E-05

 PERCENT DISCREPANCY = 0.00 PERCENT DISCREPANCY = 0.00

 TIME SUMMARY AT END OF TIME STEP 1 IN STRESS PERIOD 1

 SECONDS MINUTES HOURS DAYS YEARS

 -----------------------------------------------------------

 TIME STEP LENGTH 86400. 1440.0 24.000 1.0000 2.73785E-03

 STRESS PERIOD TIME 86400. 1440.0 24.000 1.0000 2.73785E-03

 TOTAL TIME 86400. 1440.0 24.000 1.0000 2.73785E-03

1
77

UCODE Input Files

Template Files

bcf.tpl

 1 0

 0 0

 0 1.

 0 1000.

 0 1000.

 0!k1,,,,,,!

 0!KC,,,,,,!

 18!k2m,,,,,!(18F3.0)

riv.tpl

 18 -1

 18

 1 1 1 100!KrB,,,,,! 90

 1 2 1 100!KrB,,,,,! 90

 1 3 1 100!KrB,,,,,! 90

 1 4 1 100!KrB,,,,,! 90

 1 5 1 100!KrB,,,,,! 90

 1 6 1 100!KrB,,,,,! 90

 1 7 1 100!KrB,,,,,! 90

 1 8 1 100!KrB,,,,,! 90

 1 9 1 100!KrB,,,,,! 90

 1 10 1 100!KrB,,,,,! 90

 1 11 1 100!KrB,,,,,! 90

 1 12 1 100!KrB,,,,,! 90

 1 13 1 100!KrB,,,,,! 90

 1 14 1 100!KrB,,,,,! 90

 1 15 1 100!KrB,,,,,! 90

 1 16 1 100!KrB,,,,,! 90

 1 17 1 100!KrB,,,,,! 90

 1 18 1 100!KrB,,,,,! 90

rcharr.tpl

!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!!rch1,,,,,!

!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!!RCH2,,,,,!

***18 sets of identical lines are in the file***
78

Universal File--fn.uni

test.uni

# phase

 3 #phase

# # of parameters

 1 # forward differencing (1 forward 2 central)

 0.01 # tolerance parameters

0.0 # tolerance sosr

 0 # do not use quasi-Newton updating

 10 # maximum # of iterations

 2.0 # maximum fractional parameter change

..\code\mrdrive # name of inverse code

 1 # number of application models

m # name of application model (batch code for mf96)

 10 # sensitivity scaling (0 none 1 scaled)

 0 # printing intermediate residuals & sensitivities(0 no, 1 yes)

 1 # graphing & postprocessing (0 no, 1 yes)

 3 # # of residual sets

# this well is trouble

1A 100.2 0.5 0 1

1B 121.5 0.5 0 1

# ?location

1C 141.0 0.5 0 1 # the location of this well is uncertain

1D 120.2 0.5 0 1

#etc

1E 128.9 0.5 0 1 # etc

2A 121.8 0.5 0 2

2B 126.8 0.5 0 2

2C 101.5 0.5 0 2

2D 144.2 0.5 0 2

2E 156.1 0.5 0 2

flow 2. 0.8 1 0

END

Batch file m.bat executes the application model and specifies a file called “in” which contains

input that the application model expects from the screen. Output that the application code(s)

route to the screen will be printed to the file “out”.

m.bat

..\applic\modflw96 < in > out

in

ex.fil
79

Prepare File--fn.pre

test.pre

# prepare input from template files

F yes

#open bcf file

< bcf.tpl

> ex.bcf

#open river package

< riv.tpl

> ex.riv

#open recharge array

< rcharr.tpl

> ex.arr

#substitute k for layer 1

/!k1,,,,,,! 3.e-02 3.e-03 3.e-1 0.01 %10.3e 1 1

#substitute for conductance between layers

/!KC,,,,,,! 5.0E-08 5.e-09 5.e-07 0.01 %10.3e 1 1

#substitute k for layer

/!k2m,,,,,! 2.0E-03 2.0e-4 2.0e-2 0.01 %10.3e 1 0

#substitute for kv of river bed

/!KrB,,,,,! 2.0 0.2 20. 0.01 %10.3e 1 1

#substitute for rch rate near river

/!rch1,,,,,! 0.5 .05 5. 0.01 %11.3e 0 1

#substitute for rch rate near river

/!RCH2,,,,,! 2.0 .2 20 0.01 %11.3e 0 1

#PRIOR INFORMATION

#prior on conductance between layers

P 3e-2 = 1 x k1 stat 0.25 flag 1 plot 3

#prior on recharge rch1

P 1.25 = 0.5 x rch1 & 0.5 x RCH2 stat 0.4 flag 2 plot 3

END
80

Function File--fn.fnc

test.fnc

#sub rch1 in rcharr.tpl

:file rcharr.tpl

:key rch1

1..162 $x*1e-8

#sub rch1 in rcharr.tpl

:file rcharr.tpl

:key RCH2

1..162 $x*1e-8

END

Extract File--fn.ext

The backward movements included in the extract file are not necessary, but are included to

demonstrate how the “-“ code is used

test.ext

# extract observations from modflow output

<mod.out

o flow

/RIVER LEAKAGE/

+1

s10

c50_60_-0.5 #grab col49-50 but only take half because gage is in center of cell

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-0.25 #only take a quarter because the gage is a quarter of the way into the

cell

o 1A

#open model output

<mod.out

# extract heads from layer 1

/IN LAY/

+12

-2

c9_15
81

o 1B

+10

-8

i2

c51_57_.5

c65_71_.5

o 1C

+12

c120_127

o 1D

+4

i4

c50_57_.1875

c64_71_.0625

+2

c50_57_.5625

c64_71_.1875

o 1E

+4

c78_85

o 2A

#extract heads from layer 2

/IN LAY/

+12

i2

c50_57_.5

c64_71_.5

o 2B

+10

i4

c64_71_.25

c78_85_.25

+2

c64_71_.25

c78_85_.25

o 2C

c8_15

o 2E

+1

c120_127

o 2D

c8_15

END

Input Files for Predictions and Their Confidence and Prediction Intervals--fn.u44 and fn.e45

test.u44

44

2 # GET ACCURATE SENSITIVITIES FOR CALCULATING INTERVALS

0.01

0

0

10

2.0
82

..\code\mrdrive

1

#!!!!!! THE LINES DEFINING MODELS MAY REQUIRE EDITING. !!!!!!!

#!!!!!! TO ACCOMODATE THE CALCULATION OF CONFIDENCE INTERVALS. !!!!!!!

#!!!!!! SOMETIMES BATCH FILES ARE SPECIFIED THAT INCLUDE NAMES !!!!!!!

#!!!!!! OF INPUT FILES FOR THE APPLICATION CODES AND !!!!!!!

#!!!!!! THESE MAY CHANGE FOR THE PREDICTION SCENARIO !!!!!!!

mpred

3

0

0 # THE POST-PROCESSING FLAG SHOULD BE OFF

0 # NO RESIDUAL SETS ARE NEEDED

# BELOW THIS TEXT, ENTER INFORMATION FOR THE LOCATION AT WHICH CONFIDENCE

# INTERVALS ARE TO BE CALCULATED

# EXAMPLE FORMAT IS:

# NAME VALUE(IRRELEVANT BUT A # MUST BE HERE) MEASUREMENT-VARIANCE ZERO PLOT-FLAG

# A TEMPLATE FOLLOWS, make copies of the last line and replace

# LOCATIONNAME MEASUREMENTVARIANCE PLOT-FLAG

# with the appropriate values

#LOCATION-NAME 1 MEASUREMENT-VARIANCE 0 PLOT-FLAG

head_stream 1. 0.5 0 2

head_center 1. 0.5 0 2

upper_flow 1. 0.64 0 0

# REMEMBER: DO NOT INCLUDE BLANK LINES IN THIS FILE

END

test.e44

# fn.e44

#

# THE EXTRACTED VALUES ARE THE SIMLULATED EQUIVALENTS

# OF THE VALUES IN THE fn._u44 FILE

#

# REMEMBER TO CHANGE THE FILES NAMES IF THEY DIFFER FROM THE CALIBRATION

# OUTPUT FILE NAMES

#

#open model output

<modpred.out

o upper_flow

# extract flow in reaches 11-15 for calculating confidence on predicted

# flow under pumping conditions

/RIVER LEAKAGE/

+10

s5 # sum reaches 11 through 15

c50_60_-1 #grab col49-50

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

#extract heads

/IN LAY/

# extract head from layer 1 row 9 col 1 below stream for calcualting confidence

# interval under pumping conditions

o head_stream

+22
83

c8_15

# extract head from layer 1 row 9 col 10 at center for calcualting confidence

# interval under pumping conditions

o head_center

+1

c8_15

END

Input Files for Differences and Their Confidence and Prediction Intervals--fn.u45 and fn.e45

test.u45

45

2 # GET ACCURATE SENSITIVITIES FOR CALCULATING INTERVALS

0.01

0

0

10

2.0

..\code\mrdrive

1

#!!!!!! THE LINES DEFINING MODELS MAY REQUIRE EDITING. !!!!!!!

#!!!!!! TO ACCOMODATE THE CALCULATION OF CONFIDENCE INTERVALS. !!!!!!!

#!!!!!! SOMETIMES BATCH FILES ARE SPECIFIED THAT INCLUDE NAMES !!!!!!!

#!!!!!! OF INPUT FILES FOR THE APPLICATION CODES AND !!!!!!!

#!!!!!! THESE MAY CHANGE FOR THE PREDICTION SCENARIO !!!!!!!

m

3

0

0 # THE POST-PROCESSING FLAG SHOULD BE OFF

0 # NO RESIDUAL SETS ARE NEEDED

# BELOW THIS TEXT, ENTER INFORMATION FOR THE LOCATION AT WHICH CONFIDENCE

# INTERVALS ARE TO BE CALCULATED

# EXAMPLE FORMAT IS:

# NAME VALUE(IRRELEVANT BUT A # MUST BE HERE) MEASUREMENT-VARIANCE ZERO PLOT-FLAG

# A TEMPLATE FOLLOWS, make copies of the last line and replace

# LOCATIONNAME MEASUREMENTVARIANCE PLOT-FLAG

# with the appropriate values

#LOCATION-NAME 1 MEASUREMENT-VARIANCE 0 PLOT-FLAG

head_stream 1. 0.05 0 2

head_center 1. 0.05 0 2

upper_flow 1. 0.64 0 0

# REMEMBER: DO NOT INCLUDE BLANK LINES IN THIS FILE

END

test.e45

# fn.e45

#

# IN THIS FILE PREPARE EXTRACTION INFORMATION LIKE THAT IN fn.ext

# BUT BE SURE THE EXTRACTED VALUES ARE THE SIMLULATED EQUIVALENTS

# OF THE VALUES IN THE fn._u44 FILE

#

# A COPY OF THE fn.e44 FILE IS PROVIDED BELOW FOR YOUR CONVENIENCE

#

# REMEMBER TO MAKE APPROPRIATE CHANGES TO REFLECT THE BASE CASE

#

# THE fn.e44 FILE WAS AS FOLLOWS:

#

# fn.e44

#

# THE EXTRACTED VALUES ARE THE SIMLULATED EQUIVALENTS

# OF THE VALUES IN THE fn._u44 FILE
84

#

# REMEMBER TO CHANGE THE FILES NAMES IF THEY DIFFER FROM THE CALIBRATION

# OUTPUT FILE NAMES

#

#open model output

<mod.out

o upper_flow

# extract flow in reaches 11-15 for calculating confidence on predicted

# flow under pumping conditions

/RIVER LEAKAGE/

+10

s5 # sum reaches 11 through 15

c50_60_-1 #grab col49-50

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

+1

c50_60_-1

#extract heads

/IN LAY/

# extract head from layer 1 row 9 col 1 below stream for calcualting confidence

# interval under pumping conditions

o head_stream

+22

c8_15

# extract head from layer 1 row 9 col 10 at center for calcualting confidence

# interval under pumping conditions

o head_center

+1

c8_15

END

Input Prepare File for PHASE=11--fn.pre

test.pre for PHASE=11

# prepare input from template files

F yes

#open bcf file

< bcf.tpl

> ex.bcf

#open river package

< riv.tpl

> ex.riv

#open recharge array

< rcharr.tpl

> ex.arr
85

#substitute k for layer 1

/!k1,,,,,,! 3.e-02 3.e-03 3.e-1 3 %10.3e 1 1

#substitute for conductance between layers

/!KC,,,,,,! 5.0E-08 5.e-09 5.e-07 0.01 %10.3e 1 0

#substitute k for layer

/!k2m,,,,,! 2.0E-03 2.0e-4 2.0e-2 0.01 %10.3e 1 0

#substitute for kv of river bed

/!KrB,,,,,! 2.0 0.2 20. 3 %10.3e 1 1

#substitute for rch rate near river

/!rch1,,,,,! 0.5 .05 5. 0.01 %11.3e 0 0

#substitute for rch rate near river

/!RCH2,,,,,! 2.0 .2 20 2 %11.3e 0 1

#PRIOR INFOrmATIoN

#prior on conductance between layers

P 3e-2 = 1 x k1 stat 0.25 flag 1 plot 3

#prior on recharge rch1

P 1.25 = 0.5 x rch1 & 0.5 x RCH2 stat 0.4 flag 2 plot 3

END

Selected UCODE Output Files

Listing File--fn._ot

Note the low relative sensitivity to parameter KrB and the correlation between

parameters k1 and RCH2. These results would warrant further consideration and

testing as discussed in the text of this report and in Hill (1998). Also note the

low calculated error variance. This is the result of assigning variance that are

too large given the minor errors in the synthetic observations. This is typical of

synthetic problems where fairly accurate values are used as observations, yet

typical field variances are assigned when the observations are input to the code.

test._ot

*****************************************************************

 UCODE VERSION 1.0 (MAY 1998)

 Documented in: USGS WRI98-4080

 by Eileen P. Poeter and Mary C. Hill

 UPDATES can be obtained from http://water.usgs.gov/

 *****************************************************************

 ECHO OF INPUT

 DOS or MS-Windows PLATFORM

 PHASE SELECTED ................................................. 3

 ____________________

 REGRESSION CONTROLS:

 SENSITIVITY DIFFERENCING (1=FORWARD, 2= CENTRAL) ............... 1

 PARAMETER ESTIMATION CONVERGES WHEN EITHER OF THE

 FOLLOWING IS SATISTFIED:
86

 1) MAXIMUM FRACTIONAL PARAMETER CHANGE IS LESS THAN .......... 0.01

 2) SUM-OF-SQUARED WEIGHTED RESIDUALS DIFFERS OVER

 THREE ITERATIONS BY LESS THAN A FACTOR OF: ............ 0.0

 OPTIONAL QUASI-NEWTON UPDATING (0= NO 1=YES) ................... 0

 MAXIMUM NUMBER OF PARAMETER ITERATIONS BEFORE TERMINATION ...... 10

 MAXIMUM ALLOWABLE FRACTIONAL PARAMETER CHANGE .................. 2.0

 NAME OF INVERSION ALGORITHM IS ..\code\mrdrive

 NUMBER OF APPLICATION CODES TO RUN IS .......................... 1

 CODE NAME m

 __________________

 PRINTING CONTROLS:

 SENSITIVITY SCALING (0=NO-SCALING 1=DIMENSIONLESS 2=1% 3= 1&2) . 3

 INTERMEDIATE PRINTING (0=NONE, 1= PRINT) ....................... 0

 PRODUCE GRAPHING AND POSTPROCESSING FILES (0=NO, 1=YES) ........ 1

 # OF RESIDUAL SETS FOR EVALUATION OF APPARENT NON-RANDOMNESS ... 10

 ________________________

 OBSERVATION INFORMATION:

 NUMBER OF OBSERVATIONS = 11

 OBS# OBSERVATION ID VALUE STAT STAT SQRT PLOT

 TYPE WEIGHT SYMBOL

 1 1A 100.2 0.5 VAR 1.414 1

 2 1B 121.5 0.5 VAR 1.414 1

 3 1C 141 0.5 VAR 1.414 1

 4 1D 120.2 0.5 VAR 1.414 1

 5 1E 128.9 0.5 VAR 1.414 1

 6 2A 121.8 0.5 VAR 1.414 2

 7 2B 126.8 0.5 VAR 1.414 2

 8 2C 101.5 0.5 VAR 1.414 2

 9 2D 144.2 0.5 VAR 1.414 2

 10 2E 156.1 0.5 VAR 1.414 2

 11 flow 2 0.8 STD 1.25 0

 __________________

 PRIOR INFORMATION:

 PRIOR EQUATION # 1:

 3e-2 = 1 * k1

 STD DEV = 0.25, LOG transformed, PLOT-SYMBOL = 3

 PRIOR EQUATION # 2:

 1.25 = 0.5 * rch1 + 0.5 * RCH2

 COEF VAR = 0.4, NOT transformed, PLOT-SYMBOL = 3

______________________

PARAMETER INFORMATION:

INITIAL INFORMATION FOR 6 PARAMETERS

(ONLY ESTIMATE THE FIRST 5 PARAMETERS IN THE LIST)

 PARAMETER INITIAL REASONABLE REASONABLE PERTURBATION LOG ESTIMATE

 NAME VALUE MINIMUM MAXIMUM FRACTIONAL TRANS FLAG

 AMOUNT FLAG

-------------------------------------------------------------------------------

 k1 0.03 0.003 0.3 0.01 YES YES

 KC 5e-008 5e-009 5e-007 0.01 YES YES
87

 KrB 2 0.2 20 0.01 YES YES

 rch1 0.5 0.05 5 0.01 NO YES

 RCH2 2 0.2 20 0.01 NO YES

 k2m 0.002 0.0002 0.02 0.01 YES NO

-------------------------------------------------------------------------------

Analyzing Parameter IDs in file: {bcf.tpl}

 {3} lines out of {8} include Parameter IDs for substitution

 the last line with a substitution is {8}

 Parameter ID: {!k1,,,,,,!} occurs: {1} times in the template file

 Parameter ID: {!KC,,,,,,!} occurs: {1} times in the template file

 Parameter ID: {!k2m,,,,,!} occurs: {1} times in the template file

Analyzing Parameter IDs in file: {riv.tpl}

 {18} lines out of {20} include Parameter IDs for substitution

 the last line with a substitution is {20}

 Parameter ID: {!KrB,,,,,!} occurs: {18} times in the template file

Analyzing Parameter IDs in file: {rcharr.tpl}

 {36} lines out of {36} include Parameter IDs for substitution

 the last line with a substitution is {36}

 Parameter ID: {!rch1,,,,,!} occurs: {162} times in the template file

 Parameter ID: {!RCH2,,,,,!} occurs: {162} times in the template file

****************************************************

 EXECUTING MRDRIVE VERSION 1.0 (MAY 1998)

****************************************************

SUM OF SQUARED RESIDUALS FOR INITIAL PARAMETERS

 SUM OF SQUARED WEIGHTED RESIDUALS 420.75

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 420.75

********************************************************************************

 ITERATION NO. = 1

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = 1.0465

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 4, rch1

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.03385E-02 1.33470E-09 1.8077 1.0232 1.4892

SUM OF SQUARED RESIDUALS FOR PARAMETERS AS UPDATED IN ITERATION NO. 1

 SUM OF SQUARED WEIGHTED RESIDUALS 76.831

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 76.832

********************************************************************************

 ITERATION NO. = 2

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = 1.8081

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 2, KC

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.02091E-02 3.74801E-09 1.3173 1.0534 1.4622

SUM OF SQUARED RESIDUALS FOR PARAMETERS AS UPDATED IN ITERATION NO. 2

 SUM OF SQUARED WEIGHTED RESIDUALS 6.6075

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 6.6079
88

********************************************************************************

 ITERATION NO. = 3

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = 0.91337

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 2, KC

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.03056E-02 7.17134E-09 1.1210 1.0394 1.4731

SUM OF SQUARED RESIDUALS FOR PARAMETERS AS UPDATED IN ITERATION NO. 3

 SUM OF SQUARED WEIGHTED RESIDUALS 0.28579

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 0.28616

********************************************************************************

 ITERATION NO. = 4

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = 0.24748

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 2, KC

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.02794E-02 8.94607E-09 1.0879 1.0405 1.4699

SUM OF SQUARED RESIDUALS FOR PARAMETERS AS UPDATED IN ITERATION NO. 4

 SUM OF SQUARED WEIGHTED RESIDUALS 0.16411E-01

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 0.16795E-01

********************************************************************************

 ITERATION NO. = 5

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = -.42556E-01

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 3, KrB

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.03037E-02 9.28697E-09 1.0416 1.0375 1.4714

SUM OF SQUARED RESIDUALS FOR PARAMETERS AS UPDATED IN ITERATION NO. 5

 SUM OF SQUARED WEIGHTED RESIDUALS 0.11045E-01

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 0.11435E-01

********************************************************************************

 ITERATION NO. = 6

 VALUES FROM LEAST-SQUARES REGRESSION PROCEDURE :

 MARQUARDT PARAMETER -------------- = 0.00000

 MAX. FRACTIONAL PAR. CHANGE------- = 0.17274E-01

 MAX. FRAC. CHANGE OCCURRED FOR PAR.# 3, KrB

 UPDATED ESTIMATES OF REGRESSION PARAMETERS :

 k1 KC KrB rch1 RCH2

 3.03048E-02 9.28746E-09 1.0425 1.0376 1.4714

 PARAMETER ESTIMATION CONVERGED BY SATISFYING PARAMETER TOLERANCE CRITERIA

 *****************************************************************************

 PARAMETER ESTIMATION CONVERGED

 THE FOLLOWING RESIDUALS AND STATISTICS

 ARE CALCULATED AT THE FINAL PARAMETER VALUES USING CENTRAL DIFFERENCES

 *****************************************************************************
89

 OBSERVATIONS

 OBSERVATION MEASURED SIMULATED WEIGHTED

 OBS# NAME VALUE VALUE RESIDUAL WEIGHT**.5 RESIDUAL

 1 1A 100.200 100.217 -1.7006E-02 1.41 -2.4050E-02

 2 1B 121.500 121.481 1.8501E-02 1.41 2.6165E-02

 3 1C 141.000 141.010 -9.9945E-03 1.41 -1.4134E-02

 4 1D 120.200 120.168 3.2249E-02 1.41 4.5608E-02

 5 1E 128.900 128.921 -2.1011E-02 1.41 -2.9715E-02

 6 2A 121.800 121.815 -1.4999E-02 1.41 -2.1212E-02

 7 2B 126.800 126.775 2.5002E-02 1.41 3.5357E-02

 8 2C 101.500 101.499 9.9945E-04 1.41 1.4134E-03

 9 2D 144.200 144.189 1.1002E-02 1.41 1.5559E-02

 10 2E 156.100 156.081 1.9012E-02 1.41 2.6888E-02

 11 flow 2.00000 1.97617 2.3832E-02 1.25 2.9790E-02

 STATISTICS FOR THESE RESIDUALS :

 MAXIMUM WEIGHTED RESIDUAL : 0.456E-01 OBS# 4 1D

 MINIMUM WEIGHTED RESIDUAL :-0.297E-01 OBS# 5 1E

 AVERAGE WEIGHTED RESIDUAL : 0.833E-02

 # RESIDUALS >= 0. : 7

 # RESIDUALS < 0. : 4

 NUMBER OF RUNS : 6 IN 11 OBSERVATIONS

 SUM OF SQUARED WEIGHTED RESIDUALS 0.79804E-02

 PRIOR INFORMATION

 RESIDUAL

 VALUES (LOG IF LOG WEIGHT WEIGHTED

 EQ.# MEAS. CALC. TRANSFORMED) **.5 RESIDUAL

 1 0.300000E-01 0.303048E-01 -0.439E-02 4.00 -0.176E-01

 2 0.125000E+01 0.125452E+01 -0.452E-02 2.00 -0.905E-02

 STATISTICS FOR THESE RESIDUALS :

 MAXIMUM WEIGHTED RESIDUAL :-0.905E-02 EQTN# 2

 MINIMUM WEIGHTED RESIDUAL :-0.176E-01 EQTN# 1

 AVERAGE WEIGHTED RESIDUAL :-0.133E-01

 # RESIDUALS >= 0. : 0

 # RESIDUALS < 0. : 2

 SUM OF SQUARED WEIGHTED RESIDUALS (WITH PRIOR) 0.83706E-02

 STATISTICS FOR ALL RESIDUALS :

 AVERAGE WEIGHTED RESIDUAL : 0.500E-02

 # RESIDUALS >= 0. : 7

 # RESIDUALS < 0. : 6

 NUMBER OF RUNS : 7 IN 13 OBSERVATIONS

 DIMENSIONLESS SCALED SENSITIVITIES (SCALED BY (PARAMETER_VALUE*(wt**.5))

 PARAMETER #: 1 2 3 4 5

 PARAMETER ID: k1 KC KrB rch1 RCH2

 OBS# OBS ID

 1 1A 0.00E+00 0.00E+00 -1.47E-02 7.07E-02 2.13E-01

 2 1B 9.64E+01 1.31E+00 -1.33E-02 1.07E+01 1.96E+01

 3 1C 1.76E+02 3.91E+00 -1.47E-02 1.57E+01 4.18E+01

 4 1D 9.07E+01 1.31E+00 -1.40E-02 1.01E+01 1.82E+01

 5 1E 1.28E+02 1.30E+00 -1.47E-02 1.34E+01 2.73E+01

 6 2A 9.75E+01 9.81E+00 -1.18E-02 1.06E+01 2.00E+01

 7 2B 1.19E+02 7.84E+00 -1.32E-02 1.25E+01 2.52E+01

 8 2C 6.18E+00 3.01E+01 -1.47E-02 8.49E-01 1.27E+00
90

 9 2D 1.88E+02 1.32E+00 -1.47E-02 1.56E+01 4.63E+01

 10 2E 2.30E+02 -7.84E+00 -1.18E-02 1.57E+01 6.29E+01

 11 flow -6.51E-04 -1.01E-02 -8.22E-05 1.04E+00 1.43E+00

 COMPOSITE SCALED SENSITIVITIES

 ((SUM OF THE SQUARED VALUES)/ND)**.5

 PARAMETER #: 1 2 3 4 5

 PARAMETER ID: k1 KC KrB rch1 RCH2

 127. 10.2 1.317E-02 11.3 30.7

 1% SCALED SENSITIVITIES (SCALED BY (PARAMETER_VALUE)/100.)

 (THESE SCALED SENSITIVITIES HAVE THE UNITS OF THE ASSOCIATED OBSERVATION

 PARAMETER #: 1 2 3 4 5

 PARAMETER ID: k1 KC KrB rch1 RCH2

 OBS# OBS ID

 1 1A 0.00E+00 0.00E+00 -1.04E-04 5.00E-04 1.50E-03

 2 1B 6.82E-01 9.24E-03 -9.37E-05 7.55E-02 1.38E-01

 3 1C 1.24E+00 2.77E-02 -1.04E-04 1.11E-01 2.95E-01

 4 1D 6.42E-01 9.24E-03 -9.90E-05 7.18E-02 1.29E-01

 5 1E 9.04E-01 9.17E-03 -1.04E-04 9.50E-02 1.93E-01

 6 2A 6.90E-01 6.94E-02 -8.33E-05 7.52E-02 1.42E-01

 7 2B 8.38E-01 5.55E-02 -9.36E-05 8.82E-02 1.78E-01

 8 2C 4.37E-02 2.13E-01 -1.04E-04 6.00E-03 9.00E-03

 9 2D 1.33E+00 9.31E-03 -1.04E-04 1.10E-01 3.27E-01

 10 2E 1.62E+00 -5.55E-02 -8.33E-05 1.11E-01 4.45E-01

 11 flow -5.21E-06 -8.05E-05 -6.58E-07 8.28E-03 1.14E-02

 ----------------

 COVARIANCE MAT.

 ----------------

 1 2 3 4 5

 .................................................................

 1 7.4045E-05 4.2267E-06 -5.5560E-06 9.2544E-05 8.1395E-05

 2 4.2267E-06 6.0744E-04 -1.2921E-03 -2.1461E-06 -6.1076E-06

 3 -5.5560E-06 -1.2921E-03 7.1509E-03 1.8228E-04 -1.6903E-05

 4 9.2544E-05 -2.1461E-06 1.8228E-04 1.3262E-04 9.5503E-05

 5 8.1395E-05 -6.1076E-06 -1.6903E-05 9.5503E-05 9.2664E-05

 _________________

 PARAMETER SUMMARY

 _________________

 ________________________________________________________________________

 PARAMETER VALUES IN "REGRESSION" SPACE --- LOG TRANSFORMED AS APPLICABLE

 ________________________________________________________________________

 PARAMETER #: 1 2 3 4 5

 PARAMETER ID: k1 KC KrB rch1 RCH2

 * = LOG TRNS: * * *

 UPPER 95% C.I. -1.510E+00 -8.007E+00 1.028E-01 1.064E+00 1.494E+00

 FINAL VALUES -1.518E+00 -8.032E+00 1.809E-02 1.038E+00 1.471E+00

 LOWER 95% C.I. -1.527E+00 -8.057E+00 -6.660E-02 1.011E+00 1.449E+00

 STD. DEV. 3.737E-03 1.070E-02 3.673E-02 1.152E-02 9.626E-03

 COEF. OF VAR.

 * if value=0 2.461E-03 1.333E-03 2.030E+00 1.110E-02 6.542E-03
91

 ------------------------------------------------------------------------

 ------------------------------------------------------------------------

 ________________________________________________________________________

 PHYSICAL PARAMETER VALUES --- EXP10 OF LOG TRANSFORMED PARAMETERS

 ________________________________________________________________________

 PARAMETER #: 1 2 3 4 5

 PARAMETER ID: k1 KC KrB rch1 RCH2

 * = LOG TRNS: * * *

 UPPER 95% C.I. 3.091E-02 9.831E-09 1.267E+00 1.064E+00 1.494E+00

 FINAL VALUES 3.030E-02 9.287E-09 1.043E+00 1.038E+00 1.471E+00

 LOWER 95% C.I. 2.971E-02 8.774E-09 8.578E-01 1.011E+00 1.449E+00

 REASONABLE

 UPPER LIMIT 3.000E-01 5.000E-07 2.000E+01 5.000E+00 2.000E+01

 REASONABLE

 LOWER LIMIT 3.000E-03 5.000E-09 2.000E-01 5.000E-02 2.000E-01

ESTIMATE ABOVE (1)

 BELOW(-1)LIMITS 0 0 0 0 0

ENTIRE CONF. INT.

 ABOVE(1)BELOW(-1) 0 0 0 0 0

 ----------------

 CORRELATION MAT.

 ----------------

 1 2 3 4 5

 .................................................................

 1 1.000 1.9930E-02 -7.6354E-03 0.9339 0.9826

 2 1.9930E-02 1.000 -0.6200 -7.5612E-03 -2.5743E-02

 3 -7.6354E-03 -0.6200 1.000 0.1872 -2.0764E-02

 4 0.9339 -7.5612E-03 0.1872 1.000 0.8615

 5 0.9826 -2.5743E-02 -2.0764E-02 0.8615 1.000

 THE CORRELATION OF THE FOLLOWING PARAMETER PAIRS >= .95

 PARAMETER # ID # ID CORRELATION

 1 k1 5 RCH2 0.98

 THE CORRELATION OF THE FOLLOWING PARAMETER PAIRS IS BETWEEN .90 AND .95

 PARAMETER # ID # ID CORRELATION

 1 k1 4 rch1 0.93

 THE CORRELATION OF THE FOLLOWING PARAMETER PAIRS IS BETWEEN .85 AND .90

 PARAMETER # ID # ID CORRELATION

 4 rch1 5 RCH2 0.86

 CORRELATIONS GREATER THAN 0.95 COULD INDICATE THAT THERE IS NOT ENOUGH

 INFORMATION IN THE OBSERVATIONS AND PRIOR USED IN THE REGRESSION TO ESTIMATE

 PARAMETER VALUES INDIVIDUALLY.

 TO CHECK THIS, START THE REGRESSION FROM SETS OF INITIAL PARAMETER VALUES

 THAT DIFFER BY MORE THAT TWO STANDARD DEVIATIONS FROM THE ESTIM ATED

 VALUES. IF THE RESULTING ESTIMATES ARE WELL WITHIN ONE STANDARD DEVIATION

 OF THE PREVIOUSLY ESTIMATED VALUE, THE ESTIMATES ARE PROBABLY

 DETERMINED INDEPENDENTLY WITH THE OBSERVATIONS AND PRIOR USED IN

 THE REGRESSION. OTHERWISE, YOU MAY ONLY BE ESTIMATING THE RATIO

 OR SUM OF THE HIGHLY CORRELATED PARAMETERS.

 FOR UCODE, THE INITIAL PARAMETER VALUES ARE IN THE PREPARE FILE.

 LEAST-SQUARES OBJ FUNC (DEP.VAR. ONLY)- = 0.79804E-02

 LEAST-SQUARES OBJ FUNC (W/PARAMETERS)-- = 0.83706E-02

 CALCULATED ERROR VARIANCE-------------- = 0.10463E-02
92

 STANDARD ERROR OF THE REGRESSION------- = 0.32347E-01

 CORRELATION COEFFICIENT---------------- = 1.0000

 W/PARAMETERS---------------------- = 0.99554

 ITERATIONS----------------------------- = 6

 MAX LIKE OBJ FUNC = 14.032

 AIC STATISTIC---- = 24.032

 BIC STATISTIC---- = 26.857

 ORDERED DEPENDENT-VARIABLE WEIGHTED RESIDUALS

 NUMBER OF RESIDUALS INCLUDED: 11

 -0.297E-01 -0.241E-01 -0.212E-01 -0.141E-01 0.141E-02 0.156E-01

 0.262E-01 0.269E-01 0.298E-01 0.354E-01 0.456E-01

 CORRELATION BETWEEN ORDERED WEIGHTED RESIDUALS

 AND NORMAL ORDER STATISTICS = 0.925

 (CALCULATED USING EQ.38 OF HILL,1992 OR EQ.23 OF HILL,1998)

 ORDERED WEIGHTED RESIDUALS INCLUDING PRIOR INFORMATION

 NUMBER OF RESIDUALS INCLUDED: 13

 -0.297E-01 -0.241E-01 -0.212E-01 -0.176E-01 -0.141E-01 -0.905E-02

 0.141E-02 0.156E-01 0.262E-01 0.269E-01 0.298E-01 0.354E-01

 0.456E-01

 CORRELATION BETWEEN ORDERED WEIGHTED RESIDUALS

 AND NORMAL ORDER STATISTICS = 0.929

 (CALCULATED USING EQ.38 OF HILL,1992 OR EQ.23 OF HILL,1998)

 --------------------------------------------------------------------------

 COMMENTS ON THE INTERPRETATION OF THE CORRELATION BETWEEN

 WEIGHTED RESIDUALS AND NORMAL ORDER STATISTICS:

 Generally, IF the reported CORRELATION is LESS than the critical value,

 at the selected significance level (usually 5 or 10%), the hypothesis

 that the weighted residuals are INDEPENDENT AND NORMALLY DISTRIBUTED

 would be REJECTED. HOWEVER, in this case, conditions are outside of

 the range of published critical values as discussed below.

 The sum of the number of observations and prior information items is 13

 which is less than 35, the minimum value for which critical values are

 published. Therefore, the critical values for the 5 and 10% significance

 levels are less than 0.943 and 0.952, respectively.

 CORRELATIONS GREATER than these critical values indicate that, probably, the

 weighted residuals ARE INDEPENDENT AND NORMALLY DISTRIBUTED.

 Correlations LESS than these critical values MAY BE ACCEPTABLE, and

 rejection of the hypothesis is not necessarily warranted.

 The Kolmogorov-Smirnov test can be used to further evaluate the residuals.

 --------------------------------------------------------------------------

 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

 PARAMETER VALUES AND STATISTICS FOR ALL ITERATIONS

PARAMETER NAMES

 k1 KC KrB rch1

 RCH2

INITIAL PARAMETER VALUES

 0.300E-01 0.500E-07 2.00 0.500

 2.00

 LEAST SQUARES

 OBJ OBJ FNC

 FUNC W/PRIOR MAX-CHG PARAM MARQRDT

 .42E+03 .42E+03 1.0 rch1 0.00
93

iteration # 1

 0.303E-01 0.133E-08 1.81 1.02

 1.49

 77. 77. 1.8 KC 0.00

iteration # 2

 0.302E-01 0.375E-08 1.32 1.05

 1.46

 6.6 6.6 0.91 KC 0.00

iteration # 3

 0.303E-01 0.717E-08 1.12 1.04

 1.47

 .29 .29 0.25 KC 0.00

iteration # 4

 0.303E-01 0.895E-08 1.09 1.04

 1.47

 .16E-01 .17E-01 -.43E-01 KrB 0.00

iteration # 5

 0.303E-01 0.929E-08 1.04 1.04

 1.47

 .11E-01 .11E-01 0.87E-03 KrB 0.00

iteration # 6

 0.303E-01 0.929E-08 1.04 1.04

 1.47

 *****************************************************************************

 PARAMETER ESTIMATION CONVERGED

 *****************************************************************************

Check File--fn._ck

test._ck

 < mod.out

 observation name flow

 search for RIVER LEAKAGE/

 move down 1 lines

 summation of 10 items

 extract columns 50 through 60 and multiply by -0.5

 <<<< extracted item = -0.225039 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225043 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225042 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225047 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225038 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225037 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225048 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225047 >>>>

 move down 1 lines
94

 extract columns 50 through 60 and multiply by -1

 <<<< extracted item = -0.225046 >>>>

 move down 1 lines

 extract columns 50 through 60 and multiply by -0.25

 <<<< extracted item = -0.225035 >>>>

 sum is 1.96912625

 EQUIVALENT TO OBS NO. <<< 11>>>

 PARAMETER NAME =<<< flow>>> OBSERVATION VALUE =<<< 2>>>

 observation name 1A

 < mod.out

 search for IN LAY/

 move down 12 lines

 move up 2 lines

 extract columns 9 through 15 and multiply by 1

 <<<< extracted item = 100.113>>>>

 EQUIVALENT TO OBS NO. <<< 1>>>

 PARAMETER NAME =<<< 1A>>> OBSERVATION VALUE =<<< 100.2>>>

 observation name 1B

 move down 10 lines

 move up 8 lines

 interpolate 2 items

 extract columns 51 through 57 and multiply by .5

 <<<< extracted item = 119.763>>>>

 extract columns 65 through 71 and multiply by .5

 <<<< extracted item = 125.652>>>>

 interpolated value is 122.7075

 EQUIVALENT TO OBS NO. <<< 2>>>

 PARAMETER NAME =<<< 1B>>> OBSERVATION VALUE =<<< 121.5>>>

 observation name 1C

 move down 12 lines

 extract columns 120 through 127 and multiply by 1

 <<<< extracted item = 146.270>>>>

 EQUIVALENT TO OBS NO. <<< 3>>>

 PARAMETER NAME =<<< 1C>>> OBSERVATION VALUE =<<< 141>>>

 observation name 1D

 move down 4 lines

 interpolate 4 items

 extract columns 50 through 57 and multiply by .1875

 <<<< extracted item = 119.763>>>>

 extract columns 64 through 71 and multiply by .0625

 <<<< extracted item = 125.652>>>>

 move down 2 lines

 extract columns 50 through 57 and multiply by .5625

 <<<< extracted item = 119.763>>>>

 extract columns 64 through 71 and multiply by .1875

 <<<< extracted item = 125.652>>>>

 interpolated value is 121.23525

 EQUIVALENT TO OBS NO. <<< 4>>>

 PARAMETER NAME =<<< 1D>>> OBSERVATION VALUE =<<< 120.2>>>

 observation name 1E

 move down 4 lines

 extract columns 78 through 85 and multiply by 1

 <<<< extracted item = 131.215>>>>

 EQUIVALENT TO OBS NO. <<< 5>>>
95

 PARAMETER NAME =<<< 1E>>> OBSERVATION VALUE =<<< 128.9>>>

 observation name 2A

 search for IN LAY/

 move down 14 lines

 interpolate 2 items

 extract columns 50 through 57 and multiply by .5

 <<<< extracted item = 119.840>>>>

 extract columns 64 through 71 and multiply by .5

 <<<< extracted item = 125.749>>>>

 interpolated value is 122.7945

 EQUIVALENT TO OBS NO. <<< 6>>>

 PARAMETER NAME =<<< 2A>>> OBSERVATION VALUE =<<< 121.8>>>

 observation name 2B

 move down 10 lines

 interpolate 4 items

 extract columns 64 through 71 and multiply by .25

 <<<< extracted item = 125.749>>>>

 extract columns 78 through 85 and multiply by .25

 <<<< extracted item = 131.278>>>>

 move down 2 lines

 extract columns 64 through 71 and multiply by .25

 <<<< extracted item = 125.749>>>>

 extract columns 78 through 85 and multiply by .25

 <<<< extracted item = 131.278>>>>

 interpolated value is 128.5135

 EQUIVALENT TO OBS NO. <<< 7>>>

 PARAMETER NAME =<<< 2B>>> OBSERVATION VALUE =<<< 126.8>>>

 observation name 2C

 extract columns 8 through 15 and multiply by 1

 <<<< extracted item = 100.381>>>>

 EQUIVALENT TO OBS NO. <<< 8>>>

 PARAMETER NAME =<<< 2C>>> OBSERVATION VALUE =<<< 101.5>>>

 observation name 2E

 move down 1 lines

 extract columns 120 through 127 and multiply by 1

 <<<< extracted item = 167.351>>>>

 EQUIVALENT TO OBS NO. <<< 10>>>

 PARAMETER NAME =<<< 2E>>> OBSERVATION VALUE =<<< 156.1>>>

 observation name 2D

 extract columns 8 through 15 and multiply by 1

 <<<< extracted item = 150.753>>>>

 EQUIVALENT TO OBS NO. <<< 9>>>

 PARAMETER NAME =<<< 2D>>> OBSERVATION VALUE =<<< 144.2>>>
96

Residual Analysis Files

test._os

 unweighted plot observation

simulated observation variable name

value

test._ww

 weighted plot observation

simulated observation variable name

value

100.2170 100.2000 1 1A

121.4815 121.5000 1 1B

141.0100 141.0000 1 1C

120.1677 120.2000 1 1D

128.9210 128.9000 1 1E

121.8150 121.8000 2 2A

126.7750 126.8000 2 2B

101.4990 101.5000 2 2C

144.1890 144.2000 2 2D

156.0810 156.1000 2 2E

1.976168 2.000000 0 flow

-1.518489 -1.522879 3 PRIOR1

1.254525 1.250000 3 PRIOR2

141.7282 141.7042 1 1A

171.8008 171.8270 1 1B

199.4182 199.4041 1 1C

169.9429 169.9885 1 1D

182.3218 182.2921 1 1E

172.2724 172.2512 2 2A

179.2869 179.3223 2 2B

143.5413 143.5427 2 2C

203.9140 203.9296 2 2D

220.7319 220.7587 2 2E

2.470210 2.500000 0 flow

-6.073955 -6.091515 3 PRIOR1

2.509050 2.500000 3 PRIOR2

test._ws

 weighted plot observation

simulated residual variable name

value

test._r

 unweighted plot observation

 residual variable name

141.7282 -0.2405000E-01 1 1A

171.8008 0.2616476E-01 1 1B

199.4182 -0.1413437E-01 1 1C

169.9429 0.4560761E-01 1 1D

182.3218 -0.2971454E-01 1 1E

172.2724 -0.2121234E-01 2 2A

179.2869 0.3535750E-01 2 2B

143.5413 0.1413437E-02 2 2C

203.9140 0.1555859E-01 2 2D

220.7319 0.2688767E-01 2 2E

2.470210 0.2979025E-01 0 flow

-6.073955 -0.1756039E-01 3 PRIOR1

2.509050 -0.9049892E-02 3 PRIOR2

-0.1700592E-01 1 1A

 0.1850128E-01 1 1B

-0.9994507E-02 1 1C

 0.3224945E-01 1 1D

-0.2101135E-01 1 1E

-0.1499939E-01 2 2A

 0.2500153E-01 2 2B

 0.9994507E-03 2 2C

 0.1100159E-01 2 2D

 0.1901245E-01 2 2E

 0.2383220E-01 0 flow

-0.4390098E-02 3 PRIOR1

-0.4524946E-02 3 PRIOR2
97

test._w

 weighted plot observation

 residual variable name

test._nm

weighted probability plot observation

 residual plotting position variable name

 -0.2405000E-01 1 1A

 0.2616476E-01 1 1B

 -0.1413437E-01 1 1C

 0.4560761E-01 1 1D

 -0.2971454E-01 1 1E

 -0.2121234E-01 2 2A

 0.3535750E-01 2 2B

 0.1413437E-02 2 2C

 0.1555859E-01 2 2D

 0.2688767E-01 2 2E

 0.2979025E-01 0 flow

 -0.1756039E-01 3 PRIOR1

 -0.9049892E-02 3 PRIOR2

-0.297145E-01 -1.76935 1 1E

-0.240500E-01 -1.19858 1 1A

-0.212123E-01 -0.869825 2 2A

-0.175604E-01 -0.615361 3 PRIOR1

-0.141344E-01 -0.395823 1 1C

-0.904989E-02 -0.193967 3 PRIOR2

 0.141344E-02 0.000000 2 2C

 0.155586E-01 0.193967 2 2D

 0.261648E-01 0.395823 1 1B

 0.268877E-01 0.615361 2 2E

 0.297903E-01 0.869825 0 flow

 0.353575E-01 1.19858 2 2B

 0.456076E-01 1.76935 1 1D

test._rd

 ordered probability

uncorrelated plotting

 deviates position set

Test._rg

 ordered probability

correlated plotting

 deviates position set

-0.714E-01 -1.77 set 1 of 10

-0.486E-01 -1.20

-0.171E-01 -0.870

-0.165E-01 -0.615

-0.107E-01 -0.396

-0.472E-03 -0.194

 0.110E-02 0.000

 0.200E-02 0.194

 0.169E-01 0.396

 0.198E-01 0.615

 0.236E-01 0.870

 0.367E-01 1.20

 0.388E-01 1.77

-0.605E-01 -1.77 first line of set 2

-0.742E-01 -1.77 set 1 of 10

-0.233E-01 -1.20

-0.222E-01 -0.870

-0.184E-01 -0.615

-0.229E-02 -0.396

 0.954E-03 -0.194

 0.885E-02 0.000

 0.129E-01 0.194

 0.197E-01 0.396

 0.207E-01 0.615

 0.230E-01 0.870

 0.297E-01 1.20

 0.298E-01 1.77

-0.347E-01 -1.77 first line of set 2
98

File fn._rp is produced when PHASE=3 and GRAPH=1.

test._rp

 RESIDUAL ANALYSIS PROGRAM RESULTS

 NUMBER OF ESTIMATED PARAMETERS.............. 5

 NUMBER OF ORIGINAL PARAMETERS............... 6

 NUMBER OF OBSERVATIONS ..................... 11

 NUMBER OF PRIOR ............................ 2

 NUMBER OF SETS OF RANDOM DEVIATES .......... 3

 NUMBER FOR RANDOM NUMBER GENERATOR ......... 10059

 CALCULATED ERROR VARIANCE .................. 0.104633E-02

 COVARIANCE MATRIX

0 1 2 3 4 5

 1 0.74045E-04 0.42266E-05 -.55560E-05 0.92544E-04 0.81395E-04

 2 0.42266E-05 0.60744E-03 -.12922E-02 -.21461E-05 -.61076E-05

 3 -.55560E-05 -.12922E-02 0.71509E-02 0.18228E-03 -.16903E-04

 4 0.92544E-04 -.21461E-05 0.18228E-03 0.13262E-03 0.95503E-04

 5 0.81395E-04 -.61076E-05 -.16903E-04 0.95503E-04 0.92664E-04

 RELIABILITY WEIGHTS FOR SAMPLE INFORMATION

 NO. W**.5 NO. W**.5 NO. W**.5

 1 1.4142 5 1.4142 9 1.4142

 2 1.4142 6 1.4142 10 1.4142

 3 1.4142 7 1.4142 11 1.2500

 4 1.4142 8 1.4142

 SENSITIVITIES FOR OPTIMUM PARAMETERS

0 1 2 3 4 5 6 7 8 9

10

 1 0.00000 -19.499 -35.549 -18.349 -25.849 -19.724 -23.974 -1.2500 -37.948 -

46.448

 2 0.00000 -.49971E-01 -.14953 -.49971E-01 -.49590E-01 -.37498 -.29983 -1.1501 -.50353E-01

0.29983

 3 -.25024 -.22506 -.25024 -.23765 -.24947 -.19988 -.22468 -.24985 -.25024 -

.19988

 4 0.48161E-01 7.2764 10.698 6.9150 9.1550 7.2521 8.5050 0.57830 10.649

10.698

 5 0.10214 9.3954 20.082 8.7582 13.116 9.6334 12.114 0.61183 22.257

30.209
99

0 11

 1 0.14901E-03

 2 0.43510E-03

 3 -.15795E-02

 4 0.79835

 5 0.77582

 ASSUMED COMMON ERROR VARIANCE = 1.0000

PRIOR INFORMATION:

COEFFICIENT FOR EACH PARAMETER FOLLOWED BY THE PRIOR VALUE AND (1/WEIGHT)**0.5

PRIOR NO. 1

 0.100E+01 0.000E+00 0.000E+00 0.000E+00 0.000E+00 0.000E+00

-0.351E+01 0.132E+01

PRIOR NO. 2

 0.000E+00 0.000E+00 0.000E+00 0.500E+00 0.500E+00 0.000E+00

 0.125E+01 0.500E+00

 DATA GENERATED FROM RANDOM NUMBER SET NO. 1

 STATISTICS FOR THE INDEPENDENT NORMAL DEVIATES, D :

 SUM OF SQUARED DEVIATES : 0.122E-01

 MAXIMUM DEVIATE : 0.388E-01 DEV# 1

 MINIMUM DEVIATE :-0.714E-01 DEV# 4

 AVERAGE DEVIATE :-0.199E-02

 # DEVIATES >= 0. : 7

 # DEVIATES < 0. : 6

 NUMBER OF RUNS : 10 IN 13 VALUES

 RUNS STATISTIC (TOO FEW RUNS): 1.77

 (IF #NEG>10 AND #POS>10, P(STAT < -1.28) = 0.10,

 P(STAT < -1.645) = 0.05,

 P(STAT < -1.96) = 0.025)

 RUNS STATISTIC (TOO MANY RUNS): 1.19

 (IF #NEG>10 AND #POS>10, P(STAT > 1.28) = 0.10,

 P(STAT > 1.645) = 0.05,

 P(STAT > 1.96) = 0.025)

 ORDERED INDEPENDENT DEVIATES

 NUMBER OF DEVIATES : 13

-0.714E-01-0.486E-01-0.171E-01-0.165E-01-0.107E-01-0.472E-03 0.110E-02 0.200E-02

 0.169E-01 0.198E-01 0.236E-01 0.367E-01 0.388E-01

 CORRELATION BETWEEN ORDERED INDEPENDENT DEVIATES AND

 INDEPENDENT NORMAL ORDER STATISTICS (EQ.38 OF MODFLOWP TEXT) = 0.935

 STATISTICS FOR THE CORRELATED NORMAL DEVIATES, G :
100

 SUM OF SQUARED DEVIATES : 0.102E-01

 MAXIMUM DEVIATE : 0.298E-01 DEV# 1

 MINIMUM DEVIATE :-0.742E-01 DEV# 4

 AVERAGE DEVIATE : 0.411E-03

 # DEVIATES >= 0. : 8

 # DEVIATES < 0. : 5

 NUMBER OF RUNS : 10 IN 13 VALUES

 RUNS STATISTIC (TOO FEW RUNS): 2.06

 (IF #NEG>10 AND #POS>10, P(STAT < -1.28) = 0.10,

 P(STAT < -1.645) = 0.05,

 P(STAT < -1.96) = 0.025)

 RUNS STATISTIC (TOO MANY RUNS): 1.44

 (IF #NEG>10 AND #POS>10, P(STAT > 1.28) = 0.10,

 P(STAT > 1.645) = 0.05,

 P(STAT > 1.96) = 0.025)

 ORDERED CORRELATED DEVIATES

 NUMBER OF DEVIATES : 13

-0.742E-01-0.233E-01-0.222E-01-0.184E-01-0.229E-02 0.954E-03 0.885E-02 0.129E-01

 0.197E-01 0.207E-01 0.230E-01 0.297E-01 0.298E-01

 CORRELATION BETWEEN ORDERED CORRELATED DEVIATES AND

 INDEPENDENT NORMAL ORDER STATISTICS (EQ.38 OF MODFLOWP TEXT) = 0.858

 INDEPENDENT NORMAL DEVIATES

 NO. D NO. D NO. D

 1 0.38827E-01 6 0.23591E-01 11 -.17137E-01

 2 -.47167E-03 7 0.19830E-01 12 0.20041E-02

 3 0.16869E-01 8 -.10687E-01 13 -.48572E-01

 4 -.71393E-01 9 0.36663E-01

 5 0.11018E-02 10 -.16535E-01

 ORDERED, INDEPENDENT NORMAL DEVIATES

 NO. D F NO. D F

 1 -.71393E-01 0.35714E-01 8 0.20041E-02 0.53571

 2 -.48572E-01 0.10714 9 0.16869E-01 0.60714

 3 -.17137E-01 0.17857 10 0.19830E-01 0.67857

 4 -.16535E-01 0.25000 11 0.23591E-01 0.75000

 5 -.10687E-01 0.32143 12 0.36663E-01 0.82143

 6 -.47167E-03 0.39286 13 0.38827E-01 0.89286

 7 0.11018E-02 0.46429

 CORRELATED NORMAL DEVIATES

 NO. G NO. G NO. G

 1 0.29822E-01 6 0.23019E-01 11 0.88495E-02

 2 -.22861E-02 7 0.19677E-01 12 0.20718E-01

 3 0.12938E-01 8 -.18411E-01 13 -.22151E-01

 4 -.74171E-01 9 0.29694E-01

 5 0.95406E-03 10 -.23314E-01
101

 ORDERED, CORRELATED NORMAL DEVIATES

 NO. G F NO. G F

 1 -.74171E-01 0.35714E-01 8 0.12938E-01 0.53571

 2 -.23314E-01 0.10714 9 0.19677E-01 0.60714

 3 -.22151E-01 0.17857 10 0.20718E-01 0.67857

 4 -.18411E-01 0.25000 11 0.23019E-01 0.75000

 5 -.22861E-02 0.32143 12 0.29694E-01 0.82143

 6 0.95406E-03 0.39286 13 0.29822E-01 0.89286

 7 0.88495E-02 0.46429

****************************************************************************************

 ***The above analysis is repeated for random number sets 2 through 10***

****************************************************************************************

COVARIANCE MATRIX FOR RESIDUALS

0 1 2 3 4 5 6 7 8 9 10

 1 0.15341E-03 -.13266E-03 0.10706E-03 -.20809E-03 -.65512E-04 0.16302E-03 0.12960E-03 -.10148E-03 0.28557E-04 -.65222E-04

 2 -.13266E-03 0.83774E-03 -.92225E-04 -.21477E-03 -.21408E-03 -.11973E-03 -.14387E-03 0.97494E-04 -.57716E-04 0.93028E-04

 3 0.10706E-03 -.92225E-04 0.84487E-03 -.77369E-04 -.13171E-03 -.14434E-03 -.15779E-03 -.51709E-04 -.19657E-03 -.19848E-03

 4 -.20809E-03 -.21477E-03 -.77369E-04 0.81874E-03 -.21322E-03 -.10190E-03 -.12780E-03 0.85960E-04 -.49966E-04 0.92848E-04

 5 -.65512E-04 -.21408E-03 -.13171E-03 -.21322E-03 0.81394E-03 -.14653E-03 -.17336E-03 0.10997E-03 -.93446E-04 0.47180E-04

 6 0.16302E-03 -.11973E-03 -.14434E-03 -.10190E-03 -.14653E-03 0.83292E-03 -.20691E-03 -.15149E-03 -.81360E-04 0.10676E-03

 7 0.12960E-03 -.14387E-03 -.15779E-03 -.12780E-03 -.17336E-03 -.20691E-03 0.83688E-03 -.88478E-04 -.10071E-03 0.69099E-04

 8 -.10148E-03 0.97494E-04 -.51709E-04 0.85960E-04 0.10997E-03 -.15149E-03 -.88478E-04 0.78504E-04 -.35687E-04 0.40090E-04

 9 0.28557E-04 -.57716E-04 -.19657E-03 -.49966E-04 -.93446E-04 -.81360E-04 -.10071E-03 -.35687E-04 0.81837E-03 -.33352E-03

 10 -.65222E-04 0.93028E-04 -.19848E-03 0.92848E-04 0.47180E-04 0.10676E-03 0.69099E-04 0.40090E-04 -.33352E-03 0.24007E-03

 11 0.11272E-04 -.56995E-06 0.66962E-05 0.51839E-05 -.28395E-04 -.84328E-05 -.20748E-04 0.37082E-05 0.34253E-04 -.12750E-04

 12 -.34803E-04 0.11472E-04 0.17074E-04 0.11676E-04 -.49843E-05 0.14049E-04 0.50959E-05 -.17906E-04 0.28481E-04 -.29317E-04

 13 0.15805E-04 0.95931E-06 0.63009E-05 0.71584E-05 -.27640E-04 -.88766E-05 -.21147E-04 0.31207E-05 0.34348E-04 -.14080E-04

0 11 12 13

 1 0.11272E-04 -.34803E-04 0.15805E-04

 2 -.56995E-06 0.11472E-04 0.95931E-06

 3 0.66962E-05 0.17074E-04 0.63009E-05

 4 0.51839E-05 0.11676E-04 0.71584E-05

 5 -.28395E-04 -.49843E-05 -.27640E-04

 6 -.84328E-05 0.14049E-04 -.88766E-05

 7 -.20748E-04 0.50959E-05 -.21147E-04

 8 0.37082E-05 -.17906E-04 0.31207E-05

 9 0.34253E-04 0.28481E-04 0.34348E-04

 10 -.12750E-04 -.29317E-04 -.14080E-04

 11 0.64283E-03 -.29771E-03 -.40983E-03

 12 -.29771E-03 0.82271E-03 -.30227E-03

 13 -.40983E-03 -.30227E-03 0.63004E-03

 CORRELATION MATRIX FOR RESIDUALS

0 1 2 3 4 5 6 7 8 9 10

 1 1.0000 -.37005 0.29739 -.58716 -.18539 0.45606 0.36169 -.92470 0.80595E-01 -.33986
102

 2 -.37005 1.0000 -.10962 -.25933 -.25925 -.14334 -.17183 0.38017 -.69706E-01 0.20744

 3 0.29739 -.10962 1.0000 -.93025E-01 -.15882 -.17206 -.18765 -.20078 -.23640 -.44072

 4 -.58716 -.25933 -.93025E-01 1.0000 -.26119 -.12340 -.15439 0.33906 -.61042E-01 0.20943

 5 -.18539 -.25925 -.15882 -.26119 1.0000 -.17796 -.21005 0.43503 -.11450 0.10673

 6 0.45606 -.14334 -.17206 -.12340 -.17796 1.0000 -.24782 -.59244 -.98545E-01 0.23876

 7 0.36169 -.17183 -.18765 -.15439 -.21005 -.24782 1.0000 -.34519 -.12170 0.15416

 8 -.92470 0.38017 -.20078 0.33906 0.43503 -.59244 -.34519 1.0000 -.14080 0.29203

 9 0.80595E-01 -.69706E-01 -.23640 -.61042E-01 -.11450 -.98545E-01 -.12170 -.14080 1.0000 -.75247

 10 -.33986 0.20744 -.44072 0.20943 0.10673 0.23876 0.15416 0.29203 -.75247 1.0000

 11 0.35895E-01 -.77667E-03 0.90863E-02 0.71456E-02 -.39255E-01 -.11524E-01 -.28288E-01 0.16507E-01 0.47225E-01 -.32457E-01

 12 -.97965E-01 0.13818E-01 0.20479E-01 0.14226E-01 -.60909E-02 0.16971E-01 0.61414E-02 -.70459E-01 0.34711E-01 -.65968E-01

 13 0.50836E-01 0.13204E-02 0.86362E-02 0.99669E-02 -.38598E-01 -.12254E-01 -.29123E-01 0.14032E-01 0.47834E-01 -.36203E-01

0 11 12 13

 1 0.35895E-01 -.97965E-01 0.50836E-01

 2 -.77667E-03 0.13818E-01 0.13204E-02

 3 0.90863E-02 0.20479E-01 0.86362E-02

 4 0.71456E-02 0.14226E-01 0.99669E-02

 5 -.39255E-01 -.60909E-02 -.38598E-01

 6 -.11524E-01 0.16971E-01 -.12254E-01

 7 -.28288E-01 0.61414E-02 -.29123E-01

 8 0.16507E-01 -.70459E-01 0.14032E-01

 9 0.47225E-01 0.34711E-01 0.47834E-01

 10 -.32457E-01 -.65968E-01 -.36203E-01

 11 1.0000 -.40938 -.64398

 12 -.40938 1.0000 -.41984

 13 -.64398 -.41984 1.0000
103

Modified Beale’s Measure of Model Linearity--fn._33

test._33

 NUMBER OF ESTIMATED PARAMETERS...............: 5

 NUMBER OF PARAMETERS VARIED FOR BEALES MEAURE: 5

 NUMBER OF OBSERVATIONS.......................: 11

 NUMBER OF PRIOR..............................: 2

 NUMBER OF DATA SETS USED FOR BEALES MEASURE..: 10

 CALCULATED ERROR VARIANCE....................: 0.10500E-02

 OPTIMUM PARAMETERS

 NO. ID OPTIMUM PARAMETER

 1 k1 0.30305E-01

 2 KC 0.92875E-08

 3 KrB 1.0425

 4 rch1 1.0376

 5 RCH2 1.4714

 DEPENDENT VARIABLES COMPUTED WITH OPTIMUM PARAMETERS

 NO. ID "OPTIMUM" DEPENDENT VARIABLE

 1 1A 100.22

 2 1B 121.48

 3 1C 141.01

 4 1D 120.17

 5 1E 128.92

 6 2A 121.82

 7 2B 126.78

 8 2C 101.50

 9 2D 144.19

 10 2E 156.08

 11 flow 1.9762

 OBSERVED VALUES OF THE DEPENDENT VARIABLES

 NO. ID "OBSERVED" VALUE

 1 1A 100.20

 2 1B 121.50

 3 1C 141.00

 4 1D 120.20

 5 1E 128.90

 6 2A 121.80

 7 2B 126.80

 8 2C 101.50

 9 2D 144.20

 10 2E 156.10

 11 flow 2.0000

 RELIABILITY WEIGHTS FOR SAMPLE INFORMATION

 NO. ID WEIGHT

 1 1A 2.0000

 2 1B 2.0000

 3 1C 2.0000

 4 1D 2.0000

 5 1E 2.0000

 6 2A 2.0000

 7 2B 2.0000

 8 2C 2.0000

 9 2D 2.0000

 10 2E 2.0000

 11 flow 1.5625
104

 SENSITIVITIES FOR OPTIMUM PARAMETERS

0 1 2 3 4 5 6

 1 0.00000 -19.499 -35.549 -18.349 -25.849 -19.724

 2 0.00000 -.49971E-01 -.14953 -.49971E-01 -.49590E-01 -.37498

 3 -.25024 -.22506 -.25024 -.23765 -.24947 -.19988

 4 0.48161E-01 7.2764 10.698 6.9150 9.1550 7.2521

 5 0.10214 9.3954 20.082 8.7582 13.116 9.6334

0 7 8 9 10 11

 1 -23.974 -1.2500 -37.948 -46.448 0.14901E-03

 2 -.29983 -1.1501 -.50353E-01 0.29983 0.43510E-03

 3 -.22468 -.24985 -.25024 -.19988 -.15795E-02

 4 8.5050 0.57830 10.649 10.698 0.79835

 5 12.114 0.61183 22.257 30.209 0.77582

 PRIOR NUMBER 1 ESTIMATE(LOG IF LN>0)= -3.51 , WEIGHT= 16.0

 1 k1 1.0000

 2 KC 0.00000

 3 KrB 0.00000

 4 rch1 0.00000

 5 RCH2 0.00000

 6 noestimate 0.00000

 PRIOR NUMBER 2 ESTIMATE(LOG IF LN>0)= 1.25 , WEIGHT= 4.00

 1 k1 0.00000

 2 KC 0.00000

 3 KrB 0.00000

 4 rch1 0.50000

 5 RCH2 0.50000

 6 noestimate 0.00000

 PARAMETER

 NUMBER LN

 1 1

 2 1

 3 1

 4 0

 5 0

 6 1

 PARAMETERS FOR SAMPLE NO. 1

 NO. ID PARAMETER VALUE

 1 k1 0.29051E-01

 2 KC 0.92651E-08

 3 KrB 1.0458

 4 rch1 0.98481

 5 RCH2 1.4250

 DEPENDENT VARIABLES COMPUTED FOR SAMPLE NO. 1

 NO. ID "SIMULATED" DEPENDENT VARIABLES

 1 1A 100.21

 2 1B 121.46

 3 1C 140.96

 4 1D 120.15

 5 1E 128.89

 6 2A 121.79

 7 2B 126.75

 8 2C 101.49

 9 2D 144.14

 10 2E 156.01

 11 flow 1.8981

 LINEARIZED DEPENDENT VARIABLES COMPUTED FOR SAMPLE NO. 1

 NO. ID "LINEARIZED" DEPENDENT VARIABLES

 1 1A 100.21
105

 2 1B 121.48

 3 1C 141.01

 4 1D 120.17

 5 1E 128.92

 6 2A 121.82

 7 2B 126.78

 8 2C 101.49

 9 2D 144.20

 10 2E 156.07

 11 flow 1.8980

 PARAMETERS FOR SAMPLE NO. 2

****************************************************************************************

*****SIMILAR ANALYSES ARE PRESENTED FOR SAMPLES 2 THROUGH 10*****

****************************************************************************************

 USING FSTAT = 4.8200 , BEALES MEASURE = 0.78238E-01

 IF BEALES MEASURE IS GREATER THAN 0.21 , THE MODEL IS NONLINEAR.

 IF BEALES MEASURE IS LESS THAN 0.19E-01, THE MODEL IS EFFECTIVELY LINEAR,

 AND LINEAR CONFIDENCE INTERVALS ARE FAIRLY ACCURATE IF THE RESIDUALS ARE NORMALLY

 DISTRIBUTED.

 THE FOLLOWING TABLE SHOWS VALUES OF THE STATISTIC DESCRIBED BY COOLEY AND

 NAFF (1990,P.174,TOP OF RIGHT COLUMN). THE STATISTIC EQUALS THE NONLINEAR SUM

 OF SQUARED ERRORS EVALUATED FOR EACH DATA SET (NSSE) MINUS THE SUM OF SQUARED

 ERRORS FOR THE OPTIMUM PARAMETER VALUES ( 0.840E-02).

 IF THE MODEL IS LINEAR, THE STATISTIC SHOULD BE CLOSE TO 0.253E-01.

 IF THE CORRELATIONS BETWEEN PARAMETERS IS SMALL, THE TABLE SHOWS WHICH INDIVIDUAL

 PARAMETERS ARE MOST NONLINEAR. THE FIRST PAIR OF PARAMETER SETS ARE RELATED TO THE

 FIRST PARAMETER, THE SECOND PAIR ARE RELATED TO THE SECOND PARAMTER, AND SO ON.

 PARAMETER STATISTIC PERCENT

 SET NSSE STATISTIC - 0.253E-01 DIFFERENCE

 1 0.679E-01 0.595E-01 0.342E-01 135.21

 2 0.386E-01 0.302E-01 0.492E-02 19.43

 3 0.395E-01 0.311E-01 0.575E-02 22.73

 4 0.319E-01 0.235E-01 -0.176E-02 -6.94

 5 0.398E-01 0.314E-01 0.613E-02 24.23

 6 0.231E-01 0.147E-01 -0.106E-01 -41.82

 7 0.549E-01 0.465E-01 0.212E-01 83.82

 8 0.354E-01 0.270E-01 0.171E-02 6.77

 9 0.727E-01 0.643E-01 0.390E-01 154.22

 10 0.381E-01 0.297E-01 0.441E-02 17.44

Output File for Predictions and Their Linear Confidence and Prediction Intervals–fn._44

test._44

UCODE PHASE .................. = 44

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 VARIANCE-COVARIANCE MATRIX FOR ESTIMATED PARAMETERS

0 1 2 3 4 5

 1 0.74045E-04 0.42267E-05 -.55560E-05 0.92544E-04 0.81395E-04

 2 0.42267E-05 0.60744E-03 -.12922E-02 -.21461E-05 -.61076E-05

 3 -.55560E-05 -.12922E-02 0.71509E-02 0.18228E-03 -.16903E-04

 4 0.92544E-04 -.21461E-05 0.18228E-03 0.13262E-03 0.95503E-04

 5 0.81395E-04 -.61076E-05 -.16903E-04 0.95503E-04 0.92664E-04
106

 VALUES COMPUTED WITH OPTIMUM PARAMETERS FOR PREDICTIVE CONDITIONS AND ASSOCIATED

IDS

 NO. ID VALUE

 1 head_stream 100.14

 2 head_center 136.78

 3 upper_flow 0.76256

 SENSITIVITIES FOR OPTIMUM PARAMETERS FOR PREDICTIVE CONDITIONS

0 1 2 3

 1 -.49971E-01 -31.399 -.36000E-02

 2 -.49971E-01 0.00000 -.27507E-02

 3 -.14991 -.15029 -.23990E-02

 4 0.48161E-01 10.698 0.45634

 5 0.10188 22.325 0.44348

***********************************************************************

***********************************************************************

 INDIVIDUAL 95% CONFIDENCE INTERVALS

 UNCERTAINTY ON EACH PREDICTION IS CONSIDERED SEPARATELY

 IF SIMULTANEOUS UNCERTAINTY IS DESIRED, GO TO NEXT TABLE

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 2.306

 SIMULATED

 NO. ID VALUE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream 100.135 0.119112E-01 100.108 ; 100.162

 2 head_center 136.783 0.577290E-01 136.650 ; 136.916

 3 upper_flow 0.762555 0.914431E-02 0.741468 ; 0.783642

***********************************************************************

***********************************************************************

 3 SIMULTANEOUS 95% CONFIDENCE INTERVALS

 UNCERTAINTY ON EACH PREDICTION IS CONSIDERED JOINTLY

 IF UNCERTAINTY OVER AN AREA IS DESIRED, GO TO NEXT TABLE

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 3.043

 NUMBER OF INTERVALS........... = 3

 SCHEFFE CONFIDENCE INTERVALS ARE USED

 SIMULATED
107

 NO. ID VALUE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream 100.135 0.119112E-01 100.099 ; 100.171

 2 head_center 136.783 0.577290E-01 136.607 ; 136.959

 3 upper_flow 0.762555 0.914431E-02 0.734726 ; 0.790384

***********************************************************************

***********************************************************************

 UNDEFINED NUMBER OF SIMULTANEOUS 95% CONFIDENCE INTERVALS

 UNCERTAINTY IS CONSIDERED OVER AN AREA (i.e. an infinite number of points)

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 4.909

 SIMULATED

 NO. ID VALUE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream 100.135 0.119112E-01 100.077 ; 100.193

 2 head_center 136.783 0.577290E-01 136.500 ; 137.066

 3 upper_flow 0.762555 0.914431E-02 0.717664 ; 0.807446

***********************************************************************

***********************************************************************

 INDIVIDUAL 95% PREDICTION INTERVALS

 UNCERTAINTY ON EACH PREDICTION IS CONSIDERED SEPARATELY

 IF SIMULTANEOUS UNCERTAINTY IS DESIRED, GO TO NEXT TABLE

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u44,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 2.306

 SIMULATED

 NO. ID VALUE STD. DEV. PREDICTION INTERVAL

 1 head_stream 100.135 0.257884E-01 100.076 ; 100.194

 2 head_center 136.783 0.620951E-01 136.640 ; 136.926

 3 upper_flow 0.762555 0.274458E-01 0.699265 ; 0.825845

***********************************************************************

***********************************************************************

 3 SIMULTANEOUS 95% PREDICTION INTERVALS

 UNCERTAINTY ON EACH PREDICTION IS CONSIDERED JOINTLY

 IF UNCERTAINTY OVER AN AREA IS DESIRED, GO TO NEXT TABLE
108

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u44,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 3.043

 NUMBER OF INTERVALS........... = 3

 SCHEFFE PREDICTION INTERVALS ARE USED

 SIMULATED

 NO. ID VALUE STD. DEV. PREDICTION INTERVAL

 1 head_stream 100.135 0.257884E-01 100.057 ; 100.213

 2 head_center 136.783 0.620951E-01 136.594 ; 136.972

 3 upper_flow 0.762555 0.274458E-01 0.679028 ; 0.846082

***********************************************************************

***********************************************************************

 UNDEFINED NUMBER OF SIMULTANEOUS 95% PREDICTION INTERVALS

 UNCERTAINTY IS CONSIDERED OVER AN AREA (i.e. an infinite number of points)

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u44,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 4.909

 SIMULATED

 NO. ID VALUE STD. DEV. PREDICTION INTERVAL

 1 head_stream 100.135 0.257884E-01 100.008 ; 100.262

 2 head_center 136.783 0.620951E-01 136.478 ; 137.088

 3 upper_flow 0.762555 0.274458E-01 0.627819 ; 0.897291

Output File for Differences and Their Linear Confidence and Prediction Intervals--fn._45

test._45

UCODE PHASE .................. = 45

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 VARIANCE-COVARIANCE MATRIX FOR ESTIMATED PARAMETERS

0 1 2 3 4 5

 1 0.74045E-04 0.42267E-05 -.55560E-05 0.92544E-04 0.81395E-04

 2 0.42267E-05 0.60744E-03 -.12922E-02 -.21461E-05 -.61076E-05

 3 -.55560E-05 -.12922E-02 0.71509E-02 0.18228E-03 -.16903E-04
109

 4 0.92544E-04 -.21461E-05 0.18228E-03 0.13262E-03 0.95503E-04

 5 0.81395E-04 -.61076E-05 -.16903E-04 0.95503E-04 0.92664E-04

 VALUE COMPUTED WITH OPTIMUM PARAMETERS FOR BASE CONDITIONS AND ASSOCIATED IDS

 NO. VALUE

 1 head_stream 100.22

 2 head_center 144.33

 3 upper_flow 1.1292

 SENSITIVITIES FOR OPTIMUM PARAMETERS FOR BASE CONDITIONS

0 1 2 3

 1 0.00000 -38.098 -.19669E-03

 2 0.00000 -.14953 -.10133E-03

 3 -.25024 -.25024 -.10490E-02

 4 0.48161E-01 10.698 0.45624

 5 0.10214 22.326 0.44375

 VALUES COMPUTED WITH OPTIMUM PARAMETERS FOR PREDICTIVE CONDITIONS AND ASSOCIATED

IDS

 NO. ID VALUE

 1 head_stream 100.14

 2 head_center 136.78

 3 upper_flow 0.76256

 SENSITIVITIES FOR OPTIMUM PARAMETERS FOR PREDICTIVE CONDITIONS

0 1 2 3

 1 -.49971E-01 -31.399 -.36000E-02

 2 -.49971E-01 0.00000 -.27507E-02

 3 -.14991 -.15029 -.23990E-02

 4 0.48161E-01 10.698 0.45634

 5 0.10188 22.325 0.44348

***********************************************************************

***********************************************************************

 INDIVIDUAL 95% CONFIDENCE INTERVALS ON DIFFERENCES

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY ON EACH DIFFERENCE IS CONSIDERED SEPARATELY

 IF SIMULTANEOUS UNCERTAINTY IS DESIRED, GO TO NEXT TABLE

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 2.306

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream -0.820007E-01 0.931183E-02 -0.103474 ;-0.605276E-01

 2 head_center -7.54599 0.580505E-01 -7.67985 ; -7.41213

 3 upper_flow -0.366685 0.946575E-04 -0.366903 ;-0.366467

***********************************************************************

***********************************************************************

 3 SIMULTANEOUS 95% CONFIDENCE INTERVALS ON DIFFERENCES
110

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY ON EACH DIFFERENCE IS CONSIDERED JOINTLY

 IF UNCERTAINTY OVER AN AREA IS DESIRED, GO TO NEXT TABLE

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 3.043

 NUMBER OF INTERVALS........... = 3

 SCHEFFE CONFIDENCE INTERVALS ARE USED

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream -0.820007E-01 0.931183E-02 -0.110340 ;-0.536617E-01

 2 head_center -7.54599 0.580505E-01 -7.72266 ; -7.36932

 3 upper_flow -0.366685 0.946575E-04 -0.366973 ;-0.366397

***********************************************************************

***********************************************************************

 UNDEFINED NUMBER OF SIMULTANEOUS 95% CONFIDENCE INTERVALS ON DIFFERENCES

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY IS CONSIDERED OVER AN AREA (i.e. an infinite number of points)

 95% CONFIDENCE INTERVALS INDICATE THAT THERE IS

 95% PROBABILITY THAT THE ACTUAL VALUE WILL BE

 WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 4.909

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. CONFIDENCE INTERVAL

 1 head_stream -0.820007E-01 0.931183E-02 -0.127714 ;-0.362873E-01

 2 head_center -7.54599 0.580505E-01 -7.83097 ; -7.26101

 3 upper_flow -0.366685 0.946575E-04 -0.367150 ;-0.366220

***********************************************************************

***********************************************************************

 INDIVIDUAL 95% PREDICTION INTERVALS ON DIFFERENCES

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY ON EACH DIFFERENCE IS CONSIDERED SEPARATELY

 IF SIMULTANEOUS UNCERTAINTY IS DESIRED, GO TO NEXT TABLE

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u45,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5
111

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 2.306

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. PREDICTION INTERVAL

 1 head_stream -0.820007E-01 0.257331E-01 -0.141341 ;-0.226602E-01

 2 head_center -7.54599 0.628120E-01 -7.69083 ; -7.40115

 3 upper_flow -0.366685 0.365967E-01 -0.451077 ;-0.282293

***********************************************************************

***********************************************************************

 3 SIMULTANEOUS 95% PREDICTION INTERVALS ON DIFFERENCES

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY ON EACH DIFFERENCE IS CONSIDERED JOINTLY

 IF UNCERTAINTY OVER AN AREA IS DESIRED, GO TO NEXT TABLE

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u45,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 3.043

 NUMBER OF INTERVALS........... = 3

 SCHEFFE PREDICTION INTERVALS ARE USED

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. PREDICTION INTERVAL

 1 head_stream -0.820007E-01 0.257331E-01 -0.160315 ;-0.368632E-02

 2 head_center -7.54599 0.628120E-01 -7.73715 ; -7.35483

 3 upper_flow -0.366685 0.365967E-01 -0.478061 ;-0.255309

***********************************************************************

***********************************************************************

 UNDEFINED NUMBER OF SIMULTANEOUS 95% PREDICTION INTERVALS ON DIFFERENCES

 BETWEEN PREDICTIVE AND BASE CASES

 UNCERTAINTY IS CONSIDERED OVER AN AREA (i.e. an infinite number of points)

 PREDICTION INTERVALS INCLUDE MEASUREMENT ERROR,

 I.E. GIVEN THE VARIANCE NOTED IN fn.u45,

 THERE IS A 95% PROBABILITY THAT THE MEASUREMENT

 WILL FALL WITHIN THE INDICATED RANGE

 NUMBER OF ESTIMATED PARAMETERS = 5

 NUMBER OF OBSERVATIONS........ = 11

 NUMBER OF PRIOR INFORMATION... = 2

 DEGREES OF FREEDOM............ = 8

 CRITICAL VALUE................ = 4.909

 SIMULATED

 NO. ID DIFFERENCE STD. DEV. PREDICTION INTERVAL

 1 head_stream -0.820007E-01 0.257331E-01 -0.208329 ; 0.443276E-01

 2 head_center -7.54599 0.628120E-01 -7.85435 ; -7.23763

 3 upper_flow -0.366685 0.365967E-01 -0.546344 ;-0.187026
112

Output Files for PHASE=11 –fn._11

test._11

3.e-03 -2.52297198276396 0.2 -0.698995836019153 .2 5397.76 5417.00

0.03 -1.52293502598045 0.2 -0.698995836019153 .2 15769.4 15772.6

0.3 -0.522898069196932 0.2 -0.698995836019153 .2 22481.2 22500.4

3.e-03 -2.52297198276396 2 0.301041120764363 .2 5343.60 5362.84

0.03 -1.52293502598045 2 0.301041120764363 .2 15997.0 16000.2

0.3 -0.522898069196932 2 0.301041120764363 .2 22769.8 22789.0

3.e-03 -2.52297198276396 20 1.30107807754788 .2 5337.45 5356.69

0.03 -1.52293502598045 20 1.30107807754788 .2 16016.0 16019.2

0.3 -0.522898069196932 20 1.30107807754788 .2 22798.8 22818.1

3.e-03 -2.52297198276396 0.2 -0.698995836019153 20 0.403955E+08 0.403958E+08

0.03 -1.52293502598045 0.2 -0.698995836019153 20 0.174002E+07 0.174034E+07

0.3 -0.522898069196932 0.2 -0.698995836019153 20 4403.67 4743.67

3.e-03 -2.52297198276396 2 0.301041120764363 20 0.399948E+08 0.399951E+08

0.03 -1.52293502598045 2 0.301041120764363 20 0.166118E+07 0.166151E+07

0.3 -0.522898069196932 2 0.301041120764363 20 1551.31 1891.31

test._lb

 RESULTS OF PHASE 11,

 Sum-of-Squares values are in test._11

 The 3 parameter values start in column

 one and follow in subsequent columns as:

 column {1} k1

 column {2} log base 10 of k1

 column {3} KrB

 column {4} log base 10 of KrB

 column {5} RCH2

 column {6} weighted sum-of-squared residuals

 column {7} weighted sum-of-squared residuals with parameters
113

APPENDIX B: DISTRIBUTION, COMPILING, PORTABILITY, AND SPACE ISSUES

Distributed Files and Directories

UCODE can be downloaded from the internet site listed in the preface. To use UCODE,

the paths for ucode and perl need to be specified in the run command, or the paths need to be

specified in the autoexec.bat file for a DOS or Windows operating system, in the .profile file for a

UNIX operating system, or in an analogous file for other operating systems.

Compiling and Loading

1. If needed, compile and load the application model(s).

2. The executable for MRDRIVE distributed with UCODE was compiled either on a PC using

or an RS6000. If this executable cannot be used, compile and link the ten files for mrdrive,

which are: mrdrive.f, mrcall.f, sns.f, prm.f, spr.f, sjz.f, resanp.f, beale.f, ut.f, and ycint.f

3. perl may already be on your computer. If not, either use the copy provided with UCODE or

download the appropriate version. Copies can be retrieved from http://www.perl.com/perl/

and are available for most operating systems (UNIX, DOS, SUNOS, and so on).

Portability

MRDRIVE is written in Fortran90, so is highly portable. MRDRIVE is nearly compatible

with Fortran77, and could be converted if needed.

UCODE is written in perl. Perl is designed to be highly portable provided the appropriate

perl executable for your platform is anywhere on the computer. The command line needed to run

UCODE depends on the location of the perl executable.

Space Requirements

Approximately 4 Mb is required to load version 1.0 of UCODE including source,

executable, interpreter, example files and documentation in the form of PDF files. Additional disk
114

space is needed for the user’s application code(s), associated input files, and the UCODE template

files.

APPENDIX C: PROGRAM DESCRIPTION

UCODE Programs and Subroutines and Their Tasks

UCODE (written in perl; named as Universal inverse CODE)

*substitutes base parameter values using model input file templates

*executes application code(s) (in any language) for starting parameter values

*extracts model calculated values and combines them to obtain equivalent simulated values

corresponding to observations in the regression

*perturbs parameter values; generates and substitutes parameter values into template files for

model runs needed to calculate sensitivities

*extracts model calculated values and combines them to obtain equivalent simulated values

corresponding to observations in the regression

*executes MRDRIVE

*reads regression results from MRDRIVE output, writes them to UCODE output,

*performs convergence testing; if not converged, continues to iterate until convergence or

maximum number of iterations; if converged, calls MRDRIVE for final parameter

value statistics.

*closes files and stops

MRDRIVE (written in Fortran90; named as Multiple Regression DRIVEr):

mrdrive.f reads universal data, sets up variable dimensions and calls mrcall.f

mrcall.f reads UCODE scratch files, and calls subroutines in sns.f, prm.f, spr.f, and/or sjz.f,

as appropriate

sns.f calculates sensitivities by forward or central finite-difference

prm.f performs regression by modified Gauss-Newton method; nearly identical to

subroutine PAR1AP of MODFLOWP (Hill, 1992)
115

sjz.f calculates and prints residual statistics; nearly identical to subroutine SSEN1O of

MODFLOWP (Hill, 1992)

spr.f subroutines called by prm.f for calculation and printing of final statistics

ut.f controls printing and calculates statistics

resanp.f produces sample sets of residuals for testing the possibility that residuals are

correlated due to the fitting process of the regression

bealep.f calculates measures of model linearity

ycint.f calculates confidence and prediction intervals on predictions

Scratch Files

Scratch files created by UCODE include u9_zscr.1 through u9_zscr.19, and u9_zscr.44

and u9_zscr.45. If the scratch file names used by UCODE exist in the directory where UCODE is

executed, these files could be overwritten when UCODE is executed. The scratch files are

deleted at the end of the main perl program, UCODE. To retain these files in the directory, pound

signs can be added in UCODE at the beginning of the lines in which scratch files are deleted.

u9_zscr.1 parameter information for backward difference sensitivity calculation: unperturbed

parameters, prior information, perturbed parameters, iteration number.

u9_zscr.2 parameter information for forward difference sensitivity calculation: unperturbed

parameters, prior information, perturbed parameters, iteration number.

u9_zscr.3 perturbed heads for forward difference sensitivities.

u9_zscr.4 temporary holding file for extracted heads.

u9_zscr.5 unperturbed heads.

u9_zscr.6 temporary holding file for regression output.

u9_zscr.7 parameter values and regression restarting information.

u9_zscr.8 updated parameter values.

u9_zscr.9 maximum fractional change of parameter value during last iteration.

u9_zscr.10 jmax, ap, dmx values needed to start subsequent iteration.

u9_zscr.11 perturbed heads for backward difference sensitivities.

u9_zscr.12 flag for final convergence to indicate need for central difference sensitivities at final

parameter values.
116

u9_zscr.13 modified fn.uni information for input to MRDRIVE

u9_zscr.14 temporary holding file for regression output

u9_zscr.15 temporary holding file for regression history information

u9_zscr.16 temporary holding file for sum-of-squared weighted residuals

u9_zscr.17 temporary holding file for R, G, and X matrices for quasi-Newton updating

u9_zscr.18 temporary holding file for DD matrix for quasi-Newton updating

u9_zscr.19 temporary holding file for summary information from each parameter iteration

u9_zscr.44 holding file for regression output that is not needed for phase 44

u9_zscr.45 holding file for regression output that is not needed for phase 45