More Details About Some New Features in Release 6.0 of GEMPACK

Reporting levels results

It is possible to ask GEMSIM or a TABLO-generated program to calculate and report pre-simulation and post-simulation levels values as well as the usual percentage change results. To do this, you may need to add appropriate information in your TABLO Input file to tell TABLO what are the pre-simulation levels values of selected linear variables. For example, in the linearized TABLO Input file SJLN.TAB for the Stylized Johansen model, add the qualifier "(ORIG_LEVEL=DVCOM)" when declaring the variable p_XCOM, as in

     Variable (ORIG_LEVEL=DVCOM) (All,i,SECT)  p_XCOM(i) ; 

[Here DVCOM(i) is a dollar value for each commodity i. But its original (ie pre-simulation) value can be thought of as a quantity, where one unit of volume is whatever amount can be purchased for one dollar at pre-simulation prices.]

It is also possible to give a numerical value as the original levels value. For example, in SJLN.TAB it would be possible to add

     Variable (ORIG_LEVEL=1)  (All,i,SECT)  p_PCOM(i) ; 

to indicate that the original levels value of the commodity prices are being taken as 1.

Then, when you run a simulation, GEMSIM or the TABLO-generated program will report the pre-simulation, post-simulation levels values of XCOM and PCOM, also the change in them, as well as the percentage change p_XCOM in XCOM and p_PCOM in PCOM, for each commodity.

Specifying a range for coefficient values

It is possible to declare a specified range within which each coefficient must stay (for example if X(i) > 0 this is written as a qualifier "GT 0" for a coefficient that should always be positive). Checks that the coefficient stays within this range are carried out at run time when you are using automatic accuracy. [If it goes outside the range during a given subinterval, the subinterval is repeated with a shorter length.]

Memory management in Fortran 90 versions

When used in conjunction with a Fortran 90 compiler (as distinct from a Fortran 77 compiler), GEMPACK programs allocate just sufficient memory to complete the task in hand (provided your computer has sufficient memory). This means that you no longer need to increase program parameters if you have a Source-code version of GEMPACK and are using a Fortran 90 compiler.

In particular, when declaring SETs in a TABLO Input file, specifying the MAXIMUM SIZE is not necessary if you have a Fortran 90 compiler.

Fortran 77 compilers are still supported with Release 6.0; however, Source-code users with a Fortran 77 compiler may still have to increase program parameters.

Command file streamlining

(a) If you don't include a statement "solution file = ... ;", the Solution file name is taken from that of the Command file.
(b) You can use statements like "updated file iodata = <cmf>.upd ;" to indicate that you want the name of the updated file to be based on that of the Command file. [Here the <cmf> is replaced by the pre-suffix name of the Command file - that is, the name of the Command file which comes before the suffix .CMF]
(c) You can include the statement "log file = yes ;" to indicate that you want a LOG file and that you want its name to be the same as that of the Command file (except that its suffix will be ".log").

Checking set and element information

When GEMSIM and TABLO-generated programs read data, they know which coefficients they are reading data for, how many arguments that coefficient has, which sets these arguments range over and, often, the names of the elements of these sets. If the data are being read from a Header Array file, and if the data at the relevant header also has set and element information (that is, if the array is of type "RE"), these programs can now check whether this set/element/coefficient information as held on the file agrees with what they expect. This checking will pick up errors that would occur if, for example, the order of the elements in the TABLO Input file was different from that intended when the data were assembled onto the Header Array file. Command file statement make it easy for you to specify whether or not you wish this checking to be done.

Spreadsheet output from SLTOHT

(a) Option SSE can now produce spreadsheet tables with row and column labels when only part of a variable is specified on the Spreadsheet Mapping file.
(b) Set and element arguments [for example, "xhous(MARGCOM,"dom")] can be used on Spreadsheet Mapping files (rather than component numbers) to specify the components to be shown.
(c) The tables produced with SSE, SS or SSS options should be ideal for making graphs of results (including with intertemporal models).
(d) GEMPACK-style comments (beginning with a single exclamation mark !) are now allowed in both Header Array and Spreadsheet Mapping files.