Differences

This shows you the differences between two versions of the page.

Link to this comparison view

simul.gms_outdated [2017/08/23 08:45] (current)
jfoure created
Line 1: Line 1:
 +====== Simul.gms (Outdated) ======
  
 +
 +''​Simul.gms''​ is very similar to ''​[[Ref.gms (Outdated)|Ref.gms (Outdated)]]'',​ except it includes the political economy scenarios of interest in the simulation. The file is organised in three parts:
 +  * Initialisation of simulation - This part should not be changed.
 +  * Scenario - It is the part where you should [[Simul.gms (Outdated)#​Write a scenario|write your scenario]].
 +  * Simulation solving - You have usually nothing to change in this part, which initialises the parameters for the slicing of shocks and solves the model.
 +
 +===== Simul.gms: =====
 +<​code>​
 + ​*------ INITIALISATION OF SIMULATION --------
 + 
 + ​t1 ​                                     = 6;  ! Start in 2006
 + ​t(Temps) ​                               = no;
 + ​t(Temps) ​                               = yes$(ord(Temps)=t1);​
 + 
 + ​sim(Simul) ​                             = no;
 + ​sim("​Sim"​) ​                             = yes;
 + 
 + ​K_(i,​r,​s) = sum(Temps$(ord(Temps)=t1),​(K.l(i,​r,​s,​Temps,"​Ref"​) -INV.l(i,​r,​s,​Temps,"​Ref"​))/​(1-delta(r)));​
 + ​BL ​                                     = 0;
 + 
 + ​PGF.fx(r,​Temps,"​Sim"​) ​   = PGF.l(r,​Temps,"​Ref"​);​
 + ​PLind.fx(r,​Temps,"​Sim"​) = PLind.l(r,​Temps,"​Ref"​);​
 + 
 + ​$batinclude VARIABLES.gms .\ProgGMS\ISim
 + 
 + 
 + ​*--------- SCENARIO ----------- ​
 +  ​
 + 
 + 
 + ​*------ Simulation solving ------
 + 
 + ** Automatic slicing initialisation
 + ! NB: All exogenous variables changed in the shock should be entered here 
 + ​PGFend(r,​Temps,​sim) ​         = PGF.l(r,​Temps,​sim);​
 + ​taxPend(i,​r,​Temps,​sim) ​     = taxP(i,​r,​Temps,​sim);​
 + ​tsubKend(i,​r,​Temps,​sim) ​     = tsubK(i,​r,​Temps,​sim);​
 + ​tsubTEend(i,​r,​Temps,​sim) ​   = tsubTE(i,​r,​Temps,​sim);​
 + ​DDend(i,​r,​s,​Temps,​sim) ​     = DD(i,​r,​s,​Temps,​sim);​
 + ​renteend(i,​r,​s,​Temps,​sim) ​   = rente(i,​r,​s,​Temps,​sim);​
 + ​taxAMFend(i,​r,​s,​Temps,​sim) ​ = taxAMF(i,​r,​s,​Temps,​sim);​
 + ​TAXEXPbaseend(i,​r,​s,​Temps,​sim) = TAXEXPbase(i,​r,​s,​Temps,​sim); ​
 + 
 + ​While(t1 < card(Temps),​
 + ​*$include NEXT.gms
 + ​$include NEXTSlice.gms
 + ​$include changemode.gms
 +         put log1;
 +         ​loop(Temps$(ord(Temps)=t1),​ put 'Year ', Temps.tl:​4:​0,​ ' complete'​ //);
 +         ​putclose;​);​
 +</​code>​
 +===== Write a scenario =====
 +
 +
 +===== Write several scenarios =====