This proposal describes a simple energy system model, primarily for development and use by school students but also the interested public. It would be written in the Julia language and constituted as a fully functioning open source project.
The working name is “einfach”, German for “easy” or “simple”. That name, currently stylized as “ɘinfach”, can be changed downstream as the project evolves. (The “ɘ” is U+0258.)
The aim is to fill a gap between interpreted data sites (such as renewables.ninja and electricityMap) and full‑strength energy models. Pedagogy would be uppermost with the focus on student‑centered learning. Experienced modelers would be asked to provide voluntary support but the operation of the project itself should remain the responsibility of participants.
This proposal is inspired by the recent arrival of good sources of machine‑readable open data (including the German SMARD and the US Power Explorer sites) and a clearly growing interest in open source development as that paradigm becomes mainstream.
Provisional specification
attribute | comment |
---|---|
coding paradigm | algebraic rather than object-oriented modeling |
programming language | Julia |
optimization paradigm | least‑cost LP extendable to MILP |
energy (including electricity) flow | minimum-cost flow problem (MCFP) |
optimization | system operations and optionally capacities |
preferred solvers | Cbc |
platforms (initially) | Linux Raspberry Pi (Debian-based Raspbian environment) |
workflow | Jupyter notebooks |
primary data handling | XLSX (local spreadsheet) OpenEnergyPlatform (remote database) |
code license | GPL-3.0-or-later (a copyleft or reciprocal license) |
data license (preferred) | CC-BY-4.0 (permissive) |
documentation license | CC-BY-4.0 (permissive) |
documentation (initially) | en-US, de-DE |
localization (initially) | en-US, de-DE |
code commenting | en-US |
visual design language | UML |
code host | GitHub |
distribution | git clone (later consider a Julia package) |
As is evident above, the philosophy is centered on low‑level development. At this point, there are no plans for a graphical browser‑based interface but users could well add that feature given sufficient interest.
This project is neither a web‑based what‑if scenario generator nor a gamification exercise. The underlying idea is to introduce ideas and practices associated with at‑scale energy modeling to school students and the interested public. A focus on clean design over efficiency and the use of non‑commercial solvers will render the software unsuitable for large‑scale analysis anyway.
Development would be stepwise. It may be better, for instance, to offer sequential optimization first and add full‑horizon optimization later.
The oedb data host from the OpenEnergyPlatform (OEP) would optionally act as a remote real‑time database, thereby facilitating the sharing of data.
The Windows operating system question is difficult. The platform is not ideal for this kind of development and is currently not listed in the table above. One option would be to install the cygwin environment.
Outreach
Some science teachers in Berlin have been contacted. Challenges for able students are often sought. At some point, teachers may need native language resource materials. Later still, continuing education courses, either physical or web‑based, could be worked up and offered.
Open data sources
The project would be allied with preferred data sources. Not all those shown offer fully open (Open Definition compliant) content licenses at present.
site | fully open | comment |
---|---|---|
energydata.info | run by the World Bank Group | |
IDEES | developed by the European Commission JRC | |
OPSD | largely dependent on ENTSO‑E licensing policy | |
Power Explorer | run by World Resources Institute | |
renewables.ninja | currently CC‑BY‑NC‑4.0 | |
SMARD | run by German energy regulator BNetzA | |
ENTSO‑E Transparency Platform | ongoing debate on open licensing |
Social media
The project can run from the Open (Energy) System Analysis forum initially. But at some point it may want to transfer to its own infrastructure.
Complying with the GDPR for adults is straightforward. But special considerations apply to those less than 16 years of age under the GDPR and under European Fundamental Rights. Internet forums often encourage participants to provide personal information on registration, but this request would be omitted for minors. In Germany, participants between 14 and 16 may also need signed permission from a parent and participants below 14 years could not be registered for the forum — given that we seek and they report their correct age.
The project would never utilize US‑based social media services like Facebook or Reddit on privacy grounds.
Code and data hosting
At the outset, the project would establish the following hosts:
- a GitHub code hosting account
- an OpenEnergyPlatform remote database account
Related projects
Before proceeding, it is useful to considering what could be scavenged from other projects (the following are all license compatible):
- OSeMOSYS python fork
- OSeMOSYS‑based low‑threshold OSeMBE engagement model for Europe
- oemof components
- Calliope energy model
It is worth stressing that ɘinfach is not an engagement model seeking to provide interactive analysis to the interested public but a long‑haul modeling project aimed at those wishing to understand and contribute to the development and management of a simplified energy system modeling project.
Participants in the Open Energy Modelling Initiative and other professional modelers would (I hope) be willing to provide technical guidance to project contributors.
Resourcing
The core project would require very minimal outlay beyond domain name fees and modest server hosting (say €200/year). Any workshops would be self funding in the first instance. Teacher outreach may well involve significant expenditure and could be covered by public funding and/or appropriate sponsorship.
Further background
Those seeking additional background on energy modeling can browse the following wikipedia pages:
Feedback
Please discuss on the opensay forum. Registration required.