Version Release History

The AMES Wholesale Power Market Test Bed

An Open-Source Computational Laboratory for the
Agent-Based Modeling of Electricity Systems

Last Updated: 8 January 2024

Site Maintained By:
Leigh Tesfatsion
Professor Emerita of Economics
Courtesy Research Professor
    of Electrical & Computer Engineering
Heady Hall 260
Iowa State University
Ames, Iowa 50011-1054
https://faculty.sites.iastate.edu/tesfatsi
tesfatsi AT iastate.edu

AMES Homepage
AMES Test Bed Schematic


AMES Market Package Versions Released to Date:

Note on Terminology: "AMES Wholesale Power Market Test Bed" refers to our general test bed framework and "AMES Market Package" refers to our particular software implementation of this framework.

AMES Market Package--Version 5.0 (Released: 8/7/2020)

AMES V5.0 was developed by Swathi Battula and Leigh Tesfatsion at Iowa State University, with support from Pacific Northwest National Laboratory researchers (Tom McDermott, Mitch Pelton, Qiuhua Huang, and Sarmad Hanif).

AMES V5.0 is an open source software platform capturing salient features of U.S. RTO/ISO-managed wholesale power markets operating over high-voltage transmission grids, with congestion handled by locational marginal pricing. AMES V5.0 consolidates features from previous AMES versions and continues the main developments in these previous versions.

AMES V5.0 supports the submission of supply offers and demand bids (in both fixed and price-sensitive form) into daily DAM SCUC/SCED and RTM SCED optimizations formulated as Mixed Integer Linear Programming (MILP) problems with a comprehensive set of system constraints. It permits continual updating of initial state conditions to permit market operations to run over successive days. The package includes an 8-bus test case based on data, operations, and market timing for the Electric Reliability Council of Texas (ERCOT) energy region.

In addition, AMES V5.0 is integrated with a high-level simulation framework that permits it to function as a software component within larger systems, such as multiple seamed energy regions or integrated transmission and distribution systems.

ERCOT Test System (Released: 8/7/2020), implemented in part by AMES V5.0

The ERCOT Test System was developed by Swathi Battula and Leigh Tesfatsion at Iowa State University and Thomas E. McDermott at the Pacific Northwest National Laboratory.

In default mode, the ERCOT Test System models ISO-managed day-ahead and real-time market operations in the Electric Reliability Council of Texas (ERCOT) energy region. Modeled market participants include dispatchable generators, load-serving entities, and non-dispatchable generation such as unfirmed wind and solar power. Users can configure a broad variety of parameters to study basic ERCOT market and grid features under alternative system conditions.

Users can also easily extend the test system's Java/Python software classes to study modified or newly envisioned market and grid features. In addition, the test system is integrated with a high-level simulation framework that permits it to function as a software component within larger systems, such as multiple seamed energy regions or integrated transmission and distribution systems.

A detailed description of the ERCOT Test System, together with illustrative 8-bus and 200-bus ERCOT test cases, can be found in the following paper:

AMES Market Package--Version 4.0 (Released: 4/13/2017)

AMES V4.0 was developed by Dheepak Krishnamurthy, Sean L. Mooney, Auswin George Thomas, Wanning Li, and Leigh Tesfatsion at Iowa State University.

AMES V4.0 substantively modifies AMES V2.06 as follows:

Eight Zone ISO-NE Test System (Released: 11/30/2015), implemented in part by AMES V4.0

The 8-Zone ISO-NE Test System. was developed by Dheepak Krishnamurthy, Wanning Li, and Leigh Tesfatsion at Iowa State University.

The 8-Zone ISO-NE Test System is based on structural characteristics and data from the ISO New England energy region. A detailed description of the test system, together with illustrative test cases comparing stochastic versus deterministic DAM SCUC implementations both with and without non-dispatchable wind generation, can be found in the following two papers:

AMES Market Package--Version 3.0 (Released: 12/16/2017)

AMES V3.0 was developed by Auswin George Thomas and Tesfatsion at Iowa State University.

AMES V3.0 extends AMES V2.06 by incorporating a real-time market operating in tandem with a day-ahead market. More precisely:

AMES Market Package--Version 2.06 (Released: 5/22/13)

AMES V2.06 was developed by Hongyan Li, Leigh Tesfatsion, and Sean L. Mooney at Iowa State University.

AMES V2.06 modifies AMES V2.05 as follows:

Downloads for AMES V2.06:

AMES Market Package--Version 2.05 (Released: 9/14/09)

AMES 2.05 was developed by Hongyan Li and Leigh Tesfatsion at Iowa State University.

AMES V2.05 modifies AMES V2.03 as follows:

AMES Market Package--Version 2.03 (Released: 8/09/09)

AMES 2.03 was developed by Hongyan Li and Leigh Tesfatsion at Iowa State University.

AMES V2.03 modifies AMES V2.02 as follows:

AMES Market Package--Version 2.02 (Released: 9/20/08)

AMES 2.02 was developed by Hongyan Li and Leigh Tesfatsion at Iowa State University.

AMES V2.02 modifies AMES V2.01 as follows:

AMES Market Package--Version 2.01 (Released: 7/17/08)

AMES 2.01 was developed by Hongyan Li and Leigh Tesfatsion at Iowa State University.

AMES V2.01 modifies AMES V2.0 as follows:
  1. A glitch in the final "Done" command in the command sequence "Case->Case Parameters->Step 1...Step 6->Done" has been fixed so that changed parameter settings are properly saved and can be immediately run.
  2. The default (or user-specified) random seed set by "Case->Case Parameters->Step 6: Simulation Control Parameters->Random Seed" is now properly displayed at the top of the main view screen when a case is run.
  3. After each run, the main view screen now indicates (at the end) which of the five possible stopping rules have been flagged and which flagged stopping rule's activation actually resulted in the stopping of the simulation run.
  4. A sample data file for conducting batch (multi-run) experiments has been included in the DATA directory for AMES(V2.01) along with sample data files for conducting single-run 5-bus and 30-bus test case experiments. The extension ".bth" is used for batch data files and the extension ".dat" is used for single-run data files.
  5. A glitch in the display ordering of the GenCo learning parameters on the main view screen has been fixed.
  6. The default values for the GenCos' fixed costs in the 5-bus and 30-bus test cases have now been calibrated so that each GenCo earns positive daily profits (daily total revenues minus daily total cost) in the "competitive benchmark" solution calculated at the beginning of each run. In the previous version 2.0 the default fixed cost values were set in an ad hoc manner that resulted in persisently negative daily profits for some GenCos.
  7. The default settings V_o and S_o for base voltage and base apparent power now appear in the setting screen "Case->Case Parameters->Step 1: Input Global Parameters" so that the user can change these default base value settings as desired.
  8. The default (or user-specified) settings for the price-sensitive demand function parameters c_j(H), d_j(H), and SLMax_j(H) for each hour H and each LSE j are now displayed on the main view screen (along with all other parameter settings) whenever a case is run.
  9. The default (or user-specified) settings for the price-sensitive demand function parameters c_j(H), d_j(H), and SLMax_j(H) for each hour H and each LSE j can now be displayed in table form by the command sequence "View->Output Table View->View Case Data Parameters->LSE Price-Sensitive Demand Parameters".
  10. The price-sensitive demand function for each LSE j can now be individually displayed in chart form as part of the display of cleared price-sensitive demand for LSE j by the command sequence "View->Output Chart View->LSE Price-Sensitive Demand"->LSEj.
  11. For direct comparison, the true marginal cost function for each GenCo i is now displayed along with GenCo i's reported marginal cost function for each day D using the command sequence "View->Output Chart View->View Case Data Parameters->GenCos->GenCoi.
  12. The setting screen "Case->Case Parameters->Step 5: Input LSE Parameters->LSEj" has been modified for clarity. In particular, the captions now indicate more clearly the difference between the flag boxes (for indicating the existence or not of fixed demand and/or of a price-sensitive demand function for LSE j for each hour) versus the value boxes (for setting specific numerical values for fixed demand and/or for the price-sensitive demand function parameters for LSE j for each hour).
  13. A glitch in the chart displays of cleared points for LSE price-sensitive demands has been fixed.

Note: Thanks to Abhishek Somani, Nanpeng Yu, and Qun Zhou for helpful comments on the previous version AMES V2.0, particularly with regard to points (1) through (4).

AMES Market Package--Version 2.0 (Released: 7/10/08)

AMES V2.0 was developed by Hongyan Li and Leigh Tesfatsion at Iowa State University.

AMES V2.0 extends AMES V1.31 as follows:

AMES Market Package--Version 1.31 (Released: 10/13/07)

AMES V1.31 was developed by Hongyan Li, Junjie Sun, and Leigh Tesfatsion at Iowa State University.

AMES V1.31 modifies AMES V1.3 by correcting a small bug in ActionDomain.java (a misplaced comment indicator) that causes program termination when the user specifies M2=1 (i.e., when the user forces all generators to report the true slope of their marginal cost curves in the supply offers they report to the ISO). In particular, in ActionDomain.Java for Version 1.31, the comment indicator // in front of the assignment statement "inc2=someLargeNumber;" inside the "if(M2==1)" code segment is now removed.

AMES Market Package--Version 1.30 (Released: 7/14/07)

AMES V1.30 was developed by Hongyan Li, Junjie Sun, and Leigh Tesfatsion at Iowa State University.

AMES V1.30 modifies AMES V1.20 by incorporating a number of improvements in the output displays. In addition, AMES V1.30 corrects a bug in AMES V1.20 that caused the competitive equilibrium (no learning) benchmark solution, initially calculated during each run of the market simulation, to be picked up and counted as "Day 1" in the indexing of days. Version 1.3 treats this initial calculation of the competitive equilibrium benchmark solution as a separate off-line calculation, so that "Day 1" now clearly indicates the beginning of the market simulation with learning traders.

AMES Market Package--Version 1.20 (Released: 7/6/07)

AMES V1.20 was developed by Junjie Sun and Leigh Tesfatsion at Iowa State University.

AMES V1.20 modified AMES V1.10 in response to user questions about set up. The accompanying manual and tutorial materials were revised for increased clarity, and a link was included on the AMES Test Bed Home Page to a new page of detailed instructions for setting up and running the AMES Market Package as a NetBeans project.

AMES Market Package--Version 1.10 (Released: 6/29/07)

AMES V1.10 was developed by Junjie Sun and Leigh Tesfatsion at Iowa State University.

AMES V1.1 modifies AMES V1.0 by cleaning up some of the comment statements in the .java files, and by changing the name of JOptim.jar to QuadProgJ.jar in the library directory to clarify that this Jar file implements the SCQP solver QuadProgJ constituting the core of DCOPFJ, the AMES DC optimal power flow solver.

AMES Market Package--Version 1.00 (Released: 6/22/07)

AMES V1.00 was developed by Junjie Sun and Leigh Tesfatsion, with important assistance from Deddy Koesrindartoto, all at Iowa State University.

AMES V1.00 was the first release of the AMES Wholesale Power Market Test Bed as open-source software. The acronym AMES = Agent-based Modeling of Electricity Systems is due to Deddy Koesrindartoto.