comment: This is an IPAT-S script. IPAT-S is an open-source scripting language for developing sustainability scenarios. It can be run using the free IPAT-S software, available from: http://ipat-s.kb-creative.net/ For more information, please contact the author of IPAT-S, Eric Kemp-Benedict (eric@kb-creative.net) :comment comment: This sample IPAT-S script implements a simple trade balance model for a small open economy. There is a goal for the income growth rate. Also, a maximum savings rate is specified. The script then calculates the maximum level of net exports consistent with the income growth goal, subject to the cap on the savings rate. Finally, given government expenditure as a proportion of GDP, the script calculates consumption per capita. The script uses a "textbook" version of the current account for an open economy. It is based on a simplified balance of payments, in which some transactions are set to zero. Added to the basic national income accounts, the script implements a simple model linking investment and growth. Rather than using a standard growth model (e.g., using a neoclassical production function), the script exploits a statistical regularity that can be seen in cross- sectional and national time-series data on capital per worker, k, and output per worker, x, where k = x ^ Kelast, with Kelast about equal to 1.3. The "market optimism" in this script is included in this equation. The national accounts and the capital accumulation equation are simply accounting identities, but the assumption that capital per worker and output per worker increase together does not always hold true. In some countries, output has fallen dramatically while capital per worker remains at relatively high levels. The figures in the script are for a fictional country. :comment base year 2000 scenario years 2005 to 2030 by 5 comment: K capital I investment X output P population S domestic savings L labor force growth rate income income growth rate p population growth rate :comment summvar K I X P S ratio L income p ## ## Scenario inputs ## income = gr(<4.0%>) # Income growth rate L = gr(<3.0%>) # Labor force growth rate p = gr(<2.5%>) # Population growth rate # Max savings rate changes in a piecewise-linear fashion # over time. load _interpolate from 'IPATS_standard' as Interp var maxSavRate # Maximum saving rate call Interp using maxSavRate year \ 2000 15% \ 2010 17% \ 2025 30% \ 2031 30% \ var GovFrac GovFrac = <10%> # Government expenditure as % GDP ## ## Key parameters ## number Kelast = 1.3 # K/worker = (X/worker) ^ Kelast number deprec = 9% # Capital depreciation rate ## ## Base-year data ## X.0 = 480 # GDP, 1000 million $/year K.0 = 360 # Capital stock, 1000 million $ P.0 = 80 # Population, million people ## ## Scenario calculations ## # Population & GDP growth :: >>p-> P >>income-> X # Growth in capital stock :: >> L * (X/L)^Kelast -> K # Investment comment: Rearrange dK/dt = -deprec * K + I to give dK/dt + deprec * K = I :comment :: rate(K) + deprec * K -> I # Calculate a wage rate index, driven by average productivity growth var wageRateIndex wageRateIndex.0 = 100 :: >> X/L -> wageRateIndex ## ## Set up national accounts as an LP ## comment: Note: An LP is not needed for this calculation. The solution to the LP is "S = maxS, EX - IM = maxS - I". However, by writing it as an LP it is easier to extend the script later with additional constraints and goals. It also has the advantage that the national accounts identity is explicit. :comment comment: maxS maximum level of savings, given max rate and total output EX exports IM imports :comment summvar maxS EX IM # Set maximum level of savings, given max saving rate & # total output, X :: maxSavRate * X -> maxS LP: solve for S EX IM max EX - IM # Basic identity for national accounts S - EX + IM = I # Constrain savings S <= maxS :LP ## ## Report results ## report wageRateIndex as "Wage Rate Index (2000=100)" report 1000 * X/P as "Income ($/cap)" report 1000 * (X * (1-GovFrac) - S)/P as "Consumption ($/cap)" report 100 * S/X as "Savings Rate (% GDP)" report 100 * I/X as "Investment (% GDP)" report 100 * (S - I)/X as "Net Exports (% GDP)"