U.S. Energy Information Administration logo
Skip to sub-navigation

As of July 5, 2022, we have restored most of our data publications. See a complete list of releases for the week. We will not publish U.S. diesel prices today. We will continue to provide updates regarding the status of diesel prices and other data products.

‹ Analysis & Projections

Annual Energy Outlook 2022

Release date: March 3, 2022   |  Next release date:  January 2023   |  AEO Narrative

Availability of the National Energy Modeling System (NEMS) Archive

print version

NEMS is an integrated model of the U.S. energy system linked to a macroeconomic model. For an overview of NEMS, see The National Energy Modeling System: An Overview 2018 (April 2019). More detailed documentation of NEMS is also available.

The Annual Energy Outlook 2022 (AEO2022) Reference case can be replicated using the NEMS archive, which is available as a zip file. The archive demonstrates that the published results from the AEO2022 Reference case can be replicated with the model and discloses the source code and inputs used. The archive does not include executables of the model, which can be generated from the source code with the appropriate software.

NEMS inputs and source code are available for download within the NEMS Archive. Additionally, instructions on how to license the proprietary software components used to run NEMS are provided in the numbered list below.

If requested, EIA will send files for the proprietary IHS Markit macroeconomic model separately once it has received notification from the vendor that arrangements for licensing the model have been made with IHS Markit.

The NEMS archive is designed for use as a 64-bit application with Microsoft Windows Server 2012, but it should be mostly compatible with other 64-bit Windows versions, such as Windows Server 2008, Windows 8 for PCs, or even more recent versions. To use NEMS, users must obtain the following non-EIA software packages directly from the vendors:

1) Intel Visual Fortran Compiler Professional Edition for Windows, Version Build 20171018 (now called the Intel® Parallel Studio XE 2018 Composer Edition for Fortran Windows) as a 64‐bit application. (If version 18 is not the latest, it may still be available and should be installed for compatibility. Once you purchase Intel Fortran, you can download earlier versions through its support site.)

2) Optimization and Modeling Library (OML) license from Ketron Optimization with XpressMP barrier interface (optional). The Electricity Market Module (EMM) in NEMS uses the OML optimizer. The OML libraries are in the archive file.

You must independently obtain the license key from

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

Once you have obtained the Ketron OML license files and key, you will need to copy all of the files to the MPSIII license folder. Typically for the normal OML install, the license folder would be at C:\MPSIII. Make sure an environmental variables path is set up for MPSIII.CFG. To set this environmental variable

  • Right-click Computer
  • Select Properties
  • Select Advanced System Settings
  • Select the Environmental Variables button under the Advanced tab

If no MPS variable is defined under System Variables

  • Select New
  • Add the variable name MPS
  • Define the value as C:\MPSIII\

3) Fair-Isaac Corporation’s (FICO) Xpress optimizer. EIA uses the Xpress optimizer[1] to solve the EMM’s Electricity Capacity Planning linear program (LP); the Liquid Fuels Market Module LP; and the Carbon Transport, Utilization, and Storage mixed integer program (MIP). To purchase an Xpress license, please refer to FICO's webpage. Note that academic users might be able to obtain FICO Xpress at no cost. For further details on the exact version of Xpress used in NEMS, please email NEMSModel@eia.gov.

4) General Algebraic Modeling System (GAMS). GAMS is used for the Carbon Transport, Utilization, and Storage submodule and for the Liquid Fuels Market Module. EIA used GAMS version 24.7.3 for the AEO2022. EIA’s GAMS implementation uses the Xpress solver mentioned above. The GAMS commercial and academic price schedules are available on the GAMS website. 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) Advanced Integrated Multidimensional Modeling Software (AIMMS). AIMMS is used for the Coal Market Module, the Natural Gas Market Module, and the Renewable and Electricity Storage submodule within EMM. EIA used AIMMS version 4 (release for AEO2022 licensed with the CPLEX solver. (AIMMS does not link with the Xpress solver.) The AIMMS System Development Kit, which has a programming interface known as the AIMMSLINK library, has been installed at EIA and is also used with the NEMS Coal Market Module. The AIMMSLINK library invokes the AIMMS SDK and is linked in for NEMS runs. The AIMMS SDK is no longer supported by AIMMS.

6) (Optional) For macroeconomic feedback cases only, EIA uses the IHS Markit Macroeconomic Model as implemented with the EViews10 software package. EIA is currently using EViews10 standard edition, version 10, December 12, 2018 build. The IHS Markit macro module is executed as a subprocess to 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 static 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 you can obtain them from EIA after licensing the IHS Markit model. A copy of EViews must also be acquired to run the IHS Markit model. Contact IHS Markit Representative Patrick Joyce or Deron Tross for more information.

7) A Fortran-to-Sqlite library is included in this archive because a Sqlite database has been added to the NEMS Electricity Model that holds regional electricity data. Sqlite is not required for running NEMS with the default data provided.

NEMS is computationally intensive and requires a memory address space of about 1.6 gigabytes (GB) with some additional memory, about 1 GB, allocated dynamically. Some modules, run as separate subprocesses, are not included in this total. EIA is now running NEMS as a 64-bit application on 64-bit Windows PCs with the 64-bit Windows Server 2012. The AIMMS subprocesses run as 32-bit applications. 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 4 GB 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 with modules off (e.g., turning off coal, electricity, and renewables) then 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, provided sufficient memory is available. To run two integrated runs or four non-integrated runs in parallel, 16 GB of RAM is suggested. NEMS can be run as one process, but it requires about two hours longer per cycle.

Runs of NEMS take about three or four hours on the EIA servers purchased in 2018 (with dual Intel XEON Gold 6134 processors, 3.2 gigahertz), 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 are usually planned to run overnight, for about 12–18 hours total. Runs of some individual parts of NEMS, such as the energy demand models, if run separately, can take only a few minutes. All files of a completed run, input and output, take up about 30 GB of storage, but they compress to about 15 GB once the run finishes.

Brief instructions for compiling the code, setting up a run, and replicating the AEO2022 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. For major assumptions of NEMS, including general features of the model structure, assumptions concerning energy markets, and the key input data and parameters that were the most significant in formulating the model results, see Assumptions to AEO2022.

Technical questions about the NEMS model can be directed to individual NEMS modelers and general NEMS questions can be sent to NEMSModel@eia.gov.

Link to the model: https://www.eia.gov/outlooks/archive/aeozipfiles/aeo/aeo2022.zip


  1. 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.