We are happy to announce oemof.solph v0.5.0 (codename “Rigorous refactoring”) . This release brings an extreme shift towards more user focused design:
- Clean definition of time indexes: You need N+1 points in time do define N time spans.
- Parts of the energy system graph are now clearly structured into
buses
,components
, andflows
. This adds some extra words to imports but makes the underlying logic more transparent. - Public and private API are be more distinguished now. (‘_’ signifies private, public API is defined in init files.)
- Experimental code is now sitting in sub-modules called
experimental
(replaces “custom”). - The flow arguments
summed_min
andsummed_max
now have the more descriptive namesfull_load_time_min
andfull_load_time_max
. - Keyword arguments are now explicit. This will make it easier to find the correct arguments and will also catch typos. Custom attributes can be added using the argument
custom_attributes
. Those will be passed down the class hierarchy and can (possibly) be handled in parent classes. - Add
inactivity_costs
as an option forFlow
s. Inactivity costs is a cost for times where a Flow is not operated. - Examples are added to the documentation. (The format of the examples could be improved, though.)
Besides these changes, there is one big thing that has happened “under the hood”. It is now possible to combine NonConvex
and Investment optimisation in the same Flow
.
Thanks to all the contributors, namely (in alphabetical order) Sarah Berendes, Pierre-François Duc, David Fuhrländer, Hendrik Huyskens, Johannes Kochems, Uwe Krien, Jan Launner, Johannes Röder, Saeed Sayadi, Patrik Schönfeldt, Lennart Schürmann, Francesco Witte, and Ekaterina Zolotarevskaia.