FAME is an open Framework for distributed Agent-based Models of Energy systems.
What is FAME?
FAME's purpose is supporting the rapid development and fast execution of complex agent-based energy system simulations. All components of FAME are open source. These components are:
- FAME-Core: A Java library that provides classes and methods to create and run your own agent-based simulations in single-core or multi-core mode.
- FAME-Io: A set of Python tools that enable you to feed input data to your simulations and to extract simulation results in a convenient way.
- FAME-Gui: A graphical user interface for convenient configuration of FAME-based models.
- FAME-Protobuf: Basic definitions for input and output formats of FAME-Core.
- FAME-Demo: A simplistic FAME-based simulation demonstrating the most important features of FAME and their application in energy systems analysis.
- FAME-Mpi: Components for parallelisation of FAME-Core applications
Statement of need
FAME is a general framework intended for, but not exclusive to, energy systems analysis. It facilitates the development of complex agent-based simulations. FAME enables parallel execution of simulations without any prior knowledge about parallelisation techniques. Models built with FAME can be executed on computer systems of any capacity – from a laptop to a high-performance computing cluster. Furthermore, FAME applications are binary data files are portable across Windows and Linux systems. FAME's highly adaptable contracting system offers broad configuration options to control simulations without changing its code.
FAME-Core & FAME-Io have been thoroughly tested to fulfil the demand of scientific rigour and to provide a stable and reliable simulation framework. It provides thoroughly tested functionality common to all simulations (e.g. input, output, scheduling, communication), hence resulting in
- less code → less errors → less maintenance,
- higher transparency of existing models, due to common interfaces and concepts of the respective framework, and
- lower threshold for the development of new models by providing a well-defined starting point.
Please see the related JOSS papers for FAME-Core and FAME-Io.