This problem only occurs when there are intertemporal sets and subsets in the TAB file. This problem only affected TABLO-generated programs, not GEMSIM.
We are sorry to report that, in TAB files containing intertemporal sets and subsets, $POS in TABLO-generated programs could produce incorrect results without any warning. This problem did not occur with GEMSIM.
For example, the Formula below for Coeff3 would have produced incorrect results.
Coefficient (Integer) NTime; Formula NTime = 50 ; Set (Intertemporal) Time (t[1]-t[NTime]); Set (Intertemporal) TTime (t[1]-t[21]); Subset TTime is subset of Time; Coefficient (all,t,TTime) Coeff3(t) ; Formula (all,t,TTime) Coeff3(t) = ! Error comes when take difference of two $POS's each of which should be in brackets in the code ! SUM(t1,TTIME, [$Pos(t,Time)-$Pos(t1,Time)]*Coeff1(t)) ;
We are also sorry to report that this bug was in earlier versions of GEMPACK (including Releases 7.0 and 8.0).
We are grateful to Kevin Hanslow for pointing out this bug.
This bug is fixed in Release 9.0-003 (August 2006) of GEMPACK so you don't need to download the fix if you have that or a later version of GEMPACK.
If you have Source-Code GEMPACK Release 9.0 or Release 9.0-002 on a Windows PC, you can proceed as follows to install the fix.
1. Download the file TBCDIEPV.ZIP (20K) and put it into the TABLO subdirectory of the directory in which your GEMPACK is installed (usually, C:\GP\TABLO).
2. Go to a DOS box and change into this directory.
3. Issue the following commands.
..\unzip32 -o -C tbcdiepv *.for ..\zip code2 tbcdie.for tbcdpv.for cd .. mktablo
This will make a new version of TABLO.EXE.
Then you need to rerun TABLO on any relevant models and then rerun LTG (Compile and Link).
Please contact GEMPACK Support if you have problems making this bug fix, or if you are uncertain as to whether or not you need to make this fix.
Go back to
Release 9 bug fixes page