GRAS 1.1 Manual
2008/2/8 Toyoaki WASHIDA
 
0. Introduction
 
GRAS has own GUI. So I think that many instructions are not necessary. Minimum messages are listed in this manual.
 
1. Start and Exit
 

(1) GRAS will start by clicking the icon.

(2) Click X button of the window frame to terminate GRAS. If you select [Exit] menu in [File] menu, you are prompted to answer whether you really want to terminate GRAS.

(3) Default model is automatically embedded when GRAS is started. The model is the optimizing model in DICE2007. However, if there is the model file named "default.mdl" on the folder GRAS is installed, the model file is loaded as the default model. The default model played important role when you save any model into disk file. Time series parameters that are different from those of the default model are only saved

 
2. Run and Abort
 

(1) Click [Start] in [Run] menu to start a simulation.

(2) Click [Abort] in [Run] menu to abort simulation.

(3) You should not restart simulation while one simulation is running. The simulation uses common resources. So if one simulation change some resources, it affects the simulation.

(4) You should not change any parameter and also draw graphs while one simulation is running. It may affect the result of the running simulation.

(5) Though the progress bar is shown while the simulation is running, it merely shows that the process is still alive and does not show what extent that simulation completed.

(6) On right hand side of the progress bar, the iteration number of the quasi Newton loop and the value of the objective function are shown. It is shown every fifty iterations of the quasi iteration loop.

(7) The optimizing algorism of GRAS is always to minimize the objective function. However, the DICE2007 model is to maximize the total discounted utility. Therefore, GRAS uses the total utility multiplied by -1 as its objective function. You should change the value into that of original model by multiplying -1.

(8) At the beginning of the simulation, GRAS show the all parameters that are changed from default model. The values in brackets ( ) are original valued of default model. The name of parameters are used in GRAS and explained in the parameter page.

(9) Every simulation is give unique simulation ID. Simulations are distinguished by those ID's and, for examples, utilized when you draw graphs.

(9) The process of the simulation is displayed on the console.

 
3. Model Files
 
(1) You can save the model that are currently incorporated into GRAS. Choose [Save Model] in [File] menu. On the other hand, you can incorporate any model written in a model file into GRAS. Choose [Open Model].

(2) The model folder in the folder that locates executable file of GRAS includes 18 model files which correspond to all DICE2007 simulations. All those models are executable without any change. However, time required to execute them are different respectively. Confirm it at the page of simulation, where you can also see every model file directly.

(3) Each model file includes not only parameters for the economic structure and global systems, but also parameters for optimization. It means that if you open a model file, then you can perform the completely same simulation as done just before you had saved. Since model files are save as text files, you can see their contents with a text editor.

(4) The extension of model files are presumed to be "mdl". Thus, when you open or save a model file, the file chooser will initially show you only such type of models. You may add any extension. When you want to see another type of model files, you change the filter to "All files".

(5) Each model file includes all basic parameters. However, exogenous time series parameters are saved only when they are different from default parameters. Therefore, if you change the default model, when you open a model file that is saved at the time of last default model, those parameters may not reproduced correctly. In order to renew a model file, the following procedure is required. 1. Include the model file in the old default mode, 2. change the default model, 3. finally, save the model into the model file.
 
4. Draw Graphs

(1) Choose [Graph] in [View] menu. Then you can draw a graph of optimal variables. All series of data, given by simulations performed so far, are shown on the same frame. However, the series that contain non numerical data is not shown.

(2) The vertical scale is adjusted so as to the width between the maximum value and the minimum values become constant. Thus if the data contains extraordinary large value or contrarily small value, the graph become not suitable to see.

(3) You can change "graphperiods" on the dialog of model configuration.

(4) The result of the first simulation always is drawn by blue line and that of last simulation is shown by red line. The other results are shown by the intermediate colors.
 
5. Configuration of model parameters
 
Though there exist many parameters related to the economic conditions, many of them are intuitively clear. Therefore I add same remarks for important matters.

(1) If the elasticity of marginal utility is nearly one, you should choose the logform of the utility function. Since theoretically the unit elasticity means logarithmic form, if you do not change the form, the simulation will have difficulty to converge.

(2) For each period, you can limit the increase of temperature or the CO2 accumulation. Choose [Constraint] tab, and set the corresponding radio button. Although you can set up those limitation on the [Constraint/Initialvalue] in [Edit] menu, if you do not check those radio button, the limitation is not effective.
 
6. Global Warming Parameters
 
(1) For carbon cycle, you can change the coefficients b12 and b23. The other coefficients are automatically calculated and changed.

(2) You have to refer to Nordhase's paper to know how global parameters are estimated and work.
 
7. Optimization Parameters
 
I wrote in the other page for the optimization methods that GRAS uses. You have important instructions to see the documents or book referred in that page. Here, I would like to write how we should adjust optimization parameters when we encounter the problem of convergence.

Optimizing process of GRAS consists of two loops. The first one is the Quasi Newton Loop (QN loop). This loop is for solving an unconstrained optimization problem which has a lagrangian objective function. The members of the part of extension consist of constrained terms with multipliers. After the QN loop converges under some lagrangian multiplier, the multipliers are adjusted as status of constrained equations. Then the new QN loop is started. This iteration process is performed on the main loop. If every constrained equation are satisfied with very small error and QN loop converge satisfying with configured condition, then the optimization is completed.


(1) Main loop convergence: When you start the simulation, you see the EPS value for every step on the console. If the EPS value less than this parameter, the main loop convergence occurs. If QN loop converge sufficiently small epsilon, this parameter may not be so small. 1E-04 (=0.0001) may be sufficient. However, if you would like to have a more rigorous result, you may change this number, e.g., 0.00000001(=1e-8).

(2) Penalty Multiplier: If you want to make heavy penalty for constraint conditions, you may increase this value. Empirically, I have not so many experiences that by changing this parameter convergence is improves.

(3) QN loop convergence: If you set more rigorous value for this parameter, you can have more precise solutions. However, it takes much time.

(4) Width of partial differentiation: GRAS depends on the numerical differentiation. Therefore this width plays an important role. The default value is set 0.00000001i1.00E-007j. If you increase this value, calculation error of computer also increase. Contrarily, if you decrease this value, differentiation error increases. However, if you think GRAS sinks toward a local minimum point, you may be able to improve the result by decreasing this parameter, e.g. 1.00E-6.

(5) Armijo or Wolfe: GRAS has two linear optimization methods , which is implemented in the quasi Newton loop. Generally speaking, quasi Newton loop consists of two important parts. The first one is updating process of the inverse Hessian matrix and the second is the linear optimization. Armijo method is simple. So you can save simulation time. However, in same model, it fails to make a optimal linear step. On the other hand, Wolfe method is a little bit complex and is safer than Armijo method. However, it does not neccessarily means that Wolfe always succeed in linear optimization. Therefore, just I can say that it is an important choice to change the linear optimization method when you fail to optimize a simulation. The default method is Wolfe.

(6) Limit of Distance in Wolfe and Convergence in Armijo: If you have encountered the failure of linear optimization, you may change those values toward smaller one in [Limit of Distance] and toward larger one in [Convergence].

(7) Scale1 and Scale 2: Scale1 is the deflator of the primal objective function. Scale2 is added to that objective function. Scale1 plays important role when you change the utility function toward logarithmic form. Then you should this parameter to be less than one, 0.5 may be a good choice. But zero brokes the simulation. On the other hand, I have no experience that Scale2 plays important role. I set the value to have consistency with Nordhaus's simulation. If you change those two parameters, the consistency is lost.

(8) Initial value of lagrange multiplier: This parameter may play an important role when you change constraint conditions. Zero is one of good option to lighten the constraint conditions and the increase of this parameter is also a good option.

 
8. Initial Values
 
Initial values for optimization are given to the series of gross world products and the series of CO2 reduction rates. In any simulation, default initial value of gross world products are given as the output of Nordhasu optimizing simulation. Those values can be changed by choosing [InitGlobalProduction] in [Edit] menu. The initial value of CO2 reduction rates are given as an constant value, which can be changed at [Initial Val.] tab in [Model configuration] menu. Default is 0.05.
 
i