"Environmental Policy Modeling", by Carlo Perroni and Randall Wigle Chapter 12 of "Global Trade Analysis: Modeling and Applications", Thomas W. Hertel (editor) Based on the README file prepared by Martina Brockmeier. **************************************************************************** I. REGIONS AND COMMODITIES Regions: NAM Canada and US JPN Japan EU EU OHI Other high income MID Middle income CHN China LOW Low income Sectors: AGR Agriculture FDM Food manufacturing RSC Primary industry CLO Textiles and clothing DRT Dirty industry FMN Final manufacturing SVC Traded services NTS Nontraded services II. EXPERIMENT FILES: SHOCKS, CLOSURES AND SOLUTION METHOD- : To replicate the experiments with RunGTAP go to "SOLVE", click "Load Experiment" and choose the EXP1 or EXP2 options. This automatically loads the shocks, closure and solution method for the experiment of interest. EXP1: Simulates environmental policy in the presence of a Leontief production structure (case A in chapter 12). The emission fee is modelled as an increase in the output tax which fully internalizes a given externality. The shocks used in experiment 1 are contained in 2 files: TO-1.DAT: shocks to the power of the output tax for 8 commodities in 7 regions in the presence of a Leontief production structure (case 1). The values represent the shocks needed to achieve a full internalization of the externality. AO-1.DAT: shocks to the augmenting technical change parameter in the presence of a Leontief production structure. Since the Leontief production function does not allow for substitution between the emissions and the intermediates and primary factors, the values in AO-1.DAT equal zero. EXP2: Models the internalization of the externality in the case of a weighted average Cobb-Douglas and Leontief production structure (case B in chapter 12). Here the emission fee is imitated by a change in the output tax which is equivalent to the constructed benchmark pollution taxes. Abatement activities are simulated as a variation in the augmenting technical change parameter. Both of them account for 50% of the internalization rate. The shocks used in experiment 2 are contained in 2 files: TO-2.DAT: shocks to the power of the output tax in the presence of a weighted average Cobb-Douglas and Leontief production structure. AO-2.DAT: shocks to the augmenting technical change parameter in the presence of a weighted average Cobb-Douglas and Leontief production structure. CLOSURE All the experiments use the regular "Book" general equilibrium closure: MRGE. SOLUTION METHOD method = Gragg ; steps = 2 4 6 ; ********************************************************************* The original experiments used both GAMS and GEMPACK. GAMS was used to calculate the shock files listed above and to perform post-solution processing after the GTAP simulation. The following notes describe the GAMS calculations, which cannot be performed from within RunGTAP. ********************************************************************* GAMS FILES (included in the file gams.zip, which can be found in cmf2-08.zip). This can be downloaded from the GTAP web site -- under GTAP book software. TEPG.GMS This GAMS file is used to calculate the benchmark taxes (table 3) and the optimal emissions taxes (table 4) for 8 commodities in 7 regions by utilizing information on emissions and abatement technologies in the US industry and sectoral outputs from the GTAP database. SHOCK.GMS This GAMS program is used to compute the shocks to the power of the output tax and the augmenting technical change parameter in cases 1 and 2 according to the results given by TEPG.GMS. It also writes these shocks to the GEMPACK data files TO-1.DAT, TO-2.DAT, AO-1.DAT and AO-2.DAT. BFT-ABC.GMS This GAMS file contains the percentage change in sectoral output in cases 1 and 2 (table 5) computed by the GTAP model and the implemented shocks to the augmenting technical change parameter. EV-ABC.GMS This GAMS file includes the values of the equivalent variation in cases 1 and 2 calculated by the GTAP Model (table 6). These values do not take into account the benefits accruing from environmental cleanup. BENEFIT.GMS This GAMS program calculates the welfare effects of environmental policies in the presence of benefits from the emission reduction (table 6) and the dollar values of the environmental cleanup (table 7) utilizing the information given in TEPG.GMS, BFT ABC.GMS and EV-ABC.GMS. REPLICATION OF THE EXPERIMENTS The GAMS files TEPG.GMS and SHOCK.GMS are only presented for information purpose. Since these two files create the included GEMPACK data files TO-1.DAT, TO-2.DAT, AO-1.DAT and AO-2.DAT, they are not necessary to replicate chapter 12. Running GAMS The percentage changes in sectoral output and the equivalent variation calculated by the GTAP Model are included in the GAMS files EV-ABC.GMS and BFT-ABC.GMS. In order to get the welfare calculations and the dollar value of environmental cleanup documented in tables 6 and 7 of chapter 12, you finally need to use the GAMS program BENEFIT.GMS. When running BENEFIT.GMS the programs TEPG.GMS, EV-ABC.GMS, and BFT-ABC.GMS are utilized via the command INCLUDE. To run the program BENEFIT.GMS enter the command below followed by a : GAMS BENEFIT This creates a GAMS solution file which is called BENEFIT.LST. Since this file is a text file, you can use your text editor to view it. In order to compare the results with the number presented in tables 6 and 7 of chapter 12, search for "PARAMETER CLEANUP", "PARAMETER WELFARE" and "PARAMETER WWELF". ======================================================= Explaining theory and procedure used for the Perroni and Wigle experiment ======================================================= By Wolfgang Lemke REMARKS The purpose of the following is to support the understanding of the approach used by Perroni and Wigle to examine environmental policy using GTAP. Since some of the crucial steps and assumptions used for understanding and conducting the experiment are "hidden" in the source code of the GAMS files, this write up tries to make the ideas used by the authors more accessible. If important parameters or relationship are derived I mostly stick to the GAMS notation followed by a short explanation. OVERVIEW Analysis of environmental policy as done by Perroni and Wigle is an example of how GTAP can be used to analyze a problem that is not directly accommodated by GTAP. In this particular case GTAP is used in tandem with GAMS (General Algebraic Modeling System). The limitations of the standard GTAP program that make the use of such an auxiliary program necessary are the following: the GTAP Data Base does not contain data about environmental damages, there is no sector for abatement in GTAP, and GTAP does not account for welfare due to environmental quality. The translation between the true model that is to be evaluated and GTAP basically happens in four steps: In the first step emission fees needed for full internalization of externalities are determined using GAMS. After that GAMS computes the GTAP shocks that mimic those taxes. In a third step GTAP is run with these shocks. Finally the results from GTAP are used by GAMS to compute welfare changes due to environmental quality change. STEP 1 - COMPUTATION OF EMISSION FEES Sets and data Given is a set (SET SIC_4) containing 37 industries. For every industry three types (different risk weights) of toxic emissions are given. For the experiment linearly risk weighted emissions per million dollars of output are used. For another set of 19 industries (set SIC_2) the following pair of data is given for every industry: Abatement cost in % of output value (ABATE) and the value of output (Q) . Besides these two sets we have the GTAP set of eight commodity aggregates (Set GDS): AGR (Agriculture) FDM (Food manufacturing) RSC (Primary industry) CLO (Textiles and clothing) DRT (Dirty industry) FMN (Final manufacturing) SVC (Traded services) NTS (Nontraded services Now the industries from SIC_4 and SIC_2, the two industry sets, are assigned to the GTAP-aggregates. The following simplifications are made in the Perroni and Wigle experiment: Neither SIC_4 nor SIC_2 contains data for the services sector. Concerning the mapping from SIC_4 to GDS, Perroni and Wigle assign the data of the beverages industry from SIC_4 to the services sector in GTAP. For the mapping between SIC_2 and GDS they assign the printing and publishing sector to the service sector. Furthermore data for agriculture are missing in SIC_4 and SIC_2. Perroni and Wigle assign the simple mean of all industries in SIC_4 and SIC_2 respectively. Another - in our viewpoint more reasonable - approach to solving the problem of the missing data in the agricultural sector is taken as our modification of the experiment. The following set of GTAP regions is used (set REG): High income: NAM (Canada and US) JPN (Japan) EU (European Union) OHI (Other high income) Middle income: MID (Middle Income) Low income: CHN (China) LOW (Low income (< $2000)) Procedure The following contains the computations that are necessary to determine the value of the benchmark emission taxes and the new emission taxes. Damage-equivalent emissions per dollar of output (lbs) in GTAP sector GDS: DMG_Q(GDS) = SUM( S4_FY( GDS,SIC_4 ) , ( TOXIC(SIC_4,"LIN")/1000000) / SICS(GDS) ) ; Explanation: DMG_Q is the simple average of emissions per $ output over all sectors in SIC_4 that belong to the GTAP sector GDS. (Remark: here and in the following X(GDS) means: X(i), i element of the set GDS. Similarly for X(REG)) Abatement per Dollar of output in GTAP-sector GDS: AB_Q(GDS) = SUM( S2_FY(GDS,S) , LOW( S ,"ABATE") * LOW( S ,"Q") ) / (100 * SUM( S2_FY(GDS,S) , LOW( S ,"Q") ) ) ; Explanation: Abatement expenditure in sector j in SIC_2 is %age abatement times value of output. Then sum up over all industries in SIC_2 that belong to GDS and divide the whole thing by total output in GDS to obtain average abatement per dollar of output in GDS Now the values of the internalization rates in every industry PI(GDS) and the valuation of damage in NAM (VNA) are determined. The following assumptions are made: Damage caused by emissions is valued differently according to income (if OHI, NAM, JPN, EU value a certain amount of emission $1, then MID values it $0.5 and CHN and LOW value it $0.2) This assumption is about the relative valuation of damages. To get the absolute values, the valuation in NAM (VNA) will be computed below. For a given industry the same rate of internalization prevails in every region. ("PI(GDS,REG)=PI(GDS)") The average internalization rate (PIBAR) is 0.5. The following serves to find the internalization rates in each of the eight GTAP industries and the valuation of damages in NAM: AB_Q(GDS) =PI(GDS) * DMG_Q(GDS) * VNA (*) The latter is a system of eight identities derived by the definition of PI(GDS). PIBAR = SUM( GDS , PI(GDS) * DMG_Q(GDS) * VNA * Q(GDS,"NAM") ) / SUM( GDS , DMG_Q(GDS) * VNA * Q(GDS,"NAM") ) The last identity is the formula to compute the average internalization rate (that is assumed to be 0.5). (To solve for the eight PI(GDS) and the "Numeraire-evalutation" VNA, the following trick is used: one minimizes (or maximizes, that does not matter) VNA, subject to the nine equality constraints. Since the feasible set contains only one element, this yields the solution for VNA and (*) can then be used to find the PI(GDS). ) Now the emission taxes are computed: Emission taxes before the policy shock: TBCH(GDS,REG) = ( VAL(REG) * VNA.L ) * AB_Q(GDS) ; Optimal emission taxes for full internalization of externalities: TSTAR(GDS,REG) = TBCH(GDS,REG) / PI.L(GDS) ; And from that get Change in emission taxes: TAUDOT(GDS,REG) = 100* ( TSTAR(GDS,REG) - TBCH(GDS,REG) ) / TBCH(GDS,REG) ; STEP 2 - Compute GTAP Shocks that mimic change in emission taxes The following tries to explain how the theoretical relationships for the link between GTAP and the real model can be derived. The notation is arbitrary since the following is not part of the GAMS code. Assumptions It is assumed that production in the real model uses two inputs, market inputs X and emissions E. So production is of the form Q=f(X,E) The emission tax TAU can be interpreted as the price for the emission input. Consider two cases for f(), Cobb Douglas and Leontief. In GTAP Production only uses market inputs: Q=AO*X To map between GTAP and the real model Perroni and Wigle impose the conditions that GTAP shocks have to be such that the following are equal in the true model and GTAP: market price changes (C1), changes in ratio of market input to output (C2), tax revenue per unit (C3). The following tries to help understanding the authors' results: Cobb Douglas (CD) case: Cobb Douglas Production: Q=X^(1-beta) * E^beta GTAP Production: Q=AO*X From the formula for CD conditional factor demands, get input output ratio x as: x=(1-beta) * (px/(1-beta))^(1-beta) * (TAU/beta)^beta Totally differentiating yields change in input output ratio for CD: xdot=beta*TAUdot For GTAP: x=1/AO therefore: xdot=-ao So from condition (C2): -ao = beta * TAUdot (1) For the market price in CD function: PM=(TAU/beta)^beta * (PX/(1-beta))^(1-beta) Totally differentiating yields: pm=beta*TAUdot + (1-beta)*px For GTAP: Firms maximize: (PM*TO)*AO*X - PX*X In equilibrium we have: PM=PX/(TO*AO) Totally differentiating yields: pm=px-to-ao Noticing that in the CD case the share of market inputs is (1-beta) we get from condition (C1): beta*TAUdot=-ao-to (2) In order to have (1) and (2) holding at the same time we must have to=0 ao=-beta*TAUdot as the GTAP shocks for mimicking the Cobb Douglas case. Leontief case: For the change of the ratio of market input to output we get xdot=0 Using condition (C2) i.e. letting this be equal to the GTAP change we get: 0=-ao (3) Going from the cost function we get for the market price in the Leontief model: PM=PX+TAU Totally differentiating and using the shares Sx=PX/(PX+TAU) and Se=TAU/(PX+TAU) (Sx share of market inputs and Se share of emission inputs) yields: pm=Sx*px+Se*TAUdot for GTAP we have again: pm=px-to-ao Noticing that Se and Sx initially correspond to beta and (1-beta) in the Cobb Douglas case, we get from the condition (C1): to=-beta*TAUdot So the GTAP shocks for mimicking the Leontief case are: to=-beta*TAUdot ao=0 Weighted case; A third experiment mixes the Cobb Douglas case and the Leontief case. It assigns weighted shocks to "ao" and "to". The weights used in the experiment are 1/2 so we get: to=-(1/2)*beta*TAUdot ao=-(1/2)*beta*TAUdot Having computed the optimal tax changes TAUdot in Step 1 GAMS computes the shock matrices ao(GDS,REG) and to(GDS,REG) for GTAP, depending on what case is simulated. STEP 3 - Run GTAP GTAP is run using the shocks to and ao. The GTAP results for qo(GDS,REG) and EV(REG) are written into the GAMS files BFT-ABC.GMS and EV-ABC.GMS respectively because they are needed as inputs for the welfare computations in STEP 4. STEP 4 - Compute "real" welfare changes Overview In order to compute a welfare measure that takes utility gains due to environmental benefits into account, a CES money metric utility function "V(UG,UE)" is defined. UG is based on GTAP-EV, and UE is the new component measuring environmental quality. (Remark UG, UE, and the function V() are not GAMS notation. I rather introduced them to simplify the understanding.) Environmental quality is measured as the difference of Endowment of environmental quality and damage to the environment. For the following the authors assume two parameters: The share of damages in total endowments of environmental quality (DELTAREG) is assumed to be 0.25 in all regions and the elasticity of substitution in the CES Utility function is assumed to be 0.5 Procedure First derive the environmental benefit component of the new utility function (the UE) Damage by region before the policy shock: DAMAGE(REG) = SUM(GDS, Q(GDS,REG) * TSTAR(GDS,REG) ) New emissions per unit of output: EQ(GDS,REG,"A") = ECON(GDS,REG) * ( (1-TBCH(GDS,REG))**(TBCH(GDS,REG)-1) / TBCH(GDS,REG) ) * TBCH(GDS,REG)**(TBCH(GDS,REG)-1) ; EQ(GDS,REG,"B") = ECON(GDS,REG) * ( (1-TBCH(GDS,REG))**(TBCH(GDS,REG)-1) / TBCH(GDS,REG) ) * TSTAR(GDS,REG)**(TBCH(GDS,REG)-1) ; EQ(GDS,REG,"C") = L_WT("C") * EQ(GDS,REG,"A") + (1-L_WT("C")) * EQ(GDS,REG,"B") ; Without going into detail: A,B,C denote Leontief, Cobb Douglas, and the weighted case respectively and ECON() is some scaling factor that makes the computations easier. New value of damage by region: NDAMAGE(REG,CASES) = SUM( GDS, Q(GDS,REG) *(1+QO(REG,GDS,CASES)/100) * EQ(GDS,REG,CASES)) Explanation: Take the old value of GTAP-output (Q) and multiply by the qo results to get new output. Multiplying by per unit emissions and summing over all goods aggregates yields new value of damage per region. Environmental endowment: EE(REG) = DAMAGE(REG)/DELTA(REG); where DELTA(REG) assumed to be 0.25 Now all components are given to compute environmental quality under the old and under the new emission taxes Environmental quality under the old taxes UEold(REG)=EE(REG)-DAMAGE(REG) Environmental quality under the new taxes depending on which experiment was conducted (Case) UEnew(REG)=EE(REG)-NDAMAGE(REG,CASES) Now turn to the goods component of utility: Old consumption CONS0(GDS,REG) =VGA(GDS,REG) + VPA(GDS,REG) Total consumption as sum of private and government consumption Old GDP GDP0(REG) = SUM(GDS, CONS0(GDS,REG)) GDP per region as sum over consumption of all commodities New GDP GDPC(REG,CASES) = GDP0(REG) + EV(CASES,REG) EV(REG) are the results from GTAP The last steps for computing welfare changes can be described as follows: (Remark: For these last steps the original GAMS notation would not yield much insight, it would rather be confusing) Old money metric utility: Vold(GDP0(REG)), UEold) New money metric utility: Vnew(GDPC(REG)), UEnew) and finally: Welfare change per region: REV(REG)=Vnew-Vold To get World-EV sum REV(REG) over all regions.