oemof/oemof-solph

View on GitHub
docs/whatsnew/v0-2-1.rst

Summary

Maintainability
Test Coverage
v0.2.1 (March 19, 2018)
-----------------------


API changes
####################

  * The function create_nx_graph only takes an energysystem as argument,
    not a solph model. As it is not a major release you can still pass
    a Model but you should adapt your application as soon as possible.
    (`Issue #439 <https://github.com/oemof/oemof-solph/pull/439>`_)


New features
####################

  * It is now possible determine minimum up and downtimes for nonconvex flows.
    Check :ref:`runtime_limit_example_label` for an exemplary usage.

  * Startup and shutdown costs can now be defined time-dependent.

  * The graph module has been revised.
    (`Issue #439 <https://github.com/oemof/oemof-solph/pull/439>`_)

    * You can now store a graph to disc as `.graphml` file to open it in yEd
      with labels.
    * You can add weight to edges.
    * Labels are attached to the nodes.

  * Two functions `get_node_by_name` and `filter_nodes` have been added that
    allow to get specified nodes or nodes of one kind from the results
    dictionary. (`Issue #426 <https://github.com/oemof/oemof-solph/pull/426>`_)

  * A new function `param_results()` collects all parameters of nodes and flows
    in a dictionary similar to the `results` dictionary.
    (`Issue #445 <https://github.com/oemof/oemof-solph/pull/445>`_)

  * In `outputlib.views.node()`, an option for multiindex dataframe has been added.


Documentation
####################

  * Some small fixes and corrected typos.


Known issues
####################

  * It is not possible to model one time step with oemof.solph. You have to
    model at least two timesteps
    (`Issue #306 <https://github.com/oemof/oemof-solph/issues/306>`_). Please leave a
    comment if this bug affects you.


Bug fixes
####################

  * Shutdown costs for nonconvex flows are now accounted within the objective
    which was not the case before due to a naming error.
  * Console script `oemof_test_installation` has been fixed.
    (`Issue #452 <https://github.com/oemof/oemof-solph/pull/452>`_)
  * Adapt solph to API change in the Pyomo package.
  * Deserializing a `Node <oemof.network.Node>` leads to an object which
    was no longer serializable. This is fixed now. `Node
    <oemof.network.Node>` instances should be able to be dumped and restored an
    arbitraty amount of times.
  * Adding timesteps to index of constraint for component el-line
    fixes an issue with pyomo.


Testing
####################

  * New console script `test_oemof` has been added (experimental).
    (`Issue #453 <https://github.com/oemof/oemof-solph/pull/453>`_)


Other changes
####################

  * Internal change: Unnecessary list extensions while creating a model are
    avoided, which leads to a decrease in runtime.
    (`Issue #438 <https://github.com/oemof/oemof-solph/pull/438>`_)
  * The negative/positive gradient attributes are dictionaries. In the
    constructor they moved from sequences to a new `dictionaries` argument.
    (`Issue #437 <https://github.com/oemof/oemof-solph/pull/437>`_)
  * License agreement was adapted according to the reuse project
    (`Issue #442 <https://github.com/oemof/oemof-solph/pull/442>`_)
  * Code of conduct was added.
    (`Issue #440 <https://github.com/oemof/oemof-solph/pull/440>`_)
  * Version of required packages is now limited to the most actual version
    (`Issue #464 <https://github.com/oemof/oemof-solph/issues/464>`_)


Contributors
####################

  * Cord Kaldemeyer
  * Jann Launer
  * Simon Hilpert
  * Stephan Günther
  * Uwe Krien