Potential improvements outside of the E-Land Project
This issue should gather all the improvements that are possible for the MVS which are not part of the E-Land project. Follow-up projects may be open_PLAN or E-Land 2.0, or general development. Each possible improvement should be an individual post, so that we are able to create an new issue for implementation for it easily.
Input of data
oemof.tabular (github repo/RTD) basically does what we build for the data input (datapackage see here with elements and sequences folder, generates a json from this), but tabular should be able to use all currently exisiting oemof assets.
I am not sure if we only need to switch the input folder and functions in A0/A1, or if we need to build a new parser for the tabular json file, which then translates everything back in MVS json format.
Implementing oemof.solph.custom.Link() for logical flow connections
Currently, we have the limitation that we can have charge and discharge at the same time, as we can not implement a constraint for charge \cdot discharge = 0. Same goes for exports & imports from an energy provider and so on. It seems that in ENaQ, a custom component custom.Link() was developed that can actually prohibit this unwanted behaviour, without using binary varibales. We could follow into this issue to see whether we want to include this ourselves.
Data preprocessing
In E-Land we will probably not manage to implement preprocessing into the MVS, for example:
- Automatized retrieval of historical renewable generation timeseries (renewable ninjas)
- Automatized generation of renewable generation timeseries (
windpowerlib,pvlib) - Processing of technical parameters for heat pump or stratified thermal storage (comp. #667,
oemof.heat,pvcompare). COP time series can be calculate them withoemof.thermal <https://github.com/oemof/oemof-thermal>, seedocumentation on compression heat pumps and chillers <https://oemof-thermal.readthedocs.io/en/stable/compression_heat_pumps_and_chillers.html>anddocumentation on absorption chillers <https://oemof-thermal.readthedocs.io/en/stable/absorption_chillers.html>_.
It would of course be great if this could be included, for example as a new module that may be called in the MVS if certain parameters are (not) given for generation timeseries. This would also mean new input templates in case of oemof.heat. This directly connects to the EPA (user interface of MVS), so adaptations there would then also be necessary. Maybe they can be managed step-by-step.
Expand oemof objects that can be used with MVS
Currently the MVS only uses a fairly basic set of components for its models, with only Sinks, Sources, Transformers, Storage. In the future, it may be nice if we could integrate more specific oemof-solph components, especially:
- Heat pump
- CHP
- Piecewise linear generator
- DSM Sink
might fall under open_plan requirements :P
Stability constraint
To implement a "stability constraint" that makes sure that the optimized system configuration is also able to deal with demand or generation volatilities is something that was requested by the stakeholders. This could be an operational reserve constraint (comp. HOMER), or a constraint requiring a certain share of "stable" supply assets in each timestep (comp. Offgridders).
Improved modelling of gas/heat lines
I think it is possible to improve the represenation of gas and heat networks in the MVS, possibly even with pressure and temperature. Previous discussions should be scanned in the oemof-solph issues as well as on the openmod.