This article presents the US Geological Survey computer program UCODE, whic
h was developed in collaboration with the US Army Corps of Engineers Waterw
ays Experiment Station and the International Ground Water Modeling Center o
f the Colorado School of Mines. UCODE 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 i
nclude preprocessors and postprocessors as well as models related to the pr
ocesses of interest (physical, chemical and so on), making UCODE extremely
powerful for model calibration. Estimated parameters can be defined flexibl
y with user-specified functions. Observations to be matched in the regressi
on can be any quantity for which a simulated equivalent value can be produc
ed, thus simulated equivalent values are calculated using values that appea
r in the application model output files and can be manipulated with additiv
e and multiplicative functions, if necessary. Prior, or direct, information
on estimated parameters also can be included in the regression. The nonlin
ear regression problem is solved by minimizing a weighted least-squares obj
ective function with respect to the parameter values using a modified Gauss
-Newton method. Sensitivities needed for the method are calculated approxim
ately 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 or identifying parameters that pr
obably cannot be estimated with the available data, (2) evaluating estimate
d parameter values, (3) evaluating the model representation of the actual p
rocesses and (4) quantifying the uncertainty of model simulated values. UCO
DE is intended for use on any computer operating system: it consists of alg
orithms programmed in perl, a freeware language designed for text manipulat
ion and Fortran90, which efficiently performs numerical calculations. (C) 1
999 Elsevier Science Ltd. All rights reserved.