![]() |
Paul Waggoner and Jesse Ausubel, of Rockefeller Universitys Program for the Human Environment, propose a “renovated IPAT identity,” which they call the ImPACT identity. It is intended to remedy the shortcomings of IPAT as a conceptual framework for analyzing sustainability issues. This guide shows how the examples in their paper can be translated into the IPAT-S language. Also, in the IPAT-S graphical user interface (GUI), there is a special growth graph that is especially suited for ImPACT (and IPAT) calculations.
For ease of reference, the headings on this page match the relevant headings in Waggoner and Ausubel's paper. Note that the IPAT-S code shown below does not form a complete script (except for the final example). Instead, code fragments are shown. To see the structure of a complete script, view the sample scripts on this site and the examples in the IPAT-S installation, or look at the documentation.
The basic ImPACT calculation is
This can be translated directly into IPAT-S as
:: P >> A * C * T -> Im
In Waggoner and Ausubel's paper, capital letters indicate forces, while the corresponding lower-case letter designates growth rates. This can be represented as
:: >> growth(p + a + c + t) -> Im
Or, since variable names are case-sensitive in IPAT-S, as
:: >> gr(p) -> P A = gr(a) C = gr(c) T = gr(t) :: P >> A * C * T -> Im
where P is a summable variable, A, C and T are ratio variables, and p, a, c and t are number variables. (Note that “gr” and “growth” are equivalent.)
The combination of C and T represent key sustainability levers, which counter the combined sustainability challenge of P and A. This can be represented in IPAT-S by writing
var SustChallenge = 100 # The SustChallenge variable is an index ratio SustLever = C * T :: P >>A-> SustChallenge >>SustLever-> Im
A decline in C is considered to be dematerialization, while declining T represents increasing efficiency. This can be represented in IPAT-S as
var SustChallenge = 100 # The SustChallenge variable is an index ratio SustLever = growth(-(dematerialization + efficiency)) :: P >>A-> SustChallenge >>SustLever-> Im
or
var SustChallenge = 100 # The SustChallenge variable is an index ratio SustLever = 1/growth(dematerialization + efficiency) :: P >>A-> SustChallenge >>SustLever-> Im
where dematerialization and efficiency are number variables.
Note that the code fragments above are different ways of representing the same basic ImPACT calculation. Different ways of writing the IPAT-S script suggest different ways of thinking about agency and the challenge of sustainability.
If consumption is related to affluence (or, more properly, income) via an income elasticity b, then the basic ImPACT identity becomes
In IPAT-S, this can be written
:: P >> A * A^(b-1) * T -> Im
where b is a number variable.
If P also changes with an income elasticity of bP and T with an elasticity of bT, then the corresponding IPAT-S calculation can be written
:: A^(bP + 1 +(b-1) + bT) >>-> Im
In this example, b, bP and bT can be either number variables or IPAT-S variables. If they are defined as variables, then they can change over time and vary along different dimensions.
In IPAT-S it is straightforward to include sectoral detail in a calculation. Here is a complete script that implements a scenario of water use at a sectoral level of detail:
baseyear 2000
scenyears 2010 to 2050 by 10
dimension sector 'Agr' 'Mfg' 'Dom'
summvar P I{sector} Itot
ratio A C{sector} T{sector}
P.0 = 283 # million people
# These are water withdrawals in 2000
Itot.0 = 469.00 # cubic km
I.0{sector = 'Agr'} = 46% * Itot.0
I.0{sector = 'Mfg'} = 42% * Itot.0
I.0{sector = 'Dom'} = 12% * Itot.0
# For scenario, assume same rates as for 1970-1995 period from
# Waggoner and Ausubel. 2002. "A framework for sustainability science: A
# renovated IPAT identity". PNAS 99(12), pp. 7860-7865.
num p = <1.0%> # Annual population growth
:: >> growth(p) -> P
num a = <1.5%> # Income growth rate
A = growth(a) # Income growth rate
# Dematerialization
C{sector = 'Agr'} = growth(<-0.7%>)
C{sector = 'Mfg'} = growth(<-0.6%>)
C{sector = 'Dom'} = growth(<0.0%>) # Figure not mentioned in ImPACT paper
# Efficiency
T{sector = 'Agr'} = growth(<-1.7%>)
T{sector = 'Mfg'} = growth(<-5.0%>)
T{sector = 'Dom'} = growth(<-2.0%>) # Figure not mentioned in ImPACT paper
# The ImPACT formula:
# - Population drives changes in impact
# - Modified by income, dematerialization and technology
:: P >> A * C * T -> I
report 100 * I/I.2000 as "Water use by sector (2000 = 100)"
summarize I as Itot
report 100 * Itot/Itot.2000 as "Total water use (2000 = 100)"
Running this script and viewing the output in the IPAT-S GUI, it can be seen that while agricultural and public water withdrawals increase modestly over the scenario, manufacturing withdrawals drop precipitously, leading total withdrawals to decline over the scenario:
