Release 10.0-002 (April 2010) of GEMPACK

No serious bugs have been detected in the year since GEMPACK Release 10.0-001 (April 2009) was introduced: this update includes minor bug fixes and some enhancements. The main enhancements are briefly described below.

More efficient use of memory

Some difficulties were noticed when viewing or creating very large (>1GB) HAR files. This led us to review memory use in GEMPACK programs, and we identified some places where memory was used wastefully. We have now eliminated this waste, so that GEMPACK programs are less likely to run out of memory (and may run slightly faster).

Most programs can access up to 4GB of memory under 64-bit Windows

32-bit Windows does not allow any one program to use more than 2GB of memory. Very large models (such as 57-good, 100-region GTAP) require more than this. You might be unable to solve such a large model, or you might find that AnalyseGE was unable to load a solution file.

However, some specially-configured 32-bit programs, called 'Large-Address-Aware', are able to use up to 4GB of memory, if run under 64-bit Windows. Most 32-bit program EXE files shipped with GEMPACK Release 10.0-002 are now Large-Address-Aware. As well, compile options have been altered for source-code GEMPACK users who use the 32-bit Intel compiler so that EXE files they produce (at install time and later) will be 'Large-Address-Aware'. The effect is to double the memory accessible (from 2 to 4GB) to these 32-bit programs if run under 64-bit Windows and if your PC has at least 4GB of RAM. More details here.

If you use very large models or data files, this new feature is another reason to move to 64-bit Windows, as explained here.

Extended set constructor statements

GEMPACK now allows statements such as:

 Set DEMANDERS = IND + LOCALDEM + "Exports";

to define new sets in terms of existing sets. Previously the RHS of such statements could contain at most two sets.

There is also a new set complement operator "\".

More details of these extensions to set syntax here.

Shocks from Coefficients

GEMPACK has previously allowed command [CMF] files to contain shock statements such as:

 Shock v2 = select from file SHOCK.HAR header "XINT";

Above, header "XINT" in file SHOCK.HAR contained some numbers prepared by you beforehand, probably using some other program.

Now GEMPACK allows CMF files to contain shock statements such as:

 Shock v1 = coefficient COEF1 ;
 Shock v1(COM2) = select from coefficient COEF1 ;
 Shock v1(COM2) = coefficient COEF1(COM2) ;
 Shock v1(COM2) = select from coefficient COEF2(COM, "i3") ;
 Shock v1(COM2) = coefficient COEF2(COM2) ;
 Shock v2 = coefficient COEF2("c2", IND) ; 

where shock values are drawn from the initial values of a coefficient (above, COEF1 or COEF2), that appears in your model TAB file. The obvious advantage is that your main TAB file can contain code to compute shocks, often eliminating the need for a separate shock-calculator program. However we expect that creative GEMPACK users will find other uses for this new facility.

More details of the new "shock-from-coefficient" statements here.

Sparse storage is now the default

By default, GEMPACK programs when writing HAR files now store mainly-zero real arrays in sparse form (as described in chapter 6 of GPD9.PDF). This can save considerable hard disk space. All GEMPACK programs released since 2006 can read the sparse format: older programs might complain. That problem, and the workarounds, are described here.

Report about un-condensed model size

The "Model Report" section of run-time log files now reports how many equations and variables the model contains prior to condensation (condensed size is also reported, as before). The new information may be useful for academic or technical papers which often contain a sentence such as: "With 100 regions and 50 sectors, our model contains 14 million variables and 12 million equations."

RAS_MATRIX command

The built-in routine for RASsing a matrix (see section 7.10 of GPD9.PDF) now allows you to set the number of iterations, NITER, to less than 1. In that case:

ViewHAR can display solution (SL4) files

Although normally ViewSOL is used to display SL4 files, it does not display variables with 4 or more dimensions. Now you can open SL4 files using ViewHAR to see high-dimension variables. Use ViewHAR's Help..What's New menu item to read more details.

64-bit Programs for Unlimited Executable-Image Version

Those who purchase the UnLimited Executable-Image Version of GEMPACK after April 2010, and who are running 64-bit Windows may download an additional package containing 64-bit versions of TABLO.EXE and GEMSIM.EXE (more details). This means that really huge models (>4GB memory needs) can be solved with GEMSIM. However, with large models GEMSIM may be noticeably slower than the corresponding TABLO-generated program (which can only be created with a Source-code Version).

Other improvements to GUI (Windows) programs

GUI programs like AnalyseGE, ViewHAR and ViewSOL have a Help..What's New menu item which lists recent improvements. Common improvements are: improvements to the placement and sizing of windows (useful if you have huge or multiple monitors); and the memory-saving improvements and 'Large-Address-Aware' features mentioned above. Additionally, TABmate's Closure analysis now works better with complementarities; ViewHAR can read SL4 files and balance SAMs; and ViewSOL has a Search menu item.

Enables RunDynam to manage MMNZ settings

If you have RunDynam Version 3.45 (August 2009) or later, and use a Tablo-generated model EXE made with GEMPACK 10.0-002 or later, RunDynam is able to manage the MMNZ values used for simulations. This should speed up simulations in many cases.

New version of RunDynam

The latest version of RunDynam, Version 3.53, requires a licence file (different to the GEMPACK licence file). The licence can be time-limited, or model-size-limited. This enables several new possibilities, such as free, time-limited, licences for course use, or free trial downloads. More details here.

Intel Fortran

Source-code GEMPACK now allows you to use Intel Fortran 11. If you are already using Intel Fortran 10.1.021 (Build 20080312) or later, there is no reason to upgrade to Version 11 [type "ifort" at command line to see your version/build numbers]. If you have an earlier version of Intel Fortran 10, we advise you to update (you may be able to do this for free at the Intel website).

If you decide to install Version 11 of Intel Fortran for use with GEMPACK 10.0-002 or later, please follow our instructions. [The instructions in GPD-6 only apply to Version 10 of Intel Fortran.]

Vale LF90

GEMPACK Release 10.0-002 will be the last release to support the ageing LF90 Fortran compiler -- which is only partly compatible with Windows XP and later. If you are still using LF90, please consider upgrading to one of these modern replacements.


Release 10.0-002 will be supplied to all new GEMPACK purchasers from April 2010. Current subscribers to the "annual payment scheme" for the source-code version of GEMPACK Release 10.0 are entitled to download a free upgrade if they wish -- they should email (specifying their licence number) for further details.

See also:
Improvements for GEMPACK Release 10.0-001 (April 2009)
New features of GEMPACK Release 10.0 (May 2008)
All GEMPACK release notes