[GRASS-user] Stream power Index calculation?

Hi,

in the book "Geomorphometry - Concepts, Software, Applications" I've found a
short paragraph about the Stream power Index (SPI).

the SPI can be used to describe potential flow erosion related to landscape
processes.

in the book SPI is defined as:

    SPI = A x tan(beta)

where A is the specific catchment area and beta is the local slope angle.

in link [1] there is the SAGA GIS formula.

sometimes SPI is also defined as:

    SPI = ln(A x tan(beta))

my idea for SPI calculation in GRASS GIS may be:

A = {accumulation flow by r.watershed} x {ns resolution x ew resolution}
beta = r.slope slope

anyone ever used/calculated SPI in GRASS GIS? any hints for calculation?

[1] http://www.saga-gis.org/saga_module_doc/2.1.4/ta_hydrology_21.html

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Stream-power-Index-calculation-tp5190756.html
Sent from the Grass - Users mailing list archive at Nabble.com.

On Sun, Mar 1, 2015 at 8:15 PM, Helmut Kudrnovsky <hellik@web.de> wrote:

Hi,

in the book "Geomorphometry - Concepts, Software, Applications" I've found a
short paragraph about the Stream power Index (SPI).

the SPI can be used to describe potential flow erosion related to landscape
processes.

in the book SPI is defined as:

    SPI = A x tan(beta)

where A is the specific catchment area and beta is the local slope angle.

in link [1] there is the SAGA GIS formula.

sometimes SPI is also defined as:

    SPI = ln(A x tan(beta))

This is also known as Topographic Convergence Index (TCI) or
Topographic Wetness Index (TWI). You can calculate this index with
r.watershed and r.terraflow. If you need the non-logarithmic form, you
can use r.mapcalc "SPI = exp(TCI)".

Markus M

my idea for SPI calculation in GRASS GIS may be:

A = {accumulation flow by r.watershed} x {ns resolution x ew resolution}
beta = r.slope slope

anyone ever used/calculated SPI in GRASS GIS? any hints for calculation?

[1] http://www.saga-gis.org/saga_module_doc/2.1.4/ta_hydrology_21.html

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Stream-power-Index-calculation-tp5190756.html
Sent from the Grass - Users mailing list archive at Nabble.com.
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

in the book SPI is defined as:

    SPI = A x tan(beta)

where A is the specific catchment area and beta is the local slope angle.

in link [1] there is the SAGA GIS formula.

sometimes SPI is also defined as:

    SPI = ln(A x tan(beta))

This is also known as Topographic Convergence Index (TCI) or
Topographic Wetness Index (TWI). You can calculate this index with
r.watershed and r.terraflow. If you need the non-logarithmic form, you
can use r.mapcalc "SPI = exp(TCI)".

AFAIU from the manual:

http://grass.osgeo.org/grass71/manuals/r.watershed.html

TCI is definded as: Topographic index ln(a / tan(b))

divison vs. multiplication

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Stream-power-Index-calculation-tp5190756p5191377.html
Sent from the Grass - Users mailing list archive at Nabble.com.

Hey Helli,

···

On Wed, Mar 4, 2015 at 9:46 AM, Helmut Kudrnovsky <hellik@web.de> wrote:

in the book SPI is defined as:

SPI = A x tan(beta)

what about calculating A with r.watershed (flow accum) and tan(beta) with r.slope.aspect (slope) and then using r.mapcalc to multiply them?

cheers,
madi

Best regards,

Dr. Margherita DI LEO
Scientific / technical project officer

European Commission - DG JRC
Institute for Environment and Sustainability (IES)
Via Fermi, 2749
I-21027 Ispra (VA) - Italy - TP 261

Tel. +39 0332 78 3600
margherita.di-leo@jrc.ec.europa.eu

Disclaimer: The views expressed are purely those of the writer and may not in any circumstance be regarded as stating an official position of the European Commission.

On Wed, Mar 4, 2015 at 9:46 AM, Helmut Kudrnovsky <hellik@web.de> wrote:

in the book SPI is defined as:

    SPI = A x tan(beta)

where A is the specific catchment area and beta is the local slope angle.

in link [1] there is the SAGA GIS formula.

sometimes SPI is also defined as:

    SPI = ln(A x tan(beta))

This is also known as Topographic Convergence Index (TCI) or
Topographic Wetness Index (TWI). You can calculate this index with
r.watershed and r.terraflow. If you need the non-logarithmic form, you
can use r.mapcalc "SPI = exp(TCI)".

AFAIU from the manual:

http://grass.osgeo.org/grass71/manuals/r.watershed.html

TCI is definded as: Topographic index ln(a / tan(b))

divison vs. multiplication

OK. You can get SPI with a little math:

exp(TCI) = a / tan(b)
tan(b) = a / exp(TCI)

a = flow accumulation / res

or a bit more precise, for flow direction to direct neighbors:
a = flow accumulation / ((ns_res + ew_res) / 2)
and diagonal neighbors:
a = flow accumulation / sqrt(ns_res * ns_res + ew_res * ew_res)

now you have a, can calculate tan(b) and SPI

note that slope from r.slope.aspect could be used but does not
necessarily point to the predominant flow direction. r.slope.aspect
calculates slope for a given cell from its 3x3 neighborhood whereas
TCI uses the slope from the current cell to the next downstream cell.
Thus for TCI and SPI the upstream slope does not matter so much, it is
important how it continues immediately downstream (e.g. waterfall).

Since a and tan(b) are already calculated by r.watershed for TCI,
implementing SPI (as yet another option to r.watershed) would be
relatively easy.

Markus M

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Stream-power-Index-calculation-tp5190756p5191377.html
Sent from the Grass - Users mailing list archive at Nabble.com.
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
http://lists.osgeo.org/mailman/listinfo/grass-user

thanks for the hints for calculations.

Since a and tan(b) are already calculated by r.watershed for TCI,
implementing SPI (as yet another option to r.watershed) would be
relatively easy.

it would be a quite nice addition to r.watershed. thanks.

-----
best regards
Helmut
--
View this message in context: http://osgeo-org.1560.x6.nabble.com/Stream-power-Index-calculation-tp5190756p5191402.html
Sent from the Grass - Users mailing list archive at Nabble.com.