GRASS logo

NAME

r.curvenumber - Generates the Curve Number raster from the landcover and hydrologic soil group rasters

KEYWORDS

raster, hydrology, curve number

SYNOPSIS

r.curvenumber
r.curvenumber --help
r.curvenumber landcover=name soil=name landcover_source=string [lookup=name] output=name [--overwrite] [--help] [--verbose] [--quiet] [--ui]

Flags:

--overwrite
Allow output files to overwrite existing files
--help
Print usage summary
--verbose
Verbose module output
--quiet
Quiet module output
--ui
Force launching GUI dialog

Parameters:

landcover=name [required]
Landcover raster
soil=name [required]
Hydrologic Soil Group raster
landcover_source=string [required]
Lookup table source
Options: nlcd, esa, custom
lookup=name
CSV with columns lc,hsg,cn (required if source=custom)
output=name [required]
Curve number raster

Table of contents

DESCRIPTION

r.curvenumber computes a Curve Number (CN) raster from a landcover classification raster and a Hydrologic Soil Group (HSG) raster. The Curve Number is a value that represents the runoff potential of a soil–landcover combination and is a key input in the USDA SCS Curve Number method—a widely adopted practice in hydrology to estimate runoff.

It supports the lookup tables for curve number values for the following datasets and provides:

For custom lookups, use the parameter source=custom, and lookup=/path/to/table.csv. The CSV must have the header lc,hsg,cn. Pass the custom lookup as a file or paste the values in the dialogue box.

Your HSG raster must contain only the following values:

No other values are allowed.

The curve numbers used in r.curvenumber are based on values published by the United States Department of Agriculture, Natural Resources Conservation Service (2004). While these values serve as a widely accepted reference, users should assess and, if needed, modify them to suit the specific requirements, assumptions, and spatial scale of their hydrologic studies or engineering designs.

EXAMPLES

# Example 1: NLCD lookup (built-in)
r.curvenumber \
  landcover=nlcd2019 \
  hsg=soil_hsg \
  ls=nlcd \
  output=cn_nlcd

# Example 2: ESA WorldCover lookup (built-in)
r.curvenumber \
  landcover=esa2020 \
  hsg=soil_hsg \
  ls=esa \
  output=cn_esa

# Example 3: Custom CSV lookup
r.curvenumber \
  landcover=my_lc_map \
  soil=my_hsg_map \
  ls=custom \
  lookup=cn_table.csv \
  output=cn_custom
Example output from r.curvenumber

Figure: Example output from r.curvenumber

REFERENCES

AUTHOR

Abdullah Azzam, New Mexico State University

SOURCE CODE

Available at: r.curvenumber source code (history)

Latest change: Thursday May 29 13:08:42 2025 in commit: e991d8ee3cc4745d5fbcd0ade16ceed23b07b314


Main index | Raster index | Topics index | Keywords index | Graphical index | Full index

© 2003-2025 GRASS Development Team, GRASS GIS 8.4.2dev Reference Manual