JavaScript is required

EMLabpy

Emlabpy is a model based on EMLab, an agent-based model that explores the long-term effects of energy policies on a dynamic generation expansion. In this agent-based model, the agents are energy producers who, in contrast to optimization models, make decisions with myopic foresight since they are unaware of future investments following their own investment decisions. Moreover, investments are made based on expected returns, thus no equilibrium is guaranteed. The anticipated returns are based on the results of AMIRIS, another ABM. AMIRIS simulates the day-ahead market in which agents base their bidding decisions on a myopic view of market prices and generation forecasts. This ABM, unlike conventional optimization models, can simulate limited information between agents (and thus imperfect competition) and myopic scheduling.

EMLabpy is written in Python while AMIRIS is written in Java making use of the FAME-Core framework. The models are co-simulated using Spinetoolbox, where the workflow reads and writes to a SQLite database and also manages data transfer through temporary files.

...
Spinetoolbox Workflow.
...
AMIRIS Workflow.

In the first step, an investment loop is executed to account for the investment decisions made in years prior to the simulation's beginning year. This loop closes the disparity between the initial capacity and the optimal capacity as determined by ABMs. Following this, the yearly cycle of market clearing and investment is initiated. AMIRIS is written in Java qmaking use of the FAME-Core framework. The models are co-simulated using Spinetoolbox, where the workflow reads and writes to a SQLite database and also manages data transfer through temporary files.