Online Guide to MODFLOW

SEN - Sensitivity Process Input File

Hide Navigation Pane

SEN - Sensitivity Process Input File

Previous topic Next topic No directory for this topic Expand/collapse all hidden text  

SEN - Sensitivity Process Input File

Previous topic Next topic Topic directory requires JavaScript JavaScript is required for expanding text JavaScript is required for the print function  

Abbreviation in Name file



The Sensitivity Process is used to calculate the sensitivity of model results to variations in parameter values.


Related Packages

The PVAL input file in MODFLOW-2005 and MODFLOW-LGR provides a little of the functionality of the Sensitivity process in MODFLOW-2000.

Supported in


Other Notes

The "Model-Layer Variable-Direction Horizontal Anisotropy" capability is incompatible with the Sensitivity process when convertible layers are used.
Parameters in the Streamflow Routing (SFR) package can not be specified in the Sensitivity process input file.
The Sensitivity Process is not included in MODFLOW-2005 or MODFLOW-LGR.  External programs such as UCODE must be used instead.

Sensitivity Process

Input Instructions

Input for the Sensitivity Process is read from a file that is specified with “SEN” as the file type listed in the name file.

Data Set 0


Item 0 is optional and can include as many lines as desired. Each line needs to begin with the “#” character in the first column.

Text—is a character string (maximum of 79 characters per line) that starts in column 2. Any characters can be included in Text. The “#” character needs to be in column 1. Text is printed when the file is read and provides an opportunity for the user to include information about the model both in the input file and the associated output file.

Data Set 1


NPLIST—is the number of named parameters listed in the Sensitivity Process input file. Parameters need to be listed in this file for sensitivities to be calculated and for the parameter value to be estimated by the Parameter-Estimation Process, but whether or not the sensitivities are calculated or the parameter is estimated depends on the value of ISENALL and ISENS, as described below.

ISENALL—is a flag that can override values of ISENS listed for each parameter in the input file and can deactivate the Parameter-Estimation Process.

ISENALL = 0, use the ISENS flags listed for each parameter.
ISENALL > 0, set ISENS to 1 for all listed parameters and deactivate the Parameter-Estimation Process if it is active. Use this option to evaluate sensitivities for all listed parameters without losing the notation that governs which parameters are to be estimated.
ISENALL < 0, Set ISENS to 0 for all listed parameters so that no sensitivities are calculated, but use the parameter values specified in this file. Deactivate the Parameter-Estimation Process if a PES file is listed in the name file. This option might be used, for example, to perform a forward model run using parameter values from an intermediate parameter-estimation iteration.

IUHEAD—is a flag that allows the user to choose between using scratch (temporary) files or memory for storage of grid sensitivities. If IUHEAD > 0, it is also the first of a series of file unit numbers.

IUHEAD > 0, one temporary scratch file is opened for each of MXSEN parameters. File unit numbers in the range IUHEAD through IUHEAD+MXSEN-1 are used for the scratch files and may not be used in the name file. This range of unit numbers also must not include the numbers 96 through 99, because these unit numbers are reserved for other uses.

IUHEAD 0, sensitivities are stored in memory.  “Any negative integer or zero can be used.” If the program has been converted to comply with FORTRAN 77 standards, the amount of allocated storage may need to be modified; see the ‘Memory Requirements’ section of Appendix B. When the parallel computing capability is used, IUHEAD needs to be less than or equal to zero.

MXSEN—is the maximum number of parameters for which sensitivities are to be calculated.MXSEN needs to equal or exceed the number of parameters for which ISENS is greater than zero. If ISENALL>0, MXSEN needs to equal or exceed NPLIST; the program will stop if this condition is not satisfied. If IUHEAD > 0, make MXSEN as small as possible to reduce the computer memory requirements.

Data Set 2


IPRINTS—is a flag that indicates how the saving and printing of sensitivity arrays are controlled if ISENSU and (or) ISENPU, below, are greater than zero. The arrays are saved (to unit ISENSU) and printed (to unit ISENPU) only when the Sensitivity Process is active and the Parameter-Estimation Process is inactive. The sensitivities are for parameters for which ISENS > 0 unless ISENALL > 0, in which case the sensitivities are for all parameters listed in the Sensitivity Process input file. These are arrays for the entire grid and can be contoured to obtain sensitivity maps. They are one-percent scaled sensitivities; that is, they are scaled by multiplying by the parameter value and dividing by 100. An exception is described under BSCAL.

IPRINTS = 0, Printing of sensitivity arrays is controlled by the IHDDFL and Hdpr variables of the Output Control option of the Basic Package, which also control printing of heads in the Groundwater Flow Process.
IPRINTS = 1, Print and save sensitivity arrays for all model layers and all time steps.

ISENSU—is a flag that controls whether sensitivity arrays are to be saved and, if so, to what file. The file format is controlled by the user through the Output Control input file. The output is written as text if CHEDFM is defined in the Output Control input file, and is binary otherwise. The file needs to be opened in the NAME file with the appropriate file type (Harbaugh and others, 2000).  The arrays are one-percent scaled sensitivities unless the parameter type is "CHD", in which case unscaled sensitivities are printed.

ISENSU = 0, sensitivity arrays are not saved.
ISENSU > 0, sensitivity arrays are saved on unit ISENSU.

ISENPU—is a flag identifying whether sensitivity arrays are to be printed and, if so, to what file. Sensitivity arrays are written as text to unit ISENPU using format number ISENFM (see below). ISENPU can be set equal to the GLOBAL file unit number, the LIST file unit number, or another unit opened in the name file using the DATA file type. To avoid inadvertently producing enormous output files, sensitivity arrays are only printed when the Parameter-Estimation Process is not active.

ISENPU = 0, sensitivity arrays are not printed.
ISENPU > 0, sensitivity arrays are printed on unit ISENPU.

ISENFM—is a code indicating the format for printing sensitivity arrays as described for ISENPU. If ISENFM is less than zero, the arrays are not printed. Permissible values of ISENFM and corresponding formats are:















































Data Set 3


Read NPLIST repetitions of item 3.

PARNAM—is a parameter name (up to 10 nonblank characters) that matches one of the parameter names specified in input for one of the Groundwater Flow Process packages. Matching is performed in a case-insensitive manner.

All parameter names must be unique.

ISENS—is a flag identifying whether or not sensitivities are to be calculated for parameter PARNAM. If the PES process is active, ISENS also identifies whether or not the parameter is to be estimated by regression. If ISENALL, above, is not zero, ISENS is ignored.

ISENS 0, Sensitivities are not calculated and the parameter is not estimated.
ISENS > 0, Sensitivities are calculated and, if the PES process is active, the parameter is estimated by regression.

LN—is a flag identifying whether parameter PARNAM is to be log-transformed for parameter estimation.

LN 0, Estimate the native, untransformed parameter.

LN > 0, Estimate the log transform of the parameter.

B—is the starting value for parameter PARNAM. This value always replaces the value listed in the Flow-Process package input file. See the section “Starting Parameter Values” for a discussion of things to consider about starting parameter values.

For B, BL, BU, and BSCAL, enter the values related to the native, untransformed parameter, even if LN is greater than zero.

BL—is the minimum reasonable parameter value for parameter PARNAM. BL does not restrict the estimated parameter value. BL is printed in the output to facilitate comparison with the estimated value.

For B, BL, BU, and BSCAL, enter the values related to the native, untransformed parameter, even if LN is greater than zero.

BU—is the maximum reasonable parameter value for parameter PARNAM. BU does not restrict the estimated parameter value. BU is printed in the output to facilitate comparison with the estimated value.

For B, BL, BU, and BSCAL, enter the values related to the native, untransformed parameter, even if LN is greater than zero.

BSCAL—is an alternate scaling factor for parameter PARNAM, and always needs to be a positive number. In MODFLOW-2000, dimensionless and one-percent scaled sensitivities are calculated using the scaling discussed in Hill (1998, p. 14-17, eq. 8, 9, and 11), except that the absolute value of the current parameter value is used. When the parameter value equals 0.0, however, which can occur for parameters that are not log-transformed, this scaling results in scaled sensitivities that equal 0.0. MODFLOW-2000 accommodates this situation using BSCAL. If the absolute value of the parameter is less than BSCAL, BSCAL is used in the scaling. The best value to use for BSCAL is problem dependent. Good choices are the smallest (in absolute value) reasonable value of the parameter or a value two to three orders of magnitude smaller than the value specified by B. If the smallest reasonable value is 0.0, a reasonable non-zero value needs to be used. BSCAL has no effect on the scaled sensitivities for log-transformed parameters.

Example Input File

# Example SEN file




WQ_1 1 0 45. 40. 50. 10. ITEMS 3: PARNAM ISENS LN B BL BU BSCAL

WQ_2 1 0 420. 320. 520. 100.

WQ_3 1 0 -9.7E4 –1.1E5 -9.0E4 9.0E4

WQ_4 1 0 -5.1E4 -6.1E4 -4.1E4 4.1E4

RCH_ZONE_1 1 0 0.4E-3 0.4E-4 0.4E-2 0.4E-2

RCH_ZONE_2 1 0 -0.2E-3 -0.2E-2 -0.2E-4 0.2E-4

RCH_ZONE_3 1 0 0.17E-3 0.17E-4 0.17E-2 0.17E-4

rivers 1 1 0.8E-1 0.7E-1 0.9E-1 0.7E-1

HK_1 1 1 70. 40. 100. 0.1

HK_2 1 1 420. 320. 520. 1.0

HK_3 1 1 15. 10. 20. 0.01


In this example, WQ_1, WQ_2, WQ_3, WQ_4, RCH_ZONE_1, RCH_ZONE_2, RCH_ZONE_3, rivers, HK_1, HK_2, and HK_3 are the names of parameters defined in Groundwater Flow Process input files. The Sensitivity Process matches parameter names with those defined in the Groundwater Flow Process input files in a case-insensitive manner.