One, if you don't hear me just give me some indication that I shall speak louder, right?
So my name is Christoph, I'm from the German Aerospace Center, and despite that name we
are actually doing energy research, and I want to present you our electricity market model
Amiris, and Amiris stands for the open agent-based market model for the investigation
of renewable and integrated energy systems, so quite long title, but otherwise we wouldn't
fill in all of the letters that we had before.
So, right, and it's an agent-based market model for the power market, and it models
business oriented decisions for dispatched considering the regulatory framework, and we focus
on renewable energy sources and flexibility options, and as I'm here, this model is completely
open source, you can find it on our GitLab repository.
The key functionality of this model is that we simulate the trading and operation of power
generation plans and flexibility options.
We model from a business oriented perspective, so we model the behavior under uncertainty
of the individual agents with an hourly resolution, or even higher, if you want to, and spatial
resolution of market zones, so for example, your national energy market, but you can
define that at any range that you want to.
And inputs to that model are the power plant capacities, efficiencies, and availability
of these power plants, feeding potentials for renewables, demand, time series, fuel prices,
and CO2 prices, you feed that into amiris, and what you get is electricity prices, CO2 emissions,
system costs for support instruments, for example, the dispatch of the power plans, and
you can derive market values for all of the units in the simulation.
Now, example application of this model is the question to model market dynamics,
so how will electricity prices evolve in different futures scenarios that you can think of?
How support instruments impact the behavior of the agents, if there is enough support for
renewable energy sources, maybe, or even too much, or how to household electricity tariffs,
impact the flexibility level of these households, especially from heat pumps, electric vehicles,
or storage units in that household, for example. So these are example applications that we
applied a year before, we have several other applications as well. Now, as an agent-based model,
the central thing of our model are the agents, right? And we have different types of agent in our
model. Of course, we consider markets, at markets we determine prices for goods. For example,
at the day ahead market, we can determine the electricity price. But we have also other markets
like the fuel market or the CO2 market, which are things are kind of stopped, which will only
feed in the prices that you pre-decided on for the simulation. We have traders that operate on
these markets, they fulfill marketing strategies, so they bid for goods, or they offer goods,
and so we have like supply traders or demand traders. And those will create bits and place them
at the electricity market. Then, once prices are awarded and the bits are awarded, they will feed
back to the power plant operators and they will control the power plants and operate them.
Flexibility providers allow two model electrolysis units, for example, or storage units,
or heat pump units, for example, and they try to minimize the cost, maximize the profit from the
operation, and they need forecasts that we have in our model, and these forecasts are provided
by dedicated forecasting agents. Also, we have explicit consideration of support policies, and for
that we have a support policy agent. Now, you can see how all of these agents interact with each
other. We have different kind of connections between those agents. We have flows of money,
flows of energy, and also flows of information between these different agents, and these then
form the whole simulation. And as a result of these simulations, you can see here,
back testing results, all of the data is open source, open access, so you can download these data
from our example repository, and run the simulation. As you can see here, is electricity time
series over the last over a few weeks in the year 2019 for the German country, and you can see
we achieve quite a good fit for the historical data in gray where our model results are blue.
Now, how do we actually use it? So, I'm here with this kind of simulation written in Java using
the open framework for distributed agent-based modeling of energy systems, also long name,
and it's also developed by us. That's the cost probably, and that's famed for short, in that
case, and here we define a mirror, which then communicates with the input output model written in
Python, which collects your configuration files as yammer standards, puts all your CSV data in there,
makes a binary input file, runs the Java simulation in on one or multiple cores, usually
only use one my laptop, and then you create binary output files, which then are translated into
readable CSV files again using famio. This also completely opensource, so feel free to build your
own models with that framework as well. And for an easy access, we have a Python wrapper for this
ameraspy that can make life way easier. So, if you want to use ameras, it's basically creating
a Python environment running pip install, ameraspy, ameras install will download the whole
model and all of the example files, and then run the model with an amerasrun command and the download
model and the files, and after it maximum five minutes if you have Java and Python already
installed in a system, you will have your first result ready for one of the examples in the
simulation here. If you want to connect your own model, maybe, to our to our mirrors, it's
quite easy. You can we provide a URL model service class within our code that allows easy connection
with your model, basically anything. So, it's an API web API approach, basically, so you can
then web request to your API and interchange data, and if you don't have an API, it's super easy to
set one up. So, you can couple with virtually any model at runtime of the ameras model to your own one,
and we use this a lot if we don't want to code our special code in Java, for example, or we
have a different model in Python or something, then we use this kind of remote call to the
specialized model, and this works quite well. For example, for load shifting optimization or heat
pump operation, we have used this, and we are currently using this also for machine learning
based predictions of the electricity price forecasts. We develop our model as following the
fair for research software principles, so we want to have our model findable, accessible,
interoperable, and reusable. All of these links are under downloadable, can follow all of these links
on the downloads from this presentation, and we also have some external users already, which we are
quite proud of, and if you want to join our community and want to work with us or work with the
model, feel free to do so downloaded use it, and if you have any questions, so any,
not happy with our model and complaints, maybe something like that, feel free to post your
questions or complaints or suggestions at the OpenMot forum, send us an email, or discuss with us
at our open forum that we have every Friday at 10 o'clock, a century European time, and of course,
feel free to raise issues or contribute in our repositories. Thank you.
Thank you. Any questions? Yes.
So in our group, we are doing a lot of research on the integration of renewables, and what you
require support instruments, so we have several research projects where we try to understand
which kind of support instruments that there are, so like feed-in tariffs or market premium
stuff like that, work best for the future, and exactly that, yeah. So, yes?
And then that input is a view of money, which then creates a cut-in electricity, which creates a
mic of use, but in a kind of a cascaded event, because since you have known so close, inflation money,
or some have stopped paying, because of any more money, so then they have electricity, and that
stops the flow of power, so are you interested? So, I try to repeat the question, so you ask if we
kind of model complex spill over effects between the different flows that are presented?
I'd say no. Yeah, so kind of the system that we presented are is kind of static as well, so
the flows in there, you can't change the flows numbers, but not really kind of create new connections
or make a kind of evolving system during this simulation, you would need to do that manually,
probably, right? Thank you.