‹ Analysis & Projections

Annual Energy Outlook 2017

Full Release Date: January 5, 2017  |  Next Release Date:  January 2018 |   correction   |  full report

Availability of the National Energy Modeling System (NEMS) Archive

NEMS has been developed primarily for use by the modelers at the Energy Information Administration (EIA) who understand its structure and programming. As a result, NEMS is only used by a few organizations outside of the EIA. Most people who have requested NEMS in the past have found out that it was too difficult or rigid to use. For example, it is not typically used for state-level analysis and is poorly suited for application to other countries. However, many obtain the model simply to use the data in its input files or to examine the source code. EIA is the developer of NEMS, so most of what constitutes NEMS is in the public domain (and no licenses are required), but NEMS does contain some proprietary components that are outside the public domain but can be licensed as discussed below.

NEMS is an integrated model of the U.S. energy system linked to a macroeconomic model. For an overview of NEMS, see Appendix E from the Annual Energy Outlook 2016. (Appendix E is not included in the Annual Energy Outlook 2017.) More detailed documentation of NEMS is available at http://www.eia.gov/reports/index.cfm#/KNEMS%20Documentation.

An archive of NEMS as used for the reference case for the Annual Energy Outlook 2017 (AEO) is available, on an as-is basis, on our web site. This archive is an encrypted zip file (found in http://www.eia.gov/archive/aeozipfiles/aeo/aeo2017.zip). The purpose of the archive is to demonstrate that the published results from the AEO reference case can be replicated with the model and to disclose the source code and inputs used. It does not include executables of the model, which can be generated from the source code with the appropriate software. Please contact Paul Kondis (contact information at the bottom of this document) for the key to the file you download. Files for the proprietary IHS Markit macroeconomic model will be sent separately once arrangements for licensing the model are made with IHS Markit.

The NEMS archive is designed for use as a 64-bit application with Microsoft Windows Server 2012 but should be largely compatible with other 64-bit Windows versions, such as Windows Server 2008 or Windows 8 for PCs. NEMS requires these software packages that are not provided by EIA and must be obtained by the user from the vendors:

1) Intel Visual Fortran, Standard Edition, version 11.1, 64-bit version. (Version 17, packaged as "Intel® Parallel Studio XE 2017 Composer Edition for Fortran Windows" is the latest but version 11.1 may still be available and should be installed for compatibility. Once you purchase Intel Fortran, you can select to download earlier versions by going to their support site and logging in.). (https://software.intel.com/en-us/fortran-compilers-support)

2) The Electricity Market Module of NEMS use the Optimization and Modeling Library (OML) License from Ketron Optimization (http://www.ketronms.com/oml.shtml) with XpressMP barrier interface (optional). The OML libraries are in the archive file. The license key to make them operational must be obtained independently from:

Ketron Optimization Support Services
P.O. Box 71-1601
Oak Hill, VA 20171-1601 USA
Phone: 703-636-4805

Once the Ketron OML license files are obtained, you will need to copy all the files to the MPSIII license folder. Typically for the normal OML install, the license folder would be at C:\MPSIII. Make sure there is an Environmental Variables path set up for MPSIII.CFG. To set this Environmental Variable, right-click "Computer", select Properties, select "Advanced System Settings", and select the "Environmental Variables" button under the "Advanced" tab. If there is no "MPS" variable defined under "System Variables", select "New…" and add the Variable name "MPS" and define the value as "C:\MPSIII\".

3) The Xpress optimizer from the Fair-Isaac Corporation is used at EIA to solve the Electricity Capacity Planning linear program (LP) of the Electricity Marketing Model (EMM), the Liquid Fuels Market Module LP, and the Carbon Transport, Utilization, and Storage mixed integer program (MIP) . The OML optimizer is used to solve the Electricity Fuel Dispatch LP of the EMM and can be also be used in place of Xpress to solve the Electricity Capacity Planning LP, but the results will differ from EIA's results and the execution time will increase significantly. The other models listed use Xpress as the solver as supplied with GAMS (see below), but other solvers (such as CPlex) may be substituted in GAMS, with results differing slightly. EIA has made arrangements with Fair-Isaac Corporation to provide a single license of the Xpress solver to a limited number of organizations who want to use it for NEMS. To obtain the Xpress Optimization license file, you will need to do the following:

  1. Contact EIA to request a single license for Xpress under EIA's arrangement with Fair-Isaac
  2. Download and install Xpress from the FICO web site (http://www.fico.com/en/latest-thinking/product-sheet/xpress-optimization-suite-product-sheet). Run the xphostid executable. Copy the results and send to EIA (paul.kondis@eia.gov).
  3. Notify FICO that you are obtaining the Xpress Optimization license (itservices@fico.com) to run EIA's NEMS model and request an on-line account.
  4. EIA will forward the result from the xphostid tool to FICO, who will then send a license file.

4) The General Algebraic Modeling System (GAMS) is used for the Carbon Transport, Utilization, and Storage routine and for the Liquid Fuels Market Module. EIA used GAMS version 24.7.3 for the AEO2017. Our GAMS implementation uses the Xpress solver mentioned above. Links to the commercial and academic price schedules for GAMS can be found at http://gams.com/sales/sales.htm. EIA purchased the development license (rather than the run-time license), which allows changes to the linear program matrix during execution of a NEMS run.

5) The Advanced Integrated Multidimensional Modeling Software (AIMMS) is used for the Coal Market Module. EIA used AIMMS version 4 (release 4.8.1.299) for AEO2017 and licensed it with the CPLEX solver. The AIMMS System Development Kit, with a programming interface known as the AIMMSLINK library, has been installed at EIA and is also used with NEMS. The AIMMSLINK library invokes the AIMMS SDK and is linked in for NEMS runs.

6) (Optional) For macroeconomic feedback cases only, the IHS Markit Macro Model (https://www.ihs.com/) as implemented with the EViews8 software package (http://www.eviews.com/) is used. EIA is currently using EViews8 standard edition, version 8.1, Sep 8, 2015 build. The IHS Markit macro module is called directly from NEMS if the "macro feedback switch" in NEMS is turned on. Users can elect to run NEMS without macro feedback, in which case the run uses a static input file with the macroeconomic inputs taken "as is". When the Macro feedback switch is on, NEMS will attempt to call the macro model by executing EViews using the IHS Markit model's "work files" as the input to Eviews. These Eviews work files are not included in the archive, but can be obtained from EIA after licensing the IHS Markit model. A copy of Eviews must also be acquired to run the IHS Markit model. The IHS Markit representative is Jamie Niedbalski, (Jamie.Niedbalski@ihsmarkit.com).

NEMS is computationally intensive and requires a memory address space of about 2 gigabytes (GB) with some additional memory, about 1 GB, allocated dynamically. EIA is now running NEMS as a 64-bit application on 64-bit Windows PCs with the 64-bit Windows Server 2012. The EIA servers running NEMS have 128 GB of RAM to accommodate multiple runs and users simultaneously, but a single copy of NEMS may execute on a single-user system with 4GB of RAM. NEMS also can be run on a desktop/laptop using Windows 8 with sufficient RAM and processing speed. EIA runs the integrated NEMS run in two parts simultaneously (in parallel) to speed run time, so two processor cores per integrated run are used. If a non-integrated run is done (e.g., electricity + renewables) then likely only one processor core per run is needed. With a quad core processor, one can run two integrated parallel runs or four non-integrated runs with little speed loss. To run four non-integrated runs in parallel, at least 8 GB of RAM is suggested (16 GB would be better).

Runs of NEMS take about 1-2 hours on the EIA servers purchased in 2014 (with dual Intel XEON "E5-2690 v2" processors, 3.6 Ghz), but most scenarios are solved by making a series of complete runs, known as cycles, that are used to resolve convergence and foresight issues. Such multi-run scenarios may take about 6-12 hours to run. Runs of some individual parts of NEMS, if run separately, such as the energy demand models, can take only a few minutes. Output of a single run is about 20 gigabytes, but is compressed to about 7 gigabytes once the run finishes.

Brief instructions for compiling the code, setting up a run, and replicating the AEO reference case are included in a "readme.txt" file included with the archive. EIA does not have a budget to support the outside use of NEMS.

Technical questions about the NEMS archive and requests for the zip file encryption key can be directed to Paul Kondis, at 202-586-1469, (paul.kondis@eia.gov).

Link to the model: http://www.eia.gov/archive/aeozipfiles/aeo/aeo2017.zip