Carbon Markets
Understanding Carbon Markets
Emissions markets are sections of the economy that cover a specified range of emissions, areas, sectors, and emission types in the model. These groupings are organized by the Market set in the model code. Markets allow for grouping of emissions inventories to determine reductions needed and/or cost required to meet the policy goal. The current version of the model allows for up to 220 different market types.
A market is defined by selecting an available market slot in a policy or calibration file and specifying which areas, pollutants, pollutant types, and sectors are covered. These are assigned using flags that link a particular Market to set elements in the model. The default value for these flags is 0, meaning a particular set element is not included in a market. Changing a value to 1 adds the set to market.
The flags for defining a market are below:
- AreaMarket[Area,Market,Year] β Areas included in a specific Market
- PollMarket[Poll,Market,Year] β Pollutants included in a specific Market
- ECCMarket[ECC,Market,Year] β Economic sectors included in a specific Market
- PCovMarket[PCov,Market,Year] β Types of pollutants included in a specific Market. This can be used to select specific types of inventories covered, such as Process for non-energy emissions.
- ECoverage[ECC,Poll,PCov,Area,Year] β Value that marks a combination of sets as covered for use in the demand modules. This value can be set to a percentage to simulate that only parts of the sector are covered.
The flag variables are dimensioned by year, meaning combinations of sets and the markets can optionally be specified for a limited number of years. As an example, the code below sets up a new Sulphur Oxide (SOX) market in slot 100 for Ontarioβs Cement sector from 2030 through 2050 for the Energy pollutant type.
|
market = 100 area = Select(Area,"ON") ecc = Select(ECC,βCementβ) poll = Select(Poll,βSOXβ) pcov = Select(PCov,βEnergyβ) years = collect(Yr(2030):Yr(2050)) for year in years AreaMarket[area,market,year] = 1 ECCMarket[ecc,market,year] = 1 PollMarket[poll,market,year] = 1 PCovMarket[pcov,market,year] = 1 ECoverage[ecc,poll,pcov,area,year] = 1 end |
The market slot used for a policy can be selected by the user for any value up through 220. Note that the model assumes any specific combination of area, pollutant, and sector to only be used in a single market. Using the same combination in multiple markets can produce unexpected results.
|
|
ο |
Existing policy and calibration files should be checked to make sure a market number is not already being used elsewhere. |
Market Types
Markets can be simulated in different manners to match what is expected in a real-world policy. The type of market is controlled by the CapTrade switch variable, which instructs the model code on which equations to use for each market. These types range from simple to complex, each with different levels of inputs and parameters required for accurate simulation. Below is a description of each market type available in the current model version.
Hard Cap
A hard cap market applies a ceiling to covered emissions. The model compares an input emission cap to emissions totals in the market in the year prior. If this value is over the input cap then the model calculates a percentage reduction (RPolicy), which is applied to energy demands. Demands are reduced and an emissions cost is calculated at the technology level, which can result in technology shifting and other demand impacts.
Key inputs for setting a hard cap are:
- xGoalPol[Market,Year] β Maximum amount of emissions allowed in a market by year. This should account for combined emissions across all covered sectors, areas, and pollutants.
- MaxIter[Year] β Maximum number of iterations by year. This can optionally execute the model multiple times for a modeled year to incorporate expected impacts from the policy. The default value is 1.
- CapTrade[Market,Year] = 2 is used to specify a hard cap market
GHG Market
A GHG market simulates a cap and trade system using an input carbon price as a focal point for a emissions permit marketplace. This type of market also includes numerous parameters and switches to control specifics of the simulated market. The model code accounts for any offsets, buys and sells emissions permits as needed, and iterates to produce a permit cost to produce resulting impacts on energy consumption, prices, and investments.
Key inputs for setting a hard cap are:
- xETAPr[Market,Year] β Cost per tonne of GHG emissions by year in fixed dollars
- ETAPr[Market,Year] β Cost per tonne of GHG emissions by year in nominal dollars
- ETABY[Market] β Beginning year for trading allowances
- Enforce[Market] β First year market limits are enforced
- CapTrade[Market,Year] = 5 is used to specify a GHG market
Other inputs are optional and used to specify details about the market:
- ETADAP[Market,Year] β Technology fund price in fixed dollars
- ETRSw[Market] β Switch to determine if permit costs are calculated using iterations of credit prices (ETRSw = 1), iterations of emissions (ETRSw = 2), or are set exogenous (ETRSw = 0).
- ISaleSw[Market,Year] β Determines the parameters of the market technology fund. Numerous options are available with some developed to match a specific policy proposal
- CBSw[Market,Year] β Controls how program revenues are calculated. Can be used to add revenue to government
- FacSw[Market,Year] β Target is set at the facility level for electric generation units
- GPEUSw[Market,Year] β Sets how gratis permits are allocated to electric generation units
- GoalPolSw[Market,Year] β Used to optionally use gratis permits as emissions goal base
- GratSw[Market,Year] β Determines if gratis permits are calculated from input fractions or from exogenous values
- PBnkSw[Market,Year] β Sets assumptions on how permit are banked when under limit and when they are redeemed
- OffMktFr[ECC,Area,Market,Year] β Controls if covered sectors can be used to generate offsets for market
- OBAFraction[ECC,Area,Year] β Fraction of gratis permits generated by sector in OBA policies
- xUnGP[Unit,FuelEP,Poll,Year] β Exogenous unit-level gratis permits
- xFSell[Market,Year] β Exogenous federal permits sold
Clean Fuel Standard Market
Clean Fuel Standard (CFS) markets simulate programs that incentivize usage of low carbon lifecycle fuels to replace existing higher carbon options. Many of the options for GHG markets above can also be applied to CFS markets. Below are key inputs specific for CFS policies:
- EIGoalCFS[Fuel,ES,Nation,Year] - Emission Intensity Goal
- EIOfficial[Fuel,Area,Year] β Official Intensity Value, used in comparison to the goal.
- CoverageCFS[Fuel,ECC,Area,Year] β Switch to determine which fuels and sectors are included in the regulation (CoverageCFS = 1)
- CapTrade[Market,Year] = 6 is used to specify a CFS market
Optionally, credits can be applied to various CFS credit variables to account for specifics in the program. Examples include CreditsFossil for fossil fuels and CreditsFugitive for fugitive. Examples of the available credit variables in the current model version are available in CFS policy files. More credits variables can be developed and added to the model as needed for analysis.
OGEC Market
An Oil and Gas Emissions Cap (OGEC) market is designed to set a cap-and-trade system to limit emissions from Canadaβs oil and gas sector, with the goal of reaching net-zero by 2050. OGEC markets share characteristics with both GHG and CFS markets. They include several OGEC-specific input variables:
- EIOGEC[ECC,Area,Year] - Emission intensity goal
- GoalPolOGEC [ECC,Area,Year] β Emissions cap.
- POCXOGEC [Fuel,ECC,Area,Year] β Emissions coefficients for OGEC
- CoveredOGEC[ECC,Area,Year] β Sectors covered by OGEC policy
- CapTrade[Market,Year] = 8 is used to specify an OGEC market
Cascading Impacts of Carbon Market Policies in the Model
Carbon market policies create multifaceted impacts that flow through the energy system in distinct stages. Rather than producing isolated changes in one sector, carbon pricing ripples through demand decisions, technology choices, capacity investments, system operations, and economic outcomes. The following describes how ENERGY 2100 captures these cascading effects through its integrated supply, demand, and economic modules.
Stage 1: Emissions Cost Calculation
The first stage begins when the model calculates the carbon cost associated with each market type.
Hard Cap Markets (CapTrade = 2):
- Compare prior-year covered emissions to the cap (xGoalPol)
- Calculate required reduction percentage (RPolicy)
- Derive implicit carbon cost from marginal abatement curves
GHG Cap-and-Trade Markets (CapTrade = 5):
- Calculate explicit permit price (ETAPr) based on market clearing
- If ETRSw = 1: iterate on credit prices to balance supply/demand
- If ETRSw = 2: iterate on emissions to reach cap
- If ETRSw = 0: use exogenous price (xETAPr)
- Resulting permit price reflects the marginal cost of the last ton of reductions needed
CFS Markets (CapTrade = 6):
- Calculate credit price based on required carbon intensity improvements
- Obligated parties face cost if they don't meet fuel carbon intensity goals
- Credit price (FPCFSObligated) reflects difficulty of achieving targets
OGEC Markets (CapTrade = 8):
- Calculate permit price needed to achieve sector-specific emissions intensity targets
- Price varies by covered economic sectors and regions
Output: Carbon price emerges in variable eCO2Price[Area,Year] representing the cost per tonne of covered emissions across all market types.
The carbon price is calculated in the first stage, then stages 2 through 9 (listed in the summary below) flow using the new carbon prices as input.
Nine-Stages of a Carbon Market Policy Through ENERGY 2100
Carbon market policies create a multistage cascade through the energy system:
- Carbon prices emerge from market mechanisms matching supply and demand for emissions reductions
- Prices flow into costs of covered fuels and activities in demand sectors
- Cost signals drive substitution to lower-carbon technologies and fuels
- Capacity responds with investment shifting to favored technologies and retirement of disadvantaged ones
- System re-balances with new generation mix, fuel flows, and electricity prices
- Economic impacts cascade through production costs, employment, and household budgets
- Markets equilibrate through iterative price discovery achieving final compliance
- Macroeconomic feedback propagates through factor markets and revenue effects
- Long-term structure evolves as capital stock turns over and technology develops
This cascade is fully integrated into ENERGY 2100's model architecture.