oemof user meeting, May 2018

Jann Launer edited this page May 14, 2018 · 30 revisions

Date

The oemof user meeting takes place in Magdeburg on May 8th 2018, starting from 10 am. Optionally we have the chance to discuss further at a dinner on the evening of May 8th and continue the working groups in the morning of May 9th.

Venue

OVGU Gebäude 29
Room 301 Universitätspl. 2
39106 Magdeburg
http://www.openstreetmap.org/search?query=geb%C3%A4ude%2029%20Magdeburg#map=19/52.13891/11.64581

Agenda

Workshop language is English.

A collective notebook for the day is provided here: https://etherpad.net/p/oemof_user_may_2018

10:00 - 10:30

  • Short introduction round and collecting possible topics which haven't found the way on the agenda yet. We still have the possibility to set up parallel working groups.

10:30 - 11:30

  • Switching from v0.1 to v0.2, what's new in oemof v0.2.1 and what is planned in the future [Uwe Krien]

11:30 - 12:00

  • Presentation of the new feedinlib and the open_FRED data set [Jonathan Amme]

12:00 - 13:00 Lunch break

13:00 - 15:00

  • Presentation of using oemof to validate real data of PV battery systems and simulate electric vehicles in combniation with a PV battery system [Bastian Hackenberg]
  • Handling of input data (excel-reader, csv-reader, data base) [interactive working group]

15:00 - 15:15 Coffee break

15:15 - 17:15

  • Presentation of the applications "GridCon" and "economics_BAUM" which deal with the electrification of agricultural machines [Michael Stöhr] --> Please find the oemof application and further information here: https://github.com/baumconsult/gridcon
  • Handling complex energy system models (multi-demands, multi-commodities, multi-region, ...) [interactive working group]

17:15 - 18:00

  • Linear optimal power flow (LOPF) vs. transshipment model [interactive working group]

18:00 - 18:30

  • Feedback round and collecting open questions and wishes for the future

from around 18:30 leaving to the optional dinner

Notes at the meeting

Tuesday, 08.05.2018

Switching from v0.1 to v0.2, what's new in oemof v0.2.1 and what is planned in the future [Uwe Krien]

Everybody uses already v0.2, so a 'switching tutorial' is not necessary.

Here are the most relevant features and changes of v0.2:

  • The csv-Reader is not anymore part of v0.2. It is hard to maintain a universal version and better to give an example on how to adapt a csv-reader for your personal problem.
  • The attribute 'fixed_costs' has been removed.
  • A module which uses networkx to plot and analyse graphs has been added. You can also export your graph to yEd.
  • We now have 'custom components'. People can add their own components on an experimental level (full documentation and tests are not required as needed for becoming part of oemof). They can always be added to your application even if they are not part of oemof. For example the linear optimal power flow (LOPF) components are on an experimental level.
  • You can add your own constraints to your application or to the module constraints.py (if you want to make it available for others), see for example the emission_limit in oemof/constraints.py
  • new component GenericOffsetTransformer
  • minimum number of time-steps is two
  • The new function 'param_results' collects all input parameters to analyze them together with the results of the optimization. The name of the function will be changed in the next release.

Stuff currentlly under development:

  • heat systems --> project oemof_heat (new components to be developed: heat distribution systems, stratified heat storage, concentrating solar thermal power plants)

  • TESPy (Thermal Engineering Systems in Python) is part of the oemof framework: https://github.com/oemof/tespy, you can use TESPy to generate characteristics of you optimization model which you create with the library oemof.solph

  • The outputlib is under further development. Analysis of your results will be easier.

  • oemof.core developments:

Presentation of the new feedinlib and the open_FRED data set [Jonathan Amme]

In a project of RLI, Helmholtz-Zentrum Geesthacht and University Magdeburg called open_FRED the feedinlib, which has up to now only basic calculations for pv and wind power, is extensively improved, see the presentation for more information.

You can use the feedinlib as stand-alone-model or within your oemof application. You can use your own weather data or the weather data base (in the next two or three weeks).

Presentation of using oemof to validate real data of PV battery systems and simulate electric vehicles in combniation with a PV battery system [Bastian Hackenberg]

Solar home system with PV-plant, battery, electric vehicle and connection to the grid. Compares the charging of a real battery and the oemof optimisation. Discrepancies are explained by the difference in approaches: Perfect foresight in oemof, weather prediction based strategies for the real battery weekly control of the storage behaviour leads to better results SPI Modeling of EV

Handling of input data (excel-reader, csv-reader, data base) [interactive working group]

Uwe showed the difference between the old universal csv-reader and a new one which he created for the same problem. The new one is much clearer. Jonathan showed the excel-reader. The updated excel reader example will be merged in a few days in the oemof_examples repository. Uwe suggests csv-collections which are versionable on github.

Gabriele showed his work on the Italian energy system scenarios. He also wants to create a converter for the excel-reader to easily implement the huge amount of data he needs for his scenarios.

Jonathan shows how SQLAlchemy can be used to access sql databases from within python. You can e.g. get data from the database and write it to a pandas dataframe. Jonathan will upload an example featuring SQLAlchemy to the oemof_example repository. Link to SQLAlchemy: http://www.sqlalchemy.org/ Instead of defining the SQLAlchemy models manually, you can let sqlacodegen do it for you: https://pypi.org/project/sqlacodegen/

Presentation of the applications "GridCon" and "economics_BAUM" which deal with the electrification of agricultural machines [Michael Stöhr]

Michael presents a design study for autonomous electrified agricultural machines. Please find the oemof application and further information here: https://github.com/baumconsult/gridcon oemof's economics.py can only handle single investments (which have the same financial lifetime), therefore an own module was developed: https://github.com/baumconsult/gridcon/blob/master/economics_BAUM_171221.py --> How can this be integrated into oemof?

Further topics which are not on the agenda:

Splitting up into three groups:

Group 1) Talking about linear, mixed integer linear and nonlinear problems wishes:

  • BHKW with 3 operation modes 30%, 60%, 90%
  • Nonlinearities that occur in heat components
  • Nonlinear cost functions
  • Nonlinear load dependend efficiency

If computational resources do not suffice, cloud computing can be an option. A component with nonlinear investment costs could be implemented and put into the custom.py module

Group 2) Talking about the different approaches if your problem is too big (If the analysed energy system contains too many nodes, the necessary working memory of the computer might exceed the available one.), relax constraints Leticia present something of her actual work (market model)

Group 3) Talking about heat demands degree day method: Demand profiles using temperature timeseries Tools: open equarter simstadt

alltogether) What are the requirements to the analysis tool which is under development (outputlib)? - Please add your requirements if you miss some. Summed operating hours Summed Production Mean Production during operation hours Maximal Production Minimal Production Full load hours Start count Deckungsgrad Erneuerbare Summed Excess, maximal Excess Summed import maximal import

Feedback round

Details deep in the code were hard to follow. Predefined examples, modeling practice in small groups would be nice. Some parts were hard to follow for beginners. Good to hear what is coming. Concrete modeling examples would be useful. Useful. Good to see other people's work. Hard to enter for beginners. An introduction would have been helpful. Anyhow, the broad spectrum of oemof applications became apparent. Wide range of usability was impressive. Very motivating. Main expectations: 1.) Beginner tutorial 2.) modeling practice 3.) advanced features Maybe in the next meeting, advanced users can introduce new users.

Wednesday, 09.05.2018

Wishes from the users for today.

9:30 - 10:30 Splitting up into two groups.

Group 1) insights into TESPy

Group 2) how to add constraints (minimum downtime), how to add custom components plus an example

  • example flexible modeling/add_constraints.py:

shows, how to add own constraints

example is out-of-date. Now you can set the own attributes to the Flow directly, when you define it

  • in oemof.solph.custom, there are some predefined constrains as functions --> possible to adapt this for own requirements

  • minimum downtime: see example min_max_runtime

10:45 - 12:00 git and github

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.