Running a simulation in MIRAGE-e

If the baseline consists in only one step, the Simul.gms file can be called directly from RefStep1 :

r=.\Restart\refstep1        s=.\Restart\sim         gdx=.\GDX\sim                                                          lo=3

Otherwise, Simul.gms has to be called from the RefStep2:

r=.\Restart\refstep2        s=.\Restart\sim         gdx=.\GDX\sim                                                          lo=3

Trade policy simulations are very easy to implement, as only the scenario in Simul.gms have to be changed, for instance, a full world-wide liberalization only requires the following lines :

Tariff_C(i,r,s,Temps,sim)$(ord(Temps)>1) = 0;
Tariff_IC(i,r,s,Temps,sim)$(ord(Temps)>1) = 0;

Different trade-related parameters can be part of the simulation :

  • $Tariff^C$ and $Tariff^{IC}$ are tariff rates from MAcMap respectively affecting final and intermediate goods
  • $taxEXP^C$ and $taxEXP^{IC}$ are generic export taxes, and $taxMFA^C$ and $taxMFA^{IC}$ specific export taxes related to the multifibre agreement
  • $NTM^C$ and $NTM^{IC}$ are ad-valorem equivalents of NTMs in goods (see here)
  • $taxSER^C$ and $taxSER^{IC}$ are ad-valorem equivalents of NTMs in Services (see here)
  • $tCostTF$ is the ad-valorem equivalent for time spent in customs

Climate change policy simulations require several additional steps

1. Define carbon markets

Carbon market definition occurs at the calibration step: any change in markets require to run the model from Calib.gms

All GHG mitigation policies in MIRAGE-e 2 are centered around carbon markets, all indexed by the set c_em. A carbon market is just a mapping of emissions to the perimeter of their climate change policy.

Definition of carbon markets

The carbon markets have to be written directly in the file data/maps/c_Markets.gms following the example:

* Example
cEUETS      "EU ETS sectors"
cEUNonETS   "EU Non-ETS sectors and households"
cCAN        "Canadian market"
cUSA        "USA market"

Mapping of sectors to carbon markets

The mapping of sectors to carbon markets can be done in different ways:

  • Direct mapping in the file data/maps/map_jrCarbon.gms as in the example :
  • Or by code in the file data/maps/map_Carbon.gms :
Map_carb(j,"Canada","cCAN") = yes;
Map_carb(j,"USA","cUSA")    = yes;
Map_carb(j,r,'cEUNonETS')$(not Map_carb(j,r,'cEUETS') and (sameas(r,"France") or sameas(r,"OthEU27")))
                            = yes;

Mapping of households emissions to carbon markets

Mapping of households to carbon markets is done in the file data/maps/map_hCarbon.gms, e.g.:


2. Define the policy simulation


GHG mitigation policies are defined on a carbon-market basis, and can be of two different types in MIRAGE-e 2:

  • A carbon tax → set the $GHGTax$ parameter
  • A cap and trade system → set the $GHGCap$ and $GHGIntensityCap$ parameters
    • $GHGCap$ caps the level of emission
    • $GHGIntensityCap$ caps the GHG-intensity of GDP

To set a carbon policy, you simply need to set one of these variables to a value different from 0, e.g.:

GHGTax("cEUETS",Temps,sim)$(ord(Temps)>1) = 0.01;

More convenient: the batinclude utility

In addition, MIRAGE-e proposes a batinclude utility ProgGMS/GHGTarget.gms to ease the implementation of linear emission capping. This batinclude propose GHG caps that can can be of three different types:

  • Aboslute : the target reduction is labeled in percetage change from a reference emissions in the past
  • Intensity : the target reduction is labeled as a percentage reduction in GHG-intensity of GDP from a reference intensity in the past
  • BAU : the target reduction is labeled as a percentage reduction in emissions in a future date, compared to the BAU scenario

The syntax is the following:

$batinclude ./ProgGMS/GHGTarget.gms %Market% %Reduction_type% %Reference_year% %Init_year% %End_year% %Percentage_cut%


  • %Market% is one of the carbon market defined as explained above
  • %Type% is the type of commitment, and can be Absolute, Intensity or BAU
  • %Reference_year% is the basis for computing the reduction commitment (not necessary for a BAU-type commitment)
  • %Init_year% is the first year where the carbon policy will be implemented
  • %End_year% if the last year the carbon policy will be implemented
  • %Percentage_cut% is the percentage reduction (1 means 100% reduction) compared to the reference_year

Here is an example for the three different cases:

$batinclude ./ProgGMS/GHGTarget.gms cCanada Absolute "2011" "2011" "2030" 0.424412686089317
$batinclude ./ProgGMS/GHGTarget.gms cChina Intensity "2011" "2011" "2030" 0.515679332882182
$batinclude ./ProgGMS/GHGTarget.gms cMexico BAU "0" "2011" "2030" 0.22

Entering / leaving the EU (Brexit)


NTMs in a free trade agreement


Paris Agreement on climate change

The Paris agreement on climate change is a policy used quite often, especially when integrated in the baseline for any trade policy evaluation.

Default Paris agreement

The default Paris agreement implementation only works with the standard Paris agreement aggregation of regions and sectors. In case of a change in sectors, please check you defined correctly the carbon markets. In case the region aggregation has changed among non-EU Paris agreement signatories, proceed as with any change in the Paris agreement below.

For the case of the Paris agreement, a specific GAMS file is prepared for an easy integration in the baseline (RefStep2.gms) or as a policy simulation (Simul.gms) : ProgGMS/ParisAgreement.gms. This file proposes an implementation of the Paris Agreement in a standard aggregation, and only need to be called from Simul.gms in case of a policy simulation or RefStep2.gms in case of a baseline:

$include ./ProgGMS/ParisAgreement.gms

This file contains:

  • The objectives of non-EU regions converted into emission reduction from 2011 emissions (see below)
  • The specific objectives for EU and other ETS regions
    • EU-ETS sectors respect their own reduction objective
    • The commitment for the rest of the economy (other sectors and households) are set to compensate the difference with the Paris agreement commitment.

Changing the Paris agreement

All the conversion of the Paris agreement commitments to reductions compared to 2011 are done in R in the NDCs_R utility. Base NDC data (from as well as emissions data used for the conversion are handled directly in this R utility.

1. Clone the utility from git repository mirage-util-ndcs

2. Take the CorMM.txt file generated by the aggregation program and copy is inside the data directory of mirage-util-ndcs

3. Run the NDC aggregation utility

4. Adapt the ParisAgreement.gms file such that the $batinclude lines match the NDC utility output located in output/NDCs_MIRAGE.csv