U.S. Department of the Interior

U.S. Geological Survey

Techniques and Methods 6–A59

Water Availability and Use Science Program

National Water Quality Program

SWB Version 2.0—A Soil-Water-Balance Code for Estimating 

Net Infiltration and Other Water-Budget Components

Chapter 59 of

Section A, Groundwater

Book 6, Modeling Techniques
Cover: Image of Soil-Water-Balance (SWB) soil-moisture storage grid for the Maui, 

Hawaii, study area.
SWB Version 2.0—A Soil-Water-Balance 

Code for Estimating Net Infiltration and Other 

Water-Budget Components

By Stephen M. Westenbroek, John A. Engott, Victor A. Kelson, and Randall J. Hunt

Chapter 59 of

Section A, Groundwater

Book 6, Modeling Techniques

Water Availability and Use Science Program

National Water Quality Program

Techniques and Methods 6–A59

U.S. Department of the Interior

U.S. Geological Survey
U.S. Department of the Interior

RYAN K. ZINKE, Secretary

U.S. Geological Survey

James F. Reilly II, Director

U.S. Geological Survey, Reston, Virginia: 2018

For more information on the USGS—the Federal source for science about the Earth, its natural and living 

resources, natural hazards, and the environment—visit https://www.usgs.gov or call 1–888–ASK–USGS.

For an overview of USGS information products, including maps, imagery, and publications, 

visit https://store.usgs.gov.

Any use of trade, firm, or product names is for descriptive purposes only and does not imply endorsement by the 

U.S. Government.

Although this information product, for the most part, is in the public domain, it also may contain copyrighted materials 

as noted in the text. Permission to reproduce copyrighted items must be secured from the copyright owner.

Suggested citation:

Westenbroek, S.M., Engott, J.A., Kelson, V.A., and Hunt, R.J., 2018, SWB Version 2.0—A Soil-Water-Balance code 

for estimating net infiltration and other water-budget components: U.S. Geological Survey Techniques and Methods, 

book 6, chap. A59, 118 p., https://doi.org/10.3133/tm6A59.

ISSN 2328-7055 (online)
iii

Preface

The Soil-Water-Balance (SWB) version 2.0 code can be downloaded from the U.S. Geological 

Survey for free. The performance of SWB version 2.0 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 send notification of any errors found in this model 

documentation report or in the model program to the contact listed on the web page (https://doi.

org/10.5066/tm6A59).

v

Contents

Preface ...........................................................................................................................................................iii

Abstract...........................................................................................................................................................1

Introduction.....................................................................................................................................................1

Background and Terminology.............................................................................................................2

Scope and Purpose ..............................................................................................................................2

Changes from Previous Versions .......................................................................................................3

Overview of Data and Input Requirements ......................................................................................3

Units of Measurement..........................................................................................................................3

Model Description .........................................................................................................................................5

Processes and Methods...............................................................................................................................6

Precipitation and Air Temperature.....................................................................................................6

Interception............................................................................................................................................7

Snowfall..................................................................................................................................................7

Snowmelt................................................................................................................................................7

Fog Interception....................................................................................................................................7

Runoff ....................................................................................................................................................7

Impervious Surface Runoff .................................................................................................................7

Runoff Routing.......................................................................................................................................7

Potential/Reference Evapotranspiration ..........................................................................................8

Soil-Moisture Retention/Actual Evapotranspiration.......................................................................8

Growing Degree Day............................................................................................................................8

Crop Coefficients...................................................................................................................................9

Rooting Depth........................................................................................................................................9

Irrigation Demand and Application....................................................................................................9

Rejected Net Infiltration ......................................................................................................................9

Summary........................................................................................................................................................10

Acknowledgments.......................................................................................................................................10

References Cited..........................................................................................................................................10

Appendix 1. Method Documentation.......................................................................................................16

Precipitation..................................................................................................................................................16

Interception...................................................................................................................................................17

Bucket...................................................................................................................................................17

Gash ......................................................................................................................................................17

Horton ...................................................................................................................................................18

Snowfall................................................................................................................................................18

Snowmelt..............................................................................................................................................18

Fog Interception..................................................................................................................................19

Runoff.............................................................................................................................................................19

Curve Number......................................................................................................................................20

Published Curve Numbers........................................................................................................20

Antecedent Runoff Conditions.................................................................................................24

Continuous Frozen Ground Index (CFGI)................................................................................24

Monthly Runoff Fraction Grid............................................................................................................25
vi

Impervious Surface Runoff ........................................................................................................................25

Runoff Routing..............................................................................................................................................26

Potential/Reference Evapotranspiration .................................................................................................27

Jensen-Haise Method........................................................................................................................28

Hargreaves-Samani Method ............................................................................................................28

Monthly Grid ........................................................................................................................................28

Actual Evapotranspiration/Soil-Moisture Retention..............................................................................29

Thornthwaite-Mather Method..........................................................................................................30

FAO–56 Method...................................................................................................................................31

Growing Degree Day...................................................................................................................................32

Growing Season...........................................................................................................................................32

Crop Coefficients..........................................................................................................................................33

Rooting Depth...............................................................................................................................................35

Irrigation Demand and Application...........................................................................................................35

Rejected Net Infiltration .............................................................................................................................36

References Cited..........................................................................................................................................38

Appendix 2. User Guide .............................................................................................................................40

Installing and Running Soil-Water-Balance Version 2.0 .......................................................................40

System Requirements ........................................................................................................................40

Running SWB.......................................................................................................................................41

Overview of Input and Output Files...........................................................................................................41

Input Files.............................................................................................................................................41

Control File ..................................................................................................................................41

Lookup Tables.............................................................................................................................45

Input Data Grids .........................................................................................................................45

Hydrologic Soil Group ......................................................................................................46

Available Water Capacity................................................................................................46

Land-Use Code..................................................................................................................46

D8 Surface-Water-Flow Direction..................................................................................47

Climate Data Tables or Grids....................................................................................................47

Output Files ..........................................................................................................................................48

netCDF Files ................................................................................................................................48

Log Files.......................................................................................................................................48

Cartographic Projections and Resampling..............................................................................................51

Gridded Datasets .........................................................................................................................................53

Specifying Grid Filenames.................................................................................................................54

Options for Gridded Datasets ...........................................................................................................55

Supported File Types ..........................................................................................................................55

Surfer Ascii Grid.........................................................................................................................56

Arc Ascii Grid..............................................................................................................................56

netCDF..........................................................................................................................................57

Treatment of Missing Values.............................................................................................................59

Conversion Factors.............................................................................................................................60

Inactive Grid Cells...............................................................................................................................61

References Cited..........................................................................................................................................61
vii

Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method.................62

Precipitation..................................................................................................................................................62

Interception...................................................................................................................................................65

Snowfall.........................................................................................................................................................66

Snowmelt.......................................................................................................................................................66

Fog Interception...........................................................................................................................................67

Runoff.............................................................................................................................................................68

Impervious Surface Runoff ........................................................................................................................69

Runoff Routing..............................................................................................................................................70

Potential Evapotranspiration .....................................................................................................................71

Available Water Capacity/Available Water Content..............................................................................72

Rooting Depth...............................................................................................................................................73

Soil-Storage Maximum ...............................................................................................................................73

Actual Evapotranspiration/Soil Moisture Retention ..............................................................................75

Crop Coefficients..........................................................................................................................................76

Direct Additions............................................................................................................................................77

Growing Degree Day...................................................................................................................................80

Growing Season...........................................................................................................................................81

Irrigation Demand and Application...........................................................................................................81

Rejected Net Infiltration .............................................................................................................................83

References Cited..........................................................................................................................................83

Appendix 4. Example Applications ..........................................................................................................84

Maui, Hawaii.................................................................................................................................................84

Study Area............................................................................................................................................84

Input Grids and Tables .......................................................................................................................84

Control File ...........................................................................................................................................97

Model Application.............................................................................................................................101

Central Sands, Wisconsin ........................................................................................................................103

Study Area..........................................................................................................................................103

Input Grids and Tables .....................................................................................................................103

Control File .........................................................................................................................................109

Model Application.............................................................................................................................113

References Cited........................................................................................................................................117

Figures

1. Conceptual diagram of Soil-Water-Balance storage reservoirs and processes ..............5

Tables

1. Summary of new process methods available in Soil-Water-Balance (SWB) code

version 2.0. ....................................................................................................................................4

2. List of minimum required data and input files for a typical Soil-Water-Balance

(SWB) run.......................................................................................................................................4
viii

Conversion Factors

U.S. customary units to International System of Units

Multiply By To obtain

Length

inch (in.) 2.54 centimeter (cm)

inch (in.) 25.4 millimeter (mm)

foot (ft) 0.3048 meter (m)

mile (mi) 1.609 kilometer (km)

Area

square mile (mi2

) 2.590 square kilometer (km2) 

Density of heat

langley (Ly) 0.0171 equivalent water evaporated in 

millimeters (mm)

Temperature in degrees Fahrenheit (°F) may be converted to degrees Celsius (°C) as follows:

°C = (°F – 32) / 1.8.

Temperature in Fahrenheit (°F) may be converted to Kelvin (K) as follows:

K = (°F - 32) / 1.8 + 273.15.

Temperature in Kelvin (K) may be converted to degrees Fahrenheit (°F) as follows:

°F = (K - 273.15) × 1.8 + 32.

International System of Units to U.S. customary units

Multiply By To obtain

Length

centimeter (cm) 0.3937 inch (in.)

millimeter (mm) 0.03937 inch (in.)

meter (m) 3.2808 foot (ft)

kilometer (km) 0.6215 mile (mi)

Area

square kilometer (km2

) 0.3862 square mile (mi2) 

Density of heat

langley(Ly) 0.673 equivalent water evaporated in 

inches (in.)

Temperature in degrees Celsius (°C) may be converted to degrees Fahrenheit (°F) as follows:

°F = (1.8 × °C) + 32.

Temperature in Celsius (°C) may be converted to Kelvin (K) as follows:

K = °C + 273.15.

 Temperature in Kelvin (K) may be converted to degrees Celsius (°C) as follows:

°C = K - 273.15.
SWB Version 2.0—A Soil-Water-Balance Code for

Estimating Net Infiltration and Other Water-Budget

Components

By Stephen M. Westenbroek, John A. Engott, Victor A. Kelson1

, and Randall J. Hunt 

Abstract

The U.S. Geological Survey’s Soil-Water-Balance (SWB) 

code was developed as a tool to estimate distribution and 

timing of net infiltration out of the root zone by means of an 

approach that uses readily available data and minimizes user 

effort required to begin a SWB application. SWB calculates 

other components of the water balance, including soil 

moisture, reference and actual evapotranspiration, snowfall, 

snowmelt, canopy interception, and crop-water demand. 

SWB is based on a modified Thornthwaite-Mather soil-waterbalance approach, with components of the soil-water balance 

calculated at a daily time step. Net-infiltration calculations are 

computed by means of a rectangular grid of computational 

elements, which allows the calculated infiltration rates to be 

imported into grid-based regional groundwater-flow models. 

SWB makes use of gridded datasets, including datasets 

describing hydrologic soil groups, moisture-retaining capacity, 

flow direction, and land use. Climate data may be supplied in 

gridded or tabular form. The SWB 2.0 code described in this 

report extends capabilities of the original SWB version 1.0 

model by adding new options for representing physical 

processes and additional data input and output capabilities. 

New methods included in SWB 2.0 allow for direct gridded 

input of externally calculated water-budget components 

(fog, septic, and storm-sewer leakage), simulation of canopy 

interception by several alternative processes, and a crop-water 

demand method for estimating irrigation amounts. New input 

and output capabilities allow for grids with differing spatial 

extents and projections to be combined without requiring the 

user to resample and resize the grids before use. 

Introduction

Accurate estimates of the spatial and temporal 

distribution of groundwater recharge are important for many 

types of hydrologic assessments, including assessments 

that concern water availability, water-quality protection, 

streamflow and riparian-ecosystem management, aquifer 

replenishment, groundwater-flow modeling, and contaminant 

transport; these recharge estimates often are key to 

understanding effects of land-use change in urban, industrial, 

and agricultural regions. With increasing demand for 

science-supported hydrologic management comes an increased 

need for robust and practical methods to quantify groundwater 

recharge rates (Scanlon and others, 2002).

To fill this need, Dripps and Bradbury (2007) created a 

spreadsheet code that calculates components of the soil-zone 

water balance at a daily time step by means of a modified 

version of the Thornthwaite-Mather soil-moisture-balance 

approach (Thornthwaite, 1948; Thornthwaite and Mather, 

1957). The primary output of the water-balance code is net 

infiltration out of the root zone. In areas where groundwater 

is close to the surface (less than 10 meters), net infiltration 

may be assumed to become recharge. In areas with deeper 

groundwater tables, or for dynamic models that require 

simulation of recharge timing, MODFLOW’s Unsaturated 

Zone Flow Package (Niswonger and others, 2006) may 

be used to simulate the transport of net infiltration to the 

groundwater table.

1

Utilities Department, City of Bloomington, Indiana.
2 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Data requirements for the original water-balance code 

included the following several commonly available tabular 

and gridded data types: (1) precipitation and temperature, 

(2) land-use classification, (3) hydrologic soil group,

(4) flow direction, and (5) soil-water capacity. The data and

required formats were designed to take advantage of widely

available geographic information systems (GIS) datasets and

file structures. To increase ease of use, reduce reliance on

proprietary software, and increase the size of model domain

that could be simulated, the U.S. Geological Survey (USGS)

translated the original soil-water-balance code from the

spreadsheet Visual Basic to modern Fortran 2008; the Fortran

version was called the Soil-Water-Balance (SWB) code

version 1.0 (Westenbroek and others, 2010). SWB 1.0 was

used to estimate net infiltration out of the root zone in a wide

variety of environmental settings; for examples, see Feinstein

and others (2010) or Hunt and others (2016). The SWB code

has evolved since the original release, with the addition of

crop-water demand calculations and some of the functionality

of the Hawaii water-budget code (Izuka and others, 2010).

This report documents version 2.0 of the SWB software,

hereafter referred to as SWB.

Background and Terminology

Standard terminology is not available for use in 

discussions of the water-budget components that result in 

groundwater recharge. The nomenclature and following 

definitions from Healy (2010) are used in this report.

Potential recharge.—Water that has infiltrated into the 

root zone. Potential recharge may leave the bottom of the root 

zone, eventually becoming recharge. Alternatively, potential 

recharge may be removed from the soil column by means of 

evaporation and transpiration.

Net infiltration.—Water that has escaped the 

evapotranspiration sinks of the root zone, some portion of 

which will eventually find its way to the groundwater table.

Groundwater recharge.—Water that actually crosses the 

water table.

This report uses slightly different terminology than 

Westenbroek and others (2010). In both reports, however, the 

terms used underscore the fact that SWB does not simulate 

unsaturated-zone processes beneath the root zone. When the 

unsaturated zone is sufficiently thick, it can impart appreciable 

lags between the time when water leaves the bottom of the 

root zone and the time when water crosses the water table and 

enters the groundwater system (Healy, 2010; Hunt and others, 

2008; Nimmo and others, 2005); under some conditions, 

separate net-infiltration events coalesce in the unsaturated 

zone and enter the water table as a single recharge event. 

Therefore, the output of the SWB code is here referred to 

as “net infiltration” rather than “groundwater recharge”, in 

keeping with Healy’s (2010) usage. The distinction between 

infiltration and recharge has been explored in detail by others; 

see for example Anderson and others (2015, p. 232–234). 

Net infiltration and related groundwater recharge can 

vary with time and space. Site-specific measurements of 

net infiltration and recharge, if available, are difficult to 

upscale for application in regional-scale problems. Yet, in 

groundwater-modeling problems, application of physically 

based, spatially variable recharge values to the water table 

have been determined to improve model performance 

(Jyrkama and Sykes, 2007; Hunt and others 2008). 

A soil-water-balance modeling approach is currently the 

preferred method for distributing net infiltration in space and 

time for use in applied groundwater modeling (Anderson and 

others, 2015, p. 232). The temporal discretization used in the 

soil-water-balance model should not be overly coarse. For 

example, Rushton and Ward (1979) determined that running 

a soil-water-balance calculation with monthly time steps gave 

net-infiltration values 25 percent less than soil-water-balance 

calculations using daily values. 

Many soil-water-balance models are described in the 

literature, most developed for specific applications. Soilwater-balance models have been developed to evaluate crop 

irrigation requirements and impacts (Boisvert, 1990; Braud 

and others, 2013; Jensen, 1969; Kendy and others, 2003), 

crop yield prediction (Akinremi and others, 1996), and landfill 

cover design (Schroeder and others, 1994), and to estimate 

net infiltration (Batelaan and De Smedt, 2001; Eilers and 

others, 2007; Finch, 2001; Fitzsimons and Misstear, 2006; 

Jyrkama and others, 2002; Lee and others, 2006; Manghi and 

others, 2009).

Within the USGS, many different water-balance models 

have been used as a means to estimate net infiltration. The 

Yucca Mountain Project of the 1980s and 1990s produced the 

INFIL 3.0 model (U.S. Geological Survey, 2008). The Basin 

Characterization Model has been applied to significant tracts 

of the western United States (Flint and others, 2014; Flint and 

Flint, 2007). A similar model was developed and applied in 

Montana, Idaho, and Washington State (not shown) (Bauer 

and Vaccaro, 1987; Bauer and Vaccaro, 1990). A custom water 

balance model has been applied to the Hawaiian Islands (not 

shown) for decades (Izuka and others, 2010). Another custom 

water balance model was applied to the central Midwest 

regional aquifer system, with special emphasis on estimating 

consumptive use of water and the resulting impact on recharge 

(Dugan and Peckenpaugh, 1985). These models have generally 

been developed with specific environmental settings in mind 

(Yucca Mountain, Hawaiian Islands) but include processes and 

algorithms that may be suited for future versions of the SWB 

code documented in this report.

Scope and Purpose

The purpose of this report is to document version 2.0 of 

the SWB code. Version 2.0 is designed to estimate components 

of the water budget, particularly net infiltration, for a model 

domain represented by a grid of uniformly sized square cells 

on a daily timescale. Version 1.0 of the code is documented 
Introduction 3

in Westenbroek and others (2010). This report focuses on 

features and implementations that are part of the version 

2.0 code.

An overview of the conceptual basis, data requirements 

for use, and limitations and assumptions relating to SWB are 

presented in this report. Additional details are provided in four 

appendixes in this report; one of the appendixes provides two 

test cases featuring the SWB code. The first test case (Maui, 

Hawaii), allows comparison of the performance of the SWB 

code relative to the Hawaii water-budget code. The second test 

case (Central Sands, Wisconsin), demonstrates the application 

of the SWB code to a model domain that includes many 

irrigated land-use types.

Changes from Previous Versions

The design goals and operation of SWB are similar 

to the original release documented by Westenbroek 

and others (2010). The code still performs a modified 

Thornthwaite‐Mather soil-water balance at each grid point 

within the model domain. However, the scope of recent 

additions to the process methods and modifications of 

the input and output file structures are significant enough 

to warrant a new major SWB release along with new 

documentation and input instructions.

Many of the SWB code changes will be apparent to users 

familiar with the original SWB code. These changes pertain to 

model input and output and include the following list of SWB 

code changes:

• elimination of swbstats, (a program to handle 

post-processing of SWB output); 

• elimination of internally generated graphics;

• elimination of the custom swb binary output files;

• addition of cartographic reprojection and resampling 

by means of the PROJ4 library that allows SWB to 

read grids with differing geographic projections;

• upgrading Network Common Data Form (NetCDF) 

input and output to NetCDF version 4;

• modification of internal structure to make adding new 

methods easier;

• addition of code to allow for more flexible tabular data 

and parameter input; and

• rearrangement of internal data structures to more 

efficiently accommodate blocks of inactive cells within 

model domains.

Many of the SWB code changes were made in response 

to user frustrations related to the difficulty of aligning and 

resampling input grids; SWB 1.0 required that every grid 

supplied to the code be in exactly the same geographic 

projection, cover the same extents as the SWB 1.0 project 

grid, and be discretized at the same grid-cell resolution. This 

requirement resulted in excessive data management and 

consumed project time that would have been better spent on 

other tasks. In addition, SWB 1.0 stored results in a customprogrammed, binary-file format. Following a SWB 1.0 model 

run, a program called swbstats could be used to extract 

daily, monthly, annual, or period grids as well as to generate 

plots and calculate basic statistics.

With the opportunity to modify and enhance SWB 1.0, 

the authors decided to standardize model output using an 

existing file format. SWB now stores all gridded output in the 

common and widely used format NetCDF (Unidata, 2014). 

The NetCDF file format is commonly used among climate 

scientists and meteorologists and is slowly being adopted in 

other scientific fields. A benefit of switching to a well-known 

binary-file format is that rather than relying on a single 

program, swbstats, to handle post-processing, dozens of 

actively maintained open-source tools are designed to make 

post-processing of NetCDF files easier (for example http://

www.unidata.ucar.edu/software/netcdf/utilities.html). Other 

changes made since the initial SWB 1.0 release add or modify 

the actual hydrologic processes simulated by SWB. These 

changes include the addition of the methods listed in table 1.

Overview of Data and Input Requirements

Input data requirements for SWB become more 

demanding as more modules are activated. However, a typical 

SWB application may be made with a handful of gridded 

datasets, a daily weather data source, a control file specifying 

SWB program options, and a lookup table specifying 

parameter values as a function of land use and soil type. The 

minimum required data and input files for a typical SWB run 

are listed in table 2.

Units of Measurement

This report contains units given in a mixture of 

U.S. customary and International System of Units (SI) units, 

sometimes in the same equation or paragraph. This dual 

usage of units of measurement is because many of the early 

hydrologists and soil scientists worked for the U.S. Federal 

Government and published using U.S. customary units, 

whereas most scientific works use SI units. Literature related 

to irrigation is often in U.S. customary units. The authors have 

attempted to use SI units where convenient, but have retained 

the units used originally by the cited authors. Although dual 

usage of units of measurement may be confusing at times, the 

dual usage allows SWB users to access some of the original 

data tables without having to convert units.
4 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 1. Summary of new process methods available in Soil-Water-Balance (SWB) code version 2.0. 

Process Method Description

Irrigation water demand FAO–56 Simulates addition of water to the soil root zone in an amount necessary to 

sustain crop growth. FAO is the Food and Agriculture Organization, a branch 

of the United Nations. FAO–56 is the publication that describes methodology 

for calculation of crop-water demand and irrigation scheduling (Allen and 

others, 1998).

Soil-moisture retention FAO–56 The soil-moisture retention relation in FAO–56 allows plant evapotranspiration 

to proceed at the rate of potential evapotranspiration until soil moisture drops 

to some user-defined threshold soil-moisture value; when soil-moisture values 

drop beneath this threshold evapotranspiration is assumed to proceed at some 

fraction of potential evapotranspiration.

Crop-coefficient curves FAO–56 Evapotranspiration by crops and other plants is assumed to be represented as 

some fraction of potential evapotranspiration; the crop-coefficient curve 

defines this fraction. FAO–56 represents the crop-coefficient curve as a 

piecewise linear relation indexed to stages of plant growth.

Interception Gash, Horton The Horton (1919) method allows for interception amounts to grow relative to 

total storm rainfall; the modified Gash (Gash, 1979; Gash and others, 1995) 

method accounts for partitioning of intercepted water between canopy and 

stemflow and accounts for canopy density.

Fog interception Gridded Fog interception may be specified as some fraction of rainfall to account for 

capture of fog moisture by vegetation.

Rainfall Method of fragments Disaggregates monthly gridded precipitation data using a set of fragments 

generated from daily observations (Srikanthan and McMahon, 1982).

Runoff Ratio Runoff may be simulated as a fraction of rainfall by means of an externally 

calculated set of runoff ratios.

Direct net infiltration Gridded or tabular Direct additions to net infiltration from septic systems, leaky water mains, 

storage reservoirs, and other diffuse sources.

Table 2. List of minimum required data and input files for a typical Soil-Water-Balance (SWB) run.

[–, unitless; SSURGO, Soil Survey Geographic database; gSSURGO, Gridded Soil Survey Geographic database]

Data or input type Units Format Example source/description

Land use – Grid (integer) National Land Cover Database (Homer and others, 

2015).

D8 flow direction – Grid (integer) National Elevation Dataset (Gesch and others, 2002); 

D8 flow direction must be generated from elevation 

data using geographic information systems or other 

such software.

Available water capacity Inch per foot Grid (float or real) SSURGO or gSSURGO (Soil Survey Staff, 2015); 

typically averaged over the top 0 to 100 centimeters 

of the soil profile.

Soil hydrologic group – Grid (integer) SSURGO or gSSURGO (Soil Survey Staff, 2015).

Weather data—daily 

precipitation and minimum 

and maximum air 

temperature

Inch; degrees 

Fahrenheit

Table or grid (float) Daymet 1 kilometer gridded data (Thornton and others, 

2017); many other gridded data sources may be used 

instead.

SWB control file – Text file SWB control file specifies the location of the data 

elements listed above, as well as which modules are 

active during the run.

SWB lookup table – Text file (tab delimited) SWB lookup table contains parameter values for each 

land use; some parameters are given as a function of 

the land use and the hydrologic soil group.
Model Description 5

Model Description

The SWB code uses a modified Thornthwaite-Mather 

soil-moisture accounting method (Thornthwaite and 

Mather, 1955; Thornthwaite and Mather, 1957) to calculate 

net infiltration; net infiltration is calculated separately for 

each grid cell in the model domain. Sources and sinks of 

water within each grid cell are determined on the basis of 

input climate data and landscape characteristics (fig. 1). 

Soil moisture is updated on a daily basis as the difference 

among these sources and sinks as in equation 1. The terms in 

equation 1 are expressed in units of length; SWB uses units 

of inches.

θ θ t t rainfall+ runon+ snowmelt+ fog interception

irrigation

= +

+

−1

− − interception runoff E− T

(1)

where

θt is the soil moisture for the current simulation 

day,

θt−1 is the soil moisture on the previous simulation 

day, and

ET is the actual evapotranspiration.

How the terms from equation 1 relate is shown in 

figure 1. In addition to the soil-moisture reservoir described 

by equation 1, two additional storage reservoirs are tracked by 

SWB—interception and snow. The daily calculation for the 

interception amounts to new intercepted rainfall and snowfall 

minus any evaporated interception water. The daily calculation 

for the snow reservoir is simply the running sum of snowfall 

minus snowmelt.

Weather data

Water flow

Storage

reservoir

User-specified

method

Air temperature Relative humidity Precipitation EXPLANATION Reference

evapotranspiration

Direct net

infiltration

Snowmelt

Soil moisture

Snow

storage

Soil storage

Snowfall

Canopy

interception

Crop

irrigation

Runoff

Routing

Fog

interception

Direct to soil

storage 

Interception

storage 

Runoff Runon

Fog

interception

Throughfall

Irrigation

Snowmelt Septic system leakage

Snowfall

Rainfall,

snowfall

Evaporation of

intercepted

water

Transpiration,

evaporation

from

soil

Net infiltration

Cesspool leakage,

 waterbody leakage

Figure 1. Conceptual diagram of Soil-Water-Balance storage reservoirs and processes.
6 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

The range of possible soil-moisture values described by 

equation 1 is assumed to be bounded by two values—the field 

capacity and the permanent wilting point. The field capacity 

of a soil is defined as the amount of moisture remaining in a 

soil after it has been saturated and allowed to drain freely. The 

permanent wilting point of a soil is defined as the moisture 

content at which plants will wilt and fail to recover even when 

later supplied with sufficient moisture (Barker and others, 

2005). The available water capacity—one of the gridded 

datasets required by SWB—is defined as the difference 

between a soil’s field capacity and its permanent wilting point. 

The total available water for the soil in a given grid cell is 

calculated as shown in equation 2.

 TAW rooting depth = − ( ) FC WP θ θ ⋅ (2)

where

TAW is total available water, in inches;

θ FC is field capacity, in inches per foot;

θWP is permanent wilting point, in inches per foot; 

and

rooting depth is the effective rooting depth of vegetation, in 

feet.

Net infiltration is assumed to take place any time the 

soil-moisture value (eq. 1) exceeds the total available water 

(eq. 2) for the cell.

The following is a list of steps to calculate net infiltration.

1. Precipitation is partitioned into gross rainfall or gross 

snowfall, or both.

2. Intercepted rain or snow is added to the interception 

storage reservoir.

3. Net snowfall is added to the snow storage reservoir.

4. Snowmelt (if any) is calculated.

5. Potential evapotranspiration (PET) is calculated.

6. Interim soil moisture is calculated as 

θ θ interim t = + rainfall + + snowmelt runon − runoff −1 .

7. Direct additions to soil moisture, if any, are added to 

θinterim.

8. Interim soil-moisture fraction is calculated as 

f interim WP

FC WP

= ( ) −

( ) −

θ θ

θ θ

.

9. Actual evapotranspiration (AET) from the soil storage 

reservoir is calculated as some function of f  and PET .

10. Updated soil moisture is calculated as 

θ θ t t = + −1 rainfall + + snowmelt runon − − runoff AET .

11. If the updated soil moisture (θt ) exceeds the field 

capacity of the soil, the updated soil moisture is set to 

θ FC, making the change in soil moisture ∆θ θ = − FC θt−1.

12. If the updated soil moisture is less than the field capacity, 

net infiltration is considered to be zero.

13. Otherwise, net infiltration is calculated as 

net infiltration = − θ θ t FC .

14. Direct net-infiltration amounts, if any, are added to the 

net infiltration amount calculated in step 13. 

Surface runoff from a cell may be routed to the next 

downslope cell or may be considered to have reached an 

unmodeled surface-water feature (stream, lake, ditch) and 

removed from the model domain. In urban areas or in areas 

with significant impervious surfaces, results of simulating 

runoff and net infiltration in a more detailed manner might be 

desirable. This option is triggered in SWB 2.0 when a percent 

or fraction impervious area grid is supplied to the code. 

When this option is active, an additional storage reservoir is 

created—impervious surface storage. In addition, storm drains 

possibly can be taken into account by supplying the fraction of 

impervious surface storage that is intercepted by storm drains. 

The processes referenced in the calculation steps are discussed 

briefly in the next section and are discussed more fully in 

appendix 1.

Processes and Methods

The previous section describes the general outline of 

daily water-budget calculations. At each step in the calculation 

of the water budget, different methods for estimating 

hydrologic processes may be specified allowing SWB to be 

adapted to conditions specific to a particular project area. 

These methods are described in the following section. SWB 

control file syntax is indicated in the following section by 

highlighted capital letters. For example, the precipitation 

method might be specified in the SWB control file as 

PRECIPITATION_METHOD GRIDDED . The data and parameter 

requirements, SWB control file syntax, and a description of 

underlying physical processes and equations for each method 

are given in the appendixes.

Precipitation and Air Temperature

The following are three methods to specify daily 

precipitation data for an SWB simulation: TABULAR,

GRIDDED, and METHOD_OF_FRAGMENTS. Air temperature

data are supplied in TABULAR or GRIDDED form.

The TABULAR method allows a set of tabular daily 

precipitation and air temperature data to be supplied to all 

grid cells within the model domain. This method makes the 

use of tabular data and is suitable for application only to 

small project areas with dimensions of perhaps 100 square 

kilometers or less. Of course, the suitability of using a single 

precipitation and air temperature station in a SWB simulation 

must be tempered by knowledge of the spatial variability 

in rainfall, as well as by the project goals. If only annual 

water-budget components are of interest, a single precipitation 
Processes and Methods 7

gage may be adequate. If, however, SWB output is to be used 

at a monthly or daily time step, gridded data of some type 

probably are best if available.

The GRIDDED method instructs SWB to expect further 

PRECIPITATION or TMIN/TMAX grids to be specified 

elsewhere in the control file.

The METHOD_OF_FRAGMENTS method creates synthetic 

sequences of daily rainfall from monthly rainfall by imposing 

the rainfall pattern from selected rain gages with daily data 

(Srikanthan and others, 2005; Srikanthan and McMahon, 

1999). The synthesized daily rainfall data approximates the 

long-term (annual) average character of daily rainfall, such 

as frequency, duration, and intensity, but may not necessarily 

reproduce the actual historical daily rainfall record. 

Interception

The interception of precipitation by crops and other 

vegetation is sometimes overlooked in hydrological models, 

but can amount to a significant part of the water budget 

(Gerrits, 2010; Savenije, 2004). The SWB 1.0 code used a 

bucket method to estimate the amount of interception; in the 

bucket interception method, a constant amount of interception 

is assumed regardless of the total daily precipitation. In 

an attempt to model this part of the water budget more 

accurately, two additional interception process formulations 

have been added. The three methods implemented in SWB 

are the BUCKET , GASH, and HORTON . The Gash method 

(Gash, 1979; Gash and others, 1995) models interception 

by vegetation by simulating canopy storage and flow and 

evaporation from stems or trunk. The Horton method (Horton, 

1919) is an extension of the bucket model that allows for 

interception values to increase in proportion to the total daily 

precipitation value.

Snowfall

SWB includes a single method for partitioning 

precipitation into rainfall and snowfall. This method, 

SINGLE_TEMPERATURE, is enabled by default; therefore, no 

control file or lookup-table entries are required to invoke 

the method. This method makes a comparison between a 

combination of the minimum and maximum air temperatures 

and the freezing point of water (32 degrees Fahrenheit) to 

partition precipitation into rainfall and snowfall.

Snowmelt

SWB includes a single snowmelt method for determining 

snowmelt volumes. The TEMPERATURE_INDEX method 

assumes that 1.5 millimeters (0.059 inch) of water-equivalent 

snow melts per day per average degrees Celsius that the daily 

maximum temperature is above freezing. This method also 

is enabled by default; therefore, no additional control-file or 

lookup-table entries are required to invoke the method.

Fog Interception

Fog interception is not explicitly modeled within SWB, 

but estimates of fog interception may be supplied by means 

of the GRIDDED data method. For pilot application of the 

new code to Maui, Hawaii (discussed in the appendixes), a 

set of external grids were developed. These grids express the 

intercepted fog as a fraction of the monthly observed rainfall. 

The process relies on external computations using the aspect, 

elevation, and mean monthly total rainfall grids combined 

with table values of estimated annual fog-interception rates to 

yield monthly fog-interception grids expressed as a fraction 

of monthly rainfall. GRIDDED fog interception is not enabled 

by default.

Runoff

The following two runoff estimation methods 

are included: the CURVE_NUMBER method and the 

RUNOFF_RATIO method.

The CURVE_NUMBER method (Cronshey and others, 

1986) defines runoff in relation to the difference between 

precipitation and an initial abstraction term. User-defined 

curve numbers are used to describe the tendency for each land 

use and soil texture to generate runoff. Runoff from frozen 

ground is simulated by introduction of a continuous frozen 

ground index, which is used to track frozen ground conditions 

and modify runoff conditions accordingly.

Grids containing monthly RUNOFF_RATIO relative to 

precipitation may be used instead of the curve number method. 

The runoff ratio method relies on external computations to 

quantify a rainfall-runoff relation for a set of user-defined 

runoff zones. Details on the mechanics of the runoff ratio 

method are documented in the appendixes.

Impervious Surface Runoff

Runoff from impervious surfaces may be simulated 

in a more detailed manner by including a gridded dataset 

defining the proportion of each grid cell that is comprised of 

impervious materials. Impervious surfaces, defined as any 

grid cell with an impervious surface cover greater than zero 

percent, trigger the creation of a fourth storage reservoir 

(impervious storage reservoir), with a water balance calculated 

for the impervious area within the cell.

Runoff Routing

In SWB, two methods are included to implement 

flow routing from grid cell to grid cell. SWB allows excess 

water generated on a grid cell to flow to the next downslope 

cell using a D8 flow-routing scheme to define the linkages 

between cells. 
8 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

The simplest method, NO_ROUTING , disables downhill 

routing altogether. Cell to cell routing becomes increasingly 

hard to imagine in a meaningful way as grid cell sizes exceed 

about 1 kilometer; in any system with a well-developed 

drainage system, overland flow would commonly meet some 

type of surface-water feature at this scale. With flow routing 

disabled, all cell runoff is assumed to reach a surface-water 

feature and leave the model domain.

The DOWNHILL_ROUTING method allows runoff from one 

or more cells to become runon to downslope cells. All runoff 

from a cell is assumed to infiltrate in downslope cells or be 

routed out of the model domain on the same day in which the 

runoff originated as rainfall or snowmelt.

If runoff routing is active, SWB examines the 

connectivity between each active cell during model startup. 

Based on this connectivity, SWB creates a master list of cell 

identities and sorts them from upslope to downslope. When 

the model solution is calculated each day, the code begins 

with the cell furthest upslope, performs all mass-balance 

calculations, and then proceeds to perform the same 

calculation on the next cell in the list.

Potential/Reference Evapotranspiration

In SWB, three methods are included to estimate 

potential or reference evapotranspiration—JENSEN_HAISE ,

HARGREAVES_SAMANI, and MONTHLY_GRID. 

Evapotranspiration methods developed with evaporation 

data from unknown or differing vegetation types are often 

called potential evapotranspiration methods, whereas 

methods developed with evaporation data for a specific crop 

type are often called reference evapotranspiration methods. 

The Jensen-Haise (1963) method can be called a potential 

evapotranspiration method; the method was developed using 

evaporation data from a variety of crops grown in the western 

United States and is not calibrated to any particular vegetation 

type. By contrast, the Hargreaves-Samani (Hargreaves 

and Samani, 1985) method may be called a reference 

evapotranspiration method; the method was developed using 

data from weighing lysimeters growing Festuca altaica grass.

Evapotranspiration estimation methods can be classified 

as temperature based or energy based, or both. The reference 

evapotranspiration method of choice is currently thought to be 

the FAO–56 Penman-Montieth method, which is a combined 

temperature and energy-based approach (Allen and others, 

1998; Sentelhas and others, 2010); the FAO Penman-Monteith 

method is not currently included in SWB because application 

of the method requires gridded datasets for wind speed and 

relative humidity. Gridded estimates of relative humidity, 

when available, are often estimated from minimum and 

maximum air temperatures. The Hargreaves-Samani 

method included in SWB is a simplified estimation method 

recommended for use when not enough data are available to 

support the Penman-Monteith approach. The Jensen-Haise 

approach may be more applicable to sites in the southwestern 

United States. 

Soil-Moisture Retention/Actual 

Evapotranspiration

In SWB, three methods are included to implement 

the estimation of actual evapotranspiration from the 

soil-moisture reservoir—THORNTHWAITE , FAO-56, and 

FAO-56_TWO_STAGE . Actual evapotranspiration is the 

soil moisture that can be extracted from a soil of a given 

soil‐moisture condition; by definition, actual evapotranspiration 

will be equal to or less than the potential evapotranspiration. 

In the days following a rainstorm, soil moisture is close to 

field capacity, and moisture is evaporated from bare soil 

and transpired by plants at rates close to the maximum 

rate sustainable given climatic conditions. Assuming no 

further precipitation, in subsequent days the evaporation and 

transpiration rates decrease as remaining soil moisture is held 

more tightly within the soil matrix (Dunne and Leopold, 1978).

A technique to simulate decreasing rates of 

soil-moisture evapotranspiration is to assume that the actual 

evapotranspiration is some function of the potential or 

reference evapotranspiration and the current soil-moisture 

amount (eq. 3).

 AET PET f

FC

= ⋅ 



 



 θ

θ (3)

where

AET is the actual evapotranspiration, in inches; 

PET is the potential evapotranspiration, in inches; 

θ is the current soil-moisture amount, in inches; 

and 

θ FC is the soil field capacity, in inches.

The three soil-moisture retention functions implemented 

in SWB are discussed in appendix 1. Of the three functions, 

one function was developed by (Thornthwaite, 1948), and the 

other two functions were included in the FAO–56 approach 

(Allen and others, 1998).

Growing Degree Day

Growing degree-day calculations may be enabled, 

triggering a growing degree-day calculation for each grid cell. 

SWB allows different base and maximum temperatures to be 

assigned for each land-use or crop type. Growing degree-day 

calculations are needed only if crop coefficients are used to 

modulate actual evapotranspiration rates, and then only if any 

of the crop-coefficient curves are defined in terms of growing 

degree days.
Processes and Methods 9

Crop Coefficients

The FAO–56 methodology links the estimation of 

actual evapotranspiration to growth patterns of vegetation 

and crops by means of a crop-coefficient curve that changes 

during the course of a growing season. The amount of 

water required by the vegetation or crop at any point during 

the growing season is determined by the following crop 

evapotranspiration equation:

 ETc c = K ET0 (4) 

where

ETc is the crop evapotranspiration amount, in 

inches;

Kc is the crop coefficient (dimensionless); and

ET0 is the reference or potential 

evapotranspiration, in inches.

The crop evapotranspiration equation (eq. 4) is valid for 

ideal conditions; the equation would remain valid if the soil 

moisture stayed close to the field capacity regardless of plant 

water use. 

Rooting Depth

Rooting depth either can be assumed static throughout the 

simulation or can be changed dynamically with the assumption 

that rooting depth is proportional to the crop‐coefficient 

curve. For purposes of computing the water balance, the 

maximum root-zone depth is assumed to define the size of 

the soil-moisture reservoir. Specifying a dynamic rooting 

depth does not change the size of the soil-moisture reservoir; 

however, specifying a dynamic rooting depth does change 

the total available water, which is the amount available for 

plant growth. 

Irrigation Demand and Application

SWB includes a single method for calculating irrigation 

water demand based on FAO–56 methodology (Allen and 

others, 1998). Once crop-water requirements have been 

determined, the next step in the process of simulating 

irrigation water demand is to apply the water in a realistic 

manner. The following four rules are included in the module to 

describe when simulated irrigation events take place.

Restore soil moisture to field capacity.—Complete 

elimination of soil-moisture deficit on a cell by cell basis. 

This option calculates the amount of water to be applied as 

the difference between the maximum soil-moisture value 

and the soil-moisture value from the previous day. Thus, this 

amount ignores the current day’s water-balance components; 

the same irrigation amount will be calculated regardless of 

rainfall conditions.

Restore soil moisture to some fraction of field capacity.—

Restore soil moisture to some specified tolerable level of 

soil-moisture deficit (deficit irrigation). This option calculates 

the amount of water to be applied as the difference between 

the soil moisture at some preset deficit amount and the 

soil-moisture value from the previous day.

Apply fixed amount of irrigation.—Apply the same, 

constant amount of water once the soil-moisture deficit 

exceeds the maximum allowable deficit. Many irrigators have 

sized their equipment to handle application events of average 

size; for example, a center-pivot irrigation setup may only be 

capable of delivering water within a narrow range of values. 

Under this option, a set amount of water is applied to the cell. 

If the set amount brings the soil moisture to a value in excess 

of field capacity, a net infiltration event will be triggered.

Apply demand-based amount on a prescribed monthly 

schedule.—This option is similar to the “restore soil moisture 

to field capacity” option, except that the calculated irrigation 

amount accounts for the daily or monthly rainfall and runoff 

amount and only is applied on a set schedule. This option 

was extracted from the Hawaii water-budget code and is 

designed to simulate the unique irrigation conditions in the 

Pacific Islands; the calculation is dependent on the monthly, 

rather than daily, datasets that generally are available in the 

Pacific Islands.

If more control is needed as to which crops receive or 

do not receive irrigation water, a supplementary irrigation 

mask may be supplied. This irrigation mask can be helpful 

if the model domain contains a single crop type, corn, for 

example, but has areas of irrigated cultivation and areas 

of dryland farming. Without an irrigation mask, control 

over the simulation of irrigation water application could be 

accomplished by including separate land-use codes, one for 

irrigated corn and another for dryland corn.

Rejected Net Infiltration

Specification of maximum daily net-infiltration amounts 

is a crude but effective way of preventing SWB from 

calculating unreasonably high net-infiltration values. With 

flow routing enabled, downslope cells can have significant 

amounts of water diverted to them. The resulting calculated 

net-infiltration values sometimes exceed the values that 

might be reasonable because of the soils and underlying 

geology. Setting a maximum daily net-infiltration value will 

prevent these cells from taking on unrealistic recharge values. 

Using this method, calculated net infiltration in excess of 

the maximum net-infiltration rate will be moved to the soil 

reservoir of the next downslope cell. A control-file directive 

is not needed, but lookup-table entries defining the maximum 

net-infiltration rate are required for each combination of landuse and soil type to use this method.
10 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Summary

This report documents the U.S. Geological Survey 

Soil-Water-Balance (SWB) code, version 2.0. SWB is 

designed to estimate net infiltration and other water-budget 

components by using readily available geographic information 

systems (GIS) and gridded climate datasets. SWB is based on 

a modified Thornthwaite-Mather soil-water-balance approach, 

with components of the soil-water balance calculated at a 

daily time step. Net-infiltration calculations are computed by 

means of a rectangular grid of computational elements, which 

allows the calculated infiltration rates to be imported into 

grid-based regional groundwater-flow models. The code can 

include canopy interception, runoff, evaporation, transpiration, 

rainfall, and snowmelt in a basic water budget. Additional 

hydrologic components may be added to the simulation 

as needed, including fog interception, crop-water demand 

and irrigation, and direct additions to soil moisture and net 

infiltration. Version 2.0 of SWB is written so that additional 

process methods may be added more easily and with minimal 

impact on the workflow of existing SWB 1.0 users.

Appendixes to this report contain additional detail on the 

methods incorporated into SWB as well as a basic user’s guide 

and detail on the format of required input grids and tables. The 

following is a list of the appendixes.

• Appendix 1. Method Documentation 

• Appendix 2. User Guide

• Appendix 3. Input Data, Lookup-Table Entries, and 

Control-File Directives by Method

• Appendix 4. Example Applications

Acknowledgments

Primary support for Soil-Water-Balance (SWB) code, 

version 2.0, was provided by the U.S. Geological Survey 

(USGS) Water Availability and Use Science Program 

(WAUSP). Additional support was provided in the form 

of related project work, which allowed for testing and 

development as well; the USGS National Water-Quality 

Assessment provided support for the application of SWB 1.0 

for the glaciated portions of the conterminous United States, 

which also provided opportunities for testing and further 

development of SWB version 2.0. The authors thank Paul 

Barlow (USGS) and Kevin Dennehey (USGS, retired) for their 

support of the SWB code. The authors also thank our USGS 

colleagues Paul Barlow, Megan Haserodt, Joseph Hughes, 

Andrew Leaf, and Rich Signell for their careful reviews and 

testing of SWB example problems.

References Cited

Akinremi, O.O., McGinn, S.M., and Barr, A.G., 1996, 

Simulation of soil moisture and other components of the 

hydrological cycle using a water budget approach: Canadian 

Journal of Soil Science, v. 76, no. 2, p. 133–142.

Allen, R.G., Pereira, L.S., Raes, Dirk, and Smith, Martin, 

1998, Crop evapotranspiration—Guidelines for computing 

crop water requirements: Rome, Food and Agriculture 

Organization of the United Nations, FAO Irrigation and 

Drainage Paper No. 56, 174 p.

Anderson, M.P., Woessner, W.W., and Hunt, R.J., 2015, 

Applied groundwater modeling—Simulation of flow and 

advective transport (2d ed.): Academic press, 564 p.

Barker, David, Beuerlein, Jim, Dorrance, Ann, Eckert, Donald, 

Eisley, Bruce, Hammond, Ron, Lentz, Ed, Lipps, Pat, 

Loux, Mark, Mullen, Robert, Sulc, Mark, Thomison, Peter, 

and Watson, Maurice, 2005, Ohio agronomy guide (14th 

ed.): Columbus, Ohio, Ohio State University Extension, 

Bulletin 472, 158 p, accessed August 8, 2017, at https://

agcrops.osu.edu/sites/agcrops/files/imce/fertility/Ohio_

Agronomy_Guide_b472.pdf.

Batelaan, Okke, and De Smedt, Florimond, 2001, 

WetSpass—A flexible, GIS based, distributed recharge 

methodology for regional groundwater modelling: in Impact 

of Human Activity on Groundwater Dynamics, Maastricht, 

The Netherlands, July 2001, no. 269, p. 11–17, accessed 

September 27, 2017, at http://www.vub.ac.be/WetSpa/

publications/Wetspass%20a%20flexible%20GIS%20based.

pdf.

Bauer, H.H., and Vaccaro, J.J., 1987, Documentation of a deep 

percolation model for estimating ground-water recharge: 

U.S. Geological Survey Open-File Report 86–536, 186 p., 

accessed December 16, 2015, at https://pubs.er.usgs.gov/

publication/ofr86536.

Bauer, H.H., and Vaccaro, J.J., 1990, Estimates of groundwater recharge to the Columbia Plateau regional 

aquifer system, Washington, Oregon, and Idaho, for 

predevelopment and current land-use conditions: 

U.S. Geological Survey Water-Resources Investigation 

Report 88–4108, 37 p., accessed December 16, 2015, at 

https://pubs.er.usgs.gov/pubs/wri/wri884108.

Boisvert, J.B., Bootsma, A., Dwyer, L.M., Brewin, D., 

1990, Irrigate—User guide for irrigation management by 

computer: Technical Bulletin 1990-2E, Ottawa, Ontario, 

Agriculture Canada, Research Branch, 65 p., accessed 

September 27, 2017, at https://archive.org/details/

irrigateuserguid19902bois.
References Cited 11

Braud, Isabelle, Tilmant, Francois, Samie, Rene, and Le Goff, 

Isabelle, 2013, Assessment of the SiSPAT SVAT model 

for irrigation estimation in south-east France: Procedia 

Environmental Sciences, Elsevier, v. 19, p. 747–756.

Cronshey, Roger, McCuen, Richard, Miller, Norman, Rawls, 

Walter, Robbins, Sam, and Woodward, Don, 1986, Urban 

hydrology for small watersheds: U.S. Department of 

Agriculture, Natural Resources Conservation Service, 

Conservation Engineering Division, Technical Release 55 

(2d ed.), accessed August 8, 2017, at https://www.nrcs.usda.

gov/Internet/FSE_DOCUMENTS/16/stelprdb1044171.pdf.

Dripps, W.R., and Bradbury, K.R., 2007, A simple daily soil–

water balance model for estimating the spatial and temporal 

distribution of groundwater recharge in temperate humid 

areas: Hydrogeology Journal, v. 15, no. 3, p. 433–444.

Dugan, J.T., and Peckenpaugh, J.M., 1985, Effects of climate, 

vegetation, and soils on consumptive water use and groundwater recharge to the Central Midwest Regional aquifer 

system, Mid-continent United States: U.S. Geological 

Survey Water-Resources Investigations Report 85–4236, 

78 p., accessed January 11, 2016, at https://pubs.er.usgs.

gov/usgspubs/wri/wri854236.

Dunne, Thomas, and Leopold, Luna B., 1978, Water in 

environmental planning: W.H. Freeman, 818 p.

Eilers, V.H.M., Carter, R.C., and Rushton, K.R., 2007, A 

single layer soil water balance model for estimating deep 

drainage (potential recharge)—An application to cropped 

land in semi-arid North-east Nigeria: Geoderma, v. 140, 

nos. 1–2, p. 119–131.

Feinstein, D.T., Hunt, R.J., and Reeves, H.W., 2010, Regional 

groundwater-flow model of the Lake Michigan Basin in 

support of Great Lakes Basin water availability and use 

studies: U.S. Geological Survey Scientific Investigations 

Report 2010–5109, 379 p., accessed November 22, 2016, at 

https://pubs.usgs.gov/sir/2010/5109/.

Finch, J.W., 2001, Estimating change in direct groundwater 

recharge using a spatially distributed soil water balance 

model: Quarterly Journal of Engineering Geology and 

Hydrogeology, v. 34, no. 1, p. 71–83.

Fitzsimons, V.P., and Misstear, B.D.R., 2006, Estimating 

groundwater recharge through tills—A sensitivity analysis 

of soil moisture budgets and till properties in Ireland: 

Hydrogeology Journal, v. 14, no. 4, p. 548–561.

Flint, A.L., and Flint, L.E., 2007, Application of the basin 

characterization model to estimate in-place recharge and 

runoff potential in the Basin and Range carbonate-rock 

aquifer system, White Pine County, Nevada, and adjacent 

areas in Nevada and Utah: U.S. Geological Survey 

Scientific Investigations Report 2007–5099, 20 p., accessed 

December 15, 2015, at https://pubs.usgs.gov/sir/2007/5099/.

Flint, L.E., Flint, A.L., 2014, California Basin Characterization 

Model—A dataset of historical and future hydrologic 

response to climate change: U.S. Geological Survey 

data release, accessed September 27, 2017, at https://doi.

org/10.5066/F76T0JPB.

Gash, J.H.C., 1979, An analytical model of rainfall 

interception by forests: Quarterly Journal of the Royal 

Meteorological Society, v. 105, no. 443, p. 43–55.

Gash, J.H.C., Lloyd, C.R., and Lachaud, G., 1995, Estimating 

sparse forest rainfall interception with an analytical model: 

Journal of Hydrology, v. 170, no. 1, p. 79–86.

Gerrits, A.M.J., 2010, The role of interception in the 

hydrological cycle: Delft, Netherlands, Delft University 

of Technology, Ph.D. dissertation, 126 p., accessed 

September 27, 2017, at http://repository.tudelft.nl/view/ir/

uuid:7dd2523b-2169-4e7e-992c-365d2294d02e/.

Gesch, Dean, Oimoen, Michael, Greenlee, Susan, Nelson, 

Charles, Steuck, Michael, and Tyler, Dean, 2002, The 

national elevation dataset: Photogrammetric Engineering 

and Remote Sensing, v. 68, no. 1, p. 5–12.

Hargreaves, G.H., and Samani, Z.A., 1985, Reference crop 

evapotranspiration from temperature: Applied Engineering 

in Agriculture, v. 1, no. 2, p. 96–99.

Healy, R.W., 2010, Estimating groundwater recharge: 

Cambridge University Press, 245 p.

Homer, Colin, Dewitz, John, Yang, Limin, Jin, Suming, 

Danielson, Patrick, Xian, George, Coulston, John, Herold, 

Nathaniel, Wickham, James, and Megown, Kevin, 2015, 

Completion of the 2011 National Land Cover Database for 

the conterminous United States—Representing a decade 

of land cover change information: Photogrammetric 

Engineering and Remote Sensing, v. 81, no. 5, p. 345–354.

Horton, R.E., 1919, Monthly weather review—

Rainfall interception: accessed November 1, 2016, 

at http://journals.ametsoc.org/doi/abs/10.1175/1520-

0493%281919%2947%3C603%3ARI%3E2.0.CO%3B2.

Hunt, R.J., Prudic, D.E., Walker, J.F., and Anderson, M.P., 

2008, Importance of unsaturated zone flow for simulating 

recharge in a humid climate: Ground Water, v. 46, no. 4, 

p. 551–560.

Hunt, R.J., Westenbroek, S.M., Walker, J.F., Selbig, W.R., 

Regan, R.S., Leaf, A.T., and Saad, D.A., 2016, Simulation 

of climate change effects on streamflow, groundwater, and 

stream temperature using GSFLOW and SNTEMP in the 

Black Earth Creek Watershed, Wisconsin: U.S. Geological 

Survey Scientific Investigations Report 2016–5091, 117 p., 

accessed October 27, 2016, at https://pubs.er.usgs.gov/

publication/sir20165091.
12 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Izuka, S.K., Oki, D.S., and Engott, J.A., 2010, Simple method 

for estimating groundwater recharge on tropical islands: 

Journal of Hydrology, v. 387, no. 1, p. 81–89.

Jensen, M.E., 1969, Scheduling irrigation with computers: 

Journal of Soil and Water Conservation, v. 24, no. 5, 

p. 193–195.

Jensen, M.E., and Haise, H.R., 1963, Estimating 

evapotranspiration from solar radiation: American Society 

of Civil Engineers, Journal of the Irrigation and Drainage 

Division, Proceedings, v. 89, p. 15–41.

Jyrkama, M.I., and Sykes, J.F., 2007, The impact of climate 

change on spatially varying groundwater recharge in the 

Grand River watershed (Ontario): Journal of Hydrology, 

v. 338, nos. 3–4, p. 237–250.

Jyrkama, M.I., Sykes, J.F., and Normani, S.D., 2002, 

Recharge estimation for transient ground water modeling: 

Groundwater, v. 40, no. 6, p. 638–648.

Kendy, Eloise, Gerard-Marchant, Pierre, Walter, M. Todd, 

Zhang, Yongqiang, Liu, Changming, and Steenhuis, 

Tammo, 2003, A soil-water-balance approach to quantify 

groundwater recharge from irrigated cropland in the 

North China Plain: Hydrological Processes, v. 17, no. 10, 

p. 2011–2031.

Lee, Cheng-Haw, Chen, Wei-Ping., and Lee, Ru-Huang, 2006, 

Estimation of groundwater recharge using water balance 

coupled with base-flow-record estimation and stablebase-flow analysis: Environmental Geology, v. 51, no. 1, 

p. 73–82.

Manghi, Fakhri, Mortazavi, Behrooz, Crother, Christie, and 

Hamdi, Moshrik, 2009, Estimating regional groundwater 

recharge using a hydrological budget method: Water 

Resources Management, v. 23, no. 12, p. 2475–2489.

Nimmo, J.R., Healy, R.W., and Stonestrom, D.A., 2005, 

Aquifer recharge in Anderson, M.G., and Bear, J., 

eds., Encyclopedia of Hydrological Science—Part 13, 

Groundwater: Chichester, United Kingdom, Wiley, v. 4, 

p. 2229-2246.

Niswonger, R.G., Prudic, D.E., and Regan, R.S., 2006, 

Documentation of the Unsaturated-Zone Flow (UZF1) 

Package for modeling unsaturated flow between the land 

surface and the water table with MODFLOW–2005: U.S. 

Geological Survey, Techniques and Methods, book 6, 

chap. A19, 62 p.

Rushton, K.R., and Ward, C., 1979, The estimation of 

groundwater recharge: Journal of Hydrology, v. 41, 

nos. 3–4, p. 345–361.

Savenije, H.H.G., 2004, The importance of interception and 

why we should delete the term evapotranspiration from 

our vocabulary: Hydrological Processes, v. 18, no. 8, 

p. 1507–1511.

Scanlon, B.R., Healy, R.W., and Cook, P.G., 2002, Choosing 

appropriate techniques for quantifying groundwater 

recharge: Hydrogeology Journal, v. 10, no. 1, p. 18–39.

Schroeder, P.R., Dozier, T.S., Zappi, P.A., McEnroe, B.M., 

Sjostrom, J.W., and Peyton, R.L., 1994, The hydrologic 

evaluation of landfill performance (HELP) model—

Engineering documentation for version 3: Cincinnati, Ohio, 

U.S. Environmental Protection Agency Rick Reduction 

Engineering Laboratory, 128 p.

Sentelhas, P.C., Gillespie, T.J., and Santos, E.A., 2010, 

Evaluation of FAO Penman–Monteith and alternative 

methods for estimating reference evapotranspiration with 

missing data in Southern Ontario, Canada: Agricultural 

Water Management, v. 97, no. 5, p. 635–644.

Soil Survey Staff, 2015, Gridded soil survey geographic 

(gSSURGO) database for the conterminous United States, 

accessed September 27, 2017, at https://nrcs.app.box.com/v/

soils.

Srikanthan, R., Harrold, T.I., Sharma, A., and McMahon, T.A., 

2005, Comparison of two approaches for generation of daily 

rainfall data: Stochastic Environmental Research and Risk 

Assessment, v. 19, no. 3, p. 215–226.

Srikanthan, R., and McMahon, T.A., 1982, Simulation of 

annual and monthly rainfalls—A preliminary study at five 

Australian stations: Journal of Applied Meteorology, v. 21, 

no. 10, p. 1472–1479.

Srikanthan, R., and McMahon, T.A., 1999, Stochastic 

generation of annual, monthly and daily climate data—A 

review: Hydrology and Earth System Sciences, v. 5, no. 4, 

p. 653–670.

Thornthwaite, C.W., 1948, An approach toward a rational 

classification of climate: Geographical Review, v. 38, no. 1, 

p. 55–94.

Thornthwaite, C.W., and Mather, J.R., 1955, The water 

balance: Publications in Climatology, v. 8, no. 1, 

p. 185–311.

Thornthwaite, C.W., and Mather, J.R., 1957, Instructions and 

tables for computing potential evapotranspiration and the 

water balance: Publications in Climatology, v. 10, no. 3, 

p. 1–104.
References Cited 13

Thornton, P.E., Thornton, M.M., Mayer, B.W., Wei, Y., 

Devarakonda, R., Vose, R.S., and Cook, R.B., 2017, 

Daymet—Daily surface weather data on a 1-km grid for 

North America, version 3: accessed September 27, 2017, at 

http://dx.doi.org/10.3334/ORNLDAAC/1328.

Unidata, 2017, NetCDF—Network Common Data Format 

C API, version 4.4.1: Boulder, Colo., UCAR/Unidata 

Program Center, accessed September 27, 2017, at http://doi.

org/10.5065/D6H70CW6.

U.S. Geological Survey, 2008, Documentation of computer 

program INFIL3.0—A distributed-parameter watershed 

model to estimate net infiltration below the root zone: U.S. 

Geological Survey Scientific Investigations Report 2008–

5006, 98 p., accessed August 8, 2017, at https://pubs.usgs.

gov/sir/2008/5006/.

Westenbroek, S.M., Kelson, V.A., Dripps, W.R., Hunt, 

R.J., and Bradbury, K.R., 2010, SWB—A modified 

Thornthwaite-Mather Soil-Water-Balance code for 

estimating groundwater recharge: U.S. Geological Survey 

Techniques and Methods book 6, chap. A31, 60 p.

Appendixes 1–4
16 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Appendix 1. Method Documentation

Each of the hydrologic processes that are part of the 

water budget can be simulated in one or more ways; SoilWater-Balance (SWB) has a collection of methods that 

implement the processes included in the water budget. The 

user may select which method to use depending on which 

is most applicable to the problem at hand. The approach 

and implementation of the SWB methods are described in 

appendix 1. Methods that read in tabular or gridded datasets 

are not described in appendix 1; use of tabular or gridded data 

with SWB is discussed in the user guide (appendix 2).

Precipitation

Precipitation data may be supplied to SWB in gridded 

or tabular form or may be estimated using the method of 

fragments. Only the method of fragments is discussed in 

appendix 1.

In the method of fragments module, daily rainfall 

for each grid cell is generated by use of a combination of 

monthly gridded rainfall datasets and a set of discrete point 

observations. First, fragments are generated by dividing each 

daily rainfall observation at a point for a particular month by 

the total rainfall measured at the gage for that month. This 

method results in a set of fragments for that particular month 

in which the total number of fragments is equal to the number 

of days in the month, and for which the sum of the fragment 

values equals one. Thiessen polygons are developed from the 

network of viable rainfall gages within the model domain and 

are used to develop a set of rainfall zones (fig. 1–1). Thus, for 

each of the rainfall zones, a set of monthly fragment values 

is developed; the number of distinct fragment sets at a gage 

is about equal to the number of years the gage has been in 

operation. A partial set of fragments that might be generated 

for an arbitrary month is listed in table 1–1. A similar set of 

tables must be generated for each month in the year.

Rainfall fragment sequence

Monthly rainfall

Synthetic daily rainfall

0 0.03 0.01 0.09 0.02 0 0.04 0.07

4.3 4.3 4.3 4.3

0 0.13 0.04 0.39 0.09 0 0.17 0.30

4.3 4.3 4.3 4.3

Rainfall zone grid

Monthly rainfall grid

Figure 1–1. Example of synthetic daily rainfall generation for a specific rainfall zone.
Appendix 1. Method Documentation 17

Table 1–1. Example of fragment sets for an arbitrary month associated with a rainfall gage.

[n, the number of complete months for which daily rainfall data are available; * * *, omitted values]

Fragment set Day of the month

1 2 3 * * * 31

1 0.01 0.07 0.03 0.04

2 0.02 0.05 0.02 0.02

* * * * * * * * * * * * * * * * * *

n 0.03 0.06 0.04 0.03

Daily rainfall for a particular cell within a given month is 

synthesized by multiplying total gridded-rainfall amount for 

that month by the daily fragment value. The daily fragment 

values are extracted from one of the available fragment sets 

associated with a rainfall gage; the particular fragment set 

is chosen at random at the beginning of each month of the 

simulation (fig. 1–1). 

The SWB model grid is divided into rainfall zones, and 

an integer-grid file that contains the rainfall zone numbers is 

loaded into the model during initialization. An example of 

this integer-grid file is in the set of digital files associated with 

appendix 4. Each rainfall zone represents an area in which a 

rainfall gage has operated for several consecutive years; at 

each zone, the observed daily values possibly can be used to 

create a rainfall-fragment set. The calculated rainfall supplied 

to SWB takes on the correct total monthly rainfall amount 

(from the grid), whereas the timing and magnitude of daily 

events is taken from an actual sequence of events as contained 

in the fragment set.

Interception

Interception of rain or snow by vegetation is an important 

part of the water budget; estimates of interception as a 

percentage of total precipitation range from 20 to 50 percent 

in some forested areas (Savenije, 2004). The three interception 

methods included in SWB are bucket, Gash, and Horton.

Bucket

The bucket method of interception is the original 

interception process method that was coded into SWB. The 

bucket method assumes that a constant, user-defined amount 

of rainfall or snowfall must fall before the soil will receive 

any precipitation.

Gash

Another option in SWB for calculating canopy 

interception is a modified version of the method described by 

Gash (1979). Using this approach, canopy evaporation for a 

given day and location depends on forest structure and the 

mean rates of evaporation and precipitation. The Gash method 

was modified so that (1) precipitation includes rainfall and 

fog interception, instead of rain only and (2) water cannot be 

stored on the forest canopy for more than a day (Izuka and 

others, 2010). The forest structure is characterized in terms 

of canopy cover, canopy capacity, trunk-storage capacity, and 

the proportion of precipitation diverted to stemflow. Canopy 

cover, c, is the fraction of a forested area that is covered by 

leaves, stems, and branches of trees. Canopy capacity, S, is the 

depth of water left on the canopy when rainfall and throughfall 

have ceased (Gash and Morton, 1978). Evaporation of 

water from tree trunks is accounted for using the fraction of 

precipitation that is diverted to stemflow, p, and trunk-storage 

capacity, k, which is considered in terms of an equivalent 

depth of precipitation. The last parameter needed for the Gash 

model is the ratio of the mean evaporation rate to the mean 

precipitation rate during saturated conditions, V.

To calculate canopy interception, the first step is to 

determine the minimum depth of precipitation necessary to 

saturate the forest canopy, Psat. 

 P S

c V sat = − V ⋅ ln ( ) 1− (1–1)

where

Psat is precipitation necessary to saturate the 

canopy, in inches;

S is canopy storage capacity, in inches (a 

constant);

c is fraction of ground area covered by canopy 

(dimensionless);

V is ratio of mean evaporation rate to mean 

precipitation rate during saturated 

conditions (dimensionless).
18 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

On the basis of the revised analytical form of the Gash 

model presented in table 1 of Gash and others (1995), canopy 

interception for a given day, I, is calculated for three canopy 

conditions as listed in table 1–2.

Advantages of the Gash method are as follows: (1) the 

method accounts for gaps in the forest canopy, which allows 

for a sparse canopy to be differentiated from a dense canopy; 

(2) the canopy interception during a period of precipitation is 

dependent on the amount of precipitation during that period; 

and (3) the method can account for spatial differences in 

climate. Disadvantages of the Gash model are that the method 

is theoretical and may be difficult to parameterize.

Horton

Robert Horton made countless observations of various 

hydrological processes at his hydrologic laboratory in the 

early 1900s, including observations of canopy interception. 

The Horton model begins with a bucket that must be filled 

regardless of total storm volume and adds a linear relation that 

produces an increasing canopy interception value proportional 

to increasing storm volume (Horton, 1919). Some of Horton’s 

working equations that are based on his analysis of rainfall and 

interception are listed in table 1–3. These relations represent 

an improvement from the bucket model approach, which does 

not consider the total daily precipitation.

To use Horton’s working equations in an SWB 

simulation, the user must supply the constant, slope, and 

exponent as given in table 1–3. No attempt is made to 

incorporate plant height; the user must modify the equation 

with the approximate plant height. Thus, the equation for 

8-foot corn would be I = (0.005 + 0.08Ps)∙8 = 0.04 + 0.04Ps; 

the constant, slope, and exponent supplied to SWB would be 

0.04, 0.04, and 1.0, respectively.

Snowfall

Snow is allowed to accumulate or melt, or both on a 

daily basis. The daily mean, maximum, and minimum air 

temperatures are used to determine whether precipitation takes 

the form of rain or snow. Precipitation that falls on a day when 

the mean temperature minus one-third the difference between 

the daily high and low temperatures is less than or equal 

to the freezing point of water is considered to fall as snow 

(Westenbroek and others, 2010):

snow:T T mean − − ( ) max mT in ≤

1

3

32 (1–2) 

 

rain :T T mean − − ( ) max mT in >

1

3

32

where

Tmean is the mean daily air temperature, in degrees 

Fahrenheit;

Tmax is the daily maximum air temperature, in 

degrees Fahrenheit; and

Tmin is the daily minimum air temperature, in 

degrees Fahrenheit.

Snowmelt

Snowmelt is based on a temperature-index method. In the 

SWB code, the assumption is that 1.5 millimeters (0.059 inch) 

of water-equivalent snow melts per day per degree Celsius that 

the daily maximum temperature is above the freezing point 

(Dripps and Bradbury, 2007):

 potential snowmelt = ⋅ 0.059 ( ) T − 32 max (1–3)

where

Tmax is the daily maximum air temperature, in 

degrees Fahrenheit.

Table 1–2. Equations for calculating canopy interception for various precipitation conditions.

[k, trunk storage capacity [L] (a constant); p, proportion of precipitation diverted to stemflow (dimensionless); 

c, fraction of ground surface covered by vegetative canopy (dimensionless); V, ratio of mean evaporation 

rate to mean precipitation rate (dimensionless); P, total daily precipitation (inches); Psat, precipitation amount 

required to fully saturate the forest canopy; I, canopy interception (inches)]

Condition Interception calculation

P P < sat I c = ⋅ P

P P P k

p

≥ ≤ sat and I c = ⋅ P c sat s + ⋅V P ⋅ − ( ) P p at + ⋅ P

P P P k

p

≥ > sat and 

 

I c P c V P P k = ⋅ sat s + ⋅ at ⋅ − ( ) +
Appendix 1. Method Documentation 19

Table 1–3. Horton’s working equations for estimating intercepted rainfall.

[I, interception, in inches; Ps, precipitation received during a storm event, in inches; h, plant height, in feet]

Vegetation type Working equation

Orchard I P = + s 0 0. . 4 0 18

Chestnut, hedge and open I P = + s 0 0. . 4 0 20

Chestnut, in woods I P = + s 0 0. . 6 0 15

Ash, hedges and open I P = + s 0. . 015 0 23

Ash, in woods I P = + s 0 0. . 2 0 18

Beech, hedges and open I P = + s 0 0. . 3 0 23

Beech, woods I P = + s 0 0. . 4 0 18

Oak, hedges and open I P = + s 0 0. . 3 0 22

Oak, woods I P = + s 0 0. . 5 0 18

Maple, hedges and open I P = + s 0 0. . 3 0 23

Maple, woods I P = + s 0 0. . 4 0 18

Willow shrubs I P = + s 0 0. . 2 0 4

Elm, hedges and open I P = + S 0 03 0 23 0 5 . . .

Elm, woods I P = + S 0 04 0 18 0 5 . . .

Basswood, hedges and open I P = + S 0 03 0 13 0 5 . . .

Basswood, woods I P = + S 0 05 0 1 0 5 . . .

Hemlock and pine, hedges and open I P = + S 0 03 0 2 0 5 . . .

Hemlock and pine, woods I P = + S 0 05 0 2 0 5 . . .

Clover and meadow grass I P h = + ( )s 0. . 005 0 08

Forage, alfalfa, vetch, millet, etc. I P h = + ( )s 0 0. . 1 0 1

Beans, potatoes, cabbage, and other small-hilled crops I P h = + ( )s 0 0. . 2 0 15

Tobacco I P h = + ( )s 0 0. . 1 0 08

Cotton I P h = + ( )s 0. . 015 0 1

Buckwheat I P h = + ( )s 0 0. . 1 0 12

Corn, planted in hills or rows I P h = + ( )s 0. . 005 0 005

Fodder corn, sorghum, Kaffir corn, etc., sowed in drills I P h = + ( )s 0. . 007 0 006

Fog Interception

Fog interception is not explicitly modeled within SWB, 

but estimates of fog interception may be supplied by means of 

externally generated grid files. For pilot application of SWB 

to Maui, Hawaii, a set of external grids were developed. These 

grids express the intercepted fog amounts as a fraction of the 

monthly observed rainfall amounts. The process involves 

computation using aspect, elevation, and monthly total 

rainfall grids combined with table values of estimated annual 

fog-interception rates to yield monthly fog-interception grids 

expressed as a fraction of monthly rainfall amounts. More 

details on this external fog calculation are in appendix 4, along 

with example input files.

Runoff

Runoff may be calculated by means of the Natural 

Resources Conservation Service curve number method or may 

be related to precipitation values as a set of user-defined ratios. 

This section describes both methods.
20 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Curve Number

The curve number method defines runoff in relation to 

the difference between precipitation and an initial abstraction 

term. Conceptually, this initial abstraction term represents the 

summation of all processes that might act to reduce runoff, 

including interception by plants and fallen leaves, depression 

storage, and infiltration (Woodward and others, 2003). 

Equation 1–4 is used to calculate runoff volumes (Woodward 

and others, 2003):

 R P I

P S I

a

max a

= −

( ) + − [ ]

( )2

(1–4)

where

R is runoff, in inches;

P is daily precipitation, in inches;

Ia is initial abstraction, in inches, the amount of 

precipitation that must fall before runoff is 

generated; and 

Smax is the maximum soil-moisture holding 

capacity, in inches.

In the original curve number methodology, the initial 

abstraction term is assumed to be Ia = 0.2Smax; SWB modifies 

the initial abstraction term to that indicated in equation 1–5. 

The initial abstraction (Ia) term is related to a maximum 

storage term (Smax) as follows:

 I S a m = ax 0 0. 5 (1–5)

where

Ia is initial abstraction, in langleys, the amount 

of precipitation that must fall before runoff 

is generated; and 

Smax is the maximum soil-moisture holding 

capacity, in langleys.

This modification implies that runoff will begin for 

smaller precipitation events than with the original method; 

this change has been determined to result in more realistic 

continuous simulations (Woodward and others, 2003).

The maximum storage term, in inches, is defined by the 

curve number for the land cover and infiltration capacity that 

is being considered:

 S

CN max = 



 



 − 1 000 10 , (1–6)

where

Smax is the maximum soil-moisture holding 

capacity, in inches; and

CN is the curve number.

For convenience, the curve number method assigns all 

soils surveyed in the United States into one of four groups 

(A, B, C, D) on a continuum ranging from A soils, which 

represent porous soils of high infiltration capacity, to D soils, 

which represent fine textured soils of low infiltration capacity 

(Hawkins and others, 2009). Assumed characteristics of the 

four standard hydrologic soil groups are listed in table 1–4.

Curve numbers are user-defined; a separate curve number 

is supplied in the SWB lookup table for each combination of 

land use and hydrologic soil group. Curve numbers can range 

from 0 to 100, but the useful range of curve numbers is far less 

depending on the hydrologic soil group. The range of typical 

curve numbers for the four hydrologic soil groups are listed in 

table 1–5; these values should be considered when assigning 

curve numbers to the various land-use categories included in 

an SWB lookup table.

Equations 1–5 and 1–6 can be used to back calculate the 

implied initial abstraction values associated with the curve 

number ranges listed in table 1–5. For a D soil, the maximum 

storage term (Smax) ranges from about 0.63 to 3.7 inches. 

Use of an initial abstraction term of 0.05Smax as suggested by 

Woodward and others (2003) implies that between 0.03 and 

0.18 inch of precipitation must fall before runoff begins. 

For an A soil, the maximum storage term ranges from 3.0 to 

30 inches, which implies that between 0.15 and 1.5 inches of 

precipitation must fall before runoff begins.

Published Curve Numbers

An attractive feature of the curve number method is that 

published tables of curve numbers exist that serve as useful 

starting values for use in the SWB lookup tables. A subset of 

the values published with one of the curve number method 

publications (Cronshey and others, 1986) is listed in table 1–6; 

curve numbers for more land uses are given in the original 

publication along with details regarding appropriate choice 

and application of those curve numbers. Other researchers 

may have published curve numbers applicable to vegetation 

types not included in the official publications; researchers 

have published curve numbers intended for application to 

specific areas such as rangelands of the northern plains of the 

United States (Hanson and others, 1981), croplands in the 

southern plains of the United States (Hauser and Jones, 1991), 

and pineapple and sugarcane fields in Hawaii (Cooley and 

Lane, 1982).
Appendix 1. Method Documentation 21

Table 1–4. Characteristic and texture classes for the hydrologic soil groups.

[From Hawkins and others (2009). >, greater than; <, less than]

Hydrologic 

soil group Characteristics Texture Infiltration rate (inches per hour)

A Low runoff potential and high infiltration rates, 

consisting primarily of deep, well- to excessivelydrained sand or gravel.

Sand, loamy sand, sandy 

loam

>0.30

B Moderate infiltration rates when wetted consisting of 

moderately deep to deep, moderately well-drained 

to well-drained soils of moderately fine to coarse 

texture.

Silt loam or loam 0.15–0.30

C Low infiltration rates when wetted consisting primarily 

of (1) soils that have an underlying layer impeding 

downward movement of water and (2) soils with 

moderately fine to fine texture.

Sandy clay loam 0.05–0.15

D Very low infiltration rates and high runoff potential 

when wetted, consisting primarily of clay soils with 

(1) high swelling potential, (2) high permanent 

water table, (3) clay or claypan near the surface, or 

(4) shallow soils over nearly impervious material.

Clay loam, silty clay loam, 

sandy clay, silty clay, 

or clay

<0.05

Table 1–5. Range of typical curve numbers for the hydrologic soil groups.

[From Hawkins and others (2009)]

Hydrologic soil group Minimum Central Maximum

A 25 51–68 77

B 48 62–77 86

C 65 70–84 91

D 73 77–88 94
22 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 1–6. Recommended initial curve numbers for select land uses and hydrologic soil groups.

[From Cronshey and others, 1986. <, less than; >, greater than; –, no data] 

Cover description Curve numbers for 

hydrologic soil group

Land use Specifics Hydrologic condition A B C D

Open space Lawns, parks, golf courses, 

cemeteries

Poor (grass cover <50 percent) 68 79 86 89

Fair (grass cover 50 percent to 

75 percent)

49 69 79 84

Good (grass cover >75 percent) 39 61 74 80

Impervious 

areas

Paved parking lots, 

rooftops, driveways

– 98 98 98 98

Paved streets and roads—

with curb and gutter

– 98 98 98 98

Paved streets and roads—

with open ditches

– 83 89 92 93

Gravel road – 76 85 89 91

Urban Commercial and business – 89 92 94 95

Industrial – 81 88 91 93

Residential Lot size is < 1/8 acre – 77 85 90 92

Lot size is 1/8 to 1/4 acre – 61 75 83 87

Lot size is 1/4 to 1/3 acre – 57 72 81 86

Lot size is 1/3 to 1/2 acre – 54 70 80 85

Lot size is 1/2 to 1 acre – 51 68 79 84

Lot size is 1 to 2 acres – 46 65 77 82

Newly graded 

areas

Pervious areas only, no 

vegetation

– 77 86 91 94

Fallow Bare soil – 77 86 91 94

Crop residue cover Poor 76 85 90 93

Good 74 83 88 90

Row crops Straight row Poor 72 81 88 91

Good 67 78 85 89

Straight row plus crop 

residue

Poor 71 80 87 90

Good 64 75 82 85

Contoured Poor 70 79 84 88

Good 65 75 82 86

Contoured plus crop 

residue cover

Poor 69 78 83 87

Good 64 74 81 85

Contoured and terraced Poor 66 74 80 82

Good 62 71 78 81

Contoured and terraced 

plus crop residue cover Good

65 73 79 81

61 70 77 80
Appendix 1. Method Documentation 23

Table 1–6. Recommended initial curve numbers for select land uses and hydrologic soil groups.—Continued

Cover description Curve numbers for 

hydrologic soil group

Land use Specifics Hydrologic condition A B C D

Small grain Straight row Poor 65 76 84 88

Good 63 75 83 87

Straight row plus crop 

residue

Poor 64 75 83 86

Good 60 72 80 84

Contoured Poor 63 74 82 85

Good 61 73 81 84

Contoured plus crop 

residue cover

Poor 62 73 81 84

Good 60 72 80 83

Contoured and terraced Poor 61 72 79 82

Good 59 70 78 81

Contoured and terraced 

plus crop residue cover

Poor 60 71 78 81

Good 58 69 77 80

Pasture, 

grassland

Continuous forage for 

grazing

Poor (<50 percent ground cover or 

heavily grazed with no mulch)

68 79 86 89

Fair (50 percent to 75 percent ground 

cover and not heavily grazed)

49 69 79 84

Good (>75 percent ground cover and 

only lightly grazed)

39 61 74 80

Meadow Continuous grass, protected 

from grazing, mowed 

for hay

– 30 58 71 78

Brush Brush-weed-grass mixture, 

with brush the major 

element

Poor (<50 percent ground cover) 48 67 77 83

Fair (50 percent to 75 percent ground 

cover)

35 56 70 77

Good (>75 percent ground cover) 30 48 65 73

Woods – Poor (litter, small trees and brush 

destroyed by grazing or regular 

burning)

45 66 77 83

Fair (woods are grazed but not 

burned; some forest litter present)

36 60 73 79

Good (woods protected from grazing; 

liter and brush adequately cover 

soil)

30 55 70 77
24 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Antecedent Runoff Conditions

SWB adjusts the user-specified curve numbers upward 

or downward depending on how much precipitation has fallen 

in the previous 5-day period. The amount of precipitation that 

has fallen in the previous 5-day period is used to describe 

soil-moisture conditions; three classes of moisture conditions 

are defined and are called antecedent runoff condition I, II, 

and III (table 1–7). The base (user-defined) curve numbers are 

assumed to represent antecedent runoff condition II. 

For example, assume that in the previous 5 days 1 inch 

of precipitation fell on a grid cell; the runoff condition 

number would be I, and the runoff curve number would be 

adjusted down from the base (user-supplied) value. As another 

example, if a 5-day total of 1.5 inches of precipitation were to 

fall on a grid cell, the antecedent runoff condition would be 

III, and the curve number would be adjusted upwards from the 

base (user-supplied) value.

If the soils are nearly saturated, as in antecedent runoff 

condition III, the curve number for a grid cell is adjusted 

upward from antecedent runoff condition II (eq. 1–7) to 

account for generally higher runoff amounts observed when 

precipitation falls on saturated soil (Mishra and Singh, 2003):

 CN

CN

CN ARC III

ARC II

ARC II

( )

( )

( ) . . =

( ) 0 427 0 00573 + ×

(1–7)

where

CN is the curve number,

ARC(III) is the antecedent runoff condition III, and 

ARCII is the antecedent runoff condition II.

Conversely, when soils are dry, as in antecedent runoff 

condition I, curve numbers are adjusted downward from 

antecedent runoff condition II (eq. 1–8) in an attempt to 

reflect the increased infiltration rates of dry soils (Mishra and 

Singh, 2003).

 CN

CN

CN ARC I

ARC II

ARC II

( )

( )

( ) . . =

( ) 2 281 0 01281 − × (1–8)

where

CN is the curve number,

ARC(I) is the antecedent runoff condition I, and 

ARCII is the antecedent runoff condition II.

Between dry and nearly saturated conditions is antecedent 

runoff condition II, which represents an average rainfall-runoff 

relation for moderate soil-moisture conditions.

Continuous Frozen Ground Index (CFGI)

Runoff from frozen ground is simulated by adjusting the 

base curve numbers toward antecedent runoff condition III 

when frozen ground conditions exist. Frozen ground 

conditions are tracked by use of a continuous frozen ground 

index (CFGI; Molnau and Bissell, 1983):

 CFGI A CFGI T e i i

K D = ⋅ = − ⋅ ≥ ( ) − ⋅

1

0 4 0 . (1–9)

where

CFGIi is continuous frozen ground index on the 

current day, in Celsius degree days;

A is daily decay coefficient, unitless;

CFGIi-1 is continuous frozen ground index on the 

previous day, in Celsius degree days;

T is daily mean air temperature, in degrees 

Celsius;

K is snow reduction coefficient, per centimeter; 

and

D is depth of snow on ground, in centimeters.

The values for the coefficients A and K are defined in 

the same manner as described by Molnau and Bissel (1983): 

K=0.5-centimeter for above-freezing periods, K=0.08-centimeter for 

below-freezing periods, and A=0.97. During conditions of no 

snow cover, the CFGI represents the running sum by which 

the average air temperature deviates from the freezing point of 

water; snow conditions cause the CFGI to grow or shrink at a 

slower rate. 

Table 1–7. Antecedent runoff conditions.

[Nongrowing season and growing season antecedent runoff conditions are given in inches]

Runoff condition 

number Description Nongrowing season

Growing 

season

I Dry 0.05 1.4

II Average 0.5–1.1 1.4–2.1

III Near saturation 1.1 2.1
Appendix 1. Method Documentation 25

The CFGI is applied by allowing for a transition range 

to be applied through which runoff enhancement ranges from 

negligible to strong (Molnau and Bissell, 1983). 

In the SWB code, a probability of runoff enhancement 

factor, Pf , is used to linearly interpolate between the curve 

numbers at antecedent runoff condition II and antecedent 

runoff condition III; Pf is defined as given in equation 1–10.

 P CFGI LL

UL LL f = −−

(1–10)

where

Pf is the probability that runoff will be enhanced 

by frozen ground conditions;

CFGI is continuous frozen ground index, in Celsius 

degree days;

UL is the upper limit of the CFGI, above which 

frozen ground conditions exist, in Celsius 

degree days; and

LL is the lower limit of the CFGI, below which 

frozen ground conditions do not exist, in 

Celsius degree days.

If no values are assigned for LL and UL, default 

values of 9999 are assigned to both, effectively disabling 

the CFGI option; this behavior is unchanged from SWB 

version 1.0. If the CFGI option is used, Molnau and Bissel 

(1983) recommend starting with a value of 83 Celsius degree 

days for the upper limit and a value of 56 Celsius degree 

days for the lower limit. These values were developed for 

the Pacific Northwestern United States and may not be 

applicable elsewhere. 

Monthly Runoff Fraction Grid

Grids containing monthly runoff ratios relative to 

precipitation may be used instead of the curve number 

approach. A series of grids may be supplied as discussed in the 

user guide in appendix 2.

Impervious Surface Runoff

Runoff from impervious surfaces may be simulated 

in a more detailed manner by including a gridded dataset 

defining the proportion of each grid cell that is comprised 

of impervious materials. Data may be supplied as either a 

fraction (0.0–1.0) or percentage (0–100 percent) of either 

pervious or impervious surface area.

Any cell that is assigned an impervious surface 

fraction or percent that is greater than zero will operate in a 

fundamentally different way than in original SWB code; in 

these cells, mass-balance calculations will be performed on 

an additional impervious surface storage reservoir (fig. 1–2), 

the capacity of which is determined by the impervious surface 

rainfall-retention depth. 

1

2

2

3 4

5

6

7

10

8

9

EXPLANATION

Net rainfall plus snowmelt

Runon

Evaporation from impervious surface

Evapotranspiration from pervious surface

Excess impervious storage, to storm drain

Excess impervious storage, to pervious surface

Storm drain capture

Net infiltration

Rejected net infiltration

Runoff

1

2

4

5

6

7

8

9

10

3

Figure 1–2. Conceptual diagram showing treatment of impervious surface runoff.
26 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

For grid cells with impervious surfaces, a temporary 

impervious storage amount is determined using the 

following conditions:

 imperv_stor rainfall snowmelt

imperv_stor evap_impe

temp

t-1

= +

+ − rv

(1–11)

where

imperv_stortemp is the temporary impervious storage amount,

rainfall is the daily rainfall amount,

snowmelt is the daily snowmelt amount,

imperv_stort-1 is the previous days’ impervious storage 

amount, and

evap_imperv is the daily evaporation of water from the 

impervious surface.

The final amount of water stored in the impervious 

storage reservoir is dependent on the value of imperv_stortemp. 

The values of the daily ending impervious storage amount 

and the impervious storage excess are calculated as listed in 

table 1–8 depending on whether the temporary impervious 

storage amount is less than or greater than the maximum 

impervious storage amount.

The resulting impervious surface excess is distributed to 

the pervious fraction of the cell or is directed to a storm sewer 

for immediate removal of the surface excess from the model 

domain. Specifying a storm-drain capture fraction greater than 

zero will result in that fraction of impervious surface excess 

being diverted and extracted from the model domain. The 

model default is zero, or no, storm-drain capture and zero, 

or no, fraction impervious surface. The storm-drain capture 

fraction may be supplied in a lookup table or in gridded form.

Runoff Routing

SWB allows excess water generated at a grid cell to flow 

to the next downslope cell using a D8 flow-routing scheme to 

define the linkages between cells. Activation of the overland 

flow-routing method within SWB allows runoff from one or 

more cells to become runon to downslope cells. All runoff 

from a cell is assumed to infiltrate in downslope cells or be 

routed out of the model domain on the same day in which the 

runoff originated as rainfall or snowmelt. Runoff flow routing 

may be disabled and also may be configured such that only 

some fraction of runoff is routed to the downslope cell.

During model initialization, SWB examines the 

connectivity between each active cell. Based on this 

connectivity, SWB creates a master list of cell identifications 

and sorts them from upslope to downslope. When the model 

solution is calculated each day, the code begins with the cell 

furthest upslope, performs all mass-balance calculations, and 

then proceeds to perform the same calculation on the next cell 

in the list.

Connectivity is defined on the basis of an input D8 

flow-direction grid; this is a scheme by which connections 

between cells are encoded as an integer value within the 

flow-direction grid (O’Callaghan and Mark, 1984), with flow 

directions defined as shown in figure 1–3B. The original 

algorithm assigns a unique flow direction to each grid cell by 

determining the steepest slope between the central cell and its 

eight neighboring cells. For the cells shown in figure 1–3A, the 

steepest descent algorithm results in flow from the central cell 

to the southwest; the corresponding cell figure 1–3B, located 

to the southwest of the central cell, contains the number 8. By 

convention, therefore, the D8 flow direction for the cell shown 

in figure 1–3A is 8.

Table 1–8. Equations for determining impervious surface storage and impervious surface storage excess. 

[imperv_stort, daily ending impervious storage amount, in inches; imperv_storeexcess, excess impervious storage amount in inches; imperv_stortemp, temporary 

impervious storage amount, in inches; imperv_stormax, maximum impervious storage amount in inches; f, ratio of impervious surface fraction to the pervious 

surface fraction (dimensionless); imperv_frac, fraction of the grid cell covered by impervious surfaces (dimensionless)]

Condition Value of imperv_stort Value of imperv_storexcess

_ _ temp max imperv stor imperv stor ≤ _ temp imperv stor Zero

_ _ temp max imperv stor imperv stor > _ max imperv stor imperv stor imperv stor f

f imperv frac

impe

temp ma x _ _

_

( ) − ⋅

= −

where

1 rv frac _





 




Appendix 1. Method Documentation 27

mad17-1736_fig 1–3

WEST EAST

SOUTH

NORTH

WEST EAST

SOUTH

NORTH

32

4

16 1

64 128

8 2

8

114 111

109

112

110

104 106 108

109

A B

EXPLANATION

Direction of flow

Elevation of adjoining cell

Elevation of central cell

D8 flow-direction encoding

8 Resulting D8 flow direction

16

108

117

Figure 1–3. Examples of A, elevation grid values, in meters and B, resulting D8 flow-direction encoding. 

Once water is routed to a closed surface depression 

and evapotranspiration and soil-moisture demands are met, 

the only loss mechanism is net infiltration. The simplified 

nature of the flow routing results in cases where maximum 

net-infiltration values of hundreds or thousands of inches per 

year are calculated. These values are unrealistic and likely 

result from the simplified treatment of overland flow routing. 

SWB allows the user to enter a maximum recharge rate for 

each land cover and soil group combination. This feature 

offers a way to restrict the estimated net-infiltration values to 

a more reasonable range; however, the rejected net infiltration, 

nonetheless, is removed from the model domain on the same 

day in which the net infiltration originated as precipitation 

or snowmelt.

If desired, only a fraction of the calculated runoff can 

be routed downslope. A user-specified routing fraction grid 

may be specified in order to split runoff between RUNOFF_

OUTSIDE (in other words, assumed to join a surface-water 

feature and exit the model grid) and inflow to the next 

downslope cell. For cases in which flow routing is undesirable, 

the runoff flow routing routine may be disabled altogether.

Potential/Reference Evapotranspiration

Thornthwaite (1948) classified the world’s climate and 

observed that “* * *there is a distinction* * *between the 

amount of water that actually transpires and evaporates and 

that which would transpire and evaporate if it were available. 

When water supply increases, as in a desert irrigation project, 

evapotranspiration rises to a maximum that depends only on 

the climate. This we may call ‘potential evapotranspiration,’ as 

distinct from actual evapotranspiration.”

At about the same time that Thornthwaite (1948) 

was making climate observations, agronomists were 

struggling with the notion of plant evapotranspiration. The 

Blaney‐Criddle and Hargreaves‐Samani methods attempt to 

link a method to a specific vegetation type and condition or 

reference crop. The potential evapotranspiration associated 

with a specific crop may be considered to be a reference 

evapotranspiration amount. The Blaney-Criddle method, 

for example, links the potential evapotranspiration to an 

80–150 millimeters tall actively growing green-grass cover, 

“completely shading the ground and not short of water” (Allen 

and Pruitt, 1986).

SWB provides the Jensen-Haise (Jensen and Haise, 

1963) and the Hargreaves-Samani (Hargreaves and Samani, 

1985) methods for estimating potential or reference 

evapotranspiration. The Jensen-Haise method for estimating 

potential evapotranspiration (ET) was developed with 

evapotranspiration data for several crop types common to 

the southwestern United States. The Hargreaves-Samani 

method for estimating reference evapotranspiration (ET0) 

was developed with evapotranspiration data pertaining to 

a reference crop of fescue grass of known length. In SWB, 

both of these methods rely on air temperature observations 

(table 1–9) to estimate the amount of extraterrestrial solar 

radiation that reaches the crop surface. Both methods will 

likely return similar values. The Jensen-Haise method may 

be more appropriate for sites in the southwestern United 

States. Users should examine the SWB-estimated potential 

evapotranspiration amounts and compare them to estimates 

published by university agricultural extension services 

and others.

Table 1–9. Data requirements for the reference/potential 

evapotranspiration estimation methods included in SWB. 

Method

Minimum air 

temperature 

(degrees 

Fahrenheit)

Maximum air 

temperature 

(degrees 

Fahrenheit)

Gridded 

monthly

estimates

(inches per 

month)

Jensen-Haise Yes Yes No

Hargreaves-Samani Yes Yes No

Monthly gridded No No Yes
28 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

The distinction between potential ET and reference 

ET0 is more important if the FAO–56 crop coefficients 

are to be applied as modifiers to the potential or reference 

evapotranspiration values. Crop coefficients are often 

determined and published with a particular reference crop 

in mind. The crop coefficients published in Allen and others 

(1998) are developed with the same reference crop Festuca 

altaica (Alta fescue) grass that was used to develop the 

Hargreaves-Samani method. Solar radiation at the top of the 

atmosphere (extraterrestrial solar radiation) is calculated for 

both the Jensen-Haise and the Hargreaves-Samani methods 

by making use of standard estimation equations that take into 

account Earth’s position and tilt relative to the sun and the 

position of the grid cell upon the Earth. The equations are 

applied by using the latitude and longitude of each grid cell 

for each day of the year; the form of the equations used to 

calculate extraterrestrial solar radiation are in Meeus (1991).

Jensen-Haise Method

Jensen and Haise (1963) developed an empirical method 

that related potential evapotranspiration to solar radiation and 

air temperature for several crops grown in the southwestern 

United States—crop types included alfalfa, oats, cotton, and 

winter wheat. The equation is as follows:

 ETp m = ⋅ ( ) 0. . 014 T R ean s − 0 38 (1–12)

where

ETp is the daily potential evapotranspiration, in 

inches;

Tmean is the mean daily air temperature, in degrees 

Fahrenheit; and 

Rs is the solar radiation received at the crop 

surface, in inches per day.

Solar radiation at the crop surface is estimated as a 

function of the percentage of total possible sunshine that was 

received on a given day:

 R a s s = + b f un Ra ( ) ⋅ (1–13)

where

Rs is the solar radiation received at the crop 

surface, in inches per day;

a is the fraction of total solar radiation received 

on an overcast day (dimensionless), often 

0.25;

b is the fraction of total solar radiation received 

on a clear day (dimensionless), often 0.75;

f

sun is the amount of daily sunshine as a fraction 

of total possible sunshine (dimensionless); 

and

Ra is the extraterrestrial solar radiation, in inches 

per day.

The use of equation 1–13 requires data on the fraction of 

total sunshine, which is usually difficult to find on a consistent 

basis. SWB uses minimum and maximum air temperature 

to estimate the fraction of total possible sunshine (Allen and 

Pruitt, 1986):

 f T sun = − ( ) 0 3. . 5 0 T − 5 max min (1–14)

where

f

sun is the amount of daily sunshine as a fraction 

of total possible sunshine (dimensionless);

Tmax is the maximum daily air temperature, in 

Kelvin; and

Tmin is the minimum daily air temperature, in 

Kelvin.

Hargreaves-Samani Method

The Hargreaves and Samani equation was developed 

as a way to calculate reference evapotranspiration using 

only limited data. The coefficients were developed with 

data derived from a weighing lysimeter planted with Alta 

fescue grass (Hargreaves and Samani, 1985). The equation is 

as follows:

 ET0 T T mean T Ra = + 0. . 0023( ) 17 8 max m − in (1–15)

where

ET0 is the grass-reference evapotranspiration, in 

millimeters per day;

Tmean is the mean daily air temperature, in degrees 

Celsius;

Tmax is the maximum air temperature, in degrees 

Celsius;

Tmin is the mean daily air temperature, in degrees 

Celsius; and

Ra is extraterrestrial solar radiation, in 

millimeters per day.

Monthly Grid

If available, users also may use gridded daily or monthly 

estimates of reference or potential evapotranspiration. 

These gridded estimates allow SWB to be run using more 

sophisticated evapotranspiration estimates, including 

satellite-derived estimates. 
Appendix 1. Method Documentation 29

θ FC

θWP

TAW

θ θ FC WP −

RAW

p

RAW

p TAW =

θthreshold

threshold ( ) FC WP WP θ θθ θ =⋅ − + p

Actual Evapotranspiration/

Soil-Moisture Retention

Actual evapotranspiration is the soil moisture that can 

be extracted from a soil of a given soil-moisture condition; 

by definition, actual evapotranspiration will be equal to 

or less than the potential evapotranspiration. In the days 

following a rainstorm, soil moisture is close to field capacity, 

and moisture is evaporated from bare soil and transpired by 

plants at rates close to the maximum rate sustainable for given 

climatic conditions. Assuming no further precipitation or other 

moisture input (such as irrigation), in subsequent days the 

evaporation and transpiration rates decrease as remaining soil 

moisture is held more tightly within the soil matrix (Dunne 

and Leopold, 1978).

Common terms regarding these concepts are listed 

and defined in table 1–10. More detail about each of these 

concepts is in Allen and others (1998).

A way of simulating decreasing rates of soil-moisture 

evapotranspiration is to assume that the actual 

evapotranspiration is some function of the potential or 

reference evapotranspiration and the current soil-moisture 

amount (eq. 1–16).

 AET PET f WP

FC WP

   



 



 

 

  (1–16)

where

AET is the actual evapotranspiration, in inches;

PET is the potential evapotranspiration, in inches; 

f is a function of arbitrary shape; 

θ is the current soil-moisture amount, in inches;

θWP is the soil-moisture amount at the permanent 

wilting point, in inches; and

θ FC is the soil-moisture amount at field capacity, 

in inches.

Many different functions have been developed to relate 

potential evapotranspiration to actual evapotranspiration. 

Veihmeyer (1938) suggested that soil evapotranspiration 

is equal to potential evapotranspiration regardless of how 

close the soil moisture is to the wilting point. Zahner 

(1967) proposed a set of relations that changed depending 

on whether the soils in question were predominantly sand, 

loam, or clay. The relation included in FAO–56 (Allen and 

others, 1998) assumes that actual evapotranspiration and 

potential evapotranspiration are equal up to some critical 

Table 1–10. Definitions of common terms used in describing soil-moisture retention and actual evapotranspiration.

Term Units Definition

Field capacity Inches Soil-moisture value at which the soil matrix is nearly saturated and gravity 

drainage from the soil ceases.

Wilting point Inches Soil-moisture value below which plants are incapable of extracting further 

soil moisture for growth. Sometimes called the permanent wilting point 

because irreversible plant stress and subsequent death are common once 

the soil reaches this moisture value.

Inches Soil-moisture amount at field capacity.

Inches Soil-moisture amount at the permanent wilting point. 

Inches Total available water. This is the amount of water available in the soil for 

potential plant growth and can be calculated as .

Inches Readily available water. In the FAO–56 methodology, the readily 

available water is available to plants at a rate equal to potential 

evapotranspiration.

Unitless Plant water stress depletion fraction. This is the fraction of total available 

water that may be used by plants before they begin to experience water 

stress (and subsequent reduction in actual evapotranspiration rates); 

. 

Inches Threshold soil moisture. This is the soil moisture below which plants begin 

to experience water stress; .
30 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

soil-moisture level. At the point of critical soil moisture 

(coinciding with the onset of plant water stress), the ratio of 

actual to potential ET decreases until the soil moisture equals 

the wilting point where the ratio of actual to potential ET 

reaches a value of zero. At soil moisture equal to the field 

capacity, Thornthwaite and Mather (1957) considered the ratio 

of actual to potential ET to be equal to one, decreasing linearly 

to zero at a soil moisture equal to the wilting point.

The two soil-moisture retention methods implemented 

in SWB are discussed in this section; one method developed 

by Thornthwaite and Mather (1957) and the other method 

included in the FAO–56 approach (Allen and others, 1998).

Thornthwaite-Mather Method

In the late 1940s and early 1950s, C.W. Thornthwaite and 

his associates studied plant growth and water utilization. As 

a result of this work, Thornthwaite observed that the relation 

between the actual ET to potential ET ratio and the soil 

moisture was linear (fig. 1–4).

The first versions of SWB included full-tabularized 

versions of the soil-moisture retention function, along with 

methods to interpolate among the various table values. 

The original published method (Thornthwaite and Mather, 

1957) also introduced a variable, accumulated potential 

water loss (APWL), to track the cumulative unmet potential 

evapotranspiration; this term APWL was developed in an 

age before easy access to computers and calculators; when 

used with the table values, this set of tabulated, APWL values 

made calculation of the daily water balance simpler. SWB 

updates the soil-moisture value by means of the relation 

derived in equations 1–17 through 1–25. Daily soil moisture 

may be estimated from this relation by first defining the 

instantaneous soil evapotranspiration as equal to the change in 

soil-moisture storage:

 et

d

dt a = − θ (1–17)

where

eta is the instantaneous actual evapotranspiration, 

and d

dt

θ is the rate of change in soil moisture relative 

to time. 

The relation shown in figure 1–4 can be used to define a 

function relating actual and potential evapotranspiration as:

 et et a

FC

= ⋅ 0

θ

θ

mad17-1736_fig 1–4

Field

capacity

Wilting

point

Soil-water content

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Ratio of actual to potential evapotranspiration

Figure 1–4. Thornthwaite-Mather relation 

between actual and potential evapotranspiration.

(1–18)

where

eta is the instantaneous actual evapotranspiration,

et0 is the instantaneous potential 

evapotranspiration, 

θ is the soil moisture, and

θ FC is the soil-moisture value at field capacity.

Equation 1–17 and equation 1–18 can be set equal to one 

another, and the terms can be rearranged and integrated to 

yield an estimate of the current daily soil moisture:

 − = ⋅ d

dt

et

FC

θ θ

θ 0

, (1–19)

 d et dt

FC

θ

θ θ = − 0 , (1–20)

and

∫ = − ∫ det dt

FC

θ

θ θ

1 0

(1–21)

where

d

dt

θ is the rate of change in soil moisture relative 

to time,

et0 is the instantaneous potential 

evapotranspiration,

θ is the soil moisture,

θ FC is the soil-moisture value at field capacity,

dθ is the change in soil-moisture, and 

dt is the change in time.
Appendix 1. Method Documentation 31

The integral of the instantaneous potential ET during the 

course of a day is equal to the total daily reference ET0 value. 

An interim soil-moisture value may be defined 

 interim t 1 rainfall irrigation snowmelt

runon interception runoff

θ θ =+ + + −

+− −

(1–22)

where

θinterim is the interim soil moisture, and 

θt−1 is the soil moisture on the previous day.

The integral of soil moisture is evaluated from θinterim

to θt :

 lnθ

θ θ

θ

interim

t ET

FC

= − 0 (1–23)

where

θt is the soil moisture on the current day,

θinterim is the interim soil moisture,

ET0 is the reference evapotranspiration, and

θ FC is the soil moisture at the field capacity for the 

soil.

Exponentiating both sides and solving for the current soil 

moisture θt yields:

θ θ θ

t interim

ET

e FC = ⋅ −

















0

(1–24)

where terms are the same as those defined for equation 1–23.

The actual ET value ETactual is the difference between the 

interim and final soil-moisture values:

ETactual = − θ θ interim t (1–25)

FAO–56 Method

The FAO–56 method for determining actual 

evapotranspiration considers the process in two phases 

(fig. 1–5). In the first phase, soil-moisture levels are between 

a threshold soil-moisture level and field capacity, and the 

actual ET is assumed to be equal to the reference ET0. At 

soil-moisture levels below the threshold level, the ratio 

between actual and reference ET0 is assumed to decrease 

linearly, with the ratio having a value of zero as the soil 

moisture reaches the permanent wilting point.

The first step toward estimating the daily actual 

evapotranspiration is to eliminate evapotranspiration from the 

water balance equation and calculate an interim soil-moisture: 

mad17-1736_fig 1–5

Field

capacity

Wilting

point

Threshold

Soil-water content

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Ratio of actual to reference evapotranspiration

Figure 1–5. FAO–56 relation between actual and 

reference evapotranspiration.

 θ θ interim t rainfall irrigation snowmelt

runon intercept

= + + +

+ −

−1

ion r − unoff

(1–26)

where

θinterim is the interim soil moisture, and 

θt−1 is the soil moisture on the previous day.

The relation shown in figure 1–5 may be used to update 

the interim soil moisture by considering the following 

three cases:

1. θthreshold = 0, which eliminates the sloped part of 

figure 1–5;

2. θ θ interim t > hreshold , which implies that actual ET equals 

reference ET0 for all or part of the day; and

3. θ θ interim t ≤ hreshold , which means that the actual ET is some 

fraction of reference ET0 for the entire day.

In the first case, actual ET equals reference ET0, so the 

new soil-moisture value is:

θ θ t i = − nterim ET0 (1–27)

where

θinterim is the interim soil-moisture amount, in inches; 

and

ET0 is the daily reference evapotranspiration 

amount, in inches.
32 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

The second case is a linear combination of the first and 

third cases, and f can be defined as the fraction of the day that 

the soil-moisture value would exceed the threshold value:

 f ET

interim threshold = ( ) θ θ−

0

(1–28)

where

θinterim is the interim soil-moisture amount, in inches;

θthreshold is the soil-moisture amount below which plant 

stress occurs, in inches; and

ET0 is the daily reference evapotranspiration 

amount, in inches.

The new soil-moisture value for the current day can then 

be determined as:

θ θ θ

t threshold

f ET

e threshold = ⋅ −

 −















( ) 1 0

(1–29)

where

θthreshold is the soil-moisture amount below which plant 

stress occurs, in inches; 

f is the fraction of the day that soil moisture 

exceeds the threshold (eq. 1–28), in inches; 

and

ET0 is the daily reference evapotranspiration 

amount, in inches.

The actual ET value is then the difference between the 

interim and final soil-moisture values:

 ETactual = − θ θ interim t (1–30)

where

θinterim is the interim soil-moisture amount, in inches; 

and

θt is the soil-moisture amount at the end of the 

current day, in inches.

In the third case, new soil-moisture value for the current 

day can be determined as:

 θ θ θ

t interim

ET

e interim = ⋅ −















 0

(1–31)

Growing Degree Day

SWB calculates the growing degree day (GDD) specific 

to each crop type, if desired. The GDD is calculated by 

summing the difference between the mean air temperature and 

some base temperature for a specified number of days:

 GDD T T T max min

base

n

= + − 



 

 ∑ 

( )

2 (1–32)

where

GDD is growing degree days;

n is the number of days during which the 

calculation is performed;

Tmax is the maximum daily air temperatures;

Tmin is the minimum daily air temperatures; and 

Tbase is a reference temperature, often crop or plant 

specific.

Temperature values in the GDD calculation are 

often restrained to prevent the GDD values from growing 

unreasonably. When applying the method to corn, for example, 

Tbase is often set to 50 degrees Fahrenheit (°F), Tmax is set to 

86 °F, and Tmin is set to 50 °F. If no values are provided by the 

user, SWB uses the values for corn (Tbase of 50 °F, a Tmax of 

86 °F, and a Tmin of 50 °F).

Growing Season

SWB keeps track of a binary state variable (a variable 

having a value of either zero or one) that indicates growing 

season status. Growing season in SWB is either active or 

inactive. Growing season status affects plant interception 

calculations and antecedent runoff conditions (table 1–7).

The growing season is tracked independently of other 

plant-growth related parameters, such as the planting date 

defined for use with the crop-coefficient module. These 

parameters remain unlinked and unrelated because the 

crop‐coefficient module will not necessarily be active for 

every SWB simulation.

Two methods are available for keeping track of the 

growing/nongrowing season status. The simplest method 

allows a day of year or month and day to be input for each 

land-use type in order to control when the growing season 

status is flipped. The second method allows a minimum 

growing degree-day value to be set to initiate plant growth and 

a minimum mean-air temperature (killing air temperature) to 

be set to halt plant growth.

The two methods may be mixed, in other words, a set 

of starting and ending dates may be defined for a particular 

land-use or crop type, whereas a growing degree-day threshold 

and killing air temperature may be specified for another 

land-use or crop type.
Appendix 1. Method Documentation 33

Crop Coefficients

The FAO–56 methodology links the estimation of actual 

evapotranspiration to growth patterns of vegetation and crops 

by means of a crop-coefficient curve that changes during 

a growing season. The amount of water required by the 

vegetation of a crop at any point during a growing season is 

given in equation 1–33:

 ETc c = K ET0 (1–33)

where

ETc is crop evapotranspiration, 

Kc is the crop coefficient, and

ET0 is the reference evapotranspiration.

The crop evapotranspiration equation (eq. 1–33) is valid 

for ideal or standard conditions––a condition in which soil 

moisture stays close to field capacity regardless of plant water 

use. An example of the simplified crop-coefficient curve 

used in the FAO–56 calculation is shown in figure 1–6. The 

curve is made up of a set of piecewise linear functions that 

define the overall shape of the crop-coefficient curve during 

a growing season. Specification of this curve for each crop 

and plant type (land-use type) in the model requires that a set 

of growth stage lengths Lini, Ldev, Lmid, Llate, and Lfallow, and a 

set of corresponding crop coefficients that are included in the 

irrigation lookup table. The growth stage lengths represent 

the number of days each growth stage lasts. The growth stage 

lengths are added to the day of year at time of planting which 

yields the day of year associated with the inflection points 

defining the crop coefficient curve in figure 1–6. Note that 

because the crop-coefficient values may have values greater 

than one, the crop water requirement can easily exceed the 

potential or reference ET values during peak growth periods. 

The length values that form the crop-coefficient curve may 

be replaced with growing degree days. SWB calculates, if 

desired, the growing degree days specific to each crop type.

The calculation of actual evapotranspiration during 

nonstandard (moisture-limited) growing conditions is to 

multiply the crop evapotranspiration amount by a plant water 

stress factor whose value may range between 0.0 and 1.0. 

The water stress factor declines toward zero as the amount 

of available soil moisture decreases. The adjusted crop 

evapotranspiration is given in equation 1–34.

Time, days since planting

–10–20 0 10 20 30 40 50 60 70 80 90 100 110 120 130 140

1.2

1.1

1

0.9

0.8

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

Crop coefficient

Kcb_ini

Kcb_min

Kcb_mid

Kcb_end

L_ini L_dev L_mid L_late L_fallow

Figure 1–6. Example simplified crop-coefficient curve (Allen and others, 1998).
34 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

ETc,adj = K Ks cET0 (1–34)

where

ETc,adj is adjusted crop evapotranspiration, 

Ks is the plant water stress factor,

Kc is the crop coefficient, and

ET0 is the reference or potential 

evapotranspiration.

The plant water stress factor is defined by the 

soil‐moisture deficit relative to two soil-moisture amounts—

the readily available water and total available water amounts. 

Total available water is defined as the maximum amount of 

water that can be present within the root zone and is calculated 

in SWB as:

 TAW AWC rooting depth = ⋅( ) = − θ θ FC WP (1–35)

where

 TAW is the total available water; 

 AWC is the available water capacity, in inches per 

foot;

rooting depth is the current rooting depth of vegetation, in 

feet;

 θ FC is the soil-moisture amount at the field 

capacity of the soil, in inches; and

 θWP is the soil-moisture amount at the permanent 

wilting point, in inches.

Readily available water is defined as the amount of 

water that can be withdrawn by a plant from soil-moisture 

storage without the plant suffering water stress. Readily 

available water may be defined as some fraction of the total 

available water:

RAW = ⋅ p TAW (1–36)

where

RAW is readily available water, and 

p is the fraction of total available water (TAW) 

that can be removed from soil-moisture 

storage before a plant begins suffering 

from water stress; p is called the plant_

stress_depletion_fraction in the SWB 

irrigation lookup table.

The soil-moisture deficit is calculated as 

deficit = − TAW θt and represents the amount by which the 

current daily soil moisture departs from the total available 

moisture storage capacity of the soil. At soil-moisture deficits 

less than the readily available water amount, plants are 

assumed to have adequate available moisture for growth; 

plants are assumed to not have water stress, and the plant 

water stress factor has a value of one.

Once soil-moisture deficit increases beyond the readily 

available water amount, the plant water stress factor decreases 

linearly, reaching a value of zero as the soil-moisture deficit 

approaches the total available water value, or alternatively, 

as the daily soil-moisture value reaches a value close to the 

wilting point. How the plant water stress factor changes with 

changing soil-moisture amounts is shown in figure 1–7.

In the SWB irrigation lookup table, the plant_stress_

depletion_fraction (p) defines the soil-moisture conditions 

below which the actual to potential ET ratio begins to decline 

toward zero. SWB uses this parameter to define the soil-water 

content threshold at which plant water depletion begins to 

stress vegetation and reduce evapotranspiration, as indicated 

in equation 1–37.

 θ θ threshold WP F θ θ C WP Wθ P = + p p ⋅ − ( ) = + ⋅TAW (1–37)

where

θthreshold is the soil-moisture amount below which plant 

stress occurs, in inches;

θWP is the soil-moisture amount at the permanent 

wilting point, in inches;

p is the plant stress depletion fraction 

(dimensionless);

θ FC is the soil-moisture amount at the field 

capacity, in inches; and

TAW is the total available soil-moisture storage 

amount, in inches.

Field

capacity

Wilting

point

Threshold

Soil-water content

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

Plant water-stress coefficient

Figure 1–7. Plant water stress coefficient as a 

function of the soil-water content.
Appendix 1. Method Documentation 35

Rooting Depth

The dynamic rooting-depth method is a way to account 

for the fact that when plants are small, less of the moisture 

within the soil-moisture reservoir is actually available for 

uptake and growth. When this method is selected, the current 

rooting depth is allowed to range between a small value 

(0.15 foot) and the maximum root-zone depth specified in the 

lookup table. The minimum root-zone depth is assumed during 

initial plant growth (Lini in fig. 1–6) and is assumed to increase 

linearly during plant development (Ldev in fig. 1–6), reaching 

the maximum root-zone depth at the start of the primary 

plant-growth stage (Lmid in fig. 1–6).

Dynamic rooting depth has no effect on calculations 

unless FAO–56 crop coefficients are being used in the 

simulation. With dynamic rooting depth enabled, the amount 

of total available water is allowed to grow larger as plant 

growth increases. Soil-moisture conditions in springtime 

often result in plant water stress when rooting depths are 

at a minimum. As the total available water and current 

rooting depths increase through the growing season, a larger 

soil-moisture reservoir is available to plants; therefore, the 

soil-moisture conditions are less likely to result in plant stress. 

Of course, those generalizations assume a constant amount 

of precipitation.

Irrigation Demand and Application

Once the FAO–56 procedure has been used to estimate 

the crop-water requirements, the next step in the process 

of simulating irrigation-water demand is to apply the water 

in a realistic manner. The applied irrigation water is not a 

source that is explicitly modeled by SWB; the irrigation 

water is supplied as an unspecified source external to SWB. 

Linkage to the groundwater system could be accomplished 

by postprocessing the SWB-calculated irrigation amounts 

and supplying those values to the MODFLOW WELL 

package (McDonald and Harbaugh, 1988) along with the 

SWB‐calculated net-infiltration values. 

The first step in simulating irrigation application is to 

compare the depletion fraction value to the user-specified 

maximum allowable soil-moisture deficit. The depletion 

fraction is calculated as follows: 

 depletion fraction t WP

FC WP

= − ( ) −

( ) −

− 1

θ θ 1

θ θ (1–38)

where

θt−1 is the soil-moisture amount calculated on the 

previous day, in inches;

θWP is the soil-moisture amount at the permanent 

wilting point of the soil, in inches; and

θ FC is the soil-moisture amount at the field 

capacity of the soil, in inches.

The depletion fraction in equation 1–38 takes on a 

value of zero when soil-moisture values are at the soil’s field 

capacity and a value of one when soil-moisture values reach 

the wilting point. Like the depletion fraction, the maximum 

allowable deficit takes on values in the range from 0 to 1. 

A value of zero indicates that no soil-moisture deficit is 

tolerable for the crop and will result in almost continuous 

irrigation. A value of one effectively indicates that depletion 

of the soil reservoir is tolerable and will result in irrigation 

almost never being applied. The maximum allowable 

depletion fraction is often set equal to the plant water stress 

fraction (see table 1–10 for definition). Setting the maximum 

allowable depletion equal to the plant stress depletion fraction 

in simulated irrigation being applied whenever the soil 

moisture declines below the threshold soil-moisture value at 

which plant growth begins to become impaired.

Once a cell’s soil-moisture status has triggered a need 

for simulated irrigation, SWB has a few rules that may be 

specified per land-use or crop type. These rules determine how 

much of the soil-moisture deficit is eliminated in the simulated 

irrigation event. The following is a list of these rules.

Restore soil moisture to field capacity.—Complete 

elimination of soil-moisture deficit on a cell by cell basis. 

This option calculates the amount of water to be applied as 

the difference between the maximum soil-moisture value 

and the soil-moisture value from the previous day. Thus, this 

amount ignores the current day’s water-balance components; 

the same irrigation amount will be calculated regardless of 

rainfall conditions.

Restore soil moisture to some fraction of field capacity.—

Restore soil moisture to some specified tolerable level of 

soil-moisture deficit (deficit irrigation). This option calculates 

the amount of water to be applied as the difference between 

the soil moisture at some preset deficit amount and the 

soil-moisture value from the previous day. The parameter 

value supplied to SWB to define this deficit amount is best 

described as the fraction of the maximum soil moisture that 

should be used as the baseline value in the calculation. In 

other words,

 irrigation amount f = ⋅θ θ FC − t−1 (1–39)

Apply fixed amount of irrigation.— Apply the same, 

constant amount of water once the soil-moisture deficit 

exceeds the maximum allowable deficit. Many irrigators have 

sized their equipment to handle application events of average 

size; for example, a center-pivot irrigation setup might only be 

capable of delivering water within a narrow range of values. 

Under this option, a set amount of water is applied to the cell. 

If the set amount brings the soil moisture to a value in excess 

of field capacity, a recharge event will be triggered.
36 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Apply demand-based amount on a prescribed monthly 

schedule.— This option is similar to the “restore soil moisture 

to field capacity” option, except that the calculated irrigation 

amount accounts for the daily or monthly rainfall and runoff 

amount and only is applied on a set schedule. This option 

was extracted from the Hawaii water-budget code and is 

designed to simulate the unique irrigation conditions in the 

Pacific Islands; the calculation is dependent on the monthly, 

rather than daily, datasets that generally are available in the 

Pacific Islands.

The irrigation amount for each day that irrigation is 

scheduled is calculated as:

 irrigation amount

ET n runoff rainfall

n

crop irr

month

= ( ) ⋅ + − (1–40)

where 

ETcrop is the crop evapotranspiration value, the 

amount of water the plant would use if not 

water limited; 

nirr is the number of irrigation days in the month;

runoff is the monthly total runoff amount; 

rainfall is the monthly total rainfall amount; and

nmonth is the number of days in the month.

The number of irrigation days in the month is determined 

by the monthly irrigation schedule parameter, which is a 

pattern of zeros and ones. The monthly irrigation schedule 

parameter values are 31 characters long, which determine the 

timing of irrigation (table 1–11).

Irrigation can be defined for whole crop and vegetation 

types; however, at times, more control is needed regarding the 

simulation of irrigation at a particular location. A supplemental 

irrigation mask grid can be provided to SWB to fine tune 

which portions of various crop and vegetation types are given 

simulated irrigation. A value of one means the cell is allowed 

to receive irrigation, whereas a value of zero blocks the cell 

from receiving irrigation water. An example of an irrigated 

lands mask is shown in figure 1–8. 

Rejected Net Infiltration

Specification of maximum daily net-infiltration values is 

a crude but effective way of preventing SWB from calculating 

unreasonably high net-infiltration values. With flow routing 

enabled, downslope cells can have large amounts of water 

diverted to them. The resulting calculated net-infiltration 

values sometimes exceed the values that might be reasonable 

given the soils and underlying geology. Setting a maximum 

daily net-infiltration value will prevent these cells from taking 

on unrealistic net-infiltration values.

In cases where the calculated daily net infiltration is 

greater than the cell’s maximum daily net-infiltration limit, 

the net infiltration for the cell is set to the maximum daily 

net-infiltration value, and the remaining water is converted 

to rejected net infiltration. This rejected net infiltration is 

then routed to the next downslope cell where the water 

becomes available for runoff, recharge, or evapotranspiration. 

Maximum net-infiltration values are user-defined and are often 

set to values approximating the vertical hydraulic-conductivity 

values for the underlying MODFLOW application. If 

left unspecified, SWB enforces no limits on calculated 

net‐infiltration rates.

Table 1–11. Example of monthly irrigation schedule parameter values for several irrigation frequencies.

Irrigation frequency Monthly irrigation schedule value

Weekly (approximate) 1000001000001000001000001000000

Every other day 0101010101010101010101010101010

Every 3 days 0010010010010010010010010010010
Appendix 1. Method Documentation 37

mad17-1736_fig 1–8

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Department of Agriculture 

30-meter Cropland Data Layer, 2012

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Irrigated lands mask (modified from

Bradbury and others, 2017)

Figure 1–8. Example of irrigated lands mask.
38 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

References Cited

Allen, Richard, Pereira, Luis, Raes, Dirk, and Smith, Martin, 

1998, Crop evapotranspiration—Guidelines for computing 

crop water requirements: Rome, Food and Agriculture 

Organization of the United Nations, FAO Irrigation and 

Drainage Paper No. 56, 174 p.

Allen, R.G., and Pruitt, W.O., 1986, Rational use of the FAO 

Blaney-Criddle Formula: Journal of Irrigation and Drainage 

Engineering, v. 112, no. 2, p. 139–155.

Cooley, K.R., and Lane, L.J., 1982, Modified runoff curve 

numbers for sugarcane and pineapple fields in Hawaii: 

Journal of Soil and Water Conservation, v. 37, no. 5, 

p. 295–298.

Cronshey, Roger, McCuen, R.H., Miller, Norman, Rawls, 

Walter, Robbins, Sam, and Woodward, Don, 1986, Urban 

hydrology for small watersheds—Technical Release 55: 

U.S. Department of Agriculture, Natural Resources 

Conservation Service, Conservation Engineering Division, 

accessed August 23, 2017, at http://www.nrcs.usda.gov/

Internet/FSE_DOCUMENTS/16/stelprdb1044171.pdf.

Dripps, W.R., and Bradbury, K.R., 2007, A simple daily soil–

water-balance model for estimating the spatial and temporal 

distribution of groundwater recharge in temperate humid 

areas: Hydrogeology Journal, v. 15, no. 3, p. 433–444.

Dunne, Thomas, and Leopold, Luna, 1978, Water in 

environmental planning: W.H. Freeman, 818 p.

Gash, J.H.C., 1979, An analytical model of rainfall 

interception by forests: Quarterly Journal of the Royal 

Meteorological Society, v. 105, no. 443, p. 43–55.

Gash, J.H.C., Lloyd, C.R., and Lachaud, G., 1995, Estimating 

sparse forest rainfall interception with an analytical model: 

Journal of Hydrology, v. 170, no. 1, p. 79–86.

Gash, J.H.C., and Morton, A.J., 1978, An application of the 

Rutter model to the estimation of the interception loss from 

Thetford forest: Journal of Hydrology, v. 38, nos. 1–2, 

p. 49–58.

Hanson, C.L., Neff, E.L., Doyle, J.T., and Gilbert, T.L., 1981, 

Runoff curve numbers for Northern Plains rangelands: 

Journal of Soil and Water Conservation, v. 36, no. 5, 

p. 302–305.

Hargreaves, G.H., and Samani, Z.A., 1985, Reference crop 

evapotranspiration from temperature: Applied Engineering 

in Agriculture, v. 1, no. 2, p. 96–99.

Hauser, V.L., and Jones, O.R., 1991, Runoff curve numbers for 

the Southern High Plains: Transactions of the ASAE, v. 34, 

no. 1, p. 142–148.

Hawkins, R.H., Ward, T.J., Woodward, D.E., and Van Mullem, 

J.A., 2009, Curve number hydrology—State of the practice: 

Reston, Va., American Society of Civil Engineers, 106 p.

Horton, R.E., 1919, Rainfall interception: American 

Meteorological Society, Monthly weather review, 

v. 47, no. 9, p. 603–623, accessed November 1, 2016, 

at http://journals.ametsoc.org/doi/abs/10.1175/1520-

0493%281919%2947%3C603%3ARI%3E2.0.CO%3B2.

Izuka, S.K., Oki, D.S., and Engott, J.A., 2010, Simple method 

for estimating groundwater recharge on tropical islands: 

Journal of Hydrology, v. 387, no. 1, p. 81–89.

Jensen, M.E., and Haise, H.R., 1963, Estimating 

evapotranspiration from solar radiation: American Society 

of Civil Engineers, Journal of the Irrigation and Drainage 

Division, Proceedings, v. 89, p. 15–41.

McDonald, M.G., and Harbaugh, A.W., 1988, 

MODFLOW—A modular three-dimensional finitedifference ground-water flow model: U.S. Geological 

Survey Techniques of Water-Resource Investigations, 

book 6, chap. A1, 586 p.

Meeus, J.H., 1991, Astronomical algorithms: Willmann-Bell, 

Incorporated, 477 p.

Mishra, S.K., and Singh, V., 2003, Soil Conservation Service 

curve number (SCS–CN) methodology: Dortrecht, 

Netherlands, Kluwer Academic Publishers, 514 p.

Molnau, Myron., and Bissell, Verno, 1983, A continuous 

frozen ground index for flood forecasting, in Proceedings 

51st Annual Meeting Western Snow Conference: 

Cambridge, Ontario, Canadian Water Resources 

Association, p. 109–119.

O’Callaghan, J.F., and Mark, D.M., 1984, The extraction of 

drainage networks from digital elevation data: Computer 

vision, graphics, and image processing, v. 28, no. 3, 

p. 323–344.

Savenije, H.H.G., 2004, The importance of interception and 

why we should delete the term evapotranspiration from 

our vocabulary: Hydrological Processes, v. 18, no. 8, 

p. 1507–1511.

Thornthwaite, C.W., 1948, An approach toward a rational 

classification of climate: Geographical Review, v. 38, no. 1, 

p. 55.

Thornthwaite, C.W., and Mather, J.R., 1957, Instructions and 

tables for computing potential evapotranspiration and the 

water balance: Publications in Climatology, v. 10, no. 3, 

p. 1–104.

Veihmeyer, F.J., 1938, Evaporation from soils and 

transpiration—Transactions: American Geophysical Union, 

v. 19, p. 612–619.
Appendix 1. Method Documentation 39

Westenbroek, S.M., Kelson, V.A., Dripps, W.R., Hunt, 

R.J., and Bradbury, K.R., 2010, SWB—A modified 

Thornthwaite-Mather soil-water-balance code for estimating 

groundwater recharge: U.S. Geological Survey Techniques 

and Methods, book 6, chap. A31, p. 1–61.

Woodward, Donald; Hawkins, Richard; Jiang, Ruiyan; 

Hjelmfelt, Allen, Jr.; Van Mullem, Joseph; and Quan, 

Quan, 2003, Runoff curve number method—Examination 

of the initial abstraction ratio, in Conference Proceeding 

Paper, Philadelphia, Pa., June 23–26, 2003, Proceedings: 

Philadelphia, Pa., World Water and Environmental 

Resources Congress.

Zahner, Robert, 1967, Refinement in empirical functions for 

realistic soil-moisture regimes under forest cover in Sopper, 

W.E., and Lull, H.W., eds., International Symposium of 

Forest Hydrology: New York, Pergamon Press, p. 261–272.
40 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Appendix 2. User Guide

This document is a user guide that discusses the basic 

application and operation of the Soil-Water-Balance (SWB) 

version 2.0 code.

Installing and Running Soil-WaterBalance Version 2.0

SWB is compiled Fortran 2008 code; no installation 

is needed other than copying the executable program to the 

desired location on the system hard drive. When the name of 

the executable is typed at a terminal command prompt, SWB 

will start up, list the compilation date, list the Git commit hash 

and branch, and finally, list any options that may be invoked. 

Git is a software tool designed to keep track of changes made 

to a source code such as SWB (Torvalds and Hamano, 2010). 

A Git commit hash is a symbol that uniquely identifies the 

state of the code modules used to compile the version of 

SWB the user is running. If a SWB run has issues, the Git 

commit hash is crucial for recreating the code as it existed 

during compilation.

The procedure for running SWB is the same for an Apple 

Macintosh, Linux, or Windows-based computer. An example 

of SWB execution with no command-line arguments when run 

on a Macintosh is shown in figure 2–1. 

System Requirements

SWB can be compiled and run on any modern hardware 

including Apple Macintosh, Linux, or Windows-based 

systems. Performance will improve if SWB is run on a system 

with greater processing speed and more random access 

memory (RAM). A small problem, consisting of a model 

domain of about 100 cells by 100 cells, will run on a small 

single-board computer such as a Raspberry Pi, albeit slowly. 

An important point about system requirements is that the 

code is capable of accessing large gridded climate datasets 

and will run efficiently by pulling out only the data needed for 

the simulation. This point can be viewed as a positive and a 

negative attribute about SWB. From an ease of use standpoint, 

a user can save a lot of work by downloading a gridded 

dataset, such as Daymet (Thornton and others, 2016), for the 

conterminous United States. SWB will run efficiently while 

accessing national gridded datasets, pulling the local values 

as needed. However, a year of Daymet data takes up almost 

3 gigabytes (GB) of disk space; a simulation spanning from 

1980 to 2016 would require more than 100 GB of disk storage 

for just the daily weather dataset. Although a considerable 

amount of space may be saved by creating a subset of the 

gridded data, the task would require a considerable amount of 

time and effort. The purchase of a larger hard drive, therefore, 

would be more efficient. 

Figure 2–1. Command-line response when Soil-Water-Balance (SWB) version 2.0 is executed with no other arguments.
Appendix 2. User Guide 41

Output from SWB is now in the form of a compressed Network Common Data Form 

(netCDF) file (Unidata, 2014). A 346 by 400-cell example problem run with SWB for a 2-year 

period generated about 900 megabytes (MB) of file output. For a typical SWB simulation, a hard 

drive with empty space ranging from 100 GB or greater is recommended to accommodate the 

output files generated by SWB.

Running SWB

SWB must be run from an operating system command line, with a control filename specified. 

If the command ‘swb2’ is entered at the command prompt without providing a control filename, 

SWB will print out some diagnostic information. The information includes the date of compilation 

and a Git hash that uniquely identifies the source code used in the compilation SWB also prints out 

a message that mentions three command-line options: --output_prefix, --output_dir, and --data_dir.

Within the control file, paths may be specified so that the input datasets may stay in their own 

dedicated space on the hard drive. SWB will use relative or absolute paths to files. The --output_

prefix option allows the user to specify a text string that will be affixed to the front of each output 

file name. The --output_dir option allows the user to specify the location in which program output 

should be stored. The --data_dir option may be used to specify the location on the disk that SWB 

will search for input data.

If 

swb2 my_control_file.ctl --output_prefix=WI_ --output_dir=output --data_dir=input

is entered at the command line, an SWB run will begin with whatever options are contained within 

the control file. Output files will be prefixed with the characters WI_ and saved in the output 

subdirectory, and the required data will be accessed in the input subdirectory.

Overview of Input and Output Files

SWB requires a combination of gridded and tabular files as input and produces several 

gridded netCDF files and logfiles as output. This section discusses the input files required by and 

output files generated by SWB.

Input Files

Several different input files must be in place for an SWB simulation to work. The most 

important of these files is the SWB control file. The control file specifies the location of input 

data grids and climate datasets and is the place where the user may select specific program 

options. A lookup table, or possibly several lookup tables, are required to relate SWB model 

parameters to the land use or hydrologic soil group, or both. Input-data grids are used to provide 

SWB with a map of land-use and soil-related information. Finally, daily weather data must be 

provided in either tabular or gridded form. These input files are discussed in greater detail in the 

following sections.

Control File

The SWB control file contains all details about the grid specifications, gridded and tabular 

datasets to be used, and the location and name of lookup tables. SWB does not require the control 

file entries to be made in any particular order. The control file statements do not need to be in 

uppercase letters; Lookup_table works as well as LOOKUP_TABLE . Note that in SWB version 

2.0, the cartographic projection of the SWB project grid is required to be supplied by means 

of the BASE_PROJECTION_DEFINITION directive in the form of a PROJ.4 string (fig. 2–2). 

Figures 2–2 through 2–4 together present an annotated SWB control file.
42 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

## SWB 2 will ignore lines that begin with one of the following: #%!+=

## also, SWB doesn’t care about blank lines

% the order of lines makes no difference to SWB; however, it is useful for

% users to see the definition of the underlying grid up front:

! nx ny xll yll resolution

!----------+-----+------------+--------------+---------------

GRID 400 346 545300. 432200. 90.

! where: nx, ny are the number of columns and number of rows

! xll, yll are the coordinates for the lower left-hand corner of the *grid*

! res is the grid cell resolution

% SWB grid projection *must* be defined in SWB 2.0

% projection in this example is Wisconsin Transverse Mercator(!)

BASE_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000

+y_0=-4480000 +datum=NAD83 +units=m

% Select which methods SWB should use

%-----------------------------------------------------------------------------

INTERCEPTION_METHOD BUCKET

EVAPOTRANSPIRATION_METHOD HARGREAVES

RUNOFF_METHOD CURVE_NUMBER

SOIL_MOISTURE_METHOD FAO-56_TWO_STAGE

FOG_METHOD NONE

FLOW_ROUTING_METHOD NONE

IRRIGATION_METHOD FAO-56

ROOTING_DEPTH_METHOD DYNAMIC

CROP_COEFFICIENT_METHOD FAO-56

DIRECT_RECHARGE_METHOD NONE

SOIL_STORAGE_MAX_METHOD CALCULATED

AVAILABLE_WATER_CONTENT_METHOD GRIDDED

Figure 2–2. First segment of a Soil-Water-Balance (SWB) control file showing base-grid definition and method-specification syntax.

directive allows the user to set the percent of soil 

saturation for each grid cell in the model. Likewise, the 

The section of the SWB control file in figure 2–3 shows 

how the SCALE_FACTOR and ADD_OFFSET suffixes 

can be used to ensure that gridded data in the International 

System of Units (millimeter, degrees Celsius) are converted to 

U.S. customary units (inch, degrees Fahrenheit) as the grids 

are read in by SWB.

Toward the end of the control file syntax shown 

in figure 2–4 are several directives that need additional 

explanation. The INITIAL_PERCENT_SOIL_MOISTURE

INITIAL_SNOW_COVER_STORAGE directive allows the user 

to set the amount of snow as water equivalent for each grid 

cell in the model. Both of these directives may be specified 

as CONSTANT values or may be specified using Arc ASCII 

or Surfer grids. If gridded values are supplied, the grids 

must be in the same cartographic projection and of the same 

dimensions as the SWB project grid. 
Appendix 2. User Guide 43

% not much new here; SWB 1.0 supports all of the same syntax

! precipitation: converting mm to inches

PRECIPITATION NETCDF ../Daymet_V3_2016/daymet_v3_prcp_%y_na.nc4

PRECIPITATION_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0

+lat_0=42.5 +lon_0=-100.0 +x_0=0.0 +y_0=0.0 +ellps=GRS80 +datum=NAD83 +units=m

+no_defs

PRECIPITATION_NETCDF_Z_VAR prcp

PRECIPITATION_SCALE_FACTOR 0.03937008

! maximum air temperature: converting degrees Celsius to degrees Fahrenheit

TMAX NETCDF ../Daymet_V3_2016/daymet_v3_tmax_%y_na.nc4

TMAX_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5

+lon_0=-100.0 +x_0=0.0 +y_0=0.0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs

TMAX_SCALE_FACTOR 1.8

TMAX_ADD_OFFSET 32.0

! minimum air temperature: converting degrees Celsius to degrees Fahrenheit

TMIN NETCDF ../Daymet_V3_2016/daymet_v3_tmin_%y_na.nc4

TMIN_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-

100.0 +x_0=0.0 +y_0=0.0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs

TMIN_SCALE_FACTOR 1.8

TMIN_ADD_OFFSET 32.0

TMIN_MISSING_VALUES_CODE -9999.0

TMIN_MISSING_VALUES_OPERATOR <=

TMIN_MISSING_VALUES_ACTION mean

INITIAL_CONTINUOUS_FROZEN_GROUND_INDEX CONSTANT 100.0

UPPER_LIMIT_CFGI 83.

LOWER_LIMIT_CFGI 55.

Figure 2–3. Second segment of a Soil-Water-Balance (SWB) control file demonstrating syntax for defining weather 

data and growing season specification.
44 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

FLOW_DIRECTION ARC_GRID ../swb/input/d8_flow_direction.asc

FLOW_DIRECTION_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996

+x_0=520000 +y_0=-4480000 +datum=NAD83 +units=m

HYDROLOGIC_SOILS_GROUP ARC_GRID ../swb/input/hydrologic_soils_group.asc

HYDROLOGIC_SOILS_GROUP_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0

+k=0.9996 +x_0=520000 +y_0=-4480000 +datum=NAD83 +units=m

LANDUSE ARC_GRID ../swb/input/landuse.asc

LANDUSE_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996

+x_0=520000 +y_0=-4480000 +datum=NAD83 +units=m

% SWB 2.0 can accommodate multiple lookup tables; however, column names

% may not be repeated from one table to another. Thus, if the land-use code column

% heading in the land use lookup table has the name LU_CODE, the irrigation lookup 

% table heading could be called LU_CODE2

LANDUSE_LOOKUP_TABLE std_input/landuse_table_SWB2.txt

IRRIGATION_LOOKUP_TABLE std_input/irrigation_table_SWB2.txt

AVAILABLE_WATER_CONTENT ARC_GRID ../swb/input/available_water_capacity.asc

AVAILABLE_WATER_CONTENT_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0

+k=0.9996 +x_0=520000 +y_0=-4480000 +datum=NAD83 +units=m

IRRIGATION_MASK ARC_GRID ../swb/input/irrigation_mask_from_cdl.asc

IRRIGATION_MASK_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996

+x_0=520000 +y_0=-4480000 +datum=NAD83 +units=m

INITIAL_PERCENT_SOIL_MOISTURE CONSTANT 100.0

INITIAL_SNOW_COVER_STORAGE CONSTANT 2.0

% this option is good for debugging, but might be useful when one wants a lot of

% detail about what SWB is doing

DUMP_VARIABLES COORDINATES 563406. 454630.

DUMP_VARIABLES COORDINATES 552982. 439512.

% for SWB 2.0, the start and end dates need not follow calendar year bounds; the run may

% start and end on any arbitrary day.

START_DATE 01/01/2013

END_DATE 12/31/2014

Figure 2–4. Final segment of a Soil-Water-Balance (SWB) control file showing syntax used to specify input 

grids, initial conditions, and starting and ending dates.

The choice regarding the use of a constant value 

instead of a gridded set of initial conditions for these values 

is project‐specific. If the first year of a simulation is to be 

discarded as a spool-up period (a period in which soil-moisture 

and snow-depth values lose the memory of their initial 

condition values), then reasonable values suitable for average 

project area conditions may be specified as 

values. For a project in the northern Midwest of the United 

CONSTANT

States, the INITIAL_PERCENT_SOIL_MOISTURE might be set to 

70 percent, and the INITIAL_SNOW_COVER_STORAGE might be 

set to 2.0 inches. Alternatively, SWB could be run for several 

years with the last day of the simulation ending just before 

the start date of the period of interest. The soil-moisture and 

snow-storage values on the last day of such a simulation could 

be extracted and supplied as initial conditions to SWB for the 

run covering the time period of interest. 
Appendix 2. User Guide 45

Lookup Tables

In addition to the gridded data, one or more lookup 

tables must be provided to supply parameter values to the 

SWB methods. Many parameters are specified for specific 

combinations of land-use categories and hydrologic soil 

groups. The required parameters for each SWB method are 

listed in appendix 3. At a minimum, a SWB application 

requires the user to supply parameter values for the Soil 

Conservation Service curve number, the maximum recharge 

rate, the growing and nongrowing season interception values, 

and the rooting depths; except for the interception values, 

these parameters are specified for each combination of land 

use category and hydrologic soil group. 

In the original version of the SWB model (version 1.0), 

the location of the parameters was hardwired; in other words, 

SWB version 1.0 required the lookup table to be structured 

such that the parameters were supplied in a nonflexible column 

order. Parameter values for curve numbers were supplied in 

the first columns, followed by the maximum recharge rates, 

interception values, and rooting depths. In addition, SWB 

version 1.0 required that the number of soil types and land 

uses be specified and did not allow nor require a table header.

SWB version 2.0 uses keywords to identify parameter 

values within the table; the new lookup tables allow 

parameters to be supplied in any arbitrary column order. A 

separate column of parameter values must be supplied for 

each soil type. A snippet of the new table format is listed 

in table 2–1). Of the field values listed, the land-use code 

(LU_Code) is the key that relates the table values back to 

the land-use grid. The “Description” field is ignored by 

SWB, and the remaining fields specify the maximum surface 

storage for a given land use and the range of curve numbers 

for combinations of land-use categories and hydrologic soil 

groups. Tables could be easily prepared using spreadsheet 

software such as Microsoft Excel; however, tables should be 

saved as a tab-delimited text file for use with SWB.

In SWB 2.0, each column should be clearly identified 

so that the proper parameters may be linked to their 

respective process methods. Parameters that are tied to 

land use and to soil type are identified in the header in the 

form parameter_name_# , where # is the index value of the 

hydrologic soil group and must correspond to the values given 

in that grid. There must be a column for each index value 

found in the grid file. Soil types (hydrologic soil groups) are 

assumed to be numbered from 1 to n, where n is the number of 

different soil groupings. If a soil with five distinct hydrologic 

soil groups is supplied, the lookup table would need curve 

numbers for each land use and soil type combination; the 

column names for these curve numbers would be CN_1, 

CN_2, CN_3, CN_4, and CN_5. The required column names 

for each method are listed in appendix 3.

If multiple lookup tables are used, the row ordering must 

be consistent from one table to the next; SWB will perform 

some basic sanity checks on the table values, but will assume 

that values from all tables are defined relative to the order of 

land-use codes read from the first table that the SWB checks.

Input Data Grids

Several input data grids are required to perform a 

basic SWB run. As a SWB model, basic information about 

the soils is required. The typically required data grids are 

discussed in the following sections. Choosing other optional 

process methods may negate the need for the grids discussed 

in this section; however, additional gridded data types may 

be required.

Table 2–1. Extract from the Soil-Water-Balance (SWB) version 2.0 table format.

[LU, land use; CN, curve number]

LU_code Description Surface_storage_max CN_1 CN_2 CN_3 CN_4

0 Background 0 100 100 100 100

2 Pineapple 0 42 64 76 81

3 Coffee 0 52 70 80 84

4 Diversified agriculture 0 55 72 82 85

5 Macadamia 0 44 65 77 82

6 Fallow_grassland 0 37 61 74 79

7 Developed open space 0 37 61 74 79

8 Developed low intensity 0 60 75 84 87

9 Developed medium intensity 0.25 70 82 88 91

10 Developed high intensity 0.25 81 88 92 94
46 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Hydrologic Soil Group

The hydrologic soil group grid is an integer-valued 

grid that contains the soil group for each cell in the model. 

Any number of soils may be used in this grid, but frequently 

SWB models use the integers 1, 2, 3, and 4 to represent 

the 4 standard hydrologic soil groups defined as part of the 

curve number literature. The U.S. Department of Agriculture, 

Natural Resources Conservation Service, formerly the Soil 

Conservation Service, has categorized more than 14,000 soil 

series within the United States into 1 of 4 hydrologic soil 

groups (A–D) on the basis of infiltration capacity. Hydrologic 

soil group information may be input to the model as an Arc 

ASCII or Surfer integer grid with values ranging from 1 (soil 

group A) to 4 (soil group D). Soils in hydrologic soil group A

have a high infiltration capacity and, consequently, a low 

overland flow potential. In contrast, soils in hydrologic soil 

group D, have a low infiltration capacity and, consequently, a 

high overland flow potential (table 2–2).

Available Water Capacity

SWB needs one or more datasets for use in assigning the 

size of the soil-storage reservoirs. The user can specify gridded 

datasets of either (1) maximum soil-water capacity in inches, 

or (2) available-water capacity in inches per foot, along with 

tabular values of the rooting depth in feet. Traditionally SWB 

uses the gridded available water capacity and tabular rooting 

depth to calculate a maximum soil water-holding capacity for 

each grid cell. The maximum soil-water capacity is calculated 

as in equation 2–1.

Table 2–2. Infiltration rates for hydrologic soil groups and 

associated Soil-Water-Balance (SWB) grid values.

-

-

-

maximum soil water capacity

available water capacity

root zonedepth

=

⋅

(2–1)

If the maximum soil-water capacity is not specified 

directly, each grid cell within the model area must be assigned 

an available water capacity and each combination of land 

use and soil type assigned a rooting depth in the lookup 

table. Soil classifications, which include an estimate of the 

available water capacity or textural information, are typically 

available through the state offices of the Natural Resources 

Conservation Service or on the website at https:\\soils.usda.

gov. If data for available water capacity are not available, the 

user can use soil texture to assign a value, listed in table 2–3 

(original source table 10, Thornthwaite and Mather, 1957).

The available water capacity of a soil is typically given 

as inches of water-holding capacity per foot of soil thickness. 

For example, if a soil type has an available water capacity of 

2 inches per foot and the root-zone depth of the cell under 

consideration is 2.5 feet, the maximum water capacity of that 

grid cell would be 5.0 inches. The 5.0 inches is the maximum 

amount of soil-water storage that can take place in the grid 

cell. Water added to the soil column in excess of this value 

will become recharge.

Hydrologic soil 

group

Infiltration rate Integer grid 

value

A Greater than 0.3 inch per hour 1

B 0.15 to 0.3 inch per hour 2

C 0.05 to less than 0.15 inch per 

hour

3

D Less than 0.05 inch per hour 4

Table 2–3. Estimated available water capacities for various 

soil-texture groups.

Soil texture Available water capacity

(inches per foot of thickness)

Sand 1.20

Loamy sand 1.40

Sandy loam 1.60

Fine sandy loam 1.80

Very fine sandy loam 2.00

Loam 2.20

Silt loam 2.4

Silt 2.55

Sandy clay loam 2.70

Silty clay loam 2.85

Clay loam 3.00

Sandy clay 3.20

Silty clay 3.40

Clay 3.60

A grid containing the maximum soil-water capacity may 

be input directly into the SWB code, bypassing the internal 

calculation of the maximum soil-water capacity.

Land-Use Code

The model uses land-use information, together with the 

available-water-capacity information, to calculate surface 

runoff and assign a maximum soil-moisture holding capacity 

for each grid cell. The original model required that land-use 

classifications follow a modified Anderson Level II Land 

Cover Classification (Anderson and others, 1976). SWB 

can handle any arbitrary land-use classification method as 

long as the accompanying land-use lookup table contains 

curve-number, interception, maximum-recharge, and 

rooting depth data for each land-use type contained in the 

grid. Data from the Multi-Resolution Land Characteristics 

Consortium (https://www.mrlc.gov/) are a common source for 

land-use data, but any suitable gridded dataset may be used.
Appendix 2. User Guide 47

D8 Surface-Water-Flow Direction

The SWB code requires an integer flow-direction grid 

for the entire model domain when the flow-routing method 

is enabled. SWB uses the flow-direction grid to determine 

how to route overland flow between cells. The user must 

create the flow-direction grid consistent with the D8 

flow‐routing algorithm (O’Callaghan and Mark, 1984), with 

flow directions defined as shown in figure 2–5B. The original 

algorithm assigns a unique flow direction to each grid cell by 

determining the steepest slope between the central cell and its 

eight neighboring cells. For the cells shown in figure 2–5A, the 

steepest descent algorithm results in flow from the central cell 

to the southwest; the corresponding cell figure 2–5B, located 

to the southwest of the central cell, contains the number 8. By 

convention, therefore, the D8 flow direction for the cell shown 

in figure 2–5A is 8.

Many GIS software implementations of the D8 algorithm 

generate intermediate grids whereby neighboring cells are 

assigned a combination of flow-direction encodings. A cell for 

which all neighboring cells are of equal or greater elevation 

is a cell that Jenson and Domingue (1988) called a condition 

4 cell. For example, if the cells to the east, southeast, south, 

and southwest of the central cell in figure 2–5A all share 

the same elevation as the central cell (109), water might 

be expected to flow to any one of the neighboring cells. 

The flow direction for such a cell might be encoded as 

flow direction = 1 + 2 + 4 + 8 = 15; a flow direction that is not 

a power of 2 is most likely to be generated from an unfilled 

digital elevation model. SWB is not equipped to handle 

these values.

In the SWB code, a cell for which the flow-direction 

value is not a power of 2 (as shown in fig. 2–5B) is considered 

to indicate a closed depression. The SWB code does not 

attempt to split flows between two or more cells; if a cell has 

more than one possible flow direction, the cell is identified as 

a closed depression. The SWB code allows no further surface 

runoff to be generated or ponding to occur. The SWB code, 

instead, requires water in excess of the soil-moisture capacity 

to contribute to net infiltration, with net infiltration in excess 

of any maximum net-infiltration rate extracted from the model 

domain and tracked as runoff_outside .

For best results, the user must carefully consider 

whether the D8 flow-direction grid should be generated 

from an unfilled or a filled digital elevation model and if 

SWB’s treatment of flow-direction grid values that are not a 

power of 2 (as a depression) is acceptable. In addition, some 

researchers suggest that the traditional filling procedure used 

to prepare grids for use in determining D8 flow direction may 

be inappropriate for glaciated areas of the country where large 

areas of internal drainage reduce the size of the contributing 

area to streams. The presence of large areas of internal 

drainage may result in overestimation of surface-water runoff 

(Macholl and others, 2011; Richards and Brenner, 2004).

Climate Data Tables or Grids

The most important component of the water budget 

when estimating net infiltration is precipitation. The next 

most important component is generally evaporation, which 

can be estimated from air temperature data. SWB accepts 

precipitation, and minimum and maximum air temperature 

data in the form of tabular or gridded files.

For a project that covers an area small enough to be 

described by a single climate station, these data may be 

entered directly by use of a table that has header and date 

formats the same as those shown in figure 2–6.

For many projects, the use of some type of gridded data 

may be desirable. The source of the gridded data might be a 

project-specific custom interpolation routine. Alternatively, a 

gridded data product such as Daymet (Thornton and others, 

2016) can be used. Daymet uses consistent methodology 

to generate a continuous gridded dataset for the contiguous 

United States. The dataset contains precipitation, air 

temperature, and several other estimated data series (relative 

humidity, snow-water equivalent). The precomputed gridded 

datasets are generally much easier to use and save significant 

amounts of time relative to computing project-specific 

interpolated fields for precipitation and air temperature. Use 

of gridded datasets with SWB is discussed further in the 

“Gridded Datasets” section of this appendix. 

WEST EAST

SOUTH

NORTH

WEST EAST

SOUTH

NORTH

32

4

16 1

12864

8 2

8

114 111

109

112

110

104 108106

109

A B

EXPLANATION

Direction of flow

Elevation of adjoining cell

Elevation of central cell

D8 flow-direction encoding

8 Resulting D8 flow direction

16

108

117

Figure 2–5. Example (A) elevation grid values, in meters, and (B) resulting D8 flow-direction encoding.
48 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

% Data obtained from ***** station in Roswell, NM 

% 

Date PRCP TMIN TMAX 

01-01-2015 0.0 20.0 26.0 

01-02-2015 1.1 25.0 30.0 

01-02-2015 0.3 24.0 29.0 

01-04-2015 0.0 23.0 28.5 

Figure 2–6. Sample climate data in tabular form.

Output Files

This section describes the gridded netCDF files and 

ASCII log files generated by SWB during a simulation run.

netCDF Files

Primary water-budget variables and other important 

variables are written to individual netCDF files. These 

variables are listed in table 2–4. The filenames include the 

variable name, the time range in years, and the dimensions 

of the grid. For example, the output filename for the rainfall 

variable for a model run that spans from 2013 to 2014 and 

covers a model domain of 346 rows by 400 columns would 

be named “rainfall_2013_2014__346_by_400.nc.” Because 

of the efficiency of the underlying netCDF library, writing 

out netCDF files with SWB is still several times faster than 

writing to the custom binary files of SWB version 1.0.

A useful feature of netCDF files is that the files are 

able to hold information about multiple variables as well as 

metadata about the conditions under which these variable 

values were generated. The metadata for the snowmelt 

variable generated by SWB are shown in figure 2–7. The file 

holds daily SWB output for snowmelt, along with projected 

and geographic spatial coordinates and detailed information 

about the cartographic projection associated with the projected 

coordinates. In addition, details about the version of the SWB 

code used to generate those values are recorded to assist in 

future data archiving.

More details about making use of netCDF files are given 

in the “Gridded Datasets” section of this appendix.

Log Files

In addition to the gridded netCDF output files, SWB 

writes ASCII log files each time the code is run. If the 

user experiences an issue while running the code, the first 

response should be to examine the end of the log file. Often an 

important error or warning message will be printed to the log 

file just before the SWB run fails. A small subset of a SWB 

run log is shown in figure 2–8.

The log files are formatted as Markdown text files; 

Markdown is a set of text file conventions that can be used 

to produce HyperText Markup Language (HTML), Portable 

Document Format (PDF), or other formatted output (Gruber, 

2012). The log files are not required to be viewed in a 

Markdown editor; the files are accessible as plain text and may 

be viewed in any standard text editor. However, Markdown 

tags have been selected so that error messages are more easily 

recognized within the voluminous text of the logfile output.

A warning message regarding missing solar-radiation 

data is shown in figure 2–8. SWB will print several similar 

warnings for each data type that does not have an existing 

file. These warnings are safely ignored, but might be useful 

if SWB reports missing datasets when the user believes the 

datasets have been properly specified.

Table 2–4. List of variables written to separate netCDF files.

Variable name Units Variable description

gross_precipitation Inches Precipitation amount as read into SWB before any further 

processing; this is a useful output to examine to ensure that 

any conversion factors have been specified and interpreted 

correctly.

rainfall Inches Precipitation amount that is considered to have fallen as rainfall; 

this amount is the gross rainfall—the amount of rainfall 

before any canopy or vegetation interception is calculated. 

Net rainfall must be calculated by subtracting interception 

from rainfall.
Appendix 2. User Guide 49

Table 2–4. List of variables written to separate netCDF files.—Continued

Variable name Units Variable description

snowfall Inches Precipitation amount that is considered to fall as snow; this 

amount is the gross snowfall—the amount of precipitation 

that falls as snow before any canopy or vegetative interception 

is calculated. 

snowmelt Inches Water released to runoff and infiltration as snow melts.

interception Inches Canopy or vegetation interception amount.

runon Inches Water input to a cell derived from runoff from upslope cells.

runoff Inches Water generated as runoff from a cell.

reference_ET0 Inches Reference or potential evapotranspiration amount as provided 

in gridded form or as calculated by means of one of the 

evapotranspiration calculation methods.

actual_et Inches Actual evapotranspiration from the soil root zone.

tmin Degrees Fahrenheit Minimum daily air temperature value as read into SWB; this is 

a useful output to examine to ensure that any scale factor or 

offset amounts, or both have been specified and interpreted 

correctly.

tmax Degrees Fahrenheit Maximum daily air-temperature value as read into SWB; this is 

a useful output to examine to ensure that any scale factor or 

offset amounts, or both have been specified and interpreted 

correctly.

net_infiltration Inches Water that escapes the evapotranspiration demands of the root 

zone and enters the top of the unsaturated zone.

rejected_net_infiltration Inches Net infiltration in excess of a user-specified maximum netinfiltration amount. With routing active, this is added to the 

runon for the cell immediately downslope of the current cell.

crop_et Inches Amount of water extracted from the root zone by plant 

transpiration; this is only a valid output if crop coefficients are 

being applied in the simulation.

soil_evaporation Inches Amount of water extracted from the root zone by evaporation 

from exposed and wetted soil surfaces; this is only a valid 

output if crop coefficients are being applied in the simulation 

and if the dual-stage FAO–56 method is specified as the 

SOIL_MOISTURE_METHOD.

gdd Degree-days Fahrenheit Accumulated growing degree-day value for each cell.

runoff_outside Inches Water that can be routed no further downslope because it enters 

a waterbody or a closed depression or is routed to an inactive 

model cell and is tracked as runoff outside.

irrigation Inches Total amount of water required to sustain crop growth based 

on the many user-defined FAO–56 irrigation parameters 

(maximum allowable depletion, irrigation method).

snow_storage Inches Water stored in the snow reservoir.

soil_storage Inches Water stored in the soil reservoir.

delta soil storage Inches Change in amount of water stored in soil-storage reservoir 

relative to the previous day.

impervious_surface_storage Inches Water stored in impervious surface storage.

interception_storage Inches Water stored in interception storage.
50 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

netcdf snowmelt_2013_2014__346_by_400 { 

dimensions: 

 time = UNLIMITED ; // (730 currently) 

 y = 346 ; 

 x = 400 ; 

variables: 

 double time(time) ; 

 time:units = "days since 2012-01-01 00:00:00" ; 

 time:calendar = "standard" ; 

 time:long_name = "time" ; 

 double y(y) ; 

 y:units = "meter" ; 

 y:long_name = "y coordinate of projection" ; 

 y:standard_name = "projection_y_coordinate" ; 

 double x(x) ;

 x:units = "meter" ; 

 x:long_name = "x coordinate of projection" ; 

 x:standard_name = "projection_x_coordinate" ; 

 float snowmelt(time, y, x) ; 

 snowmelt:units = "inches_per_day" ; 

 snowmelt:valid_min = 0.f ; 

 snowmelt:valid_max = 2000.f ; 

 snowmelt:valid_range = 0.f, 2000 f ; 

 snowmelt:_FillValue = -9.9e 20f ; 

 snowmelt:coordinates = "lat lon" ; 

 snowmelt:grid_mapping = "crs" ; 

 int crs ; 

 crs:grid_mapping_name = "transverse_mercator" ; 

 crs:latitude_of_projection_origin = 0.f ; 

 crs:longitude_of_central_meridian = -90.f ; 

 crs:scale_factor_at_central_meridian = 0.9996f ; 

 crs:false_easting = 520000.f ; 

 crs:false_northing = -4480000 f ; 

 crs:datum = "NAD83" ; 

 crs:units = "meter" ; 

 crs:PROJ.4_string = "+proj=tmerc +lat_0=0.0 +lon_0= 90.0 +k=0.9996 +x_0=520000 

+y_0=-4480000·+datum=NAD83 +units=m" ; 

 double lat(y, x) ; 

 lat:units = "degrees_north" ; 

 lat:long_name·=·"latitude"·; 

 lat:standard_name·=·"latitude"·; 

 double lon(y, x)·; 

 lon:units = "degrees_east" ; 

 lon:long_name = "longitude" ; 

 lon:standard_name = "longitude" ; 

// global attributes: 

 :source = "snowmelt output from SWB run started on Mar 15 2017 16:51:01." ; 

 :executable_version = "version 2.0 ALPHA, Git branch: master,·Git commit hash 

string: 6aa729c, compiled on: Mar 15 2017 16:29:00 " ; 

 :conventions = "CF-1.6" ; 

 :history·= "Mar 15 2017 16:51:01: Soil Water Balance run started." ; 

}

Figure 2–7. Example header data from a Soil-Water-Balance (SWB) version 2.0 output netCDF file. 
Appendix 2. User Guide 51

Figure 2–8. Subset of a Soil-Water-Balance (SWB) log file as displayed in a Markdown editor.

Cartographic Projections and 

Resampling

A significant feature added to SWB since the initial 

release is the ability to use datasets that differ from the base 

grid in grid cell size, cartographic projection, and geographic 

extent. To accomplish this ability, SWB incorporates a 

software library called PROJ.4 to perform transformations 

among various map projections. PROJ.4 was originally 

written by Gerald Evenden of the U.S. Geological Survey 

(Evenden, 1990).

The specific attributes of a projection are defined by 

supplying SWB with a PROJ.4 string. A PROJ.4 string 

may be assembled by specifying a combination of the 

appropriate PROJ.4 parameters (table 2–5) to describe the 

cartographic projection.

Assembling a string from several PROJ.4 parameters 

results in a definition of a cartographic projection. This 

string is used by SWB and PROJ.4 to transform coordinates 

to the base project coordinate system. Some common 

cartographic projections are listed in table 2–6. Note that the 

Michigan Oblique Mercator projection offers an example of 

a PROJ.4‐supported projection that allows for grid rotation 

by means of the alpha parameter. Groundwater models are 

often rotated to align with underground geologic features; 

creating a custom oblique Mercator projection might be a 

clean way to allow for grid rotation while maintaining a way 

to reproject the results into a more common cartographic 

projection scheme. 
52 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 2–5. List of commonly used PROJ.4 parameter names.

Parameter Definition

+a Semimajor radius of the ellipsoid axis.

+alpha Used with Oblique Mercator and possibly a few others.

+axis Axis orientation.

+b Semiminor radius of the ellipsoid axis.

+datum Datum name.

+ellps Ellipsoid name.

+k Scaling factor (old name).

+k_0 Scaling factor (new name).

+lat_0 Latitude of origin.

+lat_1 Latitude of first standard parallel.

+lat_2 Latitude of second standard parallel.

+lat_ts Latitude of true scale.

+lon_0 Central meridian.

+lonc Longitude used with Oblique Mercator and possibly a few others.

+lon_wrap Center longitude to use for wrapping.

+nadgrids Filename of NTv2 grid file to use for datum transforms.

+no_defs Do not use the /usr/share/proj/proj_def.dat defaults file.

+over Allow longitude output outside -180 to 180 range, disables wrapping.

+pm Alternate prime meridian.

+proj Projection name.

+south Denotes southern hemisphere Universal Transverse Mercator zone.

+to_meter Multiplier to convert map units to 1.0 meter.

+towgs84 3 or 7 term datum transform parameters.

+units Meter (for example, U.S. survey foot))

+vto_meter Vertical conversion to meter.

+vunits Vertical units.

+x_0 False easting.

+y_0 False northing.

+zone Universal Transverse Mercator zone.

SWB takes the following additional steps to compute the 

correct coordinates for the project grid:

1. creates an array of coordinates for the data grid in native 

projected coordinates,

2. transforms the native projected coordinates to SWB base 

coordinates,

3. determines the indices (row, column) for the data grid 

cell closest to each of the SWB base coordinates,

4. obtains the data-grid values for the set of indices in 

step 3, and

5. returns an array of all the values obtained in step 4.

The process outlined in these steps is essentially a 

nearest-neighbor resampling scheme. A more complex process 

would result in much slower execution times. The SWB user, 

therefore, must determine whether or not a nearest-neighbor 

type process is acceptable.

If, for example, the data grid contains precipitation data 

at a 4-kilometer grid resolution and the underlying SWB base 

resolution is 200 meters, SWB will apply the precipitation 

value from the coarse grid that corresponds to the coordinates 

of the center of the SWB grid cell. Interpolating this type of 

data could be done, but would provide only the illusion of 

greater accuracy—a smoother precipitation surface.
Appendix 2. User Guide 53

Table 2–6. PROJ.4 strings for some commonly used cartographic projections.

[WGS84, World Geodetic System 1984]

Projection name PROJ.4 string

 Unprojected, WGS84 

(geographic coordinates)

+proj=lonlat +datum=WGS84 +no_defs

Universal Transverse Mercator 

(UTM), zone 18

+proj=utm +zone=18 +north +ellps=GRS80 +datum=NAD83 +units=m 

+no_defs

Wisconsin Transverse 

Mercator (WTM)

+proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-

4480000 +datum=NAD83 +units=m

Lambert Conformal Conic +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-100.0 +x_0=0.0 

+y_0=0.0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs

Michigan Oblique Mercator +proj=omerc +lat_0=45.30916666666666 +lonc=-86 +alpha=337.25556 

+k=0.9996 +x_0=2546731.496 +y_0=-4354009.816 +ellps=GRS80 

+datum=NAD83 +units=m +no_defs

North America Albers Equal 

Area Conic

+proj=aea +lat_1=20 +lat_2=60 +lat_0=40 +lon_0=-96 +x_0=0 +y_0=0 

+datum=NAD83 +units=m +no_defs

United States Contiguous 

Albers Equal Area Conic 

(U.S. Geological Survey 

version)

+proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23 +lon_0=-96 +x_0=0 

+y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs

United States Contiguous 

Albers Equal Area Conic

proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=37.5 +lon_0=-96 +x_0=0 

+y_0=0 +ellps=GRS80 +datum=NAD83 +units=m +no_defs

However, if the SWB base grid is 1 kilometer and the underlying data grid contains land-use data at a 90-meter resolution, 

the algorithm implemented by SWB may or may not be acceptable. A majority filter may be invoked for integer grids, but will 

still characterize the land uses present in a subset of the data-grid cells corresponding to the SWB base-grid cell. In the case 

where the underlying data grid is of much higher resolution than the SWB computational grid, an external GIS procedure may 

be preferred to resample the land use to the SWB base-grid resolution; resampling with some type of mean (for real data) or 

modal function (for integer data) would be ideal.

Specification of a cartographic projection for an SWB model is accomplished with the BASE_PROJECTION_DEFINITION

control file statement. For example, to specify that the coordinates of a model grid be interpreted by means of the Wisconsin 

Transverse Mercator projection, the following control file statement would be added:

BASE_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-

4480000 +datum=NAD83 +units=m.

Gridded Datasets

SWB currently can make use of gridded data in the following three formats: Surfer, Esri Arc ASCII, or netCDF. Of these 

formats, only Surfer and Arc ASCII grids may be used as a source for the input data grids discussed in the previous section. 

All three file formats may be used to supply daily weather data to SWB. Often, one or more files constituting a time series 

of gridded data are required to perform a simulation. In addition, missing values are often a feature of these gridded datasets, 

which can cause numerical errors in the simulation results. These topics are discussed further in the following sections. The 

functionality and control file syntax discussed in this section applies regardless of what type of grid file is being used.
54 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Specifying Grid Filenames

To specify a series of grid files for use with SWB, a filename template can be used in place of a normal filename. For 

example, more than 43,000 individual Arc ASCII grids were supplied to make a 100-year model run for the Lake Michigan 

Pilot Water Availability Study. The files were given names with the pattern precip-month-day-year.asc; for example, 

precip-02-12-1967.asc. The control file syntax required to specify this file naming convention was as follows:

PRECIPITATION ARC_GRID precip-%0m-%0d-%Y.asc.

In the filename template, the meanings for the characters that immediately follow the percent symbol (%) are as follows: 

%0m, the month number (1-12), padded by a leading zero; %0d, the day of the month, padded by a leading zero; and %Y, the 

four-digit year value. More of these filename template values are listed in table 2–7.

In addition, three modifiers may be specified in the control file if SWB is being run on a computing platform where 

capitalization is significant, as is the case for the Linux or MacOS operating systems (fig. 2–9).

The modifiers are to be used in the control file prefixed by the data name. For example, to ensure uppercase month names 

are used in conjunction with precipitation data files, PRECIPITATION_MONTHNAMES_UPPERCASE can be added to the control file. 

When the various control- file modifiers are used together, SWB can locate and use a variety of files without requiring that the 

files be renamed. Some common file naming patterns and corresponding SWB template statements are listed in table 2–8.

Table 2–7. Soil-Water-Balance (SWB) control file template values for specifying a series of filenames.

Template value Meaning

%Y or %y Four-digit year value.

%m Month number, not zero padded (1–12).

%0m Month number, zero padded (01–12).

%b Abbreviated (three-letter) month name (jan-dec).

%B Full month name (january-december).

%d Day of month, not zero padded (1–31).

%0d Day of month, zero padded (01–31).

# File counter, reset each year beginning with 1.

#000 File counter with three positions of zero padding, reset each year (1-n).

_MONTHNAMES_CAPITALIZED

_MONTHNAMES_UPPERCASE 

_MONTHNAMES_LOWERCASE 

Figure 2–9. Control file modifiers for use in specifying month name capitalization.

Table 2–8. Examples showing the use of filename templates.

[–, none]

Example filename Template Control file modifier entry

prcp09Jan2010.asc prcp%0d%b%Y.asc PRECIPITATION_MONTHNAMES_CAPITALIZED

tmin_2011.nc4 tmin_%Y.nc4 –

tasmax-02-22-1977.asc tasmax-%0m-%0d-%Y.asc –

precip_january_1981.nc precip_%B_%Y.nc PRECIPITATION_MONTHNAMES_LOWERCASE
Appendix 2. User Guide 55

Options for Gridded Datasets

SWB has a set of common control file directives that 

may be used with any input gridded dataset. For each of the 

applicable gridded datasets, a standard set of suffixes may 

be added to the dataset name to control how SWB treats 

the dataset. The dataset prefixes understood by SWB 2.0 

are given in the previous section. The control file suffixes 

understood by SWB are listed in table 2–9.

More information regarding the use of some of 

the control file suffixes to handle missing data is in the 

“Treatment of Missing Values” and “Conversion Factors” 

sections.

Supported File Types

The following three file formats are supported as input to 

SWB: Surfer ASCII grids, Arc ASCII grids, and netCDF files. 

Both the Surfer and Arc ASCII grids amount to a rectangular 

matrix of data with several lines of header information 

prepended; any software could be used to create the data 

matrices as long as the header information can be provided. 

Each format is discussed further in the following sections.

Table 2–9. Control file suffixes for modifying gridded data input to Soil-Water-Balance (SWB) code.

[<, less than; <=, less than or equal to; >, greater than; >= greater than or equal to]

Suffix Argument Description

_SCALE_FACTOR real value Amount to multiply raw grid value by prior to use.

_ADD_OFFSET real value Amount to add to the raw grid value following 

application of the scale factor, if any.

_NETCDF_X_VAR string Name of the variable to be used as the x axis.

_NETCDF_Y_VAR string Name of the variable to be used as the y axis.

_NETCDF_Z_VAR string Name of the variable to be used as the z (value) axis.

_NETCDF_TIME_VAR string Name of the variable to be used as the time axis.

_NETCDF_VARIABLE_ORDER “xyt or txy” Description of the order in which the gridded data were 

written.

_NETCDF_FLIP_VERTICAL none If present, gridded data will be flipped around the vertical 

axis.

_NETCDF_FLIP_HORIZONTAL none If present, gridded data will be flipped around the 

horizontal axis.

_PROJECTION_DEFINITION PROJ.4 string describing the geographic projection of the 

dataset.

_MINIMUM_ALLOWED_VALUE real value Ceiling to be applied to the data; data above this value 

will be reset to this amount.

_MAXIMUM_ALLOWED_VALUE real value Floor to be applied to the data; data beneath this value 

will be reset to this amount.

_MISSING_VALUES_CODE real or integer 

value

Value.

_MISSING_VALUES_OPERATOR <, <=, >, >= Operator to use for comparison to the _MISSING_

VALUES_CODE.

_MISSING_VALUES_ACTION mean or zero Supplying the keyword “mean” will substitute the 

mean value calculated over the remaining valid cells; 

supplying the keyword “zero” will substitute a value of 

0.0 in place of missing values.
56 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Surfer Ascii Grid

Golden Software’s ASCII grid format consists of a 

five‐line header followed by the data values arranged in 

a matrix. An example Surfer ASCII grid file is shown in 

figure 2–10.

The header values contain the following information.

• Line 1, DSAA, a label identifying the file format as a 

Golden Software ASCII grid

• Line 2, number of columns (number of X values) 

number of rows (number of Y values)

• Line 3, minimum X value, maximum X value

• Line 4, minimum Y value, maximum Y value

• Line 5, minimum Z value, maximum Z value

• Lines 6 through 10, Z-values

For the file shown in figure 2–10, the coordinate system 

has its origin in the lower left-hand corner, with x and y 

coordinates increasing toward the upper right-hand corner. 

Surfer files are not explicitly georeferenced to real-world 

coordinate systems. 

Arc Ascii Grid

The publishers of ArcMap and ArcView software, Esri, 

developed one of the most commonly used raster-data formats 

in use. Esri’s Arc ASCII grid format is a matrix representation 

of the gridded dataset with a short header tacked to the top 

of the file (U.S. Library of Congress, 2015). In an Arc ASCII 

grid, the data are arranged as though a user is viewing the data 

from above. The coordinates for the lower left-hand corner 

of the lower left-hand grid cell are specified as xllcorner 

and yllcorner in figure 2–11. The value stored in the lower 

left‐hand grid cell is a 7, which is shown in the bottom row 

and left-most column of figure 2–11.

Note that SWB does not process the NODATA_ 

value codes as given in the Arc ASCII grid files; missing 

values should be handled through the use of user-supplied, 

control‐file directives, discussed later in this section.

DSAA 

14 5 

0.5 7.0 

-0.4 0.0 

0.0 7.0 

0.50 1.0 1.5 2.0 2.5 3.0 3.5 4.0 4.5 5.0 5.5 6.0 6.5 7.0 

0.45 0.9 1.4 1.9 2.4 2.9 3.4 3.9 4.4 4.9 5.4 5.9 6.4 6.9 

0.40 0.8 1.3 1.8 2.3 2.8 3.3 3.8 4.3 4.8 5.3 5.8 6.3 6.8 

0.36 0.7 1.2 1.7 2.2 2.7 3.2 3.7 4.2 4.7 5.2 5.7 6.2 6.7 

0.32 0.6 1.1 1.6 2.1 2.6 3.1 3.6 4.1 4.6 5.1 5.6 6.1 6.6 

Figure 2–10. Example showing a Golden Software Surfer ASCII grid file.

ncols 34

nrows 4

xllcorner 739475.0

yllcorner 2314000.0

cellsize 10.0

NODATA_value -9999 

9 9 9 9 9 9 9 9 9 9 9 8 8 8 8 8 8 8 9 9 9 9 9 9 8 8 8 8 8 8 8 8 9 9 

7 7 7 7 7 7 7 7 7 7 7 7 7 7 7 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 

7 7 7 7 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 

7 7 7 7 7 7 7 7 7 7 6 6 6 7 7 7 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 

Figure 2–11. Example showing an Arc ASCII grid file.
Appendix 2. User Guide 57

netCDF

NetCDF is a file format commonly used by researchers 

in atmospheric and oceanic sciences. A key benefit of netCDF 

files is that they are designed to be platform independent; 

in other words, a netCDF file generated on a Macintosh 

computer by an application compiled with the GNU compiler 

collection gfortran compiler should be able to be read by 

an application that is compiled with the Intel compiler and 

running on Windows. In addition, netCDF files are able to 

store arbitrary combinations of data. This ability allows for 

substantial metadata to be stored in the netCDF file along with 

the variable of interest.

A set of conventions, known as the Climate and Forecast 

Metadata Conventions, gives recommendations regarding 

the type and nature of metadata to be included along with 

the primary variable within a netCDF file (Eaton and others, 

2011). SWB outputs written to netCDF files attempt to adhere 

to the Climate and Forecast Metadata Conventions version 1.6 

(CF 1.6) to maximize the number of third-party netCDF tools 

that will work with SWB output.

In addition to these benefits of netCDF file use, the 

fact that dozens of open-source tools are available to read, 

write, and visualize netCDF files makes them a good format 

for use with SWB. A basic tool called ncdump—a program 

to dump the contents of a netCDF file—is distributed by 

Unidata, the maintainer of netCDF file format. Issuing the 

command ncdump –h along with the filename will cause the 

header information and other various metadata to be printed to 

the screen.

As an example, one useful source for gridded daily 

weather data is the Daymet product containing gridded daily 

precipitation and air temperature for the conterminous United 

States on a 1 kilometer grid-cell spacing (Thornton and others, 

2016). The metadata stored in the file reveals a variety of 

useful information about the file contents (fig. 2–12).

This particular file contains three classes of metadata 

pertaining to dimensions, variables, and global attributes. The 

file contains data pertaining to four dimensions—x, y, time, 

and nv. For this file, the x and y dimensions may be thought 

of in terms of Cartesian coordinates—x refers to the number 

of cells in the east-west orientation, whereas y refers to the 

number of cells in the north-south orientation. The dimension 

time is declared unlimited; this file could contain many days of 

daily weather data. In this case, the time dimension is of size 

365, which means the file contains 1 year of data. Dimension 

nv is of size 2 and exists so that the variable time_bnds can 

contain a starting and ending date and a time stamp. 

Each of the nine variables defined is referenced in terms 

of the dimensions. The key variable in the file is named 

“prcp”—the daily precipitation value. The daily precipitation 

value is defined at each time (day) in the file for all values of 

x and y. Note the way that dates and times are specified in the 

netCDF file—as a real-valued number of days since 1980-01-

01 00:00:00 UTC.

The grid-cell location is specified in the following two 

ways: in terms of projected (x, y) coordinates, as well as in 

geographic (longitude, latitude) coordinates. Often netCDF 

files will be written so that both projected and geographic 

coordinates are provided, ensuring that third-party software 

applications will be able to correctly interpret the location of 

each data value. 

SWB does not have the ability to process and make use 

of much of the metadata included in the netCDF file header. 

The user is responsible for being aware of the physical 

units that each of the datasets is stored in, and must supply 

control file directive to SWB to ensure that the data are used 

correctly. For example, control file directives must often be 

included in the SWB control file to cause SWB to convert 

precipitation in metric units (millimeters per day) to inches 

per day. The authors recommend examining the SWB output 

values of air temperature and precipitation to verify that any 

such unit conversions have been done correctly. Some of the 

temperature conversion suffixes are particularly easy to forget, 

which leads to disastrous SWB results. SWB will still run 

with the incorrect daily weather values. For example, if air 

temperatures are given in degrees Celsius but no offset or scale 

factor values are provided, the air temperatures processed by 

SWB will never exceed a numerical value of 30 or 40 degrees 

Celsius; SWB will process these values as though the values 

are given in degrees Fahrenheit, which results in considerable 

snowfall and snowmelt and unrealistically elevated net 

infiltration values.

In addition, SWB cannot parse the netCDF variables 

and attributes associated with any map projection that may 

have been used when the netCDF file was created. The user 

needs to be aware of the geographic projection (if any) that 

was used. If the gridded data do not match the SWB project 

bounds exactly, a PROJ.4 string must be provided to enable 

SWB to translate between project coordinates and the netCDF 

file coordinates.

As an example, look again at the metadata included 

in figure 2–12. The creators of this dataset have provided a 

variable (lambert_conformal_conic) and have attached several 

attributes to the variable to help ensure correct georeferencing 

of the coordinate values. The PROJ.4 string can be constructed 

from the metadata attached to the lambert_conformal_conic 

variable (fig. 2–13).
58 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

netCDF daymet_v3_prcp_2014_na { 

dimensions: 

 x = 7814 ; 

 y = 8075 ; 

 time = UNLIMITED ; // (365 currently) 

 nv = 2 ; 

variables: 

 float x(x) ; 

 x:units = "m" ; 

 x:long_name = "x coordinate of projection" ; 

 x:standard_name = "projection_x_coordinate" ; 

 float y(y) ; 

 y:units = "m" ; 

 y:long_name = "y coordinate of projection" ; 

 y:standard_name = "projection_y_coordinate" ; 

 float lat(y, x) ;

 lat:units = "degrees_north" ; 

 lat:long_name = "latitude coordinate" ; 

 lat:standard_name = "latitude" ; 

 float lon(y, x) ; 

 lon:units = "degrees_east" ; 

 lon:long_name = "longitude coordinate" ; 

 lon:standard_name = "longitude" ; 

 float time(time) ; 

 time:long_name = "time" ; 

 time:calendar = "standard" ; 

 time:units = "days since 1980-01-01 00:00:00 UTC" ; 

 time:bounds = "time_bnds" ; 

 short yearday(time) ; 

 yearday:long_name = "yearday" ; 

 float time_bnds(time, nv) ; 

 short lambert_conformal_conic ; 

 lambert_conformal_conic:grid_mapping_name = "lambert_conformal_conic" ; 

 lambert_conformal_conic:longitude_of_central_meridian = -100. ; 

 lambert_conformal_conic:latitude_of_projection_origin = 42.5 ; 

 lambert_conformal_conic:false_easting = 0. ; 

 lambert_conformal_conic:false_northing = 0. ; 

 lambert_conformal_conic:standard_parallel = 25., 60. ; 

 lambert_conformal_conic:semi_major_axis = 6378137. ; 

 lambert_conformal_conic:inverse_flattening = 298.257223563 ; 

 float prcp(time, y, x) ; 

 prcp:_FillValue = -9999.f ; 

 prcp:long_name = "daily total precipitation" ; 

 prcp:units = "mm/day" ; 

 prcp:missing_value = -9999.f ; 

 prcp:coordinates = "lat lon" ; 

 prcp:grid_mapping = "lambert_conformal_conic" ; 

 prcp:cell_methods = "area: mean time: sum" ; 

// global attributes: 

 :start_year = 2014s ; 

 :source = "Daymet Software Version 3.0" ; 

 :Version_software = "Daymet Software Version 3.0" ; 

 :Version_data = "Daymet Data Version 3.0" ; 

 :Conventions = "CF-1.6" ; 

 :citation = "Please see http://daymet.ornl.gov/ for current Daymet data citation information" ; 

 :references = "Please see http://daymet.ornl.gov/ for current information on Daymet references" ; 

} 

Figure 2–12. Metadata embedded in a Daymet, version 3 precipitation netCDF file (Thornton and others, 2016).
Appendix 2. User Guide 59

The netCDF file metadata does not include any 

details about the ellipse (PROJ.4 keyword ellps) or datum 

associated with this projection. However, the semi_

major_axis and inverse_flattening” attribute values are 

consistent with the GRS80 definition (Moritz, 2000). In 

this example, the standard parallels as defined by lat_1 and 

lat_2 in figure 2–13 differ from the standard parallels of 

33 degrees and 45 degrees as described in Snyder (1987). 

Supplying the standard values in the SWB control file, at 

best, would cause SWB to issue a warning about a mismatch 

between the data coverage and the model domain and, at 

worst, would run anyway, supplying incorrect daily weather 

data to the model. In other words, SWB checks to see that 

numerically valid coordinates are present and that the weather 

data cover the region defined by the base grid. However, SWB 

cannot detect an incorrect user-supplied PROJ.4 string. Users 

are encouraged to examine the SWB output files containing air 

temperature and precipitation data to verify that daily weather 

data are being correctly interpreted by SWB.

An explicit definition of the grid spacing is not 

included as an attribute in the header of the netCDF file 

(fig. 2–12). However, grid spacing can be gleaned from 

the coordinate variable values themselves. Running the 

command-line utility ncdump with the option -v x

(ncdump -v x daymet_v3_prcp_2014_na.nc4 ) produces the 

output shown in figure 2–14.

By subtracting two adjacent x coordinate values, the 

grid spacing in the x direction is 1,000 meters. Subtracting 

two adjacent y coordinate values (not shown) also produces 

1,000 meters; therefore, the grid cells are square and measure 

1 kilometer on a side.

Treatment of Missing Values

Missing values in datasets can be an issue during a 

SWB simulation. Generally, SWB will detect most obvious 

issues, such as numerical values outside of a reasonable 

range of values. However, missing values that are within the 

expected normal range of values for the dataset could lead to 

unexpected results. For example, an air temperature value that 

is interpreted as zero rather than being treated as a missing 

value would result in a cell being simulated with permanent 

winter conditions.

 SWB has a few actions that may be taken to deal with 

the issue of missing values. These actions are triggered 

through a set of control file directives that are supplied as 

suffixes to the dataset they pertain to (table 2–10).

For example, gridded weather datasets typically end 

abruptly at the edge of a large waterbody, which from the 

perspective of interpolations is done for valid reasons. 

However, a dataset that ends abruptly at the edge of a 

large water body often leads to extreme edge effects on the 

SWB results.

A crude but effective way to overcome this limitation 

in the climate dataset is to enforce some type of value 

substitution for the affected cells. For example, to eliminate 

zones of zero precipitation around a large waterbody, control 

file statements might be added to inform SWB that the mean 

value is to be used in place of missing data values (fig. 2–15).

Including this syntax in the control file would result in the 

mean value of the valid cells being substituted for the missing 

values across the model grid for a day.

+proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-100.0 +x_0=0.0 +y_0=0.0 +ellps=GRS80 

+datum=NAD83 +units=m +no_defs 

Figure 2–13. PROJ.4 string for a Daymet, version3 netCDF file (Thornton and others, 2016).

Figure 2–14. Partial listing of the x variables embedded in a Daymet, version 3 netCDF file (Thornton and others, 2016).

 3232750, 3233750, 3234750, 3235750, 3236750, 3237750, 3238750, 3239750, 

 3240750, 3241750, 3242750, 3243750, 3244750, 3245750, 3246750, 3247750, 

 3248750, 3249750, 3250750, 3251750, 3252750 ; 
60 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 2–10. Control file suffixes for treatment of missing data.

[<, less than; <=, less than or equal to; >, greater than; >= greater than or equal to]

Suffix Argument Default value Description 

_MINIMUM_ALLOWED_VALUE real value _MINIMUM_ALLOWED_VALUE Ceiling to be applied to the data; data 

above this value will be reset to this 

amount.

_MAXIMUM_ALLOWED_VALUE real value _MAXIMUM_ALLOWED_VALUE Floor to be applied to the data; data 

beneath this value will be reset to 

this amount.

_MISSING_VALUES_CODE real or integer 

value

_MISSING_VALUES_CODE Value.

_MISSING_VALUES_OPERATOR <, <=, >, >= _MISSING_VALUES_OPERATOR Operator to use for comparison to the 

_MISSING_VALUES_CODE.

_MISSING_VALUES_ACTION mean or zero _MISSING_VALUES_ACTION Supplying the keyword “mean” will 

substitute the mean value calculated 

over the remaining valid cells; 

supplying the keyword “zero” will 

substitute a value of 0.0 in place of 

missing values.

PRECIPITATION_MISSING_VALUES_CODE 0.0 

PRECIPITATION_MISSING_VALUES_OPERATOR < 

PRECIPITATION_MISSING_VALUES_ACTION MEAN 

Figure 2–15. Control file statements used to request that Soil Water Balance (SWB) code substitute mean daily air 

temperatures in areas of missing data.

Conversion Factors

SWB still uses U.S. customary units for many dimensions (inches, degrees Fahrenheit), primarily for historical reasons. 

Most available gridded climate data are encoded in metric units. In order for SWB to make use of these data sources, conversion 

factors or offsets, or both must be provided. In theory, to craft a code that would read the standard climate forecast elements 

from the metadata of a netCDF file should be possible; however, in practice, too many gridded datasets are still in existence 

that do not adhere to the standards. For now (2017), the user must handle unit conversion explicitly in the control file. The 

control‐file syntax is listed in table 2–11.

For example, most air-temperature data are stored with units of degrees Celsius. To make use of this data grid with SWB, 

control-file syntax would be added to specify the scale factor and offset to apply to the data. The scale factor and offset values as 

applied to minimum air-temperature data (TMIN) are shown in figure 2–16.

Table 2–11. Control file suffixes for use in performing unit conversions of values read from grids. 

Suffix Argument Description

_SCALE_FACTOR real value Amount to multiply raw grid value by prior to use.

_ADD_OFFSET real value Amount to add to the raw grid value following application of the scale factor.

TMIN_SCALE_FACTOR 1.8 

TMIN_ADD_OFFSET 32.0 

Figure 2–16. Control file syntax for conversion of minimum air temperature data from degrees Celsius to degrees 

Fahrenheit.
Appendix 2. User Guide 61

This syntax will cause SWB to convert all values in the 

minimum air temperature grid from Celsius to Fahrenheit 

before performing any water balance calculations.

Inactive Grid Cells

Grid cells outside the area of interest to the user may be 

inactivated. SWB will use information from certain standard 

grids to determine which grid cells should remain active 

during the course of a simulation; namely, the land-use, 

soil-type, and available water-capacity grids. A negative 

value in the land-use, soil-type, or available water-capacity 

grids causes SWB to mark the cell as inactive; the cell will 

be removed from further calculations. The missing value 

treatments discussed in the previous section could interfere 

with this interpretation; the user is discouraged from using 

the missing value treatments to these grids. Because integer 

grids with missing values are often encoded with -9999, these 

negative values were used to help define active and inactive 

grid cells.

If the user does not wish to have cells with missing 

values inactivated, some GIS preprocessing will be needed to 

ensure that SWB can separate inactive cells from those with 

missing values. A strategy might be to convert active-cell 

missing values to an extremely large positive number, then use 

SWB’s control file directives to find these values and convert 

them to appropriate values.

References Cited

Anderson, J.R., Hardy, E.E., Roach, J.T., Witmer, R.E., 1976, 

A land use and land cover classification system for use with 

remote sensor data, U.S. Geological Survey Professional 

Paper 964, 28 p.

Eaton, B., Gregory, J., Drach, B., Taylor, K., Hankin, S., 

Caron, J., Signell, R., Bently, P., Rappa, G., Heinke, H., 

Pamment, A., and Juckes, M., 2011, netCDF climate 

and forecast (CF) metadata conventions (version 1.6), 

accessed February 8, 2016, at http://cfconventions.org/

cf-conventions/v1.6.0/cf-conventions.html.

Evenden, G.I., 1990, Cartographic projection procedures for 

the UNIX environment—A user’s manual: U.S. Geological 

Survey Open-File Report 90–284, 63 p., accessed 

August 29, 2017, at http://pubs.er.usgs.gov/publication/

ofr90284.

Gruber, J., 2012, Markdown—Syntax, accessed September 28, 

2017, at https://daringfireball.net/projects/markdown/

syntax.

Jenson, S.K., and Domingue, J.O., 1988, Extracting 

topographic structure from digital elevation data 

for geographic information system analysis: 

Photogrammetric engineering and remote sensing, v. 54, 

no. 11, p. 1593–1600.

Macholl, J.A., Clancy, K.A., and McGinley, P.M., 2011, 

Using a GIS model to identify internally drained areas and 

runoff contribution in a glaciated watershed: Journal of the 

American Water Resources Association (JAWRA), v. 47, 

no. 1, p. 114–125.

Moritz, H., 2000, Geodetic reference system 1980: Journal of 

Geodesy, v. 74, no. 1, p. 128–133.

O’Callaghan, J.F., and Mark, D.M., 1984, The extraction of 

drainage networks from digital elevation data: Computer 

vision, graphics, and image processing, v. 28, no. 3, 

p. 323–344.

Richards, P.L., and Brenner, A.J., 2004, Delineating source 

areas for runoff in depressional landscapes—Implications 

for hydrologic modeling: Journal of Great Lakes Research, 

v. 30, no. 1, p. 9–21.

Snyder, J.P., 1987, Map projections–A working manual: U.S. 

Geological Survey Professional Paper 1395, 383 p.

Thornthwaite, C.W., and Mather, J.R., 1957, Instructions and 

tables for computing potential evapotranspiration and the 

water balance: Publications in Climatology, v. 10, no. 3, 

p. 1–104.

Thornton, P.E., Thornton, M.M., Mayer, B.W., Wei, Y., 

Devarakonda, R., Vose, R.S., and Cook, R.B., 2016, 

Daymet—Daily surface weather data on a 1-km grid for 

North America (version 3): accessed August 16, 2016, at 

http://dx.doi.org/10.3334/ORNLDAAC/1328.

Torvalds, L., and Hamano, J., 2010, Git web page: accessed 

August 29, 2017, at http://git-scm.com/.

Unidata, 2014, netCDF—Network common data format: 

Boulder, Colo., UCAR/Unidata Program Center.

U.S. Library of Congress, 2015, ESRI ArcInfo ASCII grid: 

Sustainability of Digital Formats, Planning for Library of 

Congress Collections, accessed June 5, 2017, at https://

www.loc.gov/preservation/digital/formats/fdd/fdd000421.

shtml.
62 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Appendix 3. Input Data, Lookup-Table Entries, and Control-File 

Directives by Method

Soil-Water-Balance (SWB) code was designed so that 

parameters may be supplied to the model on an as-needed 

basis. As more calculation methods were added to the original 

SWB version 1.0 code, the input requirements increased and 

become more complicated. For this reason, the authors created 

a flexible table-based format that allows parameters to be 

supplied in any order convenient to the user. As with SWB 

version 1.0, the key value in the lookup table (or tables) is 

the land-use code; all parameter values supplied in the tables 

must contain values for each of the land-use values present 

in the land-use grid file. Land-use values must be in the same 

order in all of the tables. For example, if one supplied two 

tables, one ordered by increasing land-use code values, and 

the other with land-use codes in random order, it is certain that 

the output SWB results would be corrupted. The mismatch in 

land-use codes between the tables would result in parameter 

values being paired with incorrect land-use codes.

For table-based parameter entry, the proper parameter 

name must be entered in the header of the file. Case does not 

matter for these heading entries: DEPLETION_FRACTION 

will work as well as depletion_fraction or Depletion_Fraction. 

For some methods, multiple heading values are recognized as 

equivalent to one another. For example, to identify a particular 

table column as holding land-use/land-cover codes, SWB 

recognizes any of the following: LU_Code, Land_use_Code, 

or Land use lookup Code. Note also, that SWB will fill any 

blank spaces in the header with underscores before evaluating 

the values therein. Thus, Land use lookup Code will be treated 

as Land_use_Lookup_Code by SWB. The idea is that if an 

identification makes sense to the modeler, the identification 

should be recognized by SWB.

Note that many processes require entries in both the 

control file and the lookup tables. In addition, some parameters 

have been designed so that they may be provided by 

lookup‐table entries and by a control-file entry that specifies 

a gridded parameter set. The provision for accepting values 

from tables or grid files was done to provide the user with 

maximum flexibility regarding parameter-value specification. 

This section describes in detail the data, lookup-table 

entries, and control-file requirements for each method 

currently implemented in SWB.

Precipitation

Three methods exist to supply SWB with daily 

precipitation data. The required control-file syntax and lookuptable entries for each method are listed in tables 3–1 and 3–2.

The method of fragments requires the following specific 

datasets to function: (1) grid of rainfall zones, (2) month‐year 

or monthly grids of precipitation, and (3) a fragments file 

containing a record of the fraction of monthly rainfall falling 

on each day of the month, associated with a set of rain gages. 

Rain gages considered for fragment generation should be 

selected based on proximity to the area of interest and the 

length and completeness of daily records. Thiessen polygons 

are drawn around each of the selected rain gages and the daily 

rainfall pattern within each Thiessen polygon is assumed 

to be the same as the pattern at the rain gage. Daily rainfall 

fragments are generated by dividing each daily rainfall 

measurement for a particular month by the total rainfall 

measured at the gage for that month. This calculation results 

in a set of fragments for that particular month in which the 

total number of fragments is equal to the number of days in 

the month. Daily rainfall for a given month is synthesized by 

multiplying total rainfall for that month by each fragment in 

the set.

Fragment sets are compiled for every selected gage for 

every month in which complete daily rainfall measurements 

are available. Fragment sets are grouped by month of the 

year and by rain gage. In the water-balance calculation, 

the fragment set used for a given gage for a given month is 

selected randomly from among available sets for that gage 

for that month. An extract from a fragments file is shown in 

figure 3–1.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 63

Table 3–1. Precipitation-method control-file entries.

[–, no entry]

Control-file syntax Notes

Method—Tabular

PRECIPITATION_METHOD TABULAR TABLE is also an acceptable 

method name.

Method—Gridded data

PRECIPITATION_METHOD GRIDDED Control-file entries pertaining 

to the specification of 

the input-precipitation 

grids are not listed in this 

table. Information about 

specification of gridded 

datasets is in appendix 2.

Method—Method of fragments

PRECIPITATION_METHOD METHOD_OF_FRAGMENTS –

PRECIPITATION {grid type} {gridfile name} This statement identifies a time 

series of monthly totalprecipitation grids. These 

precipitation grids could 

include a set of 12 monthly 

total precipitation grids 

representing average total 

precipitation over a range 

of years, or a time series of 

monthly total precipitation 

grids for which a separate 

grid exists for each month and 

year in the simulation.

RAINFALL_ZONE {grid type} {gridfile name}

RAINFALL_ADJUST_FACTOR_PROJECTION_DEFINITION {PROJ4 string defining projection}

This grid associates a Thiessen 

Polygon rainfall zone with a 

particular precipitation gage.

RAINFALL_ADJUST_FACTOR {grid type} {gridfile name}

RAINFALL_ADJUST_FACTOR_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid allowing for spatial 

correction of monthly 

precipitation values. If this 

grid is not desired, the user 

can specify RAINFALL_

ADJUST_FACTOR 

CONSTANT 1.0.

FRAGMENTS_DAILY_FILE {path and filename of rainfall

 fragments file} 

See figure 3–1 for an example 

showing the contents of a 

daily fragments file.
64 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 3–2. Precipitation-method lookup-table entries.

[mm/dd/yyyy, month/day/year; –, no entry]

Field name (column name) Units Data type Dimension Notes

Method—Tabular input

weather_date mm/dd/yyyy Character Number of date values –

precipitation_amount Inch Float Number of date values –

Method—Gridded input

– – – – –

Method—Method of fragments

– – – – –

10 1 1 0.073 0.000 0.139 0.000 0.230 0.048 0.007 0.005 0.000 ... 0.180 

10 2 1 0.013 0.032 0.040 0.021 0.005 0.023 0.038 0.001 0.000 ... 0.042 

10 3 1 0.014 0.101 0.127 0.000 0.000 0.043 0.000 0.000 0.000 ... 0.000 

10 4 1 0.000 0.000 0.049 0.175 0.000 0.000 0.014 0.497 0.000 ... 0.000 

10 5 1 0.006 0.000 0.000 0.000 0.011 0.357 0.055 0.006 0.011 ... 0.000 

10 6 1 0.018 0.000 0.000 0.000 0.002 0.002 0.029 0.210 0.000 ... 0.000 

10 7 1 0.023 0.109 0.117 0.141 0.070 0.023 0.020 0.098 0.039 ... 0.000 

10 8 1 0.021 0.000 0.019 0.000 0.008 0.036 0.061 0.000 0.000 ... 0.000 

Figure 3–1. Extract from a fragments file.

The fragments file (fig. 3–1) contains columns of data that consist of the following information. 

• Column 1 contains of month number (ranges from 1 to 12).

• Column 2 contains of rainfall zone (gage) identification number (ranges from 1 to the number of rainfall gages).

• Column 3 contains fragment index number (ranges from 1 to number of fragments for the given rainfall gage).

• Columns 4 through 34 consist of daily fragment values for each day of the month.

The sum of any given row for columns 4 through 34 will, by definition, equal 1. Values must be provided for 

columns 32 through 34 regardless of the actual number of days in the month. Providing values of zero in these columns for 

months with less than 31 days is suggested. SWB ignores the value provided for nonexistent days of the month.

The SWB control file needs to have a RAINFALL_ZONE directive specifying the distribution of rainfall zones (rainfall 

zone grid) for the model domain. A sequence of monthly rainfall grids also must be specified in the control file (for example, 

PRECIPITATION ARC_GRID precip_%0m_%Y.asc).
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 65

Interception

The bucket, Horton, and Gash methods are available for estimating the amount of precipitation intercepted by vegetation 

before reaching the soil reservoir. The bucket method is the simplest of the three methods, requiring that daily precipitation 

exceed some interception threshold before allowing the precipitation to reach the soil surface. The Horton method extends 

the bucket method by allowing for some additional fraction of daily precipitation to be captured as intercepted water. Finally, 

the Gash method allows interception to be estimated based on parameters describing the storage capacity and density of the 

vegetation. The control‐file syntax and lookup-table entries required to use any of these interception methods are listed in 

tables 3–3 and 3–4.

Table 3–3. Interception-method control-file entries.

[–, no entry]

Control-file syntax Notes

Method— Bucket

INTERCEPTION_METHOD BUCKET –

Method—Horton

INTERCEPTION_METHOD HORTON –

Method—Gash

INTERCEPTION_METHOD GASH –

FRACTION_CANOPY_COVER {grid type} {gridfile name}

FRACTION_CANOPY_COVER_PROJECTION_DEFINITION {PROJ4 string defining 

 projection}

–

EVAPORATION_TO_RAINFALL_RATIO {grid type} {gridfile name}

EVAPORATION_TO_RAINFALL_RATIO_PROJECTION_DEFINITION {PROJ4 string defining

 projection}

–
66 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 3–4. Interception-method lookup-table entries.

[–, no entry]

Field name (column name) Units Data 

type Dimension Notes

Method—Bucket

growing_season_interception Inch Float Number of land-use codes Amount of plant interception during 

the growing season, per day.

nongrowing_season_interception Inch Float Number of land-use codes Amount of plant interception during 

the nongrowing season, per day.

Method—Horton

growing_season_interception_a Inch Float Number of land-use codes a in interception = a + bPn

growing_season_interception_b Inch Float Number of land-use codes b in interception = a + bPn

growing_season_interception_n Unitless Float Number of land-use codes Exponent n in interception = 

a + bPn; Horton (1919) generally 

used an exponent value of 1.0.

nongrowing_season_interception_a Inch Float Number of land-use codes a in interception = a + bPn

nongrowing_season_interception_b Inch Float Number of land-use codes b in interception = a + bPn

nongrowing_season_interception_n Unitless Float Number of land-use codes Exponent n in interception = 

a + bPn; Horton (1919) generally 

used an exponent value of 1.0.

Method—Gash

canopy_storage_capacity Inch Float Number of land-use codes P S

c V sat = − ⋅ ln( ) 1− V ,

 see equation 1–1 in appendix 1 for 

details.

trunk_storage_capacity Inch Float Number of land-use codes –

stemflow_fraction Unitless Float Number of land-use codes –

Snowfall

SWB version 2.0 contains a single method for partitioning precipitation into rainfall and snowfall, the 

SINGLE_TEMPERATURE method. This method is the default method; therefore, a control-file entry is not required.

Snowmelt

SWB version 2.0 contains a single snowmelt method, the TEMPERATURE_INDEX method. This method is the default 

method; therefore, a control-file entry is not required.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 67

Fog Interception

The fog-interception method is set to NONE by default. Fog interception may be enabled by supplying a set of grids that 

specify the ratio of captured fog relative to the monthly rainfall rate. The control-file syntax and lookup-table entries needed to 

include fog interception in a simulation are listed in tables 3–5 and 3–6.

Table 3–5. Fog-interception control-file entries.

[–, no entry]

Control-file syntax Notes

Method— None

FOG_METHOD NONE TABLE is also an acceptable 

name.

Method—Gridded Data

FOG_METHOD GRIDDED Control-file entries pertaining to 

the input precipitation grids 

are not shown in this table.

Method—Gash

FOG_RATIO {grid type} {gridfile name}

FOG_RATIO_PROJECTION_DEFINITION {PROJ4 string defining projection}

The fog-ratio grid is meant to 

quantify the amount of fog 

interception as a ratio of fog 

to monthly rainfall amount.

Table 3–6. Fog-interception lookup-table entries.

[–, no entry]

Field name (column name) Units Data type Dimension Notes

Method—None

– – – – –

Method—Monthly grid

fog_catch_efficiency Unitless Float Number of land-use 

codes

Fog-catch efficiency is meant to quantify the fraction of 

the fog that is captured and actually ends up reaching 

the soil surface; the remainder of the captured fog is 

assumed to evaporate.
68 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

 Runoff

Runoff may be simulated in one of two ways. The first, and original, method is the Natural Resources Conservation Service 

CURVE_NUMBER method, which uses hydrologic soil groups and land-use codes to differentiate rainfall-runoff responses for 

each grid cell. The second method, derived from the Hawaii water-budget code, is the MONTHLY_GRID method, which uses 

externally calculated monthly runoff ratios relative to rainfall to derive runoff values. The control‐file syntax and lookup-table 

entries required for these methods are listed in tables 3–7 and 3–8.

Table 3–7. Runoff method control-file entries.

[–, no entry]

Control-file syntax Notes

Method— Curve number

RUNOFF_METHOD CURVE_NUMBER –

Method—Monthly grid

RUNOFF_METHOD MONTHLY GRID

 -orRUNOFF_METHOD RUNOFF_RATIO

_

RUNOFF_ZONE {grid type} {gridfile name}

RUNOFF_ZONE_PROJECTION_DEFINITION {PROJ4 string defining 

projection}

A set of runoff zones for which 

externally calculated runoff 

ratios should be applied.

RUNOFF_RATIO_MONTHLY_FILE {path and filename of monthly

 runoff ratio file}

See figure 3–1 for an example 

showing the contents of a 

daily-fragments file.

Table 3–8. Runoff method lookup-table entries.

[–, no entry]

Field name (column name) Units Data type Dimension Notes

Method—Curve number

CN_# Unitless Float Number of land-use 

codes x number of 

soil groups

For each land use, a curve number must be provided for 

each hydrologic soil group. If four hydrologic soil 

groups exist such that A=1, B=2, C=3, and D=4, the 

columns would be named as follows: CN_1, CN_2, 

CN_3, and CN_4.

Method—Monthly grid

– – – – No curve numbers are needed when using the monthly 

grid.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 69

Impervious Surface Runoff

Runoff from impervious surfaces may be simulated in a more detailed manner by including a gridded dataset defining 

the proportion of each grid cell that is comprised of impervious materials. Data on pervious surface coverage may be supplied 

either as a fraction (0.0–1.0) using the FRACTION_PERVIOUS_COVER control-file entry or as a percentage (0–100 percent) 

using the PERCENT_PERVIOUS_COVER control-file entry. Data on impervious surface coverage may be supplied either as 

a fraction (0.0–1.0) using the FRACTION_IMPERVIOUS_COVER control-file entry or as a percentage (0–100 percent) using 

the PERCENT_IMPERVIOUS_COVER control-file entry. A METHOD directive is not required because the impervious surface 

calculations are always made during an SWB run. However, because the default PERCENT_PERVIOUS_COVER is 100 percent, the 

results of these subgrid calculations will not be seen unless some amount of impervious surface is specified for one or more grid 

cells. The control file entries for the activation and use of the impervious surface runoff method are listed in table 3–9.

Table 3–9. Impervious-surface control-file entries.

[SWB, Soil-Water-Balance Code]

Control-file syntax Notes

Method— Tabular

PERCENT_PERVIOUS_COVER {grid type} {gridfile name}

PERCENT_PERVIOUS_COVER_PROJECTION_DEFINITION {PROJ4 string defining projection}

PERCENT_IMPERVIOUS_

COVER, FRACTION_

IMPERVIOUS_COVER, 

FRACTION_PERVIOUS_

COVER are also acceptable 

grid specifications. Note 

that the range of values for 

percent-cover grids (0–100) 

is different from the range 

for the fraction grids (0–1). 

SWB will screen the inputgrid values for nonsensical 

values.
70 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Runoff Routing

Runoff from pervious and impervious surfaces may be routed to downslope cells if desired. A runoff routing fraction grid 

may be supplied to allow an externally calculated fraction of surface runoff to either be routed downslope or be extracted from 

the model domain. The required control-file syntax for the routing methods is listed in table 3–10. 

Table 3–10. Flow-routing method control-file syntax.

[–, no entry]

Control-file syntax Notes

Method— No flow routing

RUNOFF_ROUTING NONE –

Method—Downhill routing

RUNOFF_ROUTING D8 _

Method—Downhill routing with routing fraction

RUNOFF_ROUTING D8

RUNOFF_ROUTING_FRACTION {grid type} {gridfile name}

RUNOFF_ROUTING_FRACTION_PROJECTION_DEFINITION {PROJ4 string defining projection}

–
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 71

Potential Evapotranspiration

SWB can calculate potential evapotranspiration by means of the Jensen-Haise or Hargreaves-Samani methods or can accept 

externally calculated grids of monthly potential evapotranspiration. The required control-file syntax for the three methods are 

listed in table 3–11. 

Table 3–11. Potential evapotranspiration-method control-file entries.

[SWB, Soil-Water-Balance Code; ET0. reference evapotranspiration]

Control-file syntax Notes

Method— Jensen-Haise

POTENTIAL_EVAPOTRANSPIRATION_METHOD JENSEN-HAISE JENSEN_HAISE and JH are 

also recognized as valid 

method names.

Method—Hargreaves-Samani

POTENTIAL_EVAPOTRANSPIRATION_METHOD HARGREAVES-SAMANI HARGREAVES_SAMANI 

and HARGREAVES are 

also recognized as valid 

method names.

Method—Monthly grid

POTENTIAL_EVAPOTRANSPIRATION_METHOD GRIDDED

REFERENCE_ET0 {grid type} {gridfile name}

REFERENCE_ET0_PROJECTION_DEFINITION {PROJ4 string defining projection}

This filename template should 

be a template that specifies 

a series of monthly 

reference ET0 grids. SWB 

expects this data to be 

in the form of a monthly 

ET0 sum, in inches. SWB 

will divide this number 

by the number of days 

in the month to arrive at 

an appropriate daily ET0 

value.
72 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Available Water Capacity/Available Water Content

SWB contains a single method ( GRIDDED ) for populating the available water-capacity parameter. Units of the gridded data 

are inches per foot; in other words, the number of inches of water storage per foot of plant-rooting depth. The required controlfile syntax is listed in table 3–12.

The capacity of the soil-moisture reservoir is determined by multiplying the available water capacity in inches per foot by 

the root-zone depth in feet, which yields the capacity of the soil-moisture reservoir in inches. Specifying gridded-available water 

capacity implies that a set of root-zone depths also will be supplied in one of the lookup tables in order that SWB can calculate 

the soil-moisture reservoir capacity.

Table 3–12. Available water-capacity control-file entries.

[–, no entry]

Control-file syntax Notes

Method— Gridded

AVAILABLE_WATER_CAPACITY_METHOD GRIDDED AVAILABLE_WATER_

CONTENT is also 

valid. If the soilstorage maximum 

is to be read in as a 

gridded dataset, this 

method may be listed 

as NONE.

AVAILABLE_WATER_CAPACITY {grid type} {gridfile name}

AVAILABLE_WATER_CAPACITY_PROJECTION_DEFINITION {PROJ4 string defining

 projection} 

–
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 73

Rooting Depth

Rooting depth may be treated as static or dynamic. Dynamic rooting depths only have relevance when the crop‐coefficients 

module is invoked. The required control-file syntax and lookup-table entries are listed in tables 3–13 and 3–14.

Table 3–13 Rooting-depth method control-file entries.

[–, no entry]

Control-file syntax Notes

Method—Gridded

ROOTING_DEPTH_METHOD STATIC –

Method—Dynamic

ROOTING_DEPTH_METHOD DYNAMIC –

Table 3–14. Effective rooting-depth lookup-table entries.

[–, no entry]

Field name (column name) Units Data type Dimension Notes

Method—None

RZ_# Foot Float Number of land-use 

codes x number of 

soil groups

For each land use, a root-zone depth must be provided 

for each hydrologic soil group. If four hydrologic soil 

groups exist such that A=1, B=2, C=3, and D=4, the 

columns would be named: RZ_1, RZ_2, RZ_3, and 

RZ_4.

Soil-Storage Maximum

The original way to parameterize the total volume of soil-moisture storage (or plant-available water) was to specify an 

available water-capacity grid and a set of effective plant-rooting depths in the lookup table. SWB would multiply these two 

values to come up with the size of the soil-storage reservoir.

In some cases, calculating the size of the soil-moisture reservoir outside of the SWB framework may be useful. This 

calculation may be accomplished by specifying that the soil-storage maximum will be read into SWB from an external grid 

file. Specifying the soil-storage maximum this way will cause the rooting depths and available water-capacity values to be 

ignored; any soil-moisture reservoir-capacity value that has been calculated previously will be overwritten with the soil-moisture 

maximum-grid values.

The required control-file syntax and lookup-table entries are listed in tables 3–15 and 3–16.
74 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 3–15. Soil-storage maximum control-file entries.

[–, no entry]

Control-file syntax Notes

Method—Thornthwaite-Mather

SOIL_STORAGE_MAX_METHOD CALCULATED Calculation requires 

that an available 

water-capacity grid 

and a set of rooting 

depths (discussed 

in tables 3–12 and 

3–14) be provided.

Method—Gridded

SOIL_STORAGE_MAX_METHOD GRIDDED –

SOIL_STORAGE_MAX {grid type} {gridfile name}

SOIL_STORAGE_MAX_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid specifying the size 

of the soil-moisture 

reservoir for each 

grid cell in inches.

Table 3–16. Actual evapotranspiration/soil-moisture method control-file syntax.

[–, no entry; FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 (Allen and others, 1998)]

Control-file syntax Notes

Method—Thornthwaite-Mather

SOIL_MOISTURE_METHOD THORNTHWAITE-MATHER –

Method—Thornthwaite-Mather equations

SOIL_MOISTURE_METHOD THORNTHWAITE-MATHER_EQUATIONS These regression equations were developed 

from a set of digitized ThornthwaiteMather soil-moisture-retention tables. 

This method is present to serve as a check 

on other methods.

Method—FAO–56 single stage

SOIL_MOISTURE_METHOD FAO-56 This is a faithful reimplementation of the 

single-stage FAO–56 soil-moisture 

retention algorithm as described in Allen 

and others (1998).

Method—FAO–56 two stage

SOIL_MOISTURE_METHOD FAO-56_TWO_STAGE The two-stage FAO–56 method allows for 

evaporation of soil moisture from bare 

and exposed ground, and transpiration 

from plants. This method is thought to 

be better suited to applications involving 

long-term (length of a growing-season) 

simulation of irrigated crops.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 75

Actual Evapotranspiration/Soil Moisture Retention

SWB has four methods for simulating the soil-moisture retention and actual evapotranspiration. Of the four methods, two 

methods implement the Thornthwaite-Mather soil-moisture-retention relations, whereas the other two methods implement the 

FAO–56 soil-moisture-retention relations, in varying degrees of complexity. The control-file syntax and lookup-table entries for 

the various methods are listed in tables 3–16 and 3–17.

Table 3–17. Actual evapotranspiration/soil-moisture method lookup-table entries.

[–, no entry; FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 (Allen and others, 1998); RAW, readily available water; TAW, 

total available water]

Field name (column name) Units Data type Dimension Notes

Method—Thornthwaite-Mather

– – – – –

Method—Thornthwaite-Mather equations

– – – – –

Method—FAO–56 single stage, FAO–56 two stage

depletion fraction Unitless Float Number of land-use 

codes

The depletion fraction defines the soil moisture below 

which actual evapotranspiration stops being equal to 

potential evapotranspiration.

depletion fraction p

RAW

TAW =

Method—FAO–56 two stage

total evaporable water Inch Float Number of land-use 

codes x number 

of soil groups

Evaporation is assumed to take place only within the 

band of readily evaporable water.

readily evaporable water Inch Float Number of land-use 

codes x number 

of soil groups

Evaporation is assumed to take place at the maximum 

possible rate within the readily evaporable water 

band; as soil moisture decreases toward the limits of 

the total-evaporable water band, evaporation trends 

toward zero.

mean plant height Foot Float Number of land-use 

codes

Mean plant height at maturity. Plant height is used in 

equation 76, (Allen and others, 1998), to estimate the 

fraction of area currently covered by vegetation.
76 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Crop Coefficients

Crop-coefficient calculations are made using FAO–56 methodology (Allen and others, 1998). The method involves 

construction of a simplified crop-coefficient curve by defining a few key growth milestones. SWB allows these crop-coefficient 

curves to be defined in three different ways as follows: (1) by number of days since planting, (2) by number of growing degree 

days since planting, and (3) by month. Each land use (or crop type) may have its crop-coefficient curve specified in one of these 

three ways. SWB will determine which crop-coefficient definition method to use for each crop type based on the presence or 

absence of valid data in the associated lookup-table entries.

 The required control-file syntax and lookup-table entries are listed in tables 3–18 and 3–19.

Table 3–18. Crop-coefficient control-file entries.

[FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 (Allen and others, 1998)]

Control-file syntax Notes

Method—None

CROP_COEFFICIENT_METHOD NONE This is the default method. If crop 

coefficients are not in use, this method 

statement may be eliminated.

Method—Curve number

CROP_COEFFICIENT_METHOD FAO–56 FAO_56 and FAO56 are also recognized.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 77

Table 3–19. Crop-coefficient lookup-table entries.

[–, no entry; FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 (Allen and others, 1998); DOY, day of year; mm/dd, month/day; 

GDD, growing degree day]

Field name (column name) Units Data type Dimension Notes

Method—None

– – – – –

Method—FAO–56

Planting_date DOY

or

date as mm/dd

Integer or 

character

– This value represents the DOY or mm/dd on which the 

crops are planted. Planting_date is only used if the 

crop-coefficient curve is defined in terms of days or 

dates; Plant_date is not used when this curve is defined 

by month or by GDD.

A planting date of May 15 could be specified as either 

135 or 05/15.

L_ini

L_dev

L_mid

L_late

L_fallow

Days

or

date as mm/dd

Integer or 

character

Number of land-use 

codes

Time values for use in defining the inflection points 

of the crop-coefficient curve. Day values may be 

specified as the integer number of days elapsed since 

planting or may be specified as a date in mm/dd 

format.

Kcb_ini

Kcb_mid

Kcb_end

Kcb_min

Unitless Float Number of land-use 

codes

Crop coefficients defining the height of the cropcoefficient curve. See appendix 1, figure 1–6 for an 

example of how these coefficients are used, along 

with the planting day or GDD thresholds to produce a 

simplified crop-coefficient curve.

GDD_plant

GDD_ini

GDD_dev

GDD_mid

GDD_late

Degree day 

(Fahrenheit)

Float Number of land-use 

codes x number 

of soil groups

GDD thresholds for defining the inflection points on the 

crop-coefficient curve. Planting_date lookup-table 

entry is ignored when the crop-coefficient curve is 

defined in terms of GDD. Plant growth is considered 

to begin once the accumulated GDD for the cell 

exceeds GDD_plant.

Kcb_Jan

Kcb_Feb

Kcb_Mar

Kcb_Apr

Kcb_May

Kcb_Jun

Kcb_Jul

Kcb_Aug

Kcb_Sep

Kcb_Oct

Kcb_Nov

Kcb_Dec

Unitless Float Number of land-use 

codes

Crop coefficients for each month of the calendar year. 

Definition of the crop coefficients by month may 

be useful for a crop that has multiple plantings and 

harvests in the course of a year.

Direct Additions

External estimates for important components of the water budget may be supplied as supplemental grids or as table values. 

These additional water sources may be applied to the soil-storage reservoir or added directly as net infiltration. For both direct 

addition types, either gridded or table data, may be supplied. SWB will always look for gridded data first. If no gridded data are 

detected, SWB will look for table values. Table values are expected to correspond to the land-use codes contained in the main 

land-use grid. 
78 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Direct additions to net infiltration are processed after all other water-balance components; therefore, little interaction is 

between these terms and the rest of the model. Direct additions to soil moisture are processed before net infiltration is calculated; 

therefore, direct additions to soil moisture do affect the daily soil moisture amount and the calculated net infiltration. The names 

of the terms themselves are descriptive for the user; SWB processes them as additional water sources to net infiltration or the 

soil-moisture storage reservoir.

The required control-file syntax and lookup-table entries for the possible direct net-infiltration methods are listed in 

tables 3–20 and 3–21. The required control-file syntax and lookup-table entries for the possible direct soil-moisture methods are 

listed in tables 3–22 and 3–23.

Table 3–20. Direct net-infiltration additions control-file syntax.

[–, no entry]

Control-file syntax Notes

Method—None

DIRECT_NET_INFILTRATION_METHOD NONE –

Method—Direct net infiltration

DIRECT_NET_INFILTRATION_METHOD GRIDDED. –

CESSPOOL_LEAKAGE {grid type} {gridfile name}

CESSPOOL_LEAKAGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for adding 

cesspool leakage directly 

to the net-infiltration 

estimate. The units are 

inches per day. This entry 

can be a single grid or a 

time series of grids.

STORM_DRAIN_LEAKAGE {grid type} {gridfile name}

STORM_DRAIN_LEAKAGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding storm-drain 

leakage directly to the 

net-infiltration estimate. 

The units are inches per 

day. This entry can be a 

single grid or a time series 

of grids.

DISPOSAL_WELL_DISCHARGE {grid type} {gridfile name}

DISPOSAL_WELL_DISCHARGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding disposal-well 

discharges directly to the 

net-infiltration estimate. 

The units are inches per 

day. This entry can be a 

single grid or a time series 

of grids.

WATER_BODY_LEAKAGE {grid type} {gridflie name}

WATER_BODY_LEAKAGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding water-body 

leakage directly to the 

net-infiltration estimate. 

The units are inches per 

day. This entry can be a 

single grid or a time series 

of grids.

ANNUAL_DIRECT_NET_INFILTRATION_RATE {grid type} {gridfile name}

ANNUAL_DIRECT_NET_INFILTRATION_PROJECTION

_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding a generic water 

source directly to the netinfiltration estimate. The 

units are inches per year. 

This entry can be a single 

grid or a time series of 

grids.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 79

Table 3–21. Direct net-infiltration additions lookup-table syntax.

Field name (column name) Units Data type Dimension Notes

Method—Gridded

cesspool_leakage Inches 

per day

Float Number of 

land-use 

codes

A daily cesspool leakage rate may be supplied for 

each land use in the lookup table. This value will be 

ignored if gridded data are also provided.

storm_drain_leakage Inches 

per day

Float Number of 

land-use 

codes

A daily storm-drain leakage rate may be supplied for 

each land use in the lookup table. This value will be 

ignored if gridded data are also provided.

disposal_well_leakage Inches 

per day

Float Number of 

land-use 

codes

A daily disposal-well leakage rate may be supplied for 

each land use in the lookup table. This value will be 

ignored if gridded data are also provided.

water_body_leakage Inches 

per day

Float Number of 

land-use 

codes

An annual generic addition to net infiltration may 

be supplied for each land use in the lookup table. 

This value will be ignored if gridded data are also 

provided.

annual_direct_net_infiltration Inches 

per day

Float Number of 

land-use 

codes

An annual generic addition to net infiltration may 

be supplied for each land use in the lookup table. 

This value will be ignored if gridded data are also 

provided.

Table 3–22. Direct soil-moisture additions control-file syntax.

[–, no entry]

Control-file syntax Notes

Method—None

DIRECT_SOIL_MOISTURE_METHOD NONE –

Method—Direct soil moisture

DIRECT_SOIL_MOISTURE_METHOD GRIDDED –

DAILY_SEPTIC_DISCHARGE {grid type} {gridfile name}

DAILY_SEPTIC_DISCHARGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding daily septic 

discharge directly to the 

soil-moisture reservoir. 

The units are inches per 

day. This entry can be 

a single grid or a time 

series of grids.

ANNUAL_SEPTIC_DISCHARGE {grid type} {gridfile name}

ANNUAL_SEPTIC_DISCHARGE_PROJECTION_DEFINITION {PROJ4 string defining projection}

Grid-file definition for 

adding daily septic 

discharge directly to the 

soil-moisture reservoir. 

The units are inches per 

year. This entry can be 

a single grid or a time 

series of grids.
80 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 3–23. Direct soil-moisture additions lookup-table entries.

Field name (column name) Units Data type Dimension Notes

Method—Gridded

daily_septic_discharge Inches per 

day

Float Number of 

land-use 

codes

A daily septic discharge rate may be supplied for 

each land use in the lookup table. This value will 

be ignored if gridded data are also provided.

annual_septic_discharge Inches per 

year

Float Number of 

land-use 

codes

An annual septic discharge rate may be supplied for 

each land use in the lookup table. This value will 

be ignored if gridded data are also provided.

Growing Degree Day

The calculation of the growing degree day depends on a number of parameter values that define the way in which 

the calculation will proceed. Specifically, the base and maximum temperatures may be redefined, as well as the date on 

which to reset the growing degree-day calculation. These lookup-table entries are optional. If these values are not supplied, 

GDD_base_temperature is assumed to be 50 degrees Fahrenheit, GDD_maximum_temperature GDD_maximum_temperature

is assumed to be 86 degrees Fahrenheit, and the GDD_reset_date is assumed to be the first day in January of each year. The 

required control‐file syntax is listed in table 3–24.

Table 3–24. Growing degree-day lookup-table entries.

Lookup table entries

Field name (column name) Units Data type Dimension Description Notes

Method—Gridded

GDD_base_temperature Degrees 

Fahrenheit

Float Number of 

land-use 

codes

Base temperature from 

which to calculate GDD.

Default value is 50 degrees 

Fahrenheit.

GDD_maximum_temperature Degrees 

Fahrenheit

Float Number of 

land-use 

codes

Maximum temperature for 

consideration in the GDD 

calculations.

Default value is 86 degrees 

Fahrenheit.

GDD_reset_date Day of year 

or date 

as month 

and day

Integer or 

character

Number of 

land-use 

codes

Day of year or month 

and day on which the 

accumulated GDD value 

is reset to zero.

Default reset date is the first 

day in January of each 

simulation year.
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 81

Growing Season

A control-file entry is not required for setting the growing-season determination method. A method may be applied on a 

land-use by land-use basis. If the day of year or date-based growing-season method is used for a particular land use or crop type, 

the growing degree-day and end of season air-temperature fields should be left blank. Conversely, if the growing degree-day and 

end of season air-temperature fields contain valid data, the start and end of growing-season date fields should be left blank. The 

required lookup-table entries pertaining to the growing season are listed in table 3–25.

Table 3–25. Growing-season method lookup-table entries.

[DOY, day of year; mm/dd, month/day; –, no entry]

Field name (column name) Units Data type Dimension Notes

growing_season_start DOY or date 

as mm/dd

Integer or 

character

Number of 

land-use 

codes

–

growing_season_end DOY or date 

as mm/dd

Integer or 

character

Number of 

land-use 

codes

–

GDD_growing_season_start DegreesFahrenheit 

day

Float Number of 

land-use 

codes

–

air_temperature_growing_season_end Degrees 

Fahrenheit

Float Number of 

land-use 

codes

–

Irrigation Demand and Application

Irrigation demand and application calculations require several additional parameters; the control-file syntax and 

lookup-table entries are listed in tables 3–26 and 3–27.

Table 3–26. Irrigation-method control-file entries.

[FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 (Allen and others, 1998); –, no entry]

Control-file syntax Notes

IRRIGATION_METHOD FAO–56 –
82 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 3–27. Irrigation-method lookup-table entries.

[DOY, day of year; mm/dd, month/day; MAD, maximum allowable depletion; FAO–56, Food and Agriculture Organization of the United Nations, Paper No. 56 

(Allen and others, 1998); –, no entry]

Field name (column name) Units Data type Dimension Notes

irrigation_start DOY

or

date as mm/dd

Integer or 

character 

string

Number of 

land-use 

codes

First DOY or mm/dd on which to consider application 

of irrigation water.

irrigation_end DOY

or

date as mm/dd

Integer or 

character 

string

Number of 

land-use 

codes

Last DOY or mm/dd on which to consider application 

of irrigation water.

irrigation_application_efficency Unitless Float Number of 

land-use 

codes

Efficiency with which irrigation water is delivered 

and applied. The irrigation-application method 

determines the effect that this number has on the 

calculated irrigation amounts.

maximum_allowable_depletion Unitless Float Number of 

land-use 

codes

MAD is the amount of depletion of plant available 

water tolerable before irrigation water is applied. 

This value is often the same as the depletion_

fraction defined in the FAO–56 available watercapacity modules, but does not need to be the same.

monthly_irrigation_schedule – Integer or 

character 

string

Number of 

land-use 

codes

This field is used to define a predetermined monthly 

irrigation application schedule. A 0 indicates no 

irrigation on that day of the month; a 1 indicates 

that irrigation will take place. An irrigation schedule 

specifying that irrigation take place approximately 

every fourth day would look something like: 

irrigation_application_scheme – Integer or 

character 

string

Number of 

land-use 

codes

This field is used to specify the irrigation application 

scheme for a given land use or crop type. 

Irrigation water is applied when the soil-moisture 

deficit within the current root zone exceeds the 

maximum_allowable_depletion .When the 

MAD is exceeded, irrigation water is applied using 

one of the following five schemes:

• field_capacity_original –the 

soil-moisture deficit is completely eliminated; 

soil within the root zone is restored to field 

capacity; water that is delivered inefficiently 

is added directly to the soil-moisture reservoir

• field_capacity –the soil-moisture deficit 

is completely eliminated; soil within the root 

zone is restored to field capacity; water that is 

delivered inefficiently is considered lost to the 

mass balance

• defined_deficit –the soil-moisture deficit 

is reduced until the deficit is equal to or less 

than the deficit_irrigation_fraction

• constant_amount –a constant, defined 

amount of irrigation water is applied 

regardless of whether or not this results in net 

infiltration

• monthly_demand_based –irrigation 

water is applied on a scheduled monthly 

basis in proportion to the difference 

between the monthly rainfall and potential 

evapotranspiration amounts.

10001000100010001000100010000
Appendix 3. Input Data, Lookup-Table Entries, and Control-File Directives by Method 83

Rejected Net Infiltration

Rejected net-infiltration amounts, if specified, must be given for each combination of land use and soil type (table 3–28).

Table 3–28. Rejected net-infiltration lookup-table entries.

Field name (column name) Units Data type Dimension Notes

max_net_infil_# Inch Float Number of landuse codes x 

number of soil 

groups

A maximum net-infiltration rate may 

be specified for each combination of 

land uses and soil groups. If the user 

chooses to use this feature, the same 

number of maximum net-infiltration 

columns must be specified as numbers 

of soil groups. Thus, if a given set of 

inputs encompasses four soil groups, 

the following four columns of max_net_

infil should be given: max_net_infil_1, 

max_net_infil_2, max_net_infil_3, and 

max_net_infil_4.

References Cited

Allen, R.G., Pereira, L.S., Raes, Dirk, and Smith, Martin, 1998, Crop evapotranspiration—Guidelines for computing crop water 

requirements: Rome, Food and Agriculture Organization of the United Nations, FAO Irrigation and Drainage Paper No. 56, 

174 p.

Horton, R.E., 1919, Rainfall interception: Albany, N.Y., Monthly Weather Review, v. 47, no. 9, p. 608, p. 603–623, accessed 

September 6, 2017, at ftp://ftp.library.noaa.gov/docs.lib/htdocs/rescue/mwr/047/mwr-047-09-0603.pdf.
84 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Appendix 4. Example Applications

This appendix includes two example Soil-Water-Balance 

(SWB) applications. The first example application is the base 

test case for the Hawaii water-budget code, which simulates 

net infiltration for the Hawaiian Island of Maui (not shown). 

The original Hawaii water-budget code contains numerous 

features and capabilities that are adapted to calculation of net 

infiltration in a tropical island environment (Engott and others, 

2015; Izuka and others, 2010; Oki, 2002). The Maui example 

demonstrates the use of several new methods, including 

the simulation of fog, direct additions to net infiltration, 

rainfall syntheses by the method of fragments, and runoff 

and evapotranspiration by means of gridded monthly inputs. 

The second example, the Central Sands example application, 

demonstrates the application of SWB’s crop-water demand/

irrigation estimation capabilities to an irrigated region 

of Wisconsin. 

All model daily weather grids and tables, control files, 

lookup tables, and data files are available for download at 

https://github.com/smwesten-usgs/swb2_examples.

Maui, Hawaii

SWB was used to estimate net infiltration for the 

Island of Maui, Hawaii. These estimates were compared 

to the net‐infiltration estimates generated for a previous 

U.S. Geological Survey (USGS) study (Johnson and others, 

2014) that made use of the Hawaii water-budget code. 

Study Area

The Island of Maui has an area of 728 square miles and 

is the second largest island in the Hawaiian archipelago. Maui 

is composed of two shield volcanoes. The older volcano, 

the West Maui Mountain, is at an altitude of 5,788 feet at 

Pu‘u Kukui, and the younger volcano, the East Maui Volcano 

(commonly referred to as Haleakalā), is at an altitude of 

10,023 feet at Pu‘u ‘Ula‘ula (Red Hill). The two volcanoes 

are connected by an isthmus that is covered with terrestrial 

and marine sedimentary deposits that are more than 5 miles 

wide (Stearns and Macdonald, 1942). Erosion of the West 

Maui Mountain has carved deep valleys and sharp crested 

ridges that radiate from near the summit. On Haleakalā, the 

rainy eastern slope has valleys that are separated by broad 

areas and ridges. The drier western slope of Haleakalā is less 

incised and retains the broad, smooth topography of the shield 

volcano (fig. 4–1).

Steep gradients in mean annual rainfall patterns on Maui 

reflect the influence of persistent trade winds and orographic 

rainfall (Giambelluca and others, 2013). On an island-wide 

basis, mean rainfall on Maui is about 81 inches per year 

(in/yr). Mean rainfall is more than 360 in/yr at Pu‘u Kukui. 

About 5 miles southwest of Pu‘u Kukui, mean rainfall is 

less than 15 in/yr. Mean rainfall exceeds 100 in/yr for much 

of the interior uplands of the West Maui Mountain. On 

Haleakalā, mean rainfall exceeds 200 in/yr on mid-altitude 

windward slopes. At a rain gage (not shown) about an 

altitude of 5,400 feet on windward Haleakalā, mean rainfall 

is about 404 in/yr, which is among the highest rainfall values 

in the Hawaiian Islands and the world during 1978–2007 

(Giambelluca and others, 2013). Leeward slopes in the rain 

shadow of Haleakalā are much drier. Mean rainfall is less than 

25 in/yr for most leeward areas along the coastline and the 

isthmus. The summit area of Haleakalā is also relatively dry, 

with mean rainfall between about 35 and 50 in/yr.

Input Grids and Tables

This section discusses the important features of each of 

the gridded and tabular datasets needed to run a simplified 

version of the Maui example. An SWB version 1.0 application 

would typically have four gridded datasets that provide data 

regarding the D8 flow direction, available water capacity, 

hydrologic soil group, and land use. SWB version 2.0 

incorporates many of the features of the Hawaii water-budget 

code (Engott and others, 2015; Izuka and others, 2010) 

because many of the SWB version 1.0 methods (curve-number 

method, bucket interception) have been determined to be 

poorly suited for application to islands in the Pacific Ocean. 

A comparison between process methods used in a more typical 

or traditional SWB application (in other words, a humid 

environment on the conterminous United States) to methods 

used in the Maui example is listed in table 4–1.

The use of some different methods in the Maui example 

requires a different set of inputs relative to a more typical 

SWB application. A data requirement that does not change, 

however, is the requirement to provide a gridded land-use code 

as a means to structure the relevant model parameters. The 

land-use grid supplied with the SWB Maui example is shown 

in figure 4–2. Irrigated land uses include the major crop types 

(pineapple, coffee, diversified agriculture, macadamia nuts, 

sugarcane), golf courses, and tree plantations. An interesting 

aspect of the Maui example is that unlike applications in more 

temperate climates, crops such as sugarcane have growing 

seasons that persist for multiple years; SWB accommodates 

multiple-year crop-coefficient curves for this reason. 
Appendix 4. Example Applications 85

mad17-1736_fig 4–1

EXPLANATION

Mean annual rainfall contour, in inches (modified

from Giambelluca and others, 2013)

20

40

20

60

80

180

200

220

100

120

140

160

240

260

280

320

300

340 360

380

100

200

280

20

180

220

240

160

40

20

120

80

80

140 120

60

40

20

60

80

180

200

220

100

120

140

160

240

260

280

320

300

340 360

380

100

200

280

20

180

220

240

160

40

20

120

80

80

140 120

60

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

WEST MAUI

MOUNTAIN

 Pu‘u Kukui

HALEAKALA

 Pu‘u ‘Ula‘ula

Base from State of Hawai'i Office of Planning

15-meter processed Landsat imagery, 1993–2003

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

Figure 4–1. Mean annual rainfall during 1978–2007 for the islands of Maui and Kaho’olawe, Hawaii.
86 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Table 4–1. Comparison of differences between typical Soil-Water-Balance (SWB) process methods and those used in the 

Maui example application.

[SWB, soil water balance; –, no data]

Process Typical SWB application Maui SWB application

Runoff generation Curve-number hydrology Monthly runoff coefficients.

Flow routing D8 None.

Precipitation Gridded daily values Method of fragments.

Interception by vegetation Bucket Gash.

Fog interception by vegetation – Gridded.

Potential or reference 

evapotranspiration 

Hargreaves-Samani Gridded Priestly-Taylor, externally 

calculated.

Irrigation demand Replenish to field capacity Scheduled application, amount 

determined by monthly rainfall, 

evapotranspiration, and runoff.

Direct contributions to net infiltration 

(leakage from reservoirs, taro 

ponds, storm drains, and other 

diffuse sources) 

– Gridded or tabular.

Soil-moisture reservoir capacity Calculated from available water capacity 

and rooting depth

Gridded.
Appendix 4. Example Applications 87

mad17-1736_fig 4–2

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from National Oceanic and Atmospheric Administration, 2008

Coastal Change Analysis Program (C-CAP) Land Cover, Maui, Hawaii 2006

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Land use, 2005

2: Pineapple

3: Coffee

4: Diversified agriculture

5: Macadamia

6: Fallow grassland

7: Developed, open space

8: Developed, low intensity

9: Developed, medium intensity

10: Developed, high intensity 

11: Water body

12: Wetland

13: Sparsely vegetated

14: Grassland

15: Shrubland

16: Native forest

17: Non-native forest

18: Tree plantation

19: Reservoirs

21: Native forest, fog

22: Non-native forest, fog

23: Tree plantation, fog

24: Golf course

25: Taro

30: Private reservoirs

41: Sugar cane, even year

42: Sugar cane, odd year

Figure 4–2. Soil-Water-Balance (SWB) land-use grid for the Maui, Hawaii, study area, 2005.
88 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

In a more typical SWB application, a gridded, hydrologic 

soil-group dataset would be provided, and rooting depths 

corresponding to each soils group would be included in 

the lookup table. The maximum size of the soil-moisture 

reservoir would then be calculated during model initialization 

by multiplying the available water capacity by the rooting 

depth. For the Maui example, the size of the soil-moisture 

reservoir for each cell was provided by means of an externally 

calculated grid (fig. 4–3).

Many Pacific Islands, if not most, do not have a 

convenient source of gridded daily air temperature and 

precipitation data. For Maui, the method of fragments 

(discussed in appendix 1) was applied; the data requirements 

for this method include a table of rainfall fragments calculated 

from observed daily rainfall records at discrete locations, 

as well as a grid of rainfall zones corresponding to the 

observation locations associated with the fragment sets. These 

rainfall zones are derived by drawing Thiessen polygons 

around the set of daily rain gages from which the fragments 

are generated.

The rainfall zones shown in figure 4–4 allow for the 

rainfall fragment sets to be linked to the appropriate grid cells; 

daily rainfall for each cell is produced by multiplying the 

monthly rainfall sum by the rainfall fragment corresponding 

to the rainfall-zone number and day of month. A small piece 

of the Maui rainfall fragment file is listed in table 4–2; the 

reduced-case table included with this example contains only a 

single fragment set for each month of the year for each of the 

56 rainfall zones, for a total of 672 lines of fragment data. A 

single fragment set corresponds to a calendar year of rainfall 

observations. Because each rainfall gage might have 20 or 

30 years of observations, a file used in a real application might 

be tens of thousands of lines long.

The method of fragments as implemented in SWB allows 

for a rainfall correction grid to be applied as a way to alter the 

spatial distribution of the rainfall as calculated by the method 

of fragments. This method was done in the Maui example 

because the grid files used as the source of the month-year 

precipitation grids (Frazier and others, 2016), when summed 

and averaged, result in a slightly different spatial rainfall 

distribution than the Hawaii Rainfall Atlas (Giambelluca 

and others, 2013). A rainfall correction grid was developed 

and supplied to SWB to ensure similar rainfall distributions 

between this application and earlier projects (Johnson and 

others, 2014).

Fog interception on the windward slopes of Maui can 

alter the water budget (Juvik and others, 2011; Juvik and 

Ekern, 1978). Simulating the mechanics of fog formation 

and interception is beyond the capabilities of SWB; however, 

externally calculated gridded datasets quantifying fog 

interception as a function of the total rainfall received during 

a month is possible. A discussion regarding the development 

of the relations between fog interception and rainfall is 

documented in Johnson and others (2014). An example of the 

grid defining fog as a fraction of rainfall for March is shown 

in figure 4–5. Fog interception, thus, is calculated for each day 

by multiplying the disaggregated monthly rainfall amounts by 

the monthly fog-fraction grid.

Table 4–2. Subset of a rainfall fragment file for use with the method of fragments.

[* * *, one or more data entries omitted]

Month Rainfall zone 

number

Fragment

set Day 1 Day 2 Day 3 Day 4 * * * Day 31

1 1 1 0.1895 0.0000 0.0000 0.0000 * * * 0.0000

1 2 1 0.0463 0.0000 0.0366 0.0171 * * * 0.0341

1 3 1 0.0000 0.0000 0.0000 0.0000 * * * 0.0000

1 4 1 0.1571 0.0000 0.0000 0.0000 * * * 0.0616
Appendix 4. Example Applications 89

mad17-1736_fig 4–3

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Soil moisture storage, in inches (modified

from Johnson and others, 2014)

0 to 0.7

0.8 to 1.6

1.7 to 2.9

3 to 3.1

3.2 to 3.6

3.7 to 5.2

5.3 to 10.2

Figure 4–3. Soil-Water-Balance (SWB) soil-moisture storage grid for the Maui, Hawaii, study area.
90 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–4

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Rain zone number (modified from Johnson and others, 2014)

49

50

51

52

53

54

55

56

57

37

38

39

40

41

42

43

44

45

46

47

48

25

26

27

28

29

30

31

32

33

34

35

36

13

14

15

16

17

18

19

20

21

22

23

24

1

2

3

4

5

6

7

8

9

10

11

12

Figure 4–4. Soil-Water-Balance (SWB) rainfall zone number grid for the Maui, Hawaii, study area.
Appendix 4. Example Applications 91

mad17-1736_fig 4–5

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

Pacific Ocean

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Fog as fraction of rainfall, March (modified

from Johnson and others, 2014)

0 to 0.1

0.11 to 0.2

0.21 to 0.3

0.31 to 0.4

0.41 to 0.5

0.51 to 0.6

0.61 to 0.7

Figure 4–5. Soil-Water-Balance (SWB) fog-fraction grid for the Maui, Hawaii, study area for March.
92 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

A feature of the Hawaii Water Budget model involves 

subgrid simulation of impervious-surface runoff (Engott and 

others, 2015; Johnson and others, 2014). SWB simulates the 

subgrid impervious-surface runoff processes for any cell for 

which impervious-surface percentages are specified greater 

than zero. Subgrid impervious-surface simulation, thus, was 

activated for the cells in figure 4–6, which contain nonzero 

percentages of impervious-surface cover; these cells are 

represented in figure 4–6 by the red-shaded cells. 

The curve-number approach has not been determined 

to be successful as applied to the steep mountainous slopes 

of Maui. For this reason, SWB applies a set of monthly 

runoff ratios (as a set of tabular data) to calculate runoff as 

a function of monthly rainfall. The runoff ratio table values 

are calculated from streamflow and rainfall records and are 

applied to individual runoff zones. The runoff zones were 

developed through spatial analysis of digital-elevation models 

and land-use and soil-type data; runoff ratios were developed 

through an analysis of streamflow records relative to daily 

rainfall amounts. The runoff zones are shown in figure 4–7.

A table of monthly runoff ratios must be supplied along 

with the runoff zone number grid so that runoff may be 

calculated for each grid cell. A small subsection of a runoff ratio 

file is listed in table 4–3. A column is required for each runoff 

zone in the model; file may contain as many dates as needed to 

cover the time period of interest.

The runoff ratio file contains a single date column, which 

indicates the first day of each month that the ratios pertain 

to, and as many additional columns as there are runoff zones. 

The Maui example has 765 runoff zones; therefore, table 4–3 

contains 765 columns of runoff ratio values for each month 

of the file. Derivation of these runoff ratios is documented in 

Johnson and others (2014).

Interception of rainfall by vegetation is simulated for Maui 

with the Gash method (Gash, 1979; Gash and others, 1995). The 

Gash method requires several additional parameter values to 

be supplied to SWB. An example of an additional parameter is 

the canopy cover fraction, which is used to scale the amount of 

interception by the estimated amount of canopy cover present in 

each grid cell (fig. 4–8).

Another parameter necessary for application of the Gash 

canopy interception method is the evaporation to rainfall ratio. 

This parameter is shown in figure 4–9; the derivation of this grid 

is described in Johnson and others (2014).

Table 4–3. Subsection of a runoff ratio file.

[* * *, date or data value omitted]

Date 1 2 3 4 5 6 * * * 765

01-01-00 0.2705 0.2182 0.3372 0.0626 0.0963 0.3850 * * * 0.3905

02-01-00 0.2705 0.2182 0.3372 0.0626 0.0963 0.3850 * * * 0.3905

03-01-00 0.2705 0.2182 0.3372 0.0626 0.0963 0.3850 * * * 0.3905

04-01-00 0.2705 0.2182 0.3372 0.0626 0.0963 0.3850 * * * 0.3905

05-01-00 0.2167 0.1398 0.2788 0.0645 0.0956 0.3000 * * * 0.3229

* * * * * * * * * * * * * * * * * * * * * * * * * * *

12-31-08 0.1722 0.1811 0.2214 0.0523 0.0804 0.2901 * * * 0.3065
Appendix 4. Example Applications 93

mad17-1736_fig 4–6

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Percent impervious cover, 2006 (modified

from Johnson and others, 2014)

1 to 10

11 to 20

21 to 30

31 to 40

41 to 50

51 to 60

61 to 70

71 to 80

81 to 90

91 to 100

Figure 4–6. Soil-Water-Balance (SWB) percent pervious cover grid for the Maui, Hawaii, study area.
94 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–7

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Runoff zone number (modified from

Johnson and others, 2014)

3 to 51

52 to 108

109 to 150

151 to 201

202 to 255

256 to 303

304 to 342

343 to 393

394 to 543

544 to 705

706 to 765

Figure 4–7. Soil-Water-Balance (SWB) runoff zone number grid for the Maui, Hawaii, study area.
Appendix 4. Example Applications 95

mad17-1736_fig 4–8

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Canopy cover fraction (modified from

Johnson and others, 2014)

0 to 0.1

0.11 to 0.2

0.21 to 0.3

0.31 to 0.4

0.41 to 0.5

0.51 to 0.6

0.61 to 0.7

0.71 to 0.8

0.81 to 0.9

0.91 to 1.0

Figure 4–8. Soil-Water-Balance (SWB) canopy cover fraction grid for the Maui, Hawaii, study area.
96 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–9

21°00'

20°50'

20°40'

20°30'

156°40' 156°30' 156°20' 156°10' 156°00'

Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Universal Transverse Mercator, zone 4N

North American Datum of 1983

0 5 10 15 20 KILOMETERS

0 5 10 15 20 MILES

22 ̊

20 ̊

160 ̊ 158 ̊ 156 ̊

HAWAI‘I

Pacific Ocean

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

EXPLANATION

Evaporation to rainfall ratio (modified

from Johnson and others, 2014)

0.1

0.2

0.3

0.4

0.5

Figure 4–9. Soil-Water-Balance (SWB) evaporation to rainfall ratio grid for the Maui, Hawaii, study area.
Appendix 4. Example Applications 97

Control File

This section presents an SWB control file that may be used to run a simplified version of the Maui Hawaii model. The 

control file has been separated into three figures (figs. 4–10, 4–11, and 4–12) for ease of viewing and explanation.

The first part of the SWB control file specifies the spatial resolution and base projection for the study area. A variety of 

characters (including the characters !#$%*()-[]) may be used to indicate comment lines (fig. 4–10), which allows, for more 

flexibility in writing internal documentation into the control file. Section (0) of the control file (a comment line) specifies the 

project-grid definition; section (1) of the control file contains the module specifications.

# Input file for swb2, Maui low-res Test Case

# Base projection: Hawaii Albers Equal Area Conic

# (comment characters: !#$%*()-[])

-------------------------------------------------------------

(O) PROJECT GRID DEFINITION

-------------------------------------

! Lower LH Corner Grid

! |_____________________| Cell

! nx ny xo yo Size

! "hi-res" version

#GRID 1582 1054 739800. 2276900. 50.

! “lo-res” version

GRID 316 210 739800. 2276900. 250.

BASE_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

(1) MODULE SPECIFICATION

---------------------------------

INTERCEPTION_METHOD GASH

EVAPOTRANSPIRATION_METHOD MONTHLY_GRID

RUNOFF_METHOD RUNOFF_RATIO

SOIL_MOISTURE_METHOD FAO-56

PRECIPITATION_METHOD METHOD_OF_FRAGMENTS

FOG_METHOD MONTHLY_GRID

FLOW_ROUTING_METHOD NONE

IRRIGATION_METHOD FAO-56

CROP_COEFFICIENT_METHOD FAO-56

DIRECT_RECHARGE_METHOD GRIDDED

SOIL_STORAGE_MAX_METHOD GRIDDED 

Figure 4–10. Part 1 of an example Soil-Water-Balance (SWB) control file showing specification of standard SWB 

gridded inputs for the Maui, Hawaii, study area.
98 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Section (2) of figure 4–11 defines initial conditions for the snow and soil-moisture reservoirs. The INITIAL_SNOW_

COVER_STORAGE directive is not necessary because SWB will set the snow storage to zero if this directive is omitted. 

However, best practice is to include such directives if only to better document the initial conditions.

(2) Initial conditions for soil moisture, snow

------------------------------------------------------

INITIAL_PERCENT_SOIL_MOISTURE CONSTANT 50.0

INTIAL_SNOW_COVER_STORAGE CONSTANT 0.0

(3) Daily rainfall-related grids and data

------------------------------------------------

PRECIPITATION ARC_GRID input/month_year_rainfall/maui_prcp_%0m_%Y.asc

PRECIPITATION_GRID_PROJECTION_DEFINITION +proj=lonlat +datum=WGS84 +no_defs

FRAGMENTS_DAILY_FILE input/rain_fragments_maui_reduced_case.prn

FRAGMENTS_SEQUENCE_FILE input/frag_sequence_2yrs_5sims.out

FRAGMENTS_SEQUENCE_SIMULATION_NUMBER 1

RAINFALL_ZONE ARC_GRID input/maui_RAIN_ZONE__50m.asc

RAINFALL_ZONE_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

RAINFALL_ADJUST_FACTOR ARC_GRID input/Maui_RF_adj_factors/maui_RF_adj_%b__50m.asc

RAINFALL_ADJUST_FACTOR_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

RAINFALL_ADJUST_FACTOR_MONTHNAMES_LOWERCASE

(4) Monthly air temperature grids

-----------------------------------------

TMAX ARC_GRID input/Air_Temperature_Monthly/Tmax%b_250m_maui.asc

TMAX_GRID_PROJECTION_DEFINITION +proj=lonlat +datum=WGS84 +no_defs

TMAX_SCALE_FACTOR 1.8

TMAX_ADD_OFFSET 32.0

TMAX_MISSING_VALUES_CODE -9999.0

TMAX_MISSING_VALUES_OPERATOR <=

TMAX_MISSING_VALUES_ACTION mean

TMIN ARC_GRID input/Air_Temperature_Monthly/Tmin%b_250m_maui.asc

TMIN_GRID_PROJECTION_DEFINITION +proj=lonlat +datum=WGS84 +no_defs

TMIN_SCALE_FACTOR 1.8

TMIN_ADD_OFFSET 32.0

TMIN_MISSING_VALUES_CODE -9999.0

TMIN_MISSING_VALUES_OPERATOR <=

TMIN_MISSING_VALUES_ACTION mean

Figure 4–11. Part 2 of an example Soil-Water-Balance (SWB) control file showing specification of standard SWB 

gridded inputs for the Maui, Hawaii, study area. 
Appendix 4. Example Applications 99

Section (3) of figure 4–11 specifies the name, location, and projection of several datasets required for use with the method 

of fragments—the month-year, rain zone, and rainfall adjustment factor grids.

Section (4) of figure 4–11 specifies the template names for the minimum and maximum air temperatures. These data 

are not necessary for the Maui application. Air temperature data, however, are included in section (4) to allow for more 

accurate partitioning of precipitation into rain and snow, despite the fact that precipitation only falls in the form of snow on 

rare occasions at the points of highest elevation on Maui. Air temperature data are typically needed to drive the calculation of 

growing degree day and reference ET0; however, in the Maui example, ET0 is input directly as a series of grids, and growing 

degree day is not used.

Section (5) of figure 4–12 defines only one of the standard grids—the land-use grid. An available water-capacity grid is 

not needed because the capacity of the soil-storage reservoir is read in directly, a D8 flow-direction grid is not needed because 

flow routing is disabled, and a hydrologic-soil grid is not needed because runoff is not calculated with the curve-number 

methodology.

Section (6) of figure 4–13 specifies several grids not normally used but required when using the gridded ET, fog, and direct 

net-infiltration methods. 

Section (7) of figure 4–13 specifies two grids needed for use with the Gash canopy interception method—an evaporation to 

ratio grid and a fraction of canopy cover grid. 

Section (8) of figure 4–13 specifies two grids and a text file for handling surface runoff—a runoff zone grid file associates 

runoff zones with other information contained in the runoff ratio monthly file. A percent pervious, cover-grid file triggers 

subgrid-scale, impervious- surface runoff calculations.

Section (9) of figure 4–13 specifies the location and name of the land-use lookup table.

Section (10) of figure 4–13 gives the start and end date for the simulation. 

(5) “standard” GIS input grids: hydrologic soils group, available water capacity, soils, and flow direction

--------------------------------------------------------------------------------------------------------------------------------

# HYDROLOGIC_SOILS_GROUP ARC_GRID input/maui_HYDROLOGIC_SOILS_GROUP__50m.asc

# HYDROLOGIC_SOILS_GROUP_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

LAND_USE ARC_GRID input/LU2010_w_2_season_sugarcane_simulation_1_50m.asc

LAND_USE_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

%% in this case, the maximum soil storage is read in directly, so there is no need

%% for an available water capacity grid (soil_storage_max = awc * rooting_depth).

SOIL_STORAGE_MAX ARC_GRID input/maui_SOIL_MOISTURE_STORAGE__50m.asc

SOIL_STORAGE_MAX_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

SOIL_STORAGE_MAX_MISSING_VALUES_CODE 0.0

SOIL_STORAGE_MAX_MISSING_ VALUES_OPERATOR <

SOIL_STORAGE_MAX_MISSING_VALUES_ACTION mean

Figure 4–12. Part 3 of an example Soil-Water-Balance (SWB) control file showing specification of standard SWB gridded inputs for 

the Maui, Hawaii, study area.
100 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

(6) other gridded datasets required for the Maui example

----------------------------------------------------------------------

REFERENCE_ET0 ARC_GRID input/gr0_in_month_ascii/gr0_in_%b__maui.asc

REFERENCE_ET0_PROJECTION_DEFINITION +proj=lonlat +datum=WGS84 +no_defs

FOG_RATIO ARC_GRID input/fog_fraction_grids/maui_fog_ratio_monthly_%0m__50m.asc

FOG_RATIO_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

FOG-RATIO_MISSING_VALUES_CODE 0.0

FOG_RATIO_MISSING_VALUES_OPERATOR <

FOG_RATIO_MISSING_VALUES_ACTION zero

CESSPOOL_LEAKAGE ARC_GRID input/maui_CESSPOOL_EFFLUENT_INCHES_DAY__50m.asc

CESSPOOL_LEAKAGE_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

(7) Grids required for Gash Interception

-------------------------------------------------

FRACTION_CANOPY_COVER ARC_GRID input/maui_CANOPY_COVER_FRACTION__50m.asc

FRACTION_CANOPY_COVER_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

EVAPORATION_TO_RAINFALL_RATIO ARC_GRID input/maui_EVAPORATION_TO_RAINFALL_RATIO__50m.asc

EVAPORATION_TO_RAINFALL_RATIO_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

(8) Runoff-related data and grid

---------------------------------------

RUNOFF_ZONE ARC_GRID input/maui_RUNOFF_ZONE__50m.asc

RUNOFF_ZONE_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

RUNOFF_RATIO_MONTHLY_FILE input/monthly_runoff_ratios_maui_2000_2010_TRANSPOSED.txt

PERCENT_PERVIOUS_COVER ARC_GRID input/maui__PERCENT_PERVIOUS_COVER__50m.asc

PERCENT_PERVIOUS_COVER_PROJECTION_DEFINITION +proj=utm +zone=4 +ellps=WGS84 +datum=WGS84 +units=m +no_defs

(9) Lookup table(s)

-----------------------

LAND_USE_LOOKUP_TABLE std_input/Landuse_lookup_maui.txt

(10) Start and end date for simulation

-----------------------------------------------

START_DATE 01/01/2001

END_DATE 12/31/2002

Figure 4–13. Part 4 of a SWB control file showing definition of additional required grids and model start 

and end dates for the Maui, Hawaii study area. 
Appendix 4. Example Applications 101

Model Application

For the Maui example application, SWB model input 

was generated by resampling the polygon-based model 

input originally used for the Hawaii water-budget code in 

Johnson and others (2014) onto a 75-meter grid. For both 

models, the monthly rainfall time series used is 1978–2007 

and the land cover is representative of 2010. The 75-meter 

grid size was determined after running SWB using multiple 

other resolutions, both finer and coarser than 75 meters and 

evaluating both (1) the differences in output between Johnson 

and others (2014) and SWB and (2) the computational 

effort. As expected, finer SWB grid sizes produced smaller 

differences in output between the two models, but at the cost 

of longer model-execution times and larger input/output file 

sizes. Using a 75-meter grid, SWB produced a net-infiltration 

estimate of 1,301 million gallons per day for the Island of 

Maui, which is 2.8 percent less than the estimate published 

in Johnson and others (2014); this result was achieved with a 

reasonable model-run time (several hours). A comparison of 

the output from SWB and Hawaii water budget is shown in 

figure 4–14.

The use of the method of fragments involves the random 

selection and use of one fragment from the many assembled 

for a given rain zone. Because this results in run-to-run 

variations owing to different sequences of storm events 

being applied to the soil, the Hawaii water-budget code was 

set up to run 15 or 20 simulations at a time, averaging all 

results together so as to average out the influence of storm 

sequencing. SWB is not set up with this facility in mind. SWB 

can replicate the Hawaii water-budget results by running SWB 

repeatedly for a number of randomly selected fragment sets, 

then calculating a mean of all output SWB grids.

The Maui example application demonstrates how SWB 

can be effectively used with alternative process methods 

to simulate net infiltration in climates different from the 

humid, temperate climate SWB was originally designed for 

(Wisconsin). In addition, SWB 2.0 is designed so that alternate 

process methods may be easily coded up and incorporated 

should the methods be needed for a particular study area.
102 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components mad17-1736_fig 4–14 21°00' 20°50' 20°40' 20°30' 156°00' 156°10' 156°20' 156°30' 156°40' 21°00' 20°50' 20°40' 20°30' 156°00' 156°10' 156°20' 156°30' 156°40'

0 10 15 5 20 KILOMETERS

0 10 15 5 20 MILES

A

Base modified from U.S. Geological SurveyNational Hydrography Dataset, 1:24,000Universal Transverse Mercator, zone 4NNorth American Datum of 1983

B

EXPLANATION

Net infiltration, in inches

0 to 0.60.7 to 2.62.7 to 66.1 to 10.610.7 to 18.518.6 to 34.134.2 to 74.474.5 to 215.7

22 ̊20 ̊

158 ̊ 156 ̊ 160 ̊

HAWAI‘I

PACIFIC OCEAN

Kaua‘i

O‘ahu

Moloka‘i

Hawai‘i 

Maui Lāna‘i

Kaho‘olawe

Ni‘ihau

Figure 4–14. Modeled net-infiltration amounts from 

A, Soil-Water-Balance (SWB) version 2.0 and 

B, Hawaii water-budget code (modified from Johnson and 

others, 2014). 
Appendix 4. Example Applications 103

Central Sands, Wisconsin

SWB version 1.0 was applied to the Little Plover River 

in support of a groundwater study led jointly by the USGS and 

by the Wisconsin State Geological and Natural History Survey 

(Bradbury and others, 2017). SWB was used to estimate 

irrigation demand based on the crops present, as well as to 

calculate net infiltration for use in an underlying MODFLOW 

model. This example application uses the files from the 

Little Lover River project to demonstrate the use of the SWB 

(version 2.0) irrigation module.

Study Area

The Little Plover River runs for 21 miles and is in the 

Central Sands region of Wisconsin (Henrich and Daniel, 

1983). The river is listed as a Class 1 trout stream for much of 

its length. Sandy soils in the region provide good conditions 

for crop growth, but require irrigation to sustain economically 

feasible crop yields (Weeks and others, 1965). Increases 

in irrigation pumping during the past 30 years to irrigate 

vegetable crops in the region have led to reduced summertime 

low flows in the Little Plover River; in some years, the 

discharge in July or August has decreased to zero.

Input Grids and Tables

Unlike the Maui example application, the Central Sands 

application uses a set of more typical input grids and tables. 

The curve-number approach is used to estimate runoff, 

which requires a hydrologic soil-group grid. The maximum 

soil-moisture storage is calculated from the rooting depths 

contained in a lookup table and an available water-capacity 

grid. Flow routing is enabled, which requires a D8 

flow‐direction grid. Land use is a required grid as well.

The land-use grid supplied to SWB for the Central Sands 

example is shown in figure 4–15. Because crops and irrigation 

play a significant role in this study area, the Cropland Data 

Layer (CDL) (Boryan and others, 2011) was used as the source 

of land-use data rather than the more typical National Land 

Cover Database (Homer and others, 2015). The CDL is a 

remote-sensing product; a certain fraction of the crops depicted 

in a given CDL image is incorrectly identified. To ensure that 

the most accurate land-use grid was being used, growers in 

the area of interest were invited to verify and correct the CDL 

crops indicated on their lands.

Hydrologic soil group and available water-capacity 

data were extracted from Soil Survey Geographic Database 

(SSURGO) soils datasets (U.S. Department of Agriculture, 

2009). The hydrologic soils group grid as supplied to SWB is 

shown in figure 4–16. The available water-capacity grid used 

in the example application is shown in figure 4–17.

A D8 flow-direction grid was prepared from 30-meter 

USGS digital elevation model data (Gesch and others, 2002). 

Sinks in the digital elevation dataset were filled prior to 

assigning D8 flow directions. The D8 flow-direction grid 

supplied to SWB is shown in figure 4–18.

Because of the nature of the project, finer control 

regarding which cells received simulated irrigation water 

was needed than could be accomplished by establishing 

irrigated and nonirrigated land-use codes. An irrigation mask 

(fig. 4–19) was developed from the crop-data layer, which was 

modified after discussions with growers and after examination 

of well pumping records. Fields associated with wells not 

pumped during the period of interest were assumed to have 

nonirrigated fields.

The grid depicted in figure 4–19 is a simple Arc ASCII 

integer grid with values of 0 and 1; nonirrigated land is 

indicated by 0, and irrigated land is indicated by 1.
104 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–15

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

Corn

Sorgum

Soybeans

Sunflower

Sweet corn

Barley

Spring wheat

Winter wheat

Double crop winter

wheat/soybeans Rye

Oats

Millet

Speltz

Flaxseed

Alfalfa

Other hay/non-alfalfa

Camelina

Sugarbeets

Onions

Cucumbers

Peas

Herbs

Clover/wildflowers

Fallow

Christmas trees

Aquaculture

Open water

Developed, open space

Developed, low intensity

Developed, medium

intensity

Developed, high intensity

Barren land

Deciduous forest

Evergreen forest

Mixed forest

Shrub/scrub

Grass/pasture

Woody wetlands

Emergent herbaceous

wetlands

Triticale

Carrots

Strawberries

Double crop winter

wheat/corn

Double crop corn

soybeans

Cabbage

Cranberries

Waste disposal, fallow

Waste disposal, grass

Land use, 2012 (modified from U.S. Department of Agriculture Cropland Data Layer, 2012)

EXPLANATION

Figure 4–15. Soil-Water-Balance (SWB) land-use grid for the Central Sands study area, 2012. 
Appendix 4. Example Applications 105

mad17-1736_fig 4–16

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Hydrologic soil group (modified from

U.S. Department of Agriculture

gridded soils gSSURGO dataset, 2015)

1: A

2: B

3: C

4: D

5: A/D

6: B/D

7: C/D

Figure 4–16. Soil-Water-Balance (SWB) hydrologic soil group grid for the Central Sands study area.
106 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–17

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Available water capacity, in inches per

foot (modified from U.S. Department

of Agriculture gridded soils gSSURGO

dataset, 2015) 

0.5 to 0.79

0.8 to 1

1.1 to 1.2

1.3 to 2.2

2.3 to 3.7

3.8 to 4.8

Figure 4–17. Soil-Water-Balance (SWB) available water-capacity grid for the Central Sands study area.
Appendix 4. Example Applications 107

mad17-1736_fig 4–18

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

D8 flow direction (modified from

U.S. Geological Survey National

Elevation Dataset, 2002)

1: East

2: Southeast

4: South

8: Southwest

16: West

32: Northwest

64: North

128: Northeast

32 64 128

1

2

16

8 4

32 64 128

1

2

16

8 4

D8 flow

origin

Figure 4–18. Soil-Water-Balance (SWB) D8 flow-direction grid for the Central Sands study area.
108 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–19

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Department of Agriculture 

30-meter Cropland Data Layer, 2012

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Irrigated lands mask (modified from

Bradbury and others, 2017)

Figure 4–19. Soil-Water-Balance (SWB) irrigation mask grid for the Central Sands study area.
Appendix 4. Example Applications 109

Control File

This section presents an SWB control file that may be 

used to run a simplified version of the Central Sands model.

Section (0) of figure 4–20 shows the control file 

syntax that defines the grid and base projection for the 

Central Sands example application; section (1) shows the 

module specification.

Section (2) of figure 4–21 shows the syntax specifying 

gridded datasets for precipitation and air temperature as well 

as the syntax for missing data handling and specification 

of the initial continuous frozen ground index. The weather 

grids specified are tiled versions of the Daymet gridded daily 

weather data (Thornton and others, 2016).

Section (3) of figure 4–22 shows the specification of 

the land use, hydrologic soil group, available water capacity, 

and flow-direction grids. Note that section (3) also includes 

the specification of an irrigation mask to limit simulated 

irrigation applications to areas known to actually make use of 

center-pivot irrigation systems. Sections (4) and (5) specify 

the names of the lookup tables and provide initial condition 

values. Section (6) demonstrates syntax that may be used to 

extract all pertinent variable values, including some temporary 

variable values; values may be extracted for a cell identified 

either with project coordinates or with a cell/row pair. 

Section (7) specifies the start and end date for the simulation.
%% Central Sands, Wisconsin %% Example of net infiltration calculation with crop water demand %% and irrigation included in water budget %% (comment characters: !#$%*()-[] ) ---------------------------------------------------------------------------------- (0) PROJECT GRID DEFINITION ------------------------------------- ! Grid definition; projected coordinates are Wisconsin Transverse Mercator (83/91), meters ! nx ny xll yll resolution GRID 300 150 545300 432200 45.0 BASE_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-4480000 +datum=N(1) MODULE SPECIFICATION --------------------------------- INTERCEPTION_METHOD BUCKET EVAPOTRANSPIRATION_METHOD HARGREAVES RUNOFF_METHOD CURVE_NUMBER SOIL_MOISTURE_METHOD FAO-56_TWO_STAGE PRECIPITATION_METHOD GRIDDED FOG_METHOD NONE FLOW_ROUTING_METHOD D8 IRRIGATION_METHOD FAO-56 ROOTING_DEPTH_METHOD DYNAMIC CROP_COEFFICIENT_METHOD FAO-56 DIRECT_RECHARGE_METHOD NONE SOIL_STORAGE_MAX_METHOD CALCULATED AVAILABLE_WATER_CONTENT_METHOD GRIDDED Figure 4–20. Part 1 of an example Soil-Water-Balance (SWB) control file showing grid definition and method spec

Central Sands, Wisconsin, study area.
(2) Define location, projection, and conversions for daily weather data---------------------------------------------------------------------------------------PRECIPITATION NETCDF ../COMMON/prcp_Daymet_v3_%y.ncPRECIPITATION_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-100.0 +x_0=0.0 ++datum=NAD83 +units=m +no_defsPRECIPITATION_NETCDF_Z_VAR prcpPRECIPITATION_SCALE_FACTOR 0.03937008PRECIPITATION_MISSING_VALUES CODE -9999.0

PRECIPITATION_MISSING_VALUES_OPERATOR <=PRECIPITATION_MISSING_VALUES_ACTION zero

TMAX NETCDF ../COMMON/tmax_Daymet_v3_%y.ncTMAX_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-100.0 +x_0=0.0 +y_0=0.0 ++units=m +no_defsTMAX_SCALE_FACTOR 1.8TMAX_ADD_OFFSET 32.0TMAX_MISSING_VALUES_CODE -9999.00TMAX_MISSING_VALUES_OPERATOR <=TMAX_MISSING_VALUES_ACTION meanTMIN NETCDF ../COMMON/tmin_Daymet_v3_%y.ncTMIN_GRID_PROJECTION_DEFINITION +proj=lcc +lat_1=25.0 +lat_2=60.0 +lat_0=42.5 +lon_0=-100.0 +x_0=0.0 +y_0=0.0 ++units=m +no_defsTMIN_SCALE_FACTOR 1.8TMIN_ADD_OFFSET 32.0TMIN_MISSING_VALUES_CODE -9999.00TMIN_MISSING_VALUES_OPERATOR <=TMIN_MISSING_VALUES_ACTION meanINITIAL_CONTINUOUS_FROZEN_GROUND_INDEX CONSTANT 100.0UPPER_LIMIT_CFGI 83.LOWER_LIMIT_CFGI 55.

Figure 4–21. Part 2 of an example Soil-Water-Balance (SWB) control file showing precipitation and air temperaturCentral Sands, Wisconsin, study area.
(3) specify location and projection for "standard" input GIS grids ------------------------------------------------------------------------------- FLOW_DIRECTION ARC_GRID input/d8_flow_direction.asc FLOW_DIRECTION_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-4480000 +datum=NHYDROLOGIC_SOILS_GROUP ARC_GRID input/hydrologic_soils_group.asc HYDROLOGIC_SOILS_GROUP_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-4480000 LAND_USE ARC_GRID input/landuse.asc LANDUSE_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-4480000 +datum=NAD83 +unAVAILABLE_WATER_CONTENT ARC_GRID input/available_water_capacity.asc AVAILABLE_WATER_CONTENT_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-448000IRRIGATION_MASK ARC_GRID input/irrigation_mask_from_cdl.asc IRRIGATION_MASK_PROJECTION_DEFINITION +proj=tmerc +lat_0=0.0 +lon_0=-90.0 +k=0.9996 +x_0=520000 +y_0=-4480000 +datum=N(4) Specify location and names for all lookup tables --------------------------------------------------------------- LAND_USE_LOOKUP_TABLE std_input/Landuse_lookup_CDL.txt IRRIGATION_LOOKUP_TABLE std_input/Irrigation_lookup_CDL.txt %% initial conditions for soil moisture and snow storage amounts %% may be specified as grids, but using a constant amount and %% allowing the model to "spin up" for a year is also acceptable. (5) Specify initial conditions ----------------------------------- INITIAL_PERCENT_SOIL_MOISTURE CONSTANT 100.0 INITIAL_SNOW_COVER_STORAGE CONSTANT 2.0 (6) Specify locations or grid cell column and row for which detailed variable dump is desired ------------------------------------------------------------------------------------------------------------------ DUMP_VARIABLES COORDINATES 558059. 432426. DUMP_VARIABLES 286 56 DUMP_VARIABLES 31 138 DUMP_VARIABLES 74 106 %% start and end date may be any valid dates in SWB version 2.0 %% remember to allow for adequate model spin up; running the %% model for just a month or two will give questionable results (7) Specify start and end dates for model run ------------------------------------------------------- START_DATE 01/01/2012 END_DATE 12/31/2013 Figure 4–22. Part 3 of an example Soil-Water-Balance (SWB) control file showing standard data grid specification, lookup-tab

dates for the Central Sands, Wisconsin, study area.
Appendix 4. Example Applications 113

Model Application

The SWB model was applied to the Central Sands region 

for 2012, 2013, and 2014 to estimate irrigation amounts and 

their influence on net-infiltration amounts. The published 

SWB output (Bradbury and others, 2017) was generated with 

SWB version 1.0 (Westenbroek and others, 2010) and made 

use of precipitation data from a single station. The SWB 2.0 

application was created by making some small changes to 

the SWB 1.0 control file so that it functions correctly with 

SWB version 2.0; the example files also make use of Daymet 

version 3 gridded daily weather data (Thornton and others, 

2016). Results for the model made with the SWB version 2.0 

code are nearly identical to results for the model made with 

the SWB version 1.0 code.

Estimated irrigation amounts for 2013 are shown in 

figure 4–23. The underlying soils in the extreme southwest 

of the grid (irrigation amounts that range from about 

2 to 5 inches) correspond to the area of higher available 

water capacity (from 1.3 to 2.2 inches per foot) shown in 

figure 4–17. Crops slightly to the north indicate estimated 

irrigation amounts that range from about 8 to 11 inches and 

correspond to soils of lower available water capacity (from 

0.5 to 1.0 inch per foot) shown in figure 4–17.

The SWB model produced estimates of irrigation water 

requirements (table 4–4) that were at most within about 

10 percent difference than the reported irrigation application 

amounts (Bradbury and others, 2017). These results indicate 

that SWB may be useful in estimating irrigation amounts in 

study areas for which no pumping records exist.

Table 4–4. Comparison of irrigation amounts for specific crops estimated from pumping 

records and from Soil-Water-Balance (SWB) estimates.

[Irrigation amounts are in inches]

Irrigated crop type Estimates based on 

pumping records SWB estimates

Potatoes 9.0 10.3

Corn 8.6 7.5

Sweet corn 7.6 7.2

Snap beans 7.4 8.5
114 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–23

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Department of Agriculture 

30-meter Cropland Data Layer, 2012

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Irrigation required, in inches per year

(modified from Bradbury and others,

2017)

0 to 2.5

2.51 to 5

5.01 to 7.5

7.51 to 10

10.1 to 12.5

12.6 to 15

Figure 4–23. Soil-Water-Balance (SWB) estimated crop-irrigation water demand for 2013. 
Appendix 4. Example Applications 115

Monthly SWB version 1.0 results for net infiltration 

(fig. 4–24) were supplied to an underlying transient 

MODFLOW model (Harbaugh, 2005; McDonald and 

Harbaugh, 1988) to assist in completing a water balance of 

the area. This process indicated that a monthly time step may 

be too coarse in terms of SWB output utility in a transient 

model setting. The precipitation, snowmelt, runoff, and 

net-infiltration daily outputs from SWB were highly variable. 

The highly variable outputs resulted in an unrealistically 

smooth net-infiltration time series driving MODFLOW, with 

much of the temporal variability averaged away and the 

underlying MODFLOW model receiving a highly smeared 

net-infiltration pulse. In many settings, monthly aggregation of 

SWB results may be too coarse for realistic simulation of net 

infiltration.

Thoughtful application of the SWB model in areas where 

irrigation is active can yield reasonable estimates of irrigation 

application and net-infiltration amounts. Comparison of the 

SWB outputs to baseflow-estimated recharge amounts and to 

recorded pumping records is recommended if possible.
116 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

mad17-1736_fig 4–24

44°35'

44°30'

44°25'

89°40' 89°35' 89°30' 89°25' 89°20' 89°15'

0 2.5 5 7.5 10 KILOMETERS

0 2.5 5 7.5 10 MILES Base modified from U.S. Geological Survey

National Hydrography Dataset, 1:24,000

Wisconsin Transverse Mercator

North American Datum of 1983

Map area

WISCONSIN

EXPLANATION

Net infiltration, in inches per year

(modified from Bradbury and

others, 2017)

0 to 6.6

6.7 to 8.7

8.8 to 10.7

10.8 to 12.5

12.6 to 13.8

13.9 to 19.5

Figure 4–24. Soil-Water-Balance (SWB) estimated net infiltration for 2013.
Appendix 4. Example Applications 117

References Cited

Boryan, Claire, Yang, Zhengwei, Mueller, Rick, and 

Craig, Mike, 2011, Monitoring US agriculture—The 

US Department of Agriculture, National Agricultural 

Statistics Service, Cropland Data Layer Program: Geocarto 

International, v. 26, no. 5, p. 341–358.

Bradbury, Ken, Fienen, M.N., Kniffin, Maribeth, Krause, 

Jacob, Westenbroek, S.M., Leaf, A.T., and Barlow, P.M., 

2017, Groundwater flow model for the Little Plover River 

basin in Wisconsin’s Central Sands: Wisconsin Geological 

and Natural History Survey Bulletin 111, accessed June 9, 

2017, at https://pubs.er.usgs.gov/publication/70186797.

Engott, J.A., Johnson, A.G., Bassiouni, Maoya, and Izuka, 

S.K., 2015, Spatially distributed groundwater recharge for 

2010 land cover estimated using a water-budget model 

for the island of O’ahu, Hawaii: U.S. Geological Survey 

Scientific Investigations Report 2015–5010, accessed 

July 22, 2015, at https://pubs.er.usgs.gov/publication/

sir20155010.

Frazier, A.G., Giambelluca, T.W., Diaz, H.F., and Needham, 

H.L., 2016, Comparison of geostatistical approaches to 

spatially interpolate month-year rainfall for the Hawaiian 

Islands: International Journal of Climatology, v. 36, no. 3, 

p. 1459–1470.

Gash, J.H.C., 1979, An analytical model of rainfall 

interception by forests: Quarterly Journal of the Royal 

Meteorological Society, v. 105, no. 443, p. 43–55.

Gash, J.H.C., Lloyd, C.R., and Lachaud, G., 1995, Estimating 

sparse forest rainfall interception with an analytical model: 

Journal of Hydrology, v. 170, no. 1, p. 79–86.

Gesch, D., Oimoen, M., Greenlee, S., Nelson, C., Steuck, 

M., and Tyler, D., 2002, The national elevation dataset: 

Photogrammetric Engineering and Remote Sensing, v. 68, 

p. 5–12.

Giambelluca, Thomas., Chen, Qi, Frazier, Abby, Price, 

Jonathan, Chen, Yi-Leng, Chu, Pao-Shin, Eischeid, Jon, 

and Delparte, Donna, 2013, Online rainfall atlas of Hawaii: 

Bulletin of the American Meteorological Society, v. 94, 

no. 3, p. 313–316.

Harbaugh, A.W., 2005, MODFLOW-2005, The U.S. 

Geological Survey modular ground-water model—The 

ground-water flow process: U.S. Geological Survey 

Techniques and Methods book 6, Chap. A16, [variously 

paged].

Henrich, E.W., and Daniel, D.N., 1983, Drainage-area data 

for Wisconsin streams: U.S. Geological Survey OpenFile Report 83–933, 326 p., accessed January 14, 2016, at 

https://pubs.er.usgs.gov/publication/ofr83933.

Homer, C.G., Dewitz, J.A., Yang, L., Jin, S., Danielson, P., 

Xian, G., Coulston, J., Herold, N.D., Wickham, J.D., and 

Megown, K., 2015, Completion of the 2011 National Land 

Cover Database for the conterminous United States—

Representing a decade of land cover change information: 

Photogrammetry Engineering and Remote Sensing, v. 81, 

no. 5, p. 345–354.

Izuka, S.K., Oki, D.S., and Engott, J.A., 2010, Simple method 

for estimating groundwater recharge on tropical islands: 

Journal of Hydrology, v. 387, no. 1–2, p. 81–89.

Johnson, A.G., Engott, J.A., and Bassiouni, Maoya, 2014, 

Spatially distributed groundwater recharge estimated using 

a water-budget model for the Island of Maui, Hawaii, 1978–

2007: U.S. Geological Survey Scientific Investigations 

Report 2014–5168, 53 p., accessed July 22, 2015, at https://

pubs.er.usgs.gov/publication/sir20145168.

Juvik, J.O., DeLay, J.K., Kinney, K.M., and Hansen, E.W., 

2011, A 50th anniversary reassessment of the seminal ‘L 

ana’i fog drip study’in Hawaii: Hydrological Processes, 

v. 25, no. 3, p. 402–410.

Juvik, J.O., and Ekern, P.C., 1978, WRRCTR no. 118—A 

climatology of mountain fog on Mauna Loa, Hawaii 

Island: Honolulu, Hawaii, Water Resources Research 

Center, University of Hawaii at Manoa, WRRC Technical 

Report 118, 63 p.

McDonald, M.G., and Harbaugh, A.W., 1988, A modular 

three-dimensional finite difference ground-water flow 

model: U.S. Geological Survey Techniques of WaterResource Investigations, book 6, chap. A1, 586 p.

Oki, D.S., 2002, Reassessment of ground-water recharge 

and simulated ground-water availability for the Hawi area 

of north Kohala, Hawaii: U.S. Geological Survey WaterResources Investigations Report 02–4006, 62 p.

Stearns, H.T., and Macdonald, G.A., 1942, Geology and 

ground-water resources of the Island of Maui, Hawaii: 

Territory of Hawaii, Division of Hydrography, bulletin 7, 

344 p., accessed September 1, 2017, at https://pubs.usgs.

gov/misc/stearns/Maui.pdf.

Thornton, P.E., Thornton, M.M., Mayer, B.W., Wei, Y., 

Devarakonda, R., Vose, R.S., and Cook, R.B., 2016, 

Daymet—Daily surface weather data on a 1-km grid for 

North America, version 3: accessed August 16, 2016, at

http://dx.doi.org/10.3334/ORNLDAAC/1328.

U.S. Department of Agriculture, 2009, Soil survey geographic 

(SSURGO) database for Wisconsin: accessed September 29, 

2017, at https://nrcs.app.box.com/v/soils. 
118 SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components

Weeks, E.P., Ericson, D.W., Holt, C.L.R., and others, 1965, 

Hydrology of the Little Plover River basin, Portage County, 

Wisconsin and the effects of water resource development: 

Washington, D.C., United States Government Printing 

Office, U.S. Geological Survey Water-Supply Paper 1811, 

78 p.

Westenbroek, S.M., Kelson, V.A., Dripps, W.R., Hunt, 

R.J., and Bradbury, K.R., 2010, SWB—A modified 

Thornthwaite-Mather Soil-Water-Balance code for 

estimating groundwater recharge: U.S. Geological Survey 

Techniques and Methods, book 6, chap. A31, 60 p.
Publishing support provided by the U.S. Geological Survey

Science Publishing Network, Lafayette, Madison, and Tacoma 

Publishing Service Centers

For more information concerning the research in this report, 

contact the

Director, Upper Midwest Water Science Center

U.S. Geological Survey

8505 Research Way

Middleton, Wisconsin 53562
Westenbroek and others—SWB Version 2.0—A Soil-Water-Balance Code for Estimating Net Infiltration and Other Water-Budget Components—Techniques and Methods 6–A59

ISSN 2328-7055 (online)

https://doi.org/10.3133/tm6A59