Long announced, the time has finally come: REMix is also open source! You can find the framework including documentation here: remix · GitLab.
The framework will be extended in the coming months by different model instances, which you can then use like the framework. We welcome your questions and suggestions here in the forum.
The REMix developers
Welcome, Hans Christian, welcome REMix!
Can you please shed some light on the difference/correlation between oemof and REMix?
I have worked with neither of those, as I’ve been using a commercial Modelling tool.
But we are looking into different open source options.
The following internal links might be of use:
And this editorial also (at least one of the authors contributes to REMix):
oemof is covered briefly on wikipedia (but not REMix):
One small difference would be the licensing. oemof uses MIT while REMix uses the BSD‑3‑Clause license.
I can try to shed some light on your question as well. First of all some information on my background:
- So far, I have only been using the REMix tutorials. The model itself is developed and applied by quite a bunch of colleagues of mine and there is very active development going on. The model development so far took place at DLR, but there is a long history of 15 years here.
- I have been active in using and developing oemof.solph, thus the graph-based optimization modelling part of oemof which has quite some similarities with REMix. Also, there is active development here. It is a community development and has a history of I guess 7 or 8 years now.
Here are some simularities:
- Both can be used to build energy system optimization models.
- Both combine a graph-based approach with the underlying algebraic model.
- Both can be applied using python. For REMix, where the core is actually implemented in GAMS, there is a python wrapper which makes it handy to use. Note that you need a GAMS license for building / solving larger models.
Now I’d say, here is where they both deviate:
- REMix is build to solve large scale infrastructure models, integrating all kinds of energy-related vectors (gas, electricity, hydrogen, heat, mobility, …) so doing actually integrated sector-coupling here. Most oemof.solph applications in turn focus on smaller scale energy systems, but since the framework is so flexible, you can also build large scale applications.
- Due to its focus on large system, REMix is optimized for speed and parallelizable using the PIPS-IPM++ solver. Oemof.solph which builds on the python package pyomo in turn is not parallelizable out of the box. - Feel free to add a pull request.
- I think for oemof.solph due to it being openly evolved, there is a broader variety of applications for small scale systems and there are also some facades built around it. Also what is very interesting is the linkage to other parts of the oemof cosmos, such as TESPy for detailed thermodynamical modelling, oemof-heat offering facades for heat modelling etc.
- For REMix in turn, there are some cool features on the large scale, such as detailled an actually integrated sector coupling modelling, e.g. considering the transition to a hydrogen network with repurposing and blending options. Also, modelling to generate alternatives or multi-criteria objective optimization are there. You could also do that using oemof.solph and some things, such as multi-criteria objective optimization have already been done, but to my knowldege, such things do not come out of the box there.
- For oemof, there is an established large community with regular meetings and there even is an association you can join. But frankly, for many members of the community unfortunately, it is kind of a side activity to develop the frameworks. In turn, as stated above, REMix comes out of DLR. There is quite a lot of wo/manpower behind it, but the community is just starting to evolve. Of course, I guess my colleagues are eager to help with outside questions, development or application.
All you REMix and oemof users feel free to add or correct me. Of course, it is really hard to compare such large frameworks and modelling activities objectively. It pretty much also depends on your specific application or even preferences.
Thank you for this excellent comparison!