U.S. Department of the Interior

U.S. Geological Survey

Techniques and Methods 6–D2

Groundwater Resources Program

CRT—Cascade Routing Tool to Define and Visualize 

Flow Paths for Grid-Based Watershed Models

CRT—Cascade Routing Tool to Define 

and Visualize Flow Paths for Grid-Based 

Watershed Models

By Wesley R. Henson, Rose L. Medina, C. Justin Mayers, Richard G. Niswonger, 

and R.S. Regan

Groundwater Resources Program

Techniques and Methods 6–D2

U.S. Department of the Interior

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

KEN SALAZAR, Secretary

U.S. Geological Survey

Suzette M. Kimball, Acting Director

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

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 http://www.usgs.gov or call 1–888–ASK–USGS.

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

visit http://www.usgs.gov/pubprod

To order this and other USGS information products, visit http://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:

Henson, W.R., Medina, R.L., Mayers, C.J., Niswonger, R.G., and Regan, R.S., 2013, CRT—Cascade Routing Tool to 

define and visualize flow paths for grid-based watershed models: U.S. Geological Survey Techniques and Methods 

6-D2, 28 p. 
iii

Preface

This report describes a new computer program—the Cascade Routing Tool (CRT)—to 

define surface and subsurface flow paths within grid-based watershed models. CRT was 

designed specifically for use with the U.S. Geological Survey Precipitation-Runoff Modeling System (PRMS) watershed model and the GSFLOW coupled groundwater/surface-water 

flow model. CRT includes an ArcGIS based toolbox—the Cascade Routing Visualization 

(CRV)—that can be used to visualize cascade flow paths. The performance of the programs has 

been tested in a variety of applications, some examples are documented in this report. Future 

applications, however, might reveal errors that were not detected in the test simulations. Users 

are requested to notify the U.S. Geological Survey of any errors found in this report or the 

computer programs by using the address on the inside of the back cover of the report. Updates 

might occasionally be made to both the report and to the computer programs. Users can check 

for updates on the Internet at http://water.usgs.gov/software/lists/groundwater/. 
iv

Contents

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

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

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

Overview of Cascades ................................................................................................................................. 3

Implementation of Cascade Routing Tool ................................................................................................ 5

Spatial Relationships and Adjacency .............................................................................................. 5

Cascade Links and Outflow Fractions.............................................................................................. 5

CRT Fill Procedure ............................................................................................................................... 8

CRT Input ....................................................................................................................................................... 8

Considerations for Preparing Input Files ......................................................................................... 8

HRU Discretization ..................................................................................................................... 8

Boundary HRUs........................................................................................................................... 8

Land-Surface Depressions and Swales ................................................................................ 9

Stream Networks and Lakes .................................................................................................... 9

Groundwater Cascades........................................................................................................... 10

PRMS Recharge Estimates ..................................................................................................... 10

Cascades-Definition File .................................................................................................................. 11

Surface-Elevation File ...................................................................................................................... 12

Basin-Outflow Locations File .......................................................................................................... 12

Stream-Locations File ...................................................................................................................... 12

Optional Files ...................................................................................................................................... 12

HRU-Identifiers File ..................................................................................................... 13

Cascade-Visualization File ...................................................................................................... 13

Installing and Running CRT ....................................................................................................................... 13

Output Files .................................................................................................................................................. 13

CRT Program Summary File ............................................................................................................. 13

Upslope Connections File................................................................................................................. 13

Downslope Connections File ........................................................................................................... 13

Cascade Link Outflow-Fraction File................................................................................................ 14

Stream Segment Cascade Link File ................................................................................................ 14

PRMS/GSFLOW Cascade Parameter Input Files.......................................................................... 14

Cascade Parameter Dimension File ...................................................................................... 14

Surface and Groundwater Cascades Input Files ............................................................... 15

CRV Input File...................................................................................................................................... 15

Cascade Routing Visualization ................................................................................................................. 16

Cascade Features.............................................................................................................................. 16

Installing and Using CRV .................................................................................................................. 18

Sample Applications................................................................................................................................... 18

Application 1: Sagehen Creek Basin, California........................................................................... 19

Description of the Basin ......................................................................................................... 19

Application Overview............................................................................................................... 19

Input ........................................................................................................................................ 19
v

Input for Application 1A: All Streams With Fill Procedure........................................... 21

Input for Application 1B: PRMS-Only Groundwater Cascades by Using SteadyState Potentiometric Surface.............................................................................. 21

Output ........................................................................................................................................ 21

Application 2: Lower Walker River Basin, Nevada ...................................................................... 24

Description of the Basin .......................................................................................................... 24

Application Overview .............................................................................................................. 24

Input ........................................................................................................................................ 24

Input for application 2A: Cascades Generated Without Stream Reaches................ 24

Input for Application 2B: Cascades Generated With Selected Stream Reaches.... 26

Input for Application 2C: PRMS-Only Groundwater Cascades Using Topography.. 26

Output ........................................................................................................................................ 27

Summary....................................................................................................................................................... 28

References Cited......................................................................................................................................... 28

Figures

1. Diagram showing cascading flow patterns of overland flow among hydrologic 

response units and streams delineated from A, topography intersected by 

elevation bands and from B, a rectangular grid ..................................................................... 2

2. Diagram showing hypothetical model grid with four rows and four columns showing 

A, types of cascading hydrologic response units and B, land-surface altitudes and 

cascading flow directions .......................................................................................................... 4

3. Diagram showing hypothetical model grid with four rows and four columns illustrating 

different types of conditions in which multiple streams reaches can be located 

within a single hydrologic response unit (HRU): in A, cascading flow distributed 

equally to the three connected reaches in HRU 14 and in B, cascading flow 

distributed equally to the two parallel reaches in HRU 10 ................................................... 7

4. Diagram showing hypothetical model grid with four rows and four columns showing 

A, a case in which hydrologic response unit identifications and grid cell 

identifications are equivalent and B, a case in which HRU_IDs and CELL_IDs 

are numbered differently ............................................................................................................ 9

5. Excerpt from the Lower Walker River Basin sample application 2A HRU_CASC.DAT

file showing definition of lake hydrologic response units by using HRU_TYPE=2....... 10

6. Diagram showing Cascade Routing Visualization generated hypothetical 

cascade links and cascade types ........................................................................................... 17

7. Diagram showing the cartographic representations applied by Cascade Routing 

Visualization to hypothetical cascade link line features and the cascade types ........... 18

8. Map showing Sagehen Creek Basin PRMS model domain showing active model 

boundary; stream network; and springs .................................................................................20

9. Line 1 from HRU_CASC.DAT input file for Sagehen Creek Basin application ................21

10. Lines 1–6 of the STREAM_CELLS.DAT input file for Sagehen Creek Basin 

application ...................................................................................................................................21

11. Excerpt from outputstat.txt showing a summary of Cascade Routing Tool 

options and filled hydrologic response units for the Sagehen Creek Basin 

application ....................................................................................................................................22
vi

12. Diagram showing A, Depiction of Sagehen Creek Basin PRMS model domain showing 

stream network, cascade flow arrows, and undeclared swales. B, Part of the model 

domain showing undeclared swales and cascade flow arrows before the landsurface model was corrected with Cascade Routing Tool (CRT) Fill Procedure. 

C, The same part of the model domain after elimination of the undeclared swales 

by use of the CRT Fill Procedure ............................................................................................. 23

13. Map showing Lower Walker River PRMS/GSFLOW model domain showing active 

model boundary; stream network; and non-stream cascade-discharge features 

Walker Lake, Webber Reservoir, and Double Springs Playa, Nevada ............................. 25

14. Line 1 of HRU_CASC.DAT input file for the Lower Walker River Basin application 

2A showing use of option STRMFLG=0 ................................................................................ 26

15. Line 1 of the HRU_CASC.DAT input file for the Lower Walker River Basin 

application 2C showing use of option STRMFLG=1 ........................................................... 26

16. Lines 1–2 and 284–288 of the STREAM_CELLS.DAT input file for the Lower 

Walker River Basin application 2C showing use of option ON_OFF=0 .......................... 26

17. Diagram showing depiction of Lower Walker River Basin PRMS and GSFLOW model 

domains showing stream network, lake boundaries, Double Springs Playa 

designated swale, cascade flow arrows, and undeclared swales: A, model domain 

with no stream reaches, B, model domain with selected stream reaches, C, part 

of the model domain showing cascade flow arrows in the simulation with no stream 

reaches, and D, part of the model domain showing cascade flow arrows in the 

simulation with selected streams ........................................................................................... 27

Tables

1. Selected input parameters for the GSFLOW Cascade Module ............................................... 5

2. Cascade-link parameters for the hypothetical model shown on figure 2 demonstrating FLOWFLG=0 and FLOWFLG=1 approaches for allocating flows to 

downslope hydrologic response units ..................................................................................... 6

3. Comparison of CRT output parameters CASCADE_TYPE_UP and CASCADE_

TYPE_DOWN and CRV output feature class attribute CASCADE_TYPE ....................... 17
vii

Conversion Factors and Datums 

Inch/Pound to SI

Multiply By To obtain

Length

foot (ft) 0.3048 meter (m)

mile (mi) 1.609 kilometer (km)

SI to Inch/Pound

Multiply By To obtain

Length

meter (m) 3.281 foot (ft) 

kilometer (km) 0.6214 mile (mi)

Vertical coordinate information is referenced to the North American Vertical Datum of 1988

(NAVD 88).

Horizontal coordinate information is referenced to the North American Datum of 1983 (NAD 83).

Altitude, as used in this report, refers to distance above the vertical datum.
viii
CRT—Cascade Routing Tool to Define and Visualize Flow 

Paths for Grid-Based Watershed Models

By Wesley R. Henson, Rose L. Medina, C. Justin Mayers, Richard G. Niswonger, and R.S. Regan

within the watershed. Use of the cascade module can allow 

for a more realistic representation of the effects of topography 

and topology on watershed drainage relative to a simulation without cascades. Cascades are important for simulating 

divergent and convergent flows that can result in reinfiltration 

of overland runoff and saturated excess runoff. CRT is used 

external to the watershed model so that the computed cascades 

can be evaluated prior to a simulation to make sure that water 

is routed appropriately.

The full functionality of CRT Version 1.0, which is 

described in this report, is limited to simulations that use 

square grid cells to discretize a watershed into HRUs and 

GWRs. Some features of CRT version 1.0 can be used in 

models discretized into a grid of rectangular HRUs; see the 

section titled “HRU Discretization” for more information on 

HRU discretization. Irregular and polygon HRUs and GWRs 

can be used with PRMS or GSFLOW, but this version of CRT 

does not generate cascades for these types of discretizations. 

Pan and others (2012) classify cascade algorithms according 

to three types: single-flow direction, bi-flow direction, and 

multiple-flow directions. CRT is a type of multiple-flow direction algorithm. A maximum of four flow paths can be defined 

for a single, square or rectangular HRU (or GWR) in CRT; the 

procedure for defining these paths according to the relative 

altitude among spatial units has been well established (Ford 

and Fulkerson, 1956).

Currently (2013), to the authors’ knowledge, there is 

no widely-available software that can be used to develop 

the required input data for defining cascades in PRMS and 

GSFLOW; CRT provides this capability. CRT relies on a landsurface elevation model derived from a raster Digital Elevation 

Model (DEM) that has been resampled to the size of the gridded HRUs used to discretize the watershed, and lists of indices 

for each stream or lake that intersect HRUs and each HRU 

where lateral flow exits the watershed or model domain (outflow HRU). CRT reads ASCII input files and produces ASCII 

output files in a format that can be used directly in PRMS 

and GSFLOW Parameter and Control Files. CRT has utilities 

to pre-process elevation data to remove small closed depressions that could interfere with cascade generation. Finally, 

CRT includes a toolbox, called Cascade Routing Visualization 

(CRV), for visualizing cascades in ArcGIS. Applications of 

CRT are presented for two watersheds to demonstrate CRT 

capabilities for several model configurations and to guide the 

user through the steps involved in implementing CRT.

Abstract

The U.S. Geological Survey Cascade Routing Tool (CRT) 

is a computer application for watershed models that include 

the coupled Groundwater and Surface-water FLOW model, 

GSFLOW, and the Precipitation-Runoff Modeling System 

(PRMS). CRT generates output to define cascading surface 

and shallow subsurface flow paths for grid-based model 

domains. CRT requires a land-surface elevation for each 

hydrologic response unit (HRU) of the model grid; these 

elevations can be derived from a Digital Elevation Model raster data set of the area containing the model domain. Additionally, a list is required of the HRUs containing streams, swales, 

lakes, and other cascade termination features along with 

indices that uniquely define these features. Cascade flow paths 

are determined from the altitudes of each HRU. Cascade paths 

can cross any of the four faces of an HRU to a stream or to a 

lake within or adjacent to an HRU. Cascades can terminate at 

a stream, lake, or HRU that has been designated as a watershed outflow location. 

Introduction

Large-scale simulations of surface and shallow subsurface 

lateral water flow often use pre-defined routing flow paths to 

drain a watershed (fig. 1). This approach assumes that lateral 

hydrologic gradients are equal to land-surface gradients and 

that the flow paths represent the effects of gravity on the flow 

of water throughout the watershed. The Cascade Routing Tool 

(CRT) is a computer program that has been developed to compute flow paths among Hydrologic Response Units (HRUs) 

and Groundwater Reservoirs (GWRs) defined for watersheds 

simulated by the U.S. Geological Survey (USGS) Precipitation-Runoff Modeling System (PRMS; Leavesly and others, 

1983). CRT also can be used to compute flow paths among 

HRUs for simulations that use the USGS integrated Groundwater and Surface water FLOW model, GSFLOW (Markstrom 

and others, 2008). GSFLOW couples PRMS with the USGS 

MODFLOW groundwater model (Harbaugh, 2005). 

CRT calculates cascade parameters required by PRMS and 

GSFLOW when the Cascade Module of these models has 

been activated. PRMS and GSFLOW can be run without using 

the Cascade Module; however, for this case, all lateral flows 

are routed directly to a stream or other hydrologic outflow 

points in the watershed without considering specific flow paths 
2 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Throughout this document, CRT and CRV input and 

output parameters are capitalized in bold Courier New font 

(for example, HRUFLAG), the name of CRT input files are 

capitalized in bold Times New Roman font (for example, 

HRU_CASCADE.DAT), CRT output file names are shown 

in lower-case bold Times New Roman font, (for example, 

outputstat.txt), and PRMS and GSFLOW Cascade Module 

parameters and input values are shown in lower-case Courier 

New font (for example, hru_up_id). In addition, input and 

output file extensions indicate file type. Cascade parameter 

files (.param file extension) are generated by CRT for direct 

input to PRMS and GSFLOW. Data files (.DAT extension) are 

used for CRT input. Text files (.txt file extension) are files that 

contain information that can be used to quickly asses the success of a particular CRT execution; this information includes 

a summary of CRT operation, cascade parameter dimensions, 

Figure 1. Diagram showing cascading flow patterns of overland flow among hydrologic response units (HRUs) and streams delineated 

from A, topography intersected by elevation bands and from B, a rectangular grid. 

2

3

1

2

3

EXPLANATION

6 Hydrologic response unit and number

Watershed boundary

Stream segment and number

Direction of streamflow

Direction of runoff and interflow among 

hydrologic response units

Streamflow gage at basin outlet

1

B

A

67 5 8

9

10

11

13

12

14

15

16

17

18

1

2 34 19 20

21

3 2 1

4 5 6 7 8

9 10 11 12 13

14 15 16 17 18

19

20 21 22

23

1

From Markstrom and others, 2008, fig. 18
Overview of Cascades 3

and CRV input. Output files (.out file extension) provide 

the individual cascade parameters computed by CRT. For 

example, the file hru_up_id.out contains the values for cascade parameter hru_up_id. While the file extensions may 

vary, all CRT input and output files are written as formatted 

ASCII data and can be opened with any standard text editing 

software. PRMS, GSFLOW, CRT, and CRV do not make a 

distinction between capitalized and lower-case file names and 

parameters; these formatting conventions serve to distinguish 

each program’s input and output.

Purpose and Scope

This report describes how CRT can be used to develop 

required input data for defining cascades for PRMS run in 

stand-alone mode or for integrated simulations by using 

GSFLOW. The report provides a description and background 

of cascades and how they are used to route horizontal flow in a 

watershed. Two example watersheds are presented to demonstrate the use and capabilities of CRT, including the development of input files, executing CRT, and visualizing CRT output by using the ArcGIS-based Cascade Routing Visualization.

Overview of Cascades

Cascades are pre-defined flow paths that can be used for 

routing surface and shallow subsurface lateral flow in hydrologic models. PRMS and GSFLOW include a cascading-flow 

procedure that relies on a specified flow-direction network 

(cascades) composed of individual connections (cascade links) 

between active HRUs and surface-discharge features to route 

computed flows from upslope HRUs and GWRs to downslope 

HRUs, GWRs, and cascade-discharge features such as 

streams, swales, reservoirs, lakes, or outflow HRUs (Markstrom and others, 2008). 

 The cascading-flow procedure allows flow routing that 

accounts for changes in hydrologic drainage patterns as water 

moves from upslope to downslope portions of a basin (figs. 1 

and 2). An assumption of the cascade procedure is that flow 

is routed from (or to) contiguous HRUs, GWRs, lakes, and 

stream segments. Once flow is routed to a cascade link that 

terminates in a cascade discharge feature such as a stream or 

lake, further flow routing is handled by PRMS and GSFLOW; 

therefore, cascade links among stream segments and among 

reservoir and lake HRUs are unnecessary.

Cascades are implemented in PRMS and GSFLOW 

through the Cascade Module. The Cascade Module is active 

when the values of dimension parameters ncascade and/or 

ncascdgw are specified to be greater than 0 in the PRMS or 

GSFLOW Parameter File. The dimension ncascade is the 

total number of links from HRUs to HRUs, HRUs to stream 

segments, or HRUs to outflow HRUs in a basin. Likewise, 

the dimension ncascdgw, is the total number of links for 

groundwater reservoirs. Cascading-flow computations are 

made in order from the start of cascade paths to their terminus, 

such that the outflow from an HRU or a GWR is not computed 

until all inflows to the reservoir have been calculated. 

Cascade parameters define the computation order for routing lateral flows among HRUs and GWRs, and to the routing terminus locations at cascade discharge features. CRT 

computes the Cascade Module input parameters (including 

ncascade and ncascdgw). Table 1 defines the cascade 

parameters required by PRMS and GSFLOW when the cascade procedure is active. Four parameters are used to specify 

each HRU-to-HRU, and HRU-to-stream segment link, namely 

hru_up_id, hru_down_id, hru_strmseg_down_id, 

and hru_pct_up. An HRU-HRU cascade link is defined 

by setting both hru_up_id and hru_down_id to active 

land-based HRU identifiers. An HRU-to-stream cascade link 

is defined by setting hru_up_id to an active land-based 

HRU identifier and hru_strmseg_down_id to a stream 

segment number; in this case, the value of hru_down_id is 

ignored. A link between an HRU and lake is defined by setting 

both hru_up_id to an active land-based HRU identifier and 

hru_down_id to an active lake HRU identifier (that is, 

HRU_TYPE=2; see Markstrom and others, 2008). The cascade 

parameter hru_strmseg_down_id must be zero for 

HRU-to-HRU and HRU-to-lake links and for HRU-to-HRU 

links where the downslope cascade link contains an outflow 

HRU. These parameters are of dimension ncascade. For 

PRMS-only simulations that represent groundwater flow by 

using PRMS groundwater reservoirs (GWRs), the connectivity pattern of GWR-to-GWR and GWR-to-stream segment 

is defined by four parameters—gw_up_id, gw_down_id, 

gw_strmseg_down_id, and gw_pct_up—each dimensioned by ncascdgw.

CRT is based on the assumption that land-surface cascades 

provide a good initial approximation of groundwater cascades. 

This assumption derives from the fact that groundwater-level 

surfaces often mimic topographic surfaces (Tόth, 1963); 

therefore, the default procedure used by CRT for computing 

cascades for GWRs is the same as for HRUs. In PRMS-only 

simulations, GWR cascades can be the same as or different from HRU cascades; however, groundwater-cascade 

parameters generated by CRT are equivalent to surface-water 

cascades. For example, the HRU cascade parameter ncascade is equal to the GWR cascade parameter ncascdgw, 

and hru_up_id is equivalent to gw_up_id. Although by 

default GWR and HRU cascade parameters are computed the 

same, CRT has the capability to generate GWR cascades that 

are independent of HRU cascades. 

Not all HRUs or stream segments need to be included in the 

cascade parameter lists. An HRU that is not specified in any 

cascade link is assumed to be a swale HRU and will have no 

outflow, which is identical to an outflow HRU cascade. Swales 

can represent real hydrologic features, such as a wetland or 

lake that is the same size or smaller than an HRU. The parameter HRU_TYPE can be specified as 3 for all swale HRUs; 

however, if an HRU is not included in the hru_up_id list, 

then PRMS will assume it is an undeclared swale HRU, even 
4 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

if HRU_TYPE is specified as 1. See the section titled “LandSurface Depressions and Swales” for further details regarding 

swales. Stream segments not included in any HRU or GWR 

cascade link do not receive lateral inflow from HRUs or 

GWRs. The GWR connectivity parameters must account for 

all GWRs; no designated or undeclared swale GWRs can be 

present. Therefore, if swale or lake HRUs exist, then groundwater cascades should be generated separately from surface 

cascades; see the section titled “Groundwater Cascades” for 

guidance on generating GWR cascades. 

The parameters hru_pct_up and gw_pct_up assign 

the decimal fraction of total lateral outflow from an upslope 

HRU or GWR that is routed by each cascade link. If the sum 

of hru_pct_up or gw_pct_up decimal fractions for an 

upslope HRU or GWR is less than 1.0, the Cascade Module 

apportions the missing decimal fraction evenly among all 

cascade links originating from that upslope HRU or GWR. 

Additionally, two scalar parameters are used to simplify cascade links. PRMS and GSFLOW ignore any cascade link with 

an upslope HRU or GWR area less than the cascade tolerance 

(cascade_tol; Marsktrom and others, 2008, p. 34) and 

less than 7.5 percent of the upslope HRU or GWR area. Cascade links with less than the specified tolerance are ignored, 

and the associated decimal fraction is evenly apportioned to all 

other cascade links originating from the HRU or GWR.

Figure 2. Hypothetical model grid with four rows and four columns showing A, types of cascading hydrologic response units (HRUs) 

and B, land-surface altitudes and cascading flow directions. 

EXPLANATION EXPLANATION

A Column B Column

Row

1 2 3 4 1 2 3 4

1

2

3

4

OUTFLOW HRU

0 1 1 1

0 1 1 3

1 1 1

1 1 1 1

1

1

3

0

1

75 100 75

70 50 40

60 60 40 50

35 34 33 32

75

12

1 4

9 10 11 12

13 14 15 16

5 6 7 8

2 3

Active HRU without stream segment showing HRU_TYPE

Active HRU with stream segment showing HRU_TYPE

Active HRU with swale showing HRU_TYPE

Inactive HRU showing HRU_TYPE

Land-surface altitude, length units

HRU identifier

Cascading flow direction

Flow in the stream segment (identified as hru_strmseg_down_id 1 in table 2) 

is from left to right with an outflow HRU specified at the stream outlet (HRU_ID 16). 
Implementation of Cascade Routing Tool 5

Implementation of Cascade 

Routing Tool

Spatial Relationships and Adjacency

Each HRU defined for a PRMS or GSFLOW simulation is assigned an HRU identifier that is used to index HRU 

parameter data. In CRT, HRU-identifiers (HRU_IDs) can be 

user-specified or automatically assigned by CRT as the input 

data are read. During CRT initialization, each grid-based HRU 

is assigned an identifier (CELL_ID). CELL_IDs are used by 

CRT to determine adjacent grid-based HRUs. Grid CELL_IDs 

are assigned similar to the MODFLOW convention, starting 

in the upper left corner of the grid and increasing sequentially 

across columns in a single row and continuing again on the 

left side of a new row, as shown in figure 2B. If HRU_IDs are 

automatically assigned by CRT, CRT will make CELL_ID

and HRU_ID equivalent. If HRU_IDs are specified by the 

user, they must be listed in the HRU-Identifiers File (HRU_

ID.DAT). During CRT operation, the cascade calculation 

order is defined and indexed by using cascade-link identifiers 

(CASCADE_IDs), which order cascades such that outflow 

to downslope cascade links is not computed until all inflows 

from upslope HRUs or GWRs have been computed.

Cascade Links and Outflow Fractions

Each set of connected cascade links (cascades) starts at 

an HRU that does not receive flow from an upslope cascade 

link. Each cascade traverses downslope and must terminate 

in a stream segment, a lake or swale HRU, or an HRU that 

contains a predefined watershed outflow HRU. The Cascade 

Module checks for circular flow paths, which are flow paths 

in which the calculated flow leaving an HRU is routed back 

to itself. Circular flow paths can lead to mass-balance errors.

Circular flow paths in cascade links must be corrected before 

PRMS or GSFLOW can be executed with the Cascade Module 

active. If necessary, CRT Fill Procedure can be used to correct 

circular flow paths.

Links are established between an HRU and its four neighboring HRUs by simply identifying which of the (active) 

neighboring HRUs have lower elevations. For example, in 

figure 2B, there are three HRUs adjacent to HRU_ID 3 that 

have lower elevations than HRU_ID 3; therefore, there are 

three outflow cascade links associated with the HRU. 

Table 1. Selected input parameters for the GSFLOW Cascade Module.

[HRU, hydrologic response unit; GWR, groundwater reservoir; nhru, number of HRUs; ngw, number of groundwater reservoirs; ncascdgw, total number of cascade links among 

groundwater reservoirs; ncascade, total number of cascade links among HRUs and stream segments; nsegment, number of stream segments] 

Parameter name Description Dimension variable Units Type Range

HRU_TYPE Type of each HRU 

(0=inactive; 

1=land; 2=lake; 

3=swale)

nhru None Integer 0 to 3

Input parameters related to HRUs

hru_up_id Identifier of HRU of 

upslope link

ncascade None Integer 0 to nhru

hru_down_id Identifier of HRU of 

downslope link

ncascade None Integer 1 to nhru

hru_pct_up Fraction of outflow 

from upslope link 

to downslope link

ncascade decimal fraction Real 0.0 to 1.0

hru_strmseg_down_id Identifier of stream 

segment receiving 

flow

ncascade None Integer 0 to nsegment

Input parameters related to GWRs

gw_up_id Identifier of GWR of 

upslope link

ncascdgw None Integer 1 to ngw

gw_down_id Identifier of GWR of 

downslope link

ncascdgw None Integer 0 to ngw

gw_pct_up Fraction of outflow 

from upslope link 

to downslope link

ncascdgw decimal fraction Real 0.0 to 1.0

gw_strmseg_down_id Identifier of stream 

segment receiving 

flow

ncascdgw None Integer 0 to nsegment
6 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

In addition to requiring user-specified cascade links among 

HRUs, PRMS and GSFLOW simulations also require specification of the percentages of flow from each upslope HRU 

to each of its downslope receiving HRUs. Although several 

methods can be used to partition outflow to neighboring 

downslope HRUs, the current version of CRT includes only 

two approaches for doing this. In the first approach, which 

is implemented by setting parameter FLOWFLG to 0 in the 

HRU_CASC.DAT input file, the outflow is distributed equally 

to each of the outflow HRUs. For example, for HRU_ID 3 in 

figure 2B, the fraction of flow to each of the three receiving 

downslope HRUs is 0.33 (table 2). Similarly, for the case in 

which all outflow is to a single HRU, the fraction of flow to 

the receiving HRU would be 1.0; for the case of two outflow 

HRUs, the fraction to each receiving HRU would be 0.50; 

and for the case of four outflow HRUs, the fraction to each 

receiving HRU would be 0.25. 

In the second approach (FLOWFLG=1), the outflow rates 

are scaled by the relative slopes between the upslope and 

downslope HRUs according to the equation:

y

x Fraction , ji = (1)

where

Fractioni, j is the fraction of flow from upslope HRU i to 

downslope HRU j,

x is the elevation difference between two HRUs 

along a cascade link, and

y is the sum of the elevation differences 

between the upslope HRU and all of the 

downslope receiving HRUs.

As an example of this approach, the slope from HRU_ID 3 

to HRU_ID 7 in figure 2B is twice as large as the slope from 

HRU_ID 3 to either HRU_ID 2 or HRU_ID 4, and the resulting outflow fractions to the three HRUs are 0.50 to HRU_ID

7 and 0.25 to both HRU_ID 2 and HRU_ID 4. This approach 

requires that HRUs be squares (all sides of equal dimension).

In a PRMS or GSFLOW simulation, streams are subdivided 

into reaches and segments. A stream reach is a section of a 

stream associated with a particular HRU. A stream segment is 

a group of reaches that have (1) uniform rates of overland flow 

and precipitation to them; (2) uniform rates of evapotranspiration from them; (3) uniform or linearly changing hydraulic properties, such as streambed elevation, thickness, and 

hydraulic conductivity; (4) tributary flows or specified inflow 

or outflow rates to them; or (5) diversions from them. For 

example, the stream reaches in HRU_IDs 13, 14, 15, and 16 in 

figure 2B compose stream segment number 1. If a cascade link 

terminates at an HRU that contains a stream reach, then all 

lateral flow to that HRU is assumed to discharge to the stream 

reach contained within the HRU. CRT also assumes that if an 

HRU is adjacent to an HRU that contains a stream, then all of 

the flow leaving that HRU is directed to the HRU containing 

the stream (hru_pct_up=1.0). For example, HRU_IDs 9, 

10, 11, and 12 in figure 2B are all adjacent to stream segment 

1; therefore, all of the outflow from the four HRUs goes to 

stream segment 1, even though the land-surface elevations in 

HRU_ID 11 are lower than those in adjacent HRU_IDs 10 and 

12.

Table 2. Cascade-link parameters for the hypothetical model shown on figure 2 demonstrating FLOWFLG=0 and FLOWFLG=1

approaches for allocating flows to downslope (receiving) hydrologic response units.

[HRU, hydrologic response unit; CASCADE_ID, Cascade-link identifier, index of cascade links; hru_up_id, identifier of HRU of upslope link; hru_down_id, indentifier of HRU 

of downslope link; hru_pct_up, fraction of outflow from upslope link to downslope link; and hru_strmseg_down_id, identifier of stream segment receiving flow]

CASCADE_ID hru_up_id hru_down_id hru_pct_up

FLOWFLG=0

hru_pct_up

FLOWFLG=1

hru_strmseg_

down_id

1 2 6 1.00 1.00 0

2 3 4 0.33 0.25 0

3 3 2 0.33 0.25 0

4 3 7 0.33 0.50 0

5 4 8 1.00 1.00 0

6 6 7 0.50 0.67 0

7 6 10 0.50 0.33 0

8 7 8 0.50 0.50 0

9 7 11 0.50 0.50 0

10 9 0 1.00 1.00 1

11 10 0 1.00 1.00 1

12 11 0 1.00 1.00 1

13 12 0 1.00 1.00 1

14 13 0 1.00 1.00 1

15 14 0 1.00 1.00 1

16 15 0 1.00 1.00 1

17 16 0 1.00 1.00 1
Implementation of Cascade Routing Tool 7

For HRUs containing multiple stream reaches, the flow to 

each stream reach is not apportioned by stream-reach length; 

it is distributed equally among all reaches in the HRU. For 

example, flow leaving HRU_ID 14 in figure 3A is distributed 

equally among all three of the reaches within the HRU; flow is 

assigned to the corresponding segment associated with those 

reaches. Likewise, flow is distributed equally to the two parallel stream reaches in HRU_ID 10 in figure 3B. 

Water that enters a stream in PRMS simulations (or PRMSonly GSFLOW simulations) is assumed to leave the model 

instantaneously. Thus, there is no groundwater recharge from 

streams. For watersheds in which recharge from streams is 

important, it could be more appropriate to represent streams by 

a series of cascade links that follow the course of the streams. 

Such an approach allows recharge along the HRUs that follow 

where the stream would be. This is a useful approach when 

estimating the spatial and temporal distribution of recharge 

within PRMS to be used in a separate groundwater simulation 

(for example, a steady-state GSFLOW simulation). 

CRT has an option that allows the user to specify that some 

streams be ignored in the generation of cascade links. This is 

done with input parameter STRMFLG in the HRU_CASC.

DAT input file, which is used to define how streams interact 

with cascades. CRT allows the user to generate cascades in 

which the stream network is ignored (STRMFLG=0) or to 

generate cascades in which selected (or all) stream reaches 

are included (STRMFLG=1). Parameter STRMFLG allows 

the user to compare various stream-cascade configurations. If 

simulation of groundwater recharge is an important modeling 

objective, additional consideration of active stream reaches is 

warranted; see the section titled “Stream Networks and Lakes” 

and “PRMS Recharge Estimates” for more information on 

stream-network configurations.

In addition to HRU cascade links to stream segments, 

HRU cascade links also are defined for lakes and swales. If 

an HRU cascade link terminates in a lake HRU, then all flow 

leaving the land HRU is directed to the adjacent lake HRU 

(hru_pct_up=1.0). If an HRU cascade link terminates in a 

swale, then flow received by that swale only leaves the surface 

of the model domain through infiltration and evaporation.

EXPLANATION

A Column B Column

Row

1 2 3 4 1 2 3 4

1

2

3

4

1

1

1 4

9 10 11 12

13 14 15 16

5 6 7 8

1 4 2 3

9 10 11 12

13 14 15 16

5 6 7 8

2 3

Active HRU cell without stream segment showing 

HRU_ID in upper left corner 

Active HRU cell with stream segment showing HRU_ID

in upper left corner, (1,1) indicates stream segment 

number and reach number, respectively (1,1) (1,2) (1,4) (1,3)

(2,1) (2,2) (2,3) (2,4)

(1,1)

(1,2) (1,1) (1,4) (1,3)

(2,1)

(2,3) (2,2)

(3,1) (3,2) (3,3) (4,4)

Figure 3. Hypothetical model grid with four rows and four columns illustrating different types of conditions in which multiple streams 

reaches can be located within a single hydrologic response unit (HRU): in A, cascading flow distributed equally to the three connected 

reaches in HRU 14 and in B, cascading flow distributed equally to the two parallel reaches in HRU 10. 
8 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

CRT Fill Procedure

Digital Elevation Model processing tools, such as those 

implemented in GIS software programs, are often used to process DEMs and prepare them for use in modeling applications. 

Many DEMs for watersheds contain local depressions or flat 

raster cells that can be real or an artifact of the DEM resampling procedure. While local depressions do exist, typically, 

they are not large enough to extend to the entire area within 

an HRU. Sometimes, after resampling, filling, or processing, 

DEMs are left with HRU or model-grid sized local depressions or pits (undeclared swales). Without correction, these 

undeclared swales become HRUs with no downslope cascade 

link and can cause numerical issues in a model if the swale 

does not coincide with a real feature such as a wetland, lake, 

or stream. Before cascades can be computed by using CRT, 

each HRU must have a minimum of one cascade link defined 

for it, unless it a designated swale, lake, or outflow HRU.

For each CRT simulation, each HRU is examined to 

determine if it is an undeclared swale. An HRU is an undeclared swale if it is not a swale (HRU_TYPE=3) or lake 

(HRU_TYPE=2), does not discharge to a stream or lake, and 

does not have an adjacent active HRU with a lower elevation. 

If undeclared swales are found in the simulation domain, a list 

of undeclared swales is provided in the outputstat.txt file, and 

the CRT Fill Procedure is recommended. The CRT Fill Procedure is an optional tool that checks for local depressions that 

are artifacts of DEM processing. By using methods similar 

to Garbrecht and Martz (1997), the CRT Fill Procedure can 

fill depressions so that water has a continuous flow path from 

high elevations to model discharge points and no undeclared 

swales remain. CRT Fill Procedure raises the elevation of each 

undeclared swale HRU by an increment specified with the 

parameter DPIT in the HRU_CASC.DAT input file. CRT 

Fill Procedure repeats this process for every HRU until no 

undeclared swale HRUs or circular flow paths remain. Use of 

the fill procedure ensures that computed cascades terminate in 

a designated swale, stream, lake, or outflow HRU.

The CRT Fill procedure will not adjust the elevation of 

active HRUs that intersect streams. If there are HRUs that are 

lower than all neighboring HRUs, they will not be filled by the 

CRT Fill Procedure if the HRU intersects a stream. These local 

depressions can be corrected by setting the input parameter 

STRMFLG=0 in the HRU_CASC.DAT input file and by using 

the CRT Fill Procedure to fill the undeclared swale HRU or 

by using the CRT Fill Procedure to adjust the HRU elevations 

before defining the stream network. If this option is selected, 

then the stream network should be derived on the basis of 

the adjusted HRU elevations provided by CRT through the 

outputstat.txt output file. In this case, the HRU elevations are 

imported into ArcGIS to develop the stream network by using 

the contributing area approach, for example.

CRT Input

CRT input consists of several ASCII text files. The required 

data for these files can be obtained from MODFLOW and 

PRMS input files or exported from a GIS project. CRT 

requires a minimum of four input files: the Cascades Definition File (HRU_CASC.DAT), which defines HRU types and 

includes information that controls CRT operation; SurfaceElevation File (LAND_ELEV.DAT), which defines the 

land-surface altitude for each HRU; Basin-Outflow Locations File (OUTFLOW_HRU.DAT), which lists the locations where lateral flow from an HRU or stream exits the 

model domain (outflow HRU); and Stream Locations File 

(STREAM_CELLS.DAT), which lists the HRUs that contain 

streams. Two additional input files can be included, depending on input values specified in the HRU_CASC.DAT file: 

HRU_ID.DAT, which is used to define HRU_IDs if they are 

different from the CELL_IDs, and XY.DAT, which is used for 

cascade visualization in ArcGIS using CRV.

Considerations for Preparing Input Files

HRU Discretization

All HRUs must be square and of equal size to use all the 

functionality of this version of CRT. However, if the model 

domain is discretized into a rectilinear grid of HRUs, CRT 

supports the use of variable grid-cell sizes, with the exception 

of the FLOWFLG=1 option for allocating outflow fractions. 

In this case, gridded-HRUs must have a constant width along 

each row or column, but every row or column width is not required to be equal. In PRMS and GSFLOW, values associated 

with HRUs must be listed in a consistent order for all parameters that describe HRUs; however, the order in which HRU 

values are specified is arbitrary. CRT can accommodate PRMS 

and GSFLOW models that list input values for HRUs by using 

a different numbering convention (for example, excluding 

HRU values for inactive HRUs). CRT accommodates alternate 

ordering conventions for HRUs through the use of the CRT input value HRU_ID. By default, CRT assumes that CELL_IDs 

and HRU_IDs are the same (fig. 4A). If the grid CELL_IDs 

and HRU_IDs are numbered differently (fig. 4B), then the 

HRU_ID.DAT file is required to associate the location in the 

grid with the HRU_ID. HRUs cannot be isolated (that is, all 

active HRUs must have at least one active neighboring HRU). 

Land elevation and HRU_TYPE input should include a value 

for every HRU, including lake and inactive HRUs.

Boundary HRUs

Active HRUs at model boundaries must cascade into the 

model domain (away from an inactive HRU at the boundary) or be defined as an outflow HRU. HRUs that are located 

along the edges of the active boundary must have altitudes that 

are greater than at least one adjacent active HRU or else be 

defined as a stream, outflow, or user-designated swale HRU. 

At least one outflow HRU must be defined for each simulation; the outflow HRU can be an HRU that contains a stream 

segment or an HRU where flow leaves the watershed (see, for 
CRT Input 9

example, the Sagehen Creek Basin application) or a surface 

feature in a closed basin (see, for example, the Lower Walker 

River Basin application).

Land-Surface Depressions and Swales 

It is recommended that the DEM be resampled, filled, 

and aligned with the gridded-HRUs in the model domain to 

develop the land-surface elevation model for each simulation. The land-surface elevation model can be examined for 

undeclared swales by using information from the outputstat.

txt file or visualization by using CRV. If there are undeclared 

swales in the model or if CRT does not converge to a solution within the iteration limits imposed by the parameter 

OUTITMAX in the HRU_CASC.DAT input file, the CRT Fill 

Procedure can be employed to prepare the land surface for 

generation of cascades. The Fill Procedure can be employed 

by executing CRT with the IFILL input parameter set to 1 in 

the HRU_CASC.DAT input file.

To declare an HRU as a swale, set the value for HRU_

TYPE=3 in the HRU_CASC.DAT input file. If the CRT 

Fill Procedure is employed in a CRT simulation, elevations 

of designated swales, reservoir, or lake HRUs will not be 

processed. If the model domain contains a closed basin, an 

outflow HRU will need to be defined where lateral flow can 

collect. For example, in a closed basin with a lake, the lake 

outflow HRU should be coincident with the lake desiccation 

point or centroid.

Stream Networks and Lakes 

It is recommended that the entire user-defined stream 

network is used to compute cascades (STRMFLG=1 and 

ON_OFF=1); however, users could want to examine the 

effects of excluding selected streams on cascades or PRMSonly outputs (for example, ephemeral reaches), which requires 

an advanced configuration of streams. CRT offers the flexibility to exclude all streams (STRMFLG=0) or include selected 

streams (STRMFLG=1). When the parameter STRMFLG=0, 

the stream network defined in the STREAM_CELLS.DAT

input file is not used, and cascades are routed through HRUto-HRU cascade links only. When the parameter STRMFLG=1, 

the ON_OFF parameter in the STREAM_CELLS.DAT

file indicates whether land HRUs adjacent to or intersecting 

Figure 4. Hypothetical model grid with four rows and four columns showing A, a case in which hydrologic response unit 

identifications (HRU_IDs) and grid cell identifications (CELL_IDs) are equivalent and B, a case in which HRU_IDs and CELL_IDs 

are numbered differently. 

EXPLANATION

A Column B Column

Row

1 2 3 4 1 2 3 4

1

2

3

4

1 2 3 4

5 6 7 8

9 11 12

13 14 15 16

1

1

1

10

1 2 3 4

5 6 7 8

9 10 11 12

1 4

9 10 11 12

13 14 15 16

5 6 7 8

1 4 2 3

9 10 11 12

13 14 15 16

5 6 7 8

2 3

Active HRU cell in the model grid showing CELL_ID in 

the upper left corner and HRU_ID in the center of the cell

Inactive HRU cell in the model grid showing CELL_ID in 

the upper left corner of the cell
10 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

streams will discharge to the stream reach (ON_OFF=1); in 

that case, flow entering the stream network is assumed to 

leave the model instantaneously for PRMS simulations or it is 

routed through the stream network for GSFLOW simulations. 

When the parameter ON_OFF=0, excluded streams are designated as land HRUs. Cascade links continue downslope from 

land HRU to land HRU, active stream, lake, or outflow HRU.

Applications of CRT that contain lakes or reservoirs require 

additional consideration when constructing the HRU_CASC.

DAT input file. HRUs that contain a lake must have their 

HRU_TYPE set to a value of 2. When a cascade link terminates at a lake HRU, all of the flow from the upslope HRU is 

given to the first adjacent lake HRU (hru_pct_up=1.0), 

and no more cascade links are computed for the upslope HRU. 

Furthermore, if an HRU contains both a stream and lake, all 

cascading flow is given to the lake. Moreover, cascade links 

are not generated between the outermost HRUs representing a 

lake and the inner HRUs of the lake. If the simulation is of a 

closed basin (no surface outlet), then the outflow HRU should 

be active and coincident with the lake desiccation point. 

Figure 5 shows an excerpt of one of the HRU_CASC.DAT

input files for the Lower Walker River Basin application that 

illustrates how to define the HRU_TYPE for a lake. 

Groundwater Cascades

By default, groundwater and surface-water cascades 

generated by CRT are the same (ncascade=ncascdgw); 

however, CRT offers the flexibility to generate separate 

cascades for both domains. This can be done by replacing the 

LAND_ELEV array in the LAND_ELEV.DAT input file with 

the steady-state groundwater head distribution and re-running 

CRT. If the number and locations of active groundwater HRUs 

differ from the surface cascades, then the HRU_CASC.DAT

input file must be modified to represent the correct number 

and locations of groundwater HRUs. In order for CRT to 

compute groundwater cascades, all groundwater HRUs should 

have at least one adjacent active cell. Make sure to save the 

cascade.param file to another directory before re-running 

CRT to generate separate groundwater cascades because the 

information in the cascade.param file for surface cascades 

will be overwritten with the groundwater cascade information. 

The groundwater_cascade.param output file will contain the 

groundwater-cascade information. 

If groundwater cascades are generated separately from 

the surface cascades, and on the basis of the HRU elevation 

grid or an externally derived groundwater-head distribution, 

then users can use the CRT Fill Procedure to ensure that that 

all cascades terminate at a stream or other cascade discharge 

feature. If swales exist in the HRU elevation grid or groundwater-head distribution that is used to develop the groundwater cascades, then the HRU_CASC.DAT input file should be 

modified to remove all local depressions, and CRT can be executed to generate groundwater cascades. To use the CRT Fill 

Procedure for generating groundwater cascades, set the value 

IFILL=1 in the HRU_CASC.DAT file and set the value for 

DPIT to a smaller value, such as 0.01, which ensures that 

the CRT Fill Procedure tolerance reflects potentially smaller 

differences in groundwater-head elevations between HRUs. 

Groundwater cascades to or from lake HRUs can be complex. 

If the CRT Fill Procedure is used to facilitate computation of 

groundwater cascades in a simulation with lakes, an outflow HRU at the center of the lake is recommended. Verify 

cascades afterward to ensure that all groundwater cascades 

coincident with the lake cascade in the direction defined by the 

original groundwater heads. 

PRMS Recharge Estimates

Often, determining the location and rates of groundwater 

recharge is an important objective of numerical simulations. 

Special consideration is required when developing cascades 

for PRMS simulations to estimate spatial and temporal variations in recharge. PRMS does not simulate recharge from 

streams, and any flow that enters a stream leaves the model 

instantaneously; however, in many cases, streams are an 

important source of recharge in a watershed. Recharge from 

the stream network can be enhanced in dry or losing areas. 

There can be significant groundwater recharge through the 

unsaturated zones under a streambed because streams are 

not always in hydrologic connection with the groundwater. 

Recharge from streams can be simulated in PRMS simulations 

by representing streams as a series of cascade links that follow the stream. In this case, deep percolation from the HRUs 

representing the stream can be used to approximate stream 

recharge, and the amount of recharge can be adjusted through 

the PRMS parameter ssr2gw_rate(Markstrom and others, 

2008, p. 59) 

If PRMS is being used to estimate recharge in a watershed, 

then cascades can be created to represent streams by using the 

STRMFLG and ON_OFF input parameters. Not all streams produce recharge, such as gaining stream reaches, for example. If 

the entire stream network is generally gaining, then the parameter STRMFLG should be set to 1, which will include streams 

defined in the STREAM_CELLS.DAT input file for generating cascades. If all streams provide recharge (entire stream 

network is losing), all stream reaches can be removed from 

cascade computation by setting the parameter STRMFLG to 0

in the HRU_CASC.DAT file. If the recharge behavior of the 

stream network is spatially variable, individual reaches can be 

Figure 5. Excerpt from the Lower Walker River Basin sample 

application 2A HRU_CASC.DAT file showing definition of lake 

hydrologic response units by using HRU_TYPE=2.

2 1 1 1 1 1 1

1 2 1 1 1 1 1

1 2 2 1 1 1 1

1 2 2 2 1 1 1

1 2 2 2 2 1 1

1 2 2 2 2 2 2

1 2 2 2 2 2 2
CRT Input 11

selected from the stream network during cascade computation 

by using the ON_OFF input parameter. Streams that produce 

recharge should be removed from the STREAM_CELLS.

DAT file by setting the ON_OFF parameter to 0, which 

allows those stream segments to be represented by a series of 

HRU-to-HRU cascade links instead of stream segments. 

Cascades-Definition File (HRU_CASC.DAT)

The cascades-definition input file (HRU_CASC.DAT) is 

used to define several options for how CRT will calculate cascades and report them to the output files. The file is also used 

to specify the HRU_TYPE of each HRU in the model domain. 

Item 1 is a single line of values. Item 2 is a 2-dimensional 

array of integer values with a defined input format described 

below.

Item 1. HRUFLG STRMFLG FLOWFLG VISFLG IPRN 

IFILL DPIT OUTITMAX 

HRUFLG An integer value that indicates whether the 

HRU identifiers (HRU_IDs) are numbered 

the same as grid-cell identifiers CELL_IDs 

starting in the upper left-hand corner of the 

grid, with CELL_IDs increasing sequentially across columns in a single row and 

then continuing again on the left-hand 

side of a new row. A value of HRUFLG=0

indicates that the numbering of HRU_ID

is equivalent to CELL_ID. A value of 

HRUFLG=1 indicates that CELL_IDs are 

defined according to values listed in the 

input file HRU_ID.DAT defined later in 

this report. 

STRMFLG An integer value that indicates how CRT 

interacts with streams during cascade generation. A value of STRMFLG=0 indicates 

that no stream reaches will be included in 

cascades; only HRU-to-HRU and HRU-tooutflow HRU cascade links occur. A value 

of STRMFLG=1 (which is recommended) 

indicates that selected stream reaches will 

be included in the computation of cascades; 

for this option, parameter ON_OFF in the 

STREAM_CELLS.DAT input file defines 

which stream reaches will be considered.

FLOWFLG An integer value that indicates how outflow 

fractions will be calculated. A value 

of FLOWFLG=0 indicates that flows 

will be apportioned evenly among the 

number of outflow cascade links; a value 

of FLOWFLG=1 indicates that the outflow 

fractions will be calculated on the basis of 

relative slopes among the outflow cascade 

links (equation 1). 

VISFLG An integer value that indicates whether data 

will be written for visualization in ArcGIS 

by using CRV. A value of VISFLG=0

indicates that visualization data will not be 

written. A value of VISFLG=1 indicates 

that visualization data will be written to 

vis.txt and that the input file XY.DAT is 

required.

IPRN An integer value that indicates whether 

expanded output will be provided in the 

outputstat.txt file. A value of IPRN=1

indicates that expanded output will be 

written (recommended). Expanded output 

includes all input information and output 

information from CRT operation. A value 

of IPRN =0 indicates that expanded output 

will not be written. A value of IPRN=0

should only be used to provide summarized 

CRT operation statistics to simplify display 

for a simulation with many HRUs.

IFILL An integer value that indicates whether the 

CRT Fill Procedure will be used. A value of 

IFILL=0 indicates that CRT Fill Procedure will not be used; a value of IFILL=1

indicates that CRT Fill Procedure will be 

used.

DPIT A real value, typically less than or equal to 

0.1, equal to the value to which an HRU 

elevation will be adjusted during an iteration of the CRT Fill Procedure. Smaller 

values of DPIT could be used to generate groundwater cascades, as described 

in the “Groundwater Cascades” section. 

The value of DPIT is ignored if IFILL is 

specified as 0, but the user needs to enter a 

value of DPIT so that the line of input data 

is correctly read by CRT.

OUTITMAX An integer value equal to the maximum 

number of CRT Fill Procedure iterations. 

A large number such as 10,000 is suggested.

Item 2. HRU_TYPE

HRU_TYPE An array of dimension number of rows 

(NROW) by the number of columns 

(NCOL) that specifies the type of HRU 

(integer values) for each gridded-HRU: 0

is an inactive HRU, 1 is a land HRU, 2 is 

a lake HRU, and 3 is a swale HRU. Input 

is read line by line, in which each line has 

NCOL values and there are NROW lines. All 

values for a given row must be on one line.
12 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Surface-Elevation File (LAND_ELEV.DAT)

The surface-elevation input file (LAND_ELEV.DAT) is 

used to define the numbers of rows and columns in the model 

grid and the land-surface elevation of each HRU. It is not necessary to specify the size of each HRU; the program assumes 

that all HRUs are square and of equal size. 

Item 1. NROW NCOL

NROW An integer value that indicates the number of 

rows in the model grid.

NCOL An integer value that indicates the number of 

columns in the model grid.

Item 2. LAND_ELEV

LAND_ELEV An array of dimension NROW by NCOL that 

specifies land-surface elevations (real 

values) for each HRU. Input is read line by 

line, in which each line has NCOL values 

and there are NROW lines. All values for 

each row must be on the same line. 

Basin-Outflow Locations File (OUTFLOW_

HRU.DAT)

The basin-outflow-locations input file (OUTFLOW_HRU.

DAT) is used to define the number and identifier of the outflow HRUs in the model grid. Outflow HRUs are those that 

receive inflow cascade links but that have no outflow cascade 

links. A minimum of one outflow HRU must be defined to 

compute cascades by using CRT. Two examples of outflow 

HRUs are (1) an HRU on the edge of the model grid and 

having no outflow cascade (the HRU may or may not contain 

a stream) and (2) an HRU at the center of a lake in a closed 

basin. 

Item 1. NUMOUTFLOWHRUS 

NUMOUTFLOWHRUS An integer value that indicates the number of outflow HRUs in the grid.

Item 2. Item 2 is repeated NUMOUTFLOWHRUS times:

OUTFLOW_ID ROW COL 

OUTFLOW_ID An integer value that indicates the outflow 

HRU identifier.

ROW An integer value that indicates the row identifier for the outflow HRU.

COL An integer value that indicates the column 

identifier for the outflow HRU.

Stream-Locations File (STREAM_CELLS.

DAT)

The stream-locations input file (STREAM_CELLS.DAT) 

is used to specify HRUs that intersect streams, identifiers for 

each stream reach and stream segment, and a flag that defines 

whether a reach will be included in the generation of cascades. 

The length of a stream within an HRU is called a reach, and a 

group of one or more reaches that typically span one or more 

HRUs is called a segment. If a Stream Flow Routing Package 

GSFLOW input file (SFR2; Niswonger and Prudic, 2005) has 

already been prepared, it will contain much of the information 

needed to create the STREAM_CELLS.DAT CRT input file.

Item 1. NREACH 

NREACH An integer value that indicates the total number of stream reaches in the grid.

Item 2. Item 2 is repeated NREACH times:

REACH_ROW REACH_COL REACH_SEG 

REACH_NUM ON_OFF

REACH_ROW An integer value that indicates the row identifier for the HRU containing the reach.

REACH_COL An integer value that indicates the column 

identifier for the HRU containing the reach.

REACH_SEG An integer value that indicates the segment 

number of the reach.

REACH_NUM An integer value that indicates the reach number of the reach within the segment. This 

value ranges from 1 to the total number of 

reaches with the segment.

ON_OFF An integer value that indicates whether the 

reach will be considered in the generation of cascades: a value of ON_OFF=0

indicates the reach will not be included 

in cascade computation, and a value of 

ON_OFF=1 indicates that the reach will be 

included. 

Optional Files

CRT has two optional input files: a file containing HRU 

identifiers that is used when HRU data are specified in an 

order that differs from the default convention (file HRU_

ID.DAT) and a file that describes the coordinates of the 

centroid of each HRU for the purpose of visualizing cascades 

by using CRV (file XY.DAT).
Output Files 13

HRU-Identifiers File (HRU_ID.DAT)

This file describes the relation between HRU identifiers 

(HRU_IDs) and grid-cell identifiers (CELL_IDs) if HRU 

information does not follow the standard convention. In the 

standard convention, grid-cell numbering starts with a value of 

1 in the upper left HRU of the model grid and continues across 

the top row of HRUs; numbering continues from left to right 

in each subsequent row. Although this input file allows HRU 

information to be ordered in a non-standard format, HRUs 

must be square and of equal size or conform to the discretization outlined in the section titled “HRU Discretization”. This 

file is required when the parameter HRUFLG=1 in the HRU_

CASC.DAT input file.

Item 1. NUMACTIVE

NUMACTIVE An integer value that indicates the number 

of active HRUs. HRUs are made inactive 

by setting parameter HRU_TYPE=0 in file 

HRU_CASC.DAT

Item 2. Item 2 is repeated NUMACTIVE times: 

HRU_ID CELL_ID

HRU_ID An integer value that indicates the HRU_ID

used to index HRUs

CELL_ID An integer value that indicates the corresponding grid-cell ID 

Cascade-Visualization File (XY.DAT)

This file provides the coordinates for the centroid of each 

HRU to facilitate visualization in ArcGIS. This file is required 

when VISFLG=1 in the HRU_CASC.DAT input file. The 

total number of HRUs (nhru) is equal to the number of rows 

(NROW) multiplied by the number of columns (NCOL) in the 

model domain. The horizontal and vertical datums that define 

the coordinate system should be coincident with any GIS data 

sets used to create the model so that cascade visualization is 

coincident with model features such as the DEM and stream 

network. 

Item 1. Item 1 is repeated (nhru times):

HRU_ID X_LOC Y_LOC

HRU_ID An integer value that identifies the HRU_ID.

X_LOC A real value that indicates the x-coordinate of 

the centroid of HRU_ID.

Y_LOC A real value that indicates the y-coordinate of 

the centroid of HRU_ID.

Installing and Running CRT

CRT is an executable program developed for 32-bit and 

64-bit Windows Operating Systems. To run the program, copy 

the executable file (CRT.exe) into a directory that contains the 

ASCII input files required for CRT operation. The program 

can then be run by either double-clicking on the executable 

file or by typing the command CRT.exe within a DOS Command Prompt window that has been directed to the directory 

housing the data files. During program execution, a window 

will appear that provides run-time information about program 

execution and then closes once computation of cascades has 

been completed. More information about CRT installation and 

operation is located in a readme.txt file distributed with the 

software.

Output Files

A total of eight files are always created as part of a CRT 

run. In addition, one optional file can be created to visualize 

cascades by using CRV, depending on an option specified in 

the input files. The output files include files to verify cascades 

and input files for PRMS and GSFLOW cascade modules. 

Each of the output files that are created by CRT are described 

in following sections. 

CRT Program Summary File (outputstat.txt)

This file provides information on the CRT run, including options selected, input data, error messages, a list of 

undeclared swales, and a program summary. If the CRT Fill 

Procedure is selected (IFILL=1), then the outputstat.txt file 

will include land-surface models before and after CRT operation, elevation differences between land surface models, and 

the CRT Fill Procedure Summary. A list of undeclared swale 

HRUs is provided in the outputstat.txt file when the value for 

IFILL is specified as 0 in the HRU_CASC.DAT input file. 

Upslope Connections File (hru_up_id.out)

This file consists of a column of integers with ncascade

entries that are the HRU identifiers of upslope HRUs for each 

cascade link—that is, PRMS/GSFLOW Cascade Module 

parameters hru_up_id or gw_up_id. Each HRU can have 

up to four cascade links; therefore, the output file can have up 

to four values for each HRU_ID. 

Downslope Connections File (hru_down_

id.out)

This file consists of a column of integers with ncascade

entries that are the HRU identifiers for downslope HRUs for 

each cascade link—that is, PRMS/GSFLOW Cascade Module parameters hru_down_id and gw_down_id. Each 

HRU can have up to four cascade links; therefore, the output 

file can have up to four values for each HRU_ID. If an HRU 

discharges to a stream segment, the corresponding value in 

hru_down_id.out is set to 0.
14 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Cascade Link Outflow-Fraction File (casc_pct.

out)

This file consists of a column of real numbers with ncascade entries, each of which indicates the fraction of flow 

routed from an HRU to each downslope HRU along each of 

the cascades links. File casc_pct.out defines PRMS/GSFLOW 

Cascade Module parameters hru_pct_up and gw_pct_up. 

Each HRU can have up to four cascade links; therefore, the 

output file can contain up to four values for each HRU. 

Stream Segment Cascade Link File (hru_

strmseg_down_id.out)

This file consists of three columns of integers. The first column specifies whether or not an HRU discharges to a stream 

or to another HRU and corresponds with the PRMS/GSFLOW 

Cascade Module parameters hru_strmseg_down_id and 

gw_strmseg_down_id. If an HRU discharges to a stream, 

the value shown in the first column will be the stream segment number; if an HRU does not discharge to a stream, the 

value shown will be 0. If the downslope connection is a stream 

segment (hru_strmseg_down_id >0), then the second 

and third columns indicate the row and column identifiers 

of the HRU containing the reach within the stream segment 

that receives flow from the upslope HRU. The row and column indicators are not used by PRMS or GSFLOW but are 

included to aid in the evaluation and verification of cascades.

PRMS/GSFLOW Cascade Parameter Input Files

Output generated by CRT is written to three files that can 

be used directly in PRMS and GSFLOW Parameter Files 

without further modification. These three files are the parameter dimensions file (parameter_dimensions.txt), which 

provides dimension data for cascade parameters, and the 

surface cascades (cascade.param) and groundwater cascades 

(groundwater_cascade.param) input files, which provide all 

of the cascade parameter data. The general input format used 

by the PRMS and GSFLOW models for definition of parameter dimensions and parameter values, and the control file 

modifications required to incorporate cascade input generated 

by CRT, is described later in this report and in greater detail 

in Markstrom and others (2008, p. 142–147). Specific examples of output generated by CRT are provided in the sample 

applications.

The general form of dimension parameters specified for 

PRMS and GSFLOW is as follows: 

####

NAME

SIZE

The first line is used as a delimiter for each of the dimension declarations, specified as a string of four pound signs 

(####). The second line (NAME) is the name of the dimension, which is specified as a character string without spaces 

and in lowercase text. For cascade parameters, NAME will be 

either ncascade or ncascdgw. The third line (SIZE) is 

the dimension size, specified as an integer value; for cascade 

parameters, SIZE will be equal to the number of cascade 

links. 

Parameter values specified for PRMS and GSFLOW

have the following seven components: 

####

NAME

NO_DIMENSIONS

DIMENSION_NAME

N_VALUES

TYPE

VALUE(S) (Repeat this item N_VALUES times)

The first line is used as a delimiter for each parameter read 

by PRMS and GSFLOW, and is specified as a string of four 

pound signs (####). The second line (NAME) is the name of 

the parameter, which is specified as a character string without 

spaces and in lowercase text. The third line (NO_DIMENSIONS) is used to set the number of dimensions that define 

the array used to store the parameter values. NO_DIMENSIONS is specified as an integer value, which is equal to 1

for ncascade and ncascdgw in this case. The fourth line 

(DIMENSION_NAME) is the name of a one-dimensional 

array, which for CRT is either ncascade or ncascdgw.

The next line specifies an integer value equal to the number of 

values (N_VALUES) that are input for the parameter. The sixth 

line specifies the type (TYPE) of the parameter values as an 

integer value; options are the following:

1 for integer.

2 for real (single-precision, floating decimal point).

3 for double (double-precision, floating decimal point).

4 for character string.

Only options 1 and 2 are used in the cascade-parameters 

files. The line following TYPE is the first parameter value and 

is repeated N_VALUES times.

Cascade Parameter Dimension File (parameter_

dimensions.txt)

This file contains the values of the dimension parameters 

ncascade and ncascdgw calculated by CRT. The structure 
Output Files 15

of the file is described in the previous section. By using an 

example of ncascade=ncascdgw=6,100, the parameter_dimensions.txt file, for example, would have the following structure:

####

ncascade

6100

####

ncascdgw

6100

To add these dimension parameters to the primary PRMS 

or GSFLOW Parameter File, open the Parameter File in a text 

editor and paste the contents of parameter_dimensions.txt

into the file after the line that contains the character string “** 

Dimensions **,” which is typically located on the third 

line of the primary Parameter File. There should only be one 

line with the parameter delimiter (####) between the pasted 

data and the next line of the input file.

Surface and Groundwater Cascades Input Files 

(cascade.param and groundwater_cascade.

param)

The files cascade.param and groundwater_cascade.

param include all of the information needed for surface and 

groundwater cascades, respectively, for a PRMS or GSFLOW 

simulation. Examples of the formatting used in these files are 

provided here for parameters hru_up_id (in the cascade.

param file) and gw_pct_up (in the groundwater_cascade.

param file): 

####

hru_up_id

1

ncascade

6100

1

52

and

####

gw_pct_up

1

ncascdgw

6100

2

0.500

The number of values calculated by CRT for ncascade

and ncascdgw for the two examples is 6,100. The first 

value shown for hru_up_id is 52, and the first value for 

gw_pct_up is 0.500.

Data in the cascade.param and groundwater_cascade.

param files can be read by PRMS and GSFLOW in one of 

two ways. First, the data can be cut and pasted into an existing Parameter File that has been specified in the PRMS or 

GSFLOW Control Files by using parameter param_file(see 

Markstrom and others, 2008, p. 134–139). Alternatively, data 

in the two files can be read directly from the files generated by 

CRT by including the pathname of the files in the definition 

of param_file in the PRMS or GSFLOW Control Files. For 

example, in a typical GSFLOW simulation most parameter 

data is contained in the Parameter File, ‘gsflow.params’. Additional cascade parameter data from the files cascade.param

and groundwater_cascade.param can be accessed by using 

the following input format for parameter param_file in the 

GSFLOW Control File: 

####

param_file

3

4

.\input\gsflow.params

.\input\cascade.param

.\input\groundwater_cascade.param

The third line of this example input block indicates that 

3 Parameter Files will be used to define input data for the 

simulation. The path names for each of the Parameter Files are 

then listed after the line showing a value of 4, which refers to 

the fact that the ‘value’ of the path names are of type character 

(refer to the PRMS and GSFLOW input instructions provided 

in Markstrom and others, 2008, p. 134–139). 

CRV Input File (vis.txt)

This optional output file consists of a table of comma separated values used for visualization of cascades with the CRV 

program. Each row in the table represents a single cascade 

link. The column headings and order of the data provided in 

the file is as follows:

CASCADE_ID: The values in this column define the cascadelink identifier (CASCADE_ID) used to index each HRU 

cascade link.

HRU_UP_ID: The values in this column define the HRU_ID

of the upslope connection in a cascade link.

CASCADE_TYPE_UP: The values in this column define the 

type of cascade of the upslope HRU in the link as determined by CRT. A value of 1 indicates an active land HRU, 

2 indicates a lake HRU, 3 indicates a swale HRU, and 4

indicates an HRU that contains a stream or is defined as an 

outflow HRU in the OUTFLOW_HRU.DAT input file.
16 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

UP_ROW: The values in this column define the row identifier 

of the hru_up_id. Row identifiers for each HRU_ID are 

assigned according to the default convention (top to bottom) as input is read by CRT or can be specified by using

the HRU_ID.DAT input file. 

UP_COL: The values in this column define the column identifier of the hru_up_id. Column identifiers for each HRU_

ID are assigned according to the default convention (left to 

right) as input is read by CRT or can be specified by using

the HRU_ID.DAT input file.

UP_X: The values in this column define the X-coordinate 

location for the centroid of hru_up_id. Coordinate locations for each HRU_ID are defined in the XY.DAT input 

file. The coordinate system and datum are user-defined.

UP_Y: The values in this column define the Y-coordinate location for the centroid of hru_up_id. Coordinate locations 

for each HRU_ID are defined in the XY.DAT input file. 

The coordinate system and datum are user-defined.

HRU_DOWN_ID: The values in this column define the hru_

down_id for each cascade link. If the downslope link is an 

HRU, this value is the HRU_ID of the downslope connection in a cascade link. If the downslope link is a stream 

segment, then the hru_down_id describes the location 

of the HRU that contains the stream reach contributing 

flow to that segment.

CASCADE_TYPE_DOWN: The values in this column define 

the type of cascade of the downslope HRU in the link as 

determined by CRT. A value of 1 indicates an active land 

HRU, 2 indicates a lake HRU, 3 indicates a swale HRU, 

and 4 indicates an HRU that contains a stream or is defined 

as an outflow HRU in the OUTFLOW_HRU.DAT input 

file.

DOWN_ROW: The values in this column define the row identifier of the HRU corresponding to hru_down_id. Row 

identifiers for each HRU_ID are assigned according to the 

default convention (top to bottom) as input is read by CRT 

or can be specified by using the HRU_ID.DAT input file. 

DOWN_COL: The values in this column define the column 

identifier of the hru_down_id. Column identifiers 

for each HRU_ID are assigned according to the default 

convention (left to right) as input is read by CRT or can be 

specified by using the HRU_ID.DAT input file.

DOWN_X: The values in this column define the X-coordinate 

location for the centroid of hru_down_id. Coordinate locations for each HRU_ID are defined in the 

XY.DAT input file. The coordinate system and datum are 

user-defined.

DOWN_Y: The values in this column define the Y-coordinate 

location for the centroid of hru_down_id. Coordinate locations for each HRU_ID are defined in the 

XY.DAT input file. The coordinate system and datum are 

user-defined.

CASC_PCT: The values in this column define the fraction of 

flow that is routed along a cascade link from the HRU_ID

defined by hru_up_id to the HRU_ID defined by 

hru_down_id.

HRU_STRM_SEG_DOWN: For HRUs that discharge to a 

stream segment (hru_strmseg_down_id greater than 

0), the values in this column refer to the HRU that intersects the stream segment; otherwise the value is 0. 

Cascade Routing Visualization

The Cascade Routing Visualization (CRV) toolbox has 

been developed to visualize and verify the cascade links and 

cascade features generated by CRT. CRV takes the CRT output 

file vis.txt and uses ESRI’s ArcGIS functionality to visualize 

CRT output for verification of HRU cascade types and cascade 

links (cascade features). CRV also applies symbology to these 

cascade features to enhance the visualization of the cascading 

flow. It is assumed in the following discussion that the reader 

is familiar with ArcGIS functionality.

Cascade Features

Cascade features include cascade links, which are represented as line features connecting the upslope HRUs to 

downslope HRUs. The line feature begins at the X-Y location 

of the hru_up_id cell center and ends at the X-Y location of 

the hru_down_id cell center (fig. 6). The coordinate system 

and datum are user-defined. A unique ID (CASCADE_ID) and 

the percentage of flow (CASC_PCT) are included as attributes 

of the output cascade-link line feature.

Cascade types are visualized as point features representing 

lakes, designated swales, streams or outflow, and undeclared 

swales. The value of each cascade type is stored in the CRV 

output attribute CASCADE_TYPE. CASCADE_TYPEs 2, 3, 

or 4 (lakes, designated swales, or stream or outflow HRU, 

respectively, as shown in table 3, are based on parameters 

CASCADE_TYPE_UP and CASCADE_TYPE_DOWN given 

in vis.txt. CASCADE_TYPE 5 is assigned by CRV to undeclared swales. Undeclared swales are HRU_IDs that are active 

(CASCADE_TYPE_UP or CASCADE_TYPE_DOWN=1), 

but have been identified by CRT as undeclared swales and 

are not identified as swales in the CASCADE_TYPE_DOWN

column in vis.txt. All cascade-type point features are created 

from the X-Y location of the cell center (fig. 6). A unique ID 

(HRU_ID) and cascade type (CASCADE_TYPE) are included 

as attributes of the output cascade-type point feature. 

Cartographic representations are used to symbolize the 

cascade features. Cartographic representations use rules to 

define how CRT output data are symbolized. Representations 

are stored in an ESRI file geodatabase as a feature-class attribute. Cartographic representations require an ESRI ArcEditor 
Cascade Routing Visualization 17

license at minimum (ESRI, 2011). The cascade-link line 

features are represented as arrows of varying thickness and 

color based on the percentage of flow from each upslope to 

each downslope cell HRU. The cascade-type point features are 

represented as circles with different colors based on type.

Rules were established within the CRV to define an arrow 

for each unique value of cascade flow percentage. The arrows 

increase in thickness and change in color as the percentage of 

flow increases (fig. 7). The rules are assigned to the features 

on the basis of the values in the CASC_PCT attribute. The 

FLOWFLG parameter in HRU_CASC.DAT is used to determine the number of flow values shown on the visualization: 

for FLOWFLG=0, a maximum of four values is shown (25, 

33, 50, and 100 percent); for FLOWFLG=1, a maximum of 

six values is shown (25, 33, 50, 66, 75, 100 percent). The 

percentage values shown in CRV for FLOWFLG=1 are based 

upon ranges of CASC_PCT attribute values categorized for 

visualization as follows: values greater than 0.0 and less than 

or equal to 0.29 (25), values greater than 0.29 and less than 

or equal to 0.415 (33), values greater than 0.415 and less than 

or equal to 0.58 (50), values greater than 0.58 and less than 

or equal to 0.705 (66), values greater than 0.705 and less than 

or equal to 0.875 (75), and values greater than 0.875 and less 

than or equal to 1.0 (100). 

A rule was defined for each unique cascade type: lake, 

swale, and stream or outflow HRU. The different colors of 

the circles are based on the cascade type (fig. 7). The rules 

are assigned to the features on the basis of the values in the 

CASCADE_TYPE attribute. Only cascade links defined in the 

vis.txt file will be displayed. 

Cascade features can be generated by CRV either by 

importing a pre-existing vis.txt file or by executing CRT 

within CRV. CRV creates the cascade-links feature class 

Figure 6. Diagram showing Cascade Routing Visualization (CRV) generated hypothetical cascade links (as line features connecting cell 

centers) and cascade types (CASCADE_TYPEs) (as point features). 

EXPLANATION

Column

Row

1 2 3 4 5 6 7 8 9

1

2

3

4

5

6

7

Stream-segment cell

Cascade-link line feature

Model grid-cell boundary

Cascade-type (CASCADE_TYPE) 

point feature

The cells intersecting stream 

segments and model grid cells are 

shown for reference and were not 

generated by CRV

Table 3. Comparison of CRT output parameters CASCADE_

TYPE_UP and CASCADE_TYPE_DOWN and CRV output feature 

class attribute CASCADE_TYPE.

[CRT, Cascade Routing Tool; CRV, Cascade Routing Visualization; HRU, Hydrologic 

Response Unit]

CASCADE_TYPE_

UP and CASCADE_

TYPE_DOWN

CASCADE_

TYPE

CASCADE_TYPE

description

1 — Land

2 2 Lake

3 3 Declared swale

4 4 Stream or outflow HRU

— 5 Undeclared swale
18 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

(CascadeFlow_XX) and cascade-types feature class (CascadeType_XX) in a file-based geodatabase (CRV_XX.gdb) 

within a folder named CRV_XX, where XX is a number that 

identifies each subsequent execution of CRV. For example, the 

first time CRV uses a new workspace to generate visualization data, a new folder will be created in the directory called 

CRV_1. The folder CRV_1 will contain feature-class files 

CascadeFlow_1, CascadeType_1, and CRV_1.gdb, along with 

the input files CRT used to create that version of the vis.txt

input file (if the vis.txt file was not imported into CRV). Each 

subsequent execution of CRV will create an additional folder, 

and the value for XX in the file names will be incremented. 

CRV uses points and arrays to construct cascade-link 

lines for all the records in the input vis.txt file. CRV uses 

points to create cascade-type points for each HRU_ID with a 

CASCADE_TYPE value. CRV applies the symbology to the 

cascade features. CRV creates the cartographic representations 

and assigns the rules by using ArcGIS Cartography tools. CRV 

adds these feature classes to the current ArcMap document. 

Installing and Using CRV

CRV is an ArcGIS python toolbox used to execute CRT 

and visualize the CRT output. CRV requires the CRT output 

file, vis.txt, to run, and, as described in the previous section, 

the vis.txt file can be generated by running CRT within CRV 

or by accessing a previously generated vis.txt file. CRV is 

designed to be accessed by using ArcGIS Desktop software 

(version 10.0). CRV is built on top of standard functionality 

included in ArcGIS Desktop running at the ArcEditor license 

level. It is necessary to uninstall all previous versions of CRV 

before installing a new version of the software. The ArcGIS 

CRV toolbox can be accessed the same way standard ArcGIS 

tools are used: double-click on the name of the toolbox, or 

right click the toolbox to access its properties or documentation. CRV will run CRT to compute cascades or use the 

user provided vis.txt file. CRV will display the results in the 

current ArcMap document, where users can verify cascades. 

If cascades need to be modified, CRT input can be adjusted, 

and CRV can re-execute CRT to recompute cascades. More 

detailed instructions for installing and running CRV are provided in a readme file with the software.

Sample Applications

Two sample applications are provided to illustrate how 

CRT input can be modified to generate cascades for watersheds with a variety of hydrological, topographical, and topological conditions. The two sample applications are for the 

Sagehen Creek Basin, California (application 1A and 1B), and 

the Lower Walker River Basin, Nevada (applications 2A, 2B, 

Figure 7. Diagram showing the cartographic representations applied by (Cascade Routing Visualization) CRV to hypothetical cascade 

link line features (Cascade flow percentage; cascade parameter CASC_PCT) and the cascade types (CASCADE_TYPE). 

EXPLANATION

Column

Row

1 2 3 4 5 6 7 8 9

1

2

3

4

5

6

7

Stream-segment cell

Model-grid cell boundary

Cascade-flow percentage

25

33

50

66

75

100

Cascade type

Undeclared swale (CASCADE_TYPE 5)

Declared swale (CASCADE_TYPE 3)

Lake (CASCADE_TYPE 2)

Stream or outflow HRU (CASCADE_TYPE 4)

The cells representing stream segments and 

HRUs are shown for reference and not 

generated by CRV
Sample Applications 19

2C). All of the files that are necessary to run the sample applications are available with the CRT download from the USGS 

Software webpage provided in the “Preface” of this report. 

The input and output files for the sample applications are 

formatted to clearly indicate whether they are input or output 

files. Input-file names use upper-case text, and output-file 

names use lower-case text. While this formatting convention is not required for CRT input, it allows users to clearly 

distinguish input files from output files in the CRT directory. 

As previously described in the introduction, input and output 

file extensions indicate the end use of the file. Data files (.DAT 

extension) are used for CRT input. Text files (.txt file extension) are files created for reviewing CRT operation statistics, 

PRMS/GSFLOW cascade-dimension information, and CRV 

ArcGIS visualization data. Output files (.out file extension) are 

provided for evaluation of individual parameters generated by 

CRT. Parameter files (.param) are parameter files formatted 

for direct PRMS or GSFLOW input. While the file extensions 

can vary, any CRT file can be opened with any standard text 

editing software.

Application 1: Sagehen Creek Basin, California

Description of the Basin 

Sagehen Creek Basin is a USGS Hydrologic Benchmark 

Network Basin on the east slope of the northern Sierra Nevada 

(fig. 8) northwest of Truckee, California, in the Tahoe National 

Forest. The watershed is a densely forested alpine basin of 

moderate size (27 square kilometers) that has a high relief 

ranging from 1,935 to 2,653 meters (m) in elevation and 

consists of a perennial stream network that includes Sagehen 

Creek (Burnett and Jennings, 1965; Rademacher and others, 

2005; Markstrom and others, 2008).

Application Overview

The Sagehen Creek Basin applications illustrate (1) the use 

of CRT for computations of cascades for a simulation in which 

all of the stream reaches in the basin are used in the generation 

of cascades (application 1A), (2) the generation of PRMS-only 

groundwater cascades by using a steady-state groundwaterhead distribution to describe the groundwater potentiometric 

surface (application 1B), and (3) the use of CRT Fill Procedure 

to rectify undeclared swales or local depressions (applications 

1A and 1B). 

Input 

The Sagehen Creek Basin watershed boundary was delineated in GIS from a USGS 10 m DEM of the basin resampled 

to a 90 m DEM. The edges of the watershed are assumed to 

be no-flow boundaries across which there is no surface-water 

or groundwater flow, except where the stream crosses the 

boundary. The basin is represented in PRMS by a horizontal, 

rectangular grid of cells (HRUs) consisting of 79 columns 

by 71 rows. Each of the 5,609 HRUs is 90 m on each side, 

with 3,378 active HRUs. The perennial stream network was 

delineated into 17 stream segments and 189 stream reaches. 

In these applications, all stream reaches were used to generate 

cascades because the entire stream network within the basin 

is perennial and mostly gaining, and because groundwater 

recharge through the streambed is minimal. Therefore, the 

simulated stream reaches are discharge points at which surface 

and groundwater cascades calculated by CRT can terminate.
20 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Figure 8. Sagehen Creek Basin PRMS model domain showing active model boundary; stream network; and springs. 

Creek

North Fork

Prosser

Creek Sagehen

EXPLANATION

Base from U.S. Geological Survey digital data, 1:24,000, 1978–88

Shaded-relief base from 10-meter National Elevation digital data, 1988

Universal Transverse Mercator projection, Zone 11, North American Datum of 1983

120°19' 120°18' 120°17' 120°16' 120°15'

39°28'

39°27'

39°26'

39°25'

39°24'

Independence Lake

Creek

Independence

Model grid

Inactive

Active

Cascade stream discharge point

U.S. Geological Survey Sagehen Creek 

gage (10343500)

Spring

Area of

map

Reno

CALIFORNIA NEVADA

Sierra

Nevada
Sample Applications 21

Input for Application 1A: All Streams With Fill Procedure

In this application, HRU_ID and CELL_ID are equivalent, 

so the parameter HRUFLG=0 (fig. 9). Because all stream 

reaches are considered in the computation of cascades, parameter STRMFLG is set to 1. Flow to downslope receiving HRUs 

is partitioned evenly among all receiving HRUs by setting 

FLOWFLG to 0. After generating cascades, the cascades will 

be verified by using the CRV visualization toolbox; therefore, 

parameter VISFLG is set to 1. Default CRT output (IPRN=1) 

was selected. The initial land-surface elevation model 

derived from the resampled DEM had many local depressions, thus highlighting the need for the CRT Fill Procedure 

during cascade computation. The CRT Fill Procedure was 

employed by setting parameter IFILL=1 on the first line of 

the HRU_CASC.DAT input file. The default values of 0.1

m for the parameter DPIT and 10,000 maximum iterations 

(OUTITMAX) were used. In this example, there were only 

inactive and active land HRUs (HRU_TYPE 0 and 1, respectively). Streams and the outflow HRU were the only cascade 

discharge features in this sample application. 

Because all stream reaches are included in the generation 

of cascades (that is, STRMFLG=1 in the HRU_CASC.DAT

file), it is necessary to specify the total number of stream 

reaches in the model grid by use of parameter NREACH in the 

STREAM_CELLS.DAT file (fig. 10). Information describing 

the location of each stream reach follows in item 2 of the input 

file. The value of ON_OFF is specified as 1 for every stream 

reach, which indicates that each stream reach will be included 

in the generation of cascades.

In addition to HRU-stream cascade links, there is also a 

basin-outflow HRU. Specifying an outflow HRU is important because it indicates that the fill procedure will not be 

applied to this HRU. This outflow HRU, which is located at 

row 40 and column 76 in the model grid, is specified by use 

of the OUTFLOW_HRU.DAT input file. The outflow HRU 

is required to prevent the CRT fill procedure from failing; it 

specifies one active HRU that will not be filled.

Input for Application 1B: PRMS-Only Groundwater 

Cascades by Using Steady-State Potentiometric Surface

This application demonstrates how to use the steady-state 

groundwater-head distribution from a MODFLOW simulation to create groundwater cascades. The land-surface elevation model in the LAND_ELEV.DAT file is replaced with 

the steady-state groundwater head distribution derived from 

a steady-state MODFLOW simulation of the Sagehen Creek 

Basin. As with application 1A, this application uses the 

values of STRMFLG=1, IPRN=1, and FLOWFLG=0 in the 

HRU_CASC.DAT file. The DPIT parameter is set to a small 

value (0.01) to reflect the potentially smaller differences in 

groundwater heads between HRUs, and OUTITMAX is set to 

10,000. 

Output

CRT creates the file outputstat.txt that describes CRT 

operation, including input data, selected options, output that 

includes undeclared swales corrected during the CRT Fill 

Procedure, and information on how CRT computed cascades 

(fig. 11). 

Figure 9. Line 1 from HRU_CASC.DAT input file for Sagehen Creek Basin application. 

0 1 0 1 1 1 0.1 10000 HRUFLG STRMFLG FLOWFLG VISFLG IPRN IFILL DPIT OUTITMAX

Figure 10. Lines 1–6 of the STREAM_CELLS.DAT input file for Sagehen Creek Basin application. 

 189 NREACH

 18 62 1 1 1 REACH_ROW REACH_COL REACH_SEG REACH_NUM ON_OFF

 19 63 1 2 1

 20 64 1 3 1

 21 64 1 4 1

 22 65 1 5 1
22 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

After resampling the 10 m DEM to a 90 m DEM in ArcGIS, local depressions (undeclared swales) were created as 

artifacts of the spatial averaging method used to resample the 

DEM (fig. 12A). Undeclared swales are undesirable if they are 

artifacts of the DEM-processing algorithms and do not represent real topographical features. The orange circles located in 

some HRUs (fig. 12B) illustrate the many local depressions 

remaining after the initial CRT evaluation. These local depressions resulted in generation of cascades that did not accurately 

represent flow in the model; these incorrect flow directions 

are shown by flow arrows on figure 12B converging on the 

Figure 11. Excerpt from outputstat.txt showing a summary of Cascade Routing Tool (CRT) options and filled hydrologic response units 

(HRUs) for the Sagehen Creek Basin application.

CRT CASCADE SUMMARY

------------------------------------------------------------------------------

 CASCADES GENERATED WITH ALL STREAMS

 FLOW FRACTION TO DOWNSLOPE HRU'S SPLIT EVENLY BETWEEN CASCADE LINKS 

 CRT FILL PROCEDURE WAS USED

 THERE WERE 38 ITERATIONS

 THE FILL INCREMENT WAS 0.1000000 LENGTH UNITS

 THE FOLLOWING HRUS WERE ADJUSTED DURING CRT FILL PROCEDURE

 HRU_ID ROW COL ELEVATION CHANGE

 371 5 55 0.100

 609 8 56 0.100

 689 9 57 0.200

 768 10 57 0.100

 1150 15 44 1.101

 1230 16 45 4.104

 1246 16 61 0.100

 1411 18 68 0.200

 1412 18 69 0.300

 1413 18 70 1.401

 1457 19 35 2.102

 1490 19 68 1.101

 1491 19 69 1.201

 1492 19 70 1.301

 1535 20 34 1.101

 1613 21 33 9.109

 1732 22 73 0.100

 1882 24 65 0.100

 4039 52 10 0.100

 4428 57 4 1.101

 4508 58 5 5.105

 4509 58 6 13.013

 4588 59 6 7.107

 5350 68 57 0.100

 CASCADE VISUALIZATION DATA WERE WRITTEN TO VIS.TXT 

local depressions instead of continuing downslope toward the 

stream. 

Figure 12C shows the final cascade visualization for the 

same portion of the model domain as shown in figure 12B

after the CRT Fill Procedure was used to remove 24 local 

depressions (that is, the undeclared swales). The resulting cascades, shown on figure 12C, better represent flow paths within 

the system. Undeclared swales have been corrected, and flow 

lines converge downslope HRU-to-HRU toward the stream 

network. 
Sample Applications 23

Figure 12. A, Depiction of Sagehen Creek Basin PRMS model domain showing stream network, cascade flow arrows, and undeclared 

swales. B, Part of the model domain showing undeclared swales and cascade flow arrows before the land-surface model was 

corrected with Cascade Routing Tool (CRT) Fill Procedure. C, The same part of the model domain after elimination of the undeclared 

swales by use of the CRT Fill Procedure.

A

B C EXPLANATION

Model-grid cell boundary

Cascade-flow percentage

25

33

50

100

Cascade type

Undeclared swale (CASCADE_TYPE 5)

Stream or outflow hydrologic response unit 

(CASCADE_TYPE 4)

Pre-fill Post-fill
24 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Application 2: Lower Walker River 

Basin, Nevada

Description of the Basin

The Lower Walker River Basin (LWRB; fig. 13) is located 

in west-central Nevada. The LWRB is a closed basin, with 

ephemeral and perennial stream networks, and contains nonstream cascade discharge features Walker Lake, Webber Reservoir, and Double Springs playa. The climate of the LWRB 

is classified as mid-latitude semi-arid Great Basin desert 

(Houghton and others, 1975, page 3). Walker Lake (fig. 13) is 

a terminal lake within the basin. The main outflow from the 

lake is by evaporation. The Double Springs playa is located in 

the northeastern part of the model domain (fig. 13) and is a flat 

surface of clay with a thin salt crust. Surface runoff discharges 

to the playa and then evaporates.

The main source of inflow to the lake is streamflow from 

the Walker River. While Walker River is the biggest and most 

significant tributary to Walker Lake, there are other tributaries 

that occasionally contribute water to the lake. The only perennial stream reaches within the study area in addition to Walker 

River are a few in the Wassuk Range; however, except under 

exceptionally rare high-runoff conditions, these streams are 

dry prior to reaching Walker Lake. Walker Lake is the terminus of the Walker River and is the lowest point in the basin. 

The general direction of groundwater flow is toward Walker 

Lake, and groundwater generally discharges to the lake (Lopes 

and Allander, 2009). 

Application Overview 

The Lower Walker River Basin applications illustrate the 

use of CRT (1) to generate cascades to non-stream discharge 

points such as designated swales, lakes, and reservoir HRUs; 

(2) to rectify undeclared swales; (3) to partition flow among 

HRUs on the basis of differences in land-surface slope among 

HRUs (that is, option FLOWFLG=1); (4) to generate cascades 

for a PRMS-only simulation in which only selected stream 

reaches (and then no stream reaches) are used to generate 

steady-state recharge distributions that could be used for a 

MODFLOW or GSFLOW simulation; and (5) to generate 

groundwater cascades for PRMS-only simulations based on 

modified HRU CASCADE_TYPEs. These applications illustrate how a simulated stream network can be coded in the CRT 

input files to appropriately represent the groundwater-recharge 

processes within the PRMS simulation. Three applications are 

provided to illustrate different approaches for doing this: the 

generation of cascades without any stream reaches (application 

2A), the generation of cascades with selected stream reaches 

(application 2B), the generation of PRMS-only groundwater 

cascades assuming the potentiometric surface mimics the land 

surface (application 2C).

Input 

The LWRB hydrologic system is represented in the PRMS 

model by a horizontal, rectangular grid of HRU cells that 

consists of 178 columns and 317 rows. Each of the 56,426 

HRUs is 400 m on a side. A filled 400 m DEM was developed 

from a resampled 10 m DEM of the basin and used to define 

the watershed and to generate a stream network. The landsurface elevation model used in the delineation of cascades is 

defined by the elevation at the centroid of each HRU; these 

data are shown in the LAND_ELEV.DAT input file. Although 

the default value for IPRN is equal to 1, condensed output 

(IPRN=0) was selected to simplify display in an application 

with many HRUs. The parameter HRU_TYPE is set to a value 

of 2 for HRUs coincident with lake and reservoir HRUs. The 

outflow HRU location (OUTFLOW_ID) for the LWRB is the 

HRU that contains the lake desiccation point (fig. 13) in the 

HRU located at row 151 and column 89. The Double Springs 

playa is a swale feature that must be specified as a designated 

swale HRU when using the CRT Fill Procedure to rectify 

undeclared swales. Swale HRUs are designated by setting 

HRU_TYPE to a value of 3 for HRUs that intersect the swale 

feature. This was done for HRUs (designated swale) that are 

coincident with Double Springs playa in the HRU_CASC.

DAT input file. This ensures that the swales will not be filled 

during the CRT Fill Procedure, and cascade links to these 

swales will be generated. 

After resampling the LWRB DEM in ArcGIS and using the 

Arc DEM Fill tool, hundreds of local depressions (611 undeclared swales) were created as artifacts of the spatial averaging method used to resample the DEM. Cascades computed 

with these undeclared swales will not accurately represent 

flow in the model. Overland flow will not be routed out of 

that HRU. In a PRMS-only simulation, undeclared swales 

will only contribute flow to GWRs. In GSFLOW simulations, 

undeclared swales will only contribute flow to MODFLOW 

finite-difference groundwater cells. A complete listing of undeclared swale HRUs is provided in the outputstat.txt file for 

all CRT simulations. CRT Fill Procedure was used to remove 

undeclared swales in LWRB before cascades were generated 

by setting the value for IFILL=1 in the HRU_CASC.DAT

input file. 

Input for Application 2A: Cascades Generated Without 

Stream Reaches

This application demonstrates cascades generated without 

any stream network. This approach assumes that all streams 

in the model are either dry or generally losing and contribute 

to groundwater recharge. Figure 14 illustrates item 1 of the 

HRU_CASC.DAT input file used for this application and 

includes specification of parameter STRMFLG as 0 to generate cascades without any stream reaches; flow through the 

basin is represented as HRU-to-HRU cascade links. Stream 

reaches are not used in this example (STRMFLG=0), thus the 

STREAM_CELLS.DAT file is not required by CRT. Outflow 
Sample Applications 25

Figure 13. Lower Walker River PRMS/GSFLOW model domain showing active model boundary; stream network; and non-stream 

cascade-discharge features Walker Lake, Webber Reservoir, and Double Springs Playa, Nevada.

Walker

Lake

Weber

Reservoir

Walker River

Walker River

Bridgeport

Reservoir

East

River

Walker

West Walker

River

Base from U.S. Geological Survey digital data, 1:24,000, 1978–88

Shaded-relief base from 90-meter Shuttle RadarTopography Mission digital data, 2000

Universal Transverse Mercator projection, Zone 11, North American Datum of 1983

119°15' 119°00' 118°45' 118°30' 118°15'

39°15'

39°00'

38°45'

38°30'

38°15'

Wabuska

Gage

CALICO HILLS

AGAI PAH HILLS

TERRILL MOUNTAINS

WASSUK RANGE

NEVADA

CALIFORNIA

Desiccation point

of Walker Lake

Mount

Grant

Double

Springs

Playa

Double

Spring

EXPLANATION

Walker Lake—Average lake altitude 

3,935.8 feet, October 2007

Hydrogeology cell unit

Inactive

Consolidated

Unconsolidated

Cascade stream discharge point

Cascade non-stream discharge point

Model grid-cell boundary

Walker River basin boundary

Lower Walker study-area boundary
26 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

HRUs specified in the OUTFLOW_HRU.DAT are used to 

constrain the CRT fill procedure and define where flow exits 

the model domain; the lake desiccation point in this example. 

Relative slopes among cells are used to partition water from 

upslope HRUs to downslope receiving HRUs (FLOWFLG=1), 

input data for the visualization software (CRV) are written 

to file vis.txt (VISFLG=1), condensed output was selected 

(IPRN=0), CRT Fill Procedure was used (IFILL=1), and the 

suggested default values for DPIT (0.1 m) and OUTITMAX

(10,000) were used. 

Input for Application 2B: Cascades Generated With 

Selected Stream Reaches

This application demonstrates how to represent spatially 

variable stream-reach recharge behavior for a PRMS-only 

simulation to compute steady-state groundwater recharge. 

Figure 15 shows item 1 of the HRU_CASC.DAT file for this 

application. In this application, only selected stream reaches 

are considered in the generation of cascades (STRMFLG=1), 

which assumes that selected reaches do not contribute significant recharge. Relative slopes among cells are used to 

partition water from upslope HRUs to downslope receiving 

HRUs (FLOWFLG=1), visualization data are written to file vis.

txt (VISFLG=1), default output is selected (IPRN=1), CRT 

Fill Procedure is used (IFILL=1), and the suggested default 

values for DPIT (0.1 m) and OUTITMAX (10,000) were 

used. 

Recharge through streambeds within the LWRB has been 

shown to be spatially variable, with the highest recharge rates 

mainly along ephemeral and valley alluvial channels and the 

lowest recharge rates within the consolidated mountain bedrock. Because of this spatial variability of recharge within the 

stream network, it was necessary to identify those streams that 

could be contributing recharge and remove them during the 

generation of cascades. Part of the STREAM_CELLS.DAT

input file for this application is shown on figure 16. In order 

to remove a stream reach during the generation of cascades, 

the ON_OFF parameter for that reach should be specified as 

0, which allows cascades as HRU-to-HRU cascade links at 

these locations instead. For example, the five stream segments 

identified in figure 16 were removed because they are thought 

to be locations of groundwater recharge; therefore, cascade 

paths should not end at the HRUs where the stream reaches 

are located and should continue instead as HRU-to-HRU 

cascade links until the downslope cascade link is an HRU with 

a cascade discharge feature such as an outflow HRU, stream 

reach, swale, lake, or reservoir. See the sections titled “Stream 

Networks and Lakes” and “PRMS Recharge Estimates” for 

more information on stream-reach selection for PRMS-only 

groundwater-recharge estimates.

Input for Application 2C: PRMS-Only Groundwater 

Cascades Using Topography

This application demonstrates how to generate groundwater 

cascades by using the same land-surface elevation data that 

were used in application 2A as a proxy for groundwater elevations. This method assumes that the potentiometric-surface 

topography is correlated to the land-surface topography. There 

were two modifications to the input files for application 2A 

to create input files for application 2C. The first modification 

was to change the designated swale HRUs coinciding with the 

Double Springs Playa from swale-type HRUs (HRU_TYPE=3) 

to land-type HRUs (HRU_TYPE=1). The second modification was to change lake type HRUs (HRU_TYPE=2) coinciding with Walker Lake and the Webber Reservoir to land-type 

HRUs (HRU_TYPE=1). These modifications were necessary 

because groundwater cascade links cannot terminate in a swale 

or lake for PRMS-only simulations. As with application 2A, 

this application uses the values of STRMFLG=0, IPRN=0,

and FLOWFLG=1. 

Figure 14. Line 1 of HRU_CASC.DAT input file for the Lower Walker River Basin application 2A showing use of option STRMFLG=0. 

0 0 1 1 0 1 0.1 10000 HRUFLG STRMFLG FLOWFLG VISFLG IPRN IFILL DPIT OUTITMAX

Figure 15. Line 1 of the HRU_CASC.DAT input file for the Lower Walker River Basin application 2C showing use of option STRMFLG=1. 

0 1 1 1 1 1 0.1 10000 HRUFLG STRMFLG FLOWFLG VISFLG IPRN IFILL DPIT OUTITMAX

Figure 16. Lines 1–2 and 284–288 of the STREAM_CELLS.DAT input file for the Lower Walker River Basin application 2C showing use of 

option ON_OFF=0.

1173 NREACH 

25 10 1 1 1 REACH_ROW REACH_COL REACH_SEG REACH_NUM ON_OFF

...

150 140 7 1 0

150 139 7 2 0

149 139 7 3 0

148 138 7 4 0

148 137 7 5 0
Sample Applications 27

Output

Figure 17 illustrates how cascades determined by CRT for 

the condition in which stream reaches are not included (application 2A, fig. 17, parts A and C) differ from those determined 

for the condition in which selected stream reaches are included 

(application 2C, fig. 17, parts B and D). In simulations with 

no streams, flow is routed HRU-to-HRU (or HRU-to-Lake), 

and all HRUs except those specified as lakes can contribute to 

groundwater recharge. In simulations in which selected stream 

reaches are included, cascade-flow arrows converge on the 

nearest HRU containing a stream reach (gray dots, fig. 17D) 

or lake (purple dots, fig. 17D) and flow is routed through the 

defined stream network. Groundwater recharge from streams 

is not calculated for HRUs containing stream reaches in a 

PRMS-only simulation. 

Figure 17. Depiction of Lower Walker River Basin PRMS and GSFLOW model domains showing stream network, lake boundaries, 

Double Springs Playa designated swale, cascade flow arrows, and undeclared swales: A, model domain with no stream reaches, B, 

model domain with selected stream reaches, C, part of the model domain showing cascade flow arrows in the simulation with no stream 

reaches, and D, part of the model domain showing cascade flow arrows in the simulation with selected streams.

A B

C D

EXPLANATION

Model grid-cell boundary

Cascade-flow percentage

25

33

50

66

75

100

Cascade type

Declared swale (CASCADE_TYPE 3)

Lake (CASCADE_TYPE 2)

Stream or outflow hydrologic 

response unit (CASCADE_TYPE 4)

No streams Selected streams
28 CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models

Summary

Cascades are pre-defined flow paths used for surface and 

subsurface water routing in hydrologic models. PRMS and 

GSFLOW include a cascading-flow procedure to route computed flows from upslope to downslope HRUs, GWRs, stream 

segments, lakes, reservoirs, and other watershed outflow 

HRUs. The cascading-flow procedure allows for routing flows 

between spatial units to account for the changes in hydrologic 

response, timing, and drainage patterns as water moves from 

upslope to downslope portions of a basin. Cascade parameters 

are read by PRMS and GSFLOW when the Cascade Module is 

made active. The Cascade Module provides a means of routing 

lateral flows among HRUs, which allows a more realistic representation of the effects of topography and topology on the 

drainage of a watershed. Cascades are important for simulating the occurrence of divergent and convergent flows that can 

result in reinfiltration of overland runoff and saturated excess 

runoff. 

The Cascade Routing Tool (CRT) is a computer program 

that has been developed to compute flow paths between HRUs 

used to discretize a watershed for PRMS and GSFLOW 

models. CRT is used external to the models so that cascades 

can be evaluated prior to a PRMS or GSFLOW simulation to 

make sure that water is routed appropriately, while honoring 

the topography and flow paths through a hydrologic system. 

Several applications are presented in this document to illustrate how CRT input can be created to account for a variety 

of model configurations, including those with ephemeral and 

perennial stream networks, lakes, playas, and swales. Output 

from CRT provides important information about cascade computation and cascade-link error checking.

CRT includes an ArcGIS toolbox called Cascade Routing Visualization (CRV), which was developed to visualize 

cascades in ArcGIS. CRV can execute CRT from the ArcGIS 

environment or import an existing CRV visualization file. 

Visualization using CRV can help locate errors in CRT input, 

examine CRT cascade output, and help users decide which 

CRT configuration is best suited for their simulation.

References Cited

Burnett, J.L., and Jennings, C.W., 1965, Chico Quadrangle, 

scale 1:250,000: State of California, Division of Mines and 

Geology.

ESRI, 2011, Understanding representations: ArcGIS Desktop Help 10.0, accessed October 31, 2011, at http://help.

arcgis.com/en/arcgisdesktop/10.0/help/index.html#/

Understanding_representations/008t0000000r000000/.

Ford, L.R ., and Fulkerson, D.R., 1956, Maximal flow through 

a network: Canadian Journal of Mathematics, v. 8, no. 3, p. 

399–404.

Garbrecht, Jurgen, and Martz, L.W., 1997, The assignment of 

drainage direction over flat surfaces in raster digital elevation models: Journal of Hydrology, v. 193, no. 1–4, 

p. 204–213

Harbaugh, A.W., 2005, MODFLOW-2005, The U.S. Geological Survey modular ground-water model—the GroundWater Flow Process: U.S. Geological Survey Techniques 

and Methods 6-A16, variously paginated.

Houghton, J.G., Sakamoto, C.M., and Gifford, R.O., 1975, 

Nevada’s weather and climate: Nevada Bureau of Mines 

and Geology Special Publication 2, 78 p. 

Leavesley, G.H., Lichty, R.W., Troutman, B.M., and Saindon, 

L.G., 1983, Precipitation-runoff modeling system—User’s 

manual: U.S. Geological Survey Water-Resources Investigations Report 83–4238, 207 p.

Lopes, T.J., and Allander, K.K., 2009, Hydrologic setting and 

conceptual hydrologic model of the Walker River basin, 

west-central Nevada: U.S. Geological Survey Scientific 

Investigations Report 2009–5155, 84 p

Markstrom, S.L., Niswonger, R.G., Regan, R.S., Prudic, D.E., 

and Barlow, P.M., 2008, GSFLOW—Coupled ground-water 

and surface-water flow model based on the integration of 

the Precipitation-Runoff Modeling System (PRMS) and the 

modular ground-water flow model (MODFLOW-2005): 

U.S. Geological Survey Techniques and Methods 6-D1, 

240 p.

Niswonger, R. G. and Prudic, D.E., 2005, Documentation 

of the Streamflow-Routing (SFR2) Package to include 

unsaturated flow beneath streams a modification to SFR1, 

U.S. Geological Techniques and Methods Book 6, Chapter 

A13: 62.

Pan, Feifei, Stieglitz, Marc, and McKane, R. B., 2012, An 

algorithm for treating flat areas and depressions in digital 

elevation models using linear interpolation: Water 

Resources Research, v. 48, W00L10, doi:10.1029/ 

2011WR010735.

Rademacher, L.K., Clark, J.F., Clow, D.W., and Hudson, G.B., 

2005, Old groundwater influence on stream hydrochemistry and catchment response times in a small Sierra Nevada 

catchment—Sagehen Creek, California: Water Resources 

Research, v. 41, no. W02004, doi:10.1029/2003WR002805, 

10 p.

Tόth, J., 1963, A theoretical analysis of groundwater flow in 

small drainage basins: Journal of Geophysical Research, v. 

68, no. 16, p. 4795–4812.

Henson and others—CRT—Cascade Routing Tool to Define and Visualize Flow Paths for Grid-Based Watershed Models—Techniques and Methods 6–D2