Model concept, solver and details - GCAM

From IAMC-Documentation
Jump to navigation Jump to search
Alert-warning.png Note: The documentation of GCAM is 'under review' and is not yet 'published'!

Model Documentation - GCAM

Corresponding documentation
Previous versions
No previous version available
Model information
Model link
Institution Pacific Northwest National Laboratory, Joint Global Change Research Institute (PNNL, JGCRI), USA,
Solution concept General equilibrium (closed economy)GCAM solves all energy, water, and land markets simultaneously
Solution method Recursive dynamic solution method
Anticipation GCAM is a dynamic recursive model, meaning that decision-makers do not know the future when making a decision today. After it solves each period, the model then uses the resulting state of the world, including the consequences of decisions made in that period - such as resource depletion, capital stock retirements and installations, and changes to the landscape - and then moves to the next time step and performs the same exercise. For long-lived investments, decision-makers may account for future profit streams, but those estimates would be based on current prices. For some parts of the model, economic agents use prior experience to form expectations based on multi-period experiences.


Supplied with input information from the GCAM Data System, the GCAM Core is the heart of the dynamic character of GCAM. GCAM takes in a set of assumptions and then processes those assumptions to create a full scenario of prices, energy and other transformations, and commodity and other flows across regions and into the future. GCAM represents five different interacting and interconnected systems. The interactions between these different systems all take place within the GCAM core; that is, they are not modeled as independent modules, but as one integrated whole.

The core operating principle for GCAM is that of market equilibrium. Representative agents in GCAM use information on prices, as well as other information that might be relevant, and make decisions about the allocation of resources. These representative agents exist throughout the model, representing, for example, regional electricity sectors, regional refining sectors, regional energy demand sectors, and land users who have to allocate land among competing crops within any given land region. Markets are the means by which these representative agents interact with one another. Agents indicate their intended supply and/or demand for goods and services in the markets. GCAM solves for a set of market prices so that supplies and demands are balanced in all these markets across the model. See the overview for more details.


At each time step, GCAM searches for a vector of prices that cause all markets to be cleared and all consistency conditions to be satisfied. The mapping from input prices to output market disequilibria is a vector function . The GCAM solver is responsible for finding the root of this equation; that is, the point at which .

GCAM has several solver algorithms at its disposal. The solver algorithms can be combined so that several of them are used in sequence. The mix of algorithms can be varied from one model timestep to the next and can be customized for markets that require special treatment. Additionally, each solver algorithm has several adjustable parameters that are user configurable. For more information on the solver, see the GCAM solver page.

Economic Choice

Most of the economic activities represented in GCAM present us with a choice among several ways to produce the end result of the activity. Examples of these choices include choosing between different fuels or feed stocks, between different technologies, and between transportation modes. In some cases the choice is between different uses of a limited resource, such as when we allocate land area to different uses. In each of these cases we must allocate the total activity to the available alternatives.

Choice in GCAM is based on a single numerical value that orders the alternatives by preference. Generically, we call this the choice indicator, p. In practice the choice indicator is either cost or profit rate, though other indicators are possible in principle. In cases where multiple factors influence a choice, such as passenger transportation (where faster modes are more desirable), the additional factors are converted into a cost penalty and added to the basic cost to produce a single indicator that incorporates all of the relevant factors. Economic choice is described in more detail here.

Choice Functions

A function that takes as input a vector of indicators and returns a vector of market shares for the corresponding choice alternatives is called a choice function. Choice functions reflect that the single best choice does not necessarily capture the entire market. A variety of factors not captured in the model, such as individual preferences, local variations in cost, and simple happenstance cause some of the market to go to alternatives that, based on their indicator alone, are theoretically inferior choices.

GCAM provides a flexible system for specifying choice functions at runtime on a sector-by-sector basis. Choice functions are represented in the code by classes that implement the IDiscreteChoice interface. Two such classes, the Logit and the Modified Logit are currently provided. Descriptions of these classes and a comparison of the two can be found in the choice functions section of the documentation.