Open Energy Modelling Framework (oemof)

https://raw.githubusercontent.com/oemof/oemof/master/logo/logo_oemof_big.svg

The Open Energy Modelling Framework (oemof) is a Python toolbox for energy system modelling and optimisation.

The oemof project aims to be a loose organisational frame for tools in the wide field of (energy) system modelling. Every project is managed by their own developer team but we share some developer and design rules to make it easier to understand each other’s tools. All project libraries are free software licenced under the MIT license.

All projects are in different stages of implementation, some even may not have a stable release, but all projects are open to be joined by interested people. We do not belong to a specific institution and everybody is free to join the developer teams and will have the same rights. There is no higher decision level.

oemof community

This repository is also used to organise everything for the oemof community.

  • Webconference dates

  • Real life meetings

  • Website and Mailinglist

  • General communication

You can find recent topics of discussion in the issues.

Real life meetings

The oemof community meets in person on a regular basis. Find the latest information on the next meeting(s) on this wiki page: https://github.com/oemof/oemof/wiki

Read more

Packages

Under the umbrella of oemof, several libraries for energy system modelling are collected. Each specialised for a certain task. The most recognised library oemof-solph is used to model energy system with LP/MILP. It can be fed with demand data from the demandlib and feedin timeseries from the feedinlib. TESPy provides in-depth modelling of thermal energy systems. oemof-thermal extends oemof-solph components with LP/MILP modelled thermal components. CyDeTS can be used to detect storage cycles. The libraries share common principles, similar APIs, and are at least partially interoperable.

Projects with stable releases

Package

Description

Links

oemof-solph

A model generator for energy system modelling and optimisation (LP/MILP)

github_oemof-solph zenodo_oemof-solph

oemof-thermal

Tools to model thermal energy components (compression heat pumps, concentrating solar plants, thermal storages and solar thermal collectors) as an extension of oemof-solph

github_oemof-thermal zenodo_oemof-thermal

CyDeTS

Cycle Detection in Time Series (CyDeTS). An algorithm to detect cycles in times series along with their respective depth-of-cycle (DoC) and duration

github_cydets zenodo_cydets

demandlib

Generate load profiles for elctricity and heat demand

github_demandlib zenodo_demandlib

feedinlib

Calculate feedin timeseries for fluctuating renewable energy source from Open Data weather data

github_feedinlib zenodo_feedinlib

TESPy

Thermal Engineering Systems in Python (TESPy). Powerful simulation toolkit for thermal engineering plants such as power plants, district heating systems or heat pumps

github_tespy zenodo_tespy

windpowerlib

Calculate the power output of wind turbines

github_windpowerlib zenodo_windpowerlib

Projects in an early state

The following projects are in an early stage of development and might change frequently.

Package

Description

Links

DHNx

District heating system optimisation and simulation models.

github_dnhx

Contributing

Contributions to oemof Packages are very welcome! Each of the Packages is maintained individually, but in general community-based development is envisaged. This repository is only used for organisational purposes and spans an umbrella across the individual oemof libraries. The source code is published under the conditions of the open source MIT license making sure that the code can be used, edited, and re-distributed by others.

Twice a year (usually May and December) we organise a developer meeting. The meeting dates are announced on wwww.oemof.org.

If you’re interested in maintaining oemof libraries more frequently, consider to join a developing teams. Get in touch with us here.