Git Product home page Git Product logo

autopv's Introduction

AutoPV: Automated photovoltaic forecasts with limited information using an ensemble of pre-trained models

AutoPV addresses three challenges:

  • Missing information about the PV mounting configuration (tilt and azimuth angles, mixed-oriented configurations)
  • Missing or limited training data for PV model design (cold-start problem)
  • Adaption to drifting PV power generation capabilities during operation (e.g. age-related degradation, soiling, maintenance)

Methodology

The underlying idea of AutoPV is to describe the arbitrary mounting configuration of a new PV plant as a convex linear combination of outputs from a sufficiently diverse ensemble pool of PV models of the same region. AutoPV incorporates three steps: i) create the ensemble model pool, ii) form the ensemble output by an optimally weighted sum of the scaled model outputs in the pool, and iii) rescale the ensemble output with the new PV plant’s peak power rating.

pipeline

Installation

To install this project, perform the following steps.

  1. Clone the project
  2. Open a terminal of the virtual environment where you want to use the project
  3. cd AuroPV
  4. pip install . or pip install -e . if you want to install the project editable.

How to use

Exemplary evaluations using AutoPV are given in the examples folder.

Model pools

  • The default model pool is based on physical-inspired modeling and uses 12 models (tilt: 15°, 45°, 75°, azimuth: 0°, 90°, 180°, 270°). The default model pool is suitable for situations where no data of nearby PV plants are available.
  • The nearby plants model pool uses machine learning-based modeling to create the models using data from nearby PV plants. The nearby plants model pool can represent shading if it is present in the nearby PV plants.

Evaluation types

  • The offline evaluation optimizes the ensemble weights using the entire training data and does not adapt the weights over time.
  • The online evaluation cyclically adapts the weights based on the testing data (cold-start) and does not require training data.

Citation

If you use this method please cite the corresponding paper:

Stefan Meisenbacher, Benedikt Heidrich, Tim Martin, Ralf Mikut, and Veit Hagenmeyer. 2023. AutoPV: Automated photovoltaic forecasts with limited information using an ensemble of pre-trained models. In Proceedings of the Fourteenth ACM International Conference on Future Energy Systems (e-Energy ’23). Association for Computing Machinery, New York, NY, USA, 386–414. https://doi.org/10.1145/3575813.3597348

Funding

This project is funded by the Helmholtz Association under the Program “Energy System Design” and the Helmholtz Association’s Initiative and Networking Fund through Helmholtz AI.

References

The example data includes weather measurements from DWD:

Deutscher Wetterdienst. 2023. Historical 10-minute station observations of solar incoming radiation, longwave downward radiation, pressure, air temperature, and mean wind speed for Germany. https://opendata.dwd.de/climate_environment/CDC/observations_germany/climate/10_minutes

autopv's People

Contributors

smeisen avatar

Stargazers

 avatar

Watchers

 avatar

autopv's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.