/feedinlib

This repository contains implementations of photovoltaic models to calculate electricity generation from a pv installation based on given solar radiation. Furthermore it contains all necessary pre-calculations.

Primary LanguageJupyter NotebookMIT LicenseMIT

The feedinlib is a tool to calculate feed-in time series of photovoltaic and wind power plants. It therefore provides interfaces between different weather data sets and feed-in models. It is part of the oemof group but works as a standalone application.

The feedinlib is ready to use but it definitely has a lot of space for further development, new and improved models and nice features.

Introduction

So far the feedinlib provides interfaces to download open_FRED and ERA5 weather data. open_FRED is a local reanalysis weather data set that provides weather data for Germany (and bounding box). ERA5 is a global reanalysis weather data set that provides weather data for the whole world. The weather data can be used to calculate the electrical output of PV and wind power plants. At the moment the feedinlib provides interfaces to the pvlib and the windpowerlib. Furthermore, technical parameters for many PV modules and inverters, as well as wind turbines, are made available and can be easily used for calculations.

Documentation

Full documentation can be found at readthedocs. Use the project site of readthedocs to choose the version of the documentation. Go to the download page to download different versions and formats (pdf, html, epub) of the documentation.

Installation

If you have a working Python 3 environment, use pip to install the latest feedinlib version:

pip install feedinlib

The feedinlib is designed for Python 3 and tested on Python >= 3.5.

We highly recommend to use virtual environments. Please see the installation page of the oemof documentation for complete instructions on how to install python and a virtual environment on your operating system.

Examples and basic usage

The basic usage of the feedinlib is shown in the examples section of the documentation. The examples are provided as jupyter notebooks that you can download here:

Furthermore, you have to install the feedinlib with additional packages needed to run the notebooks, e.g. jupyter:

pip install feedinlib[examples]

To launch jupyter notebook type jupyter notebook in the terminal. This will open a browser window. Navigate to the directory containing the notebook(s) to open it. See the jupyter notebook quick start guide for more information on how to run jupyter notebooks.

Contributing

We are warmly welcoming all who want to contribute to the feedinlib. If you are interested do not hesitate to contact us via github.

As the feedinlib started with contributors from the oemof developer group we use the same developer rules.

How to create a pull request:

  • Fork the feedinlib repository to your own github account.

  • Create a local clone of your fork and install the cloned repository using pip with the -e option:

    pip install -e /path/to/the/repository
    
  • Change, add or remove code.

  • Commit your changes.

  • Create a pull request and describe what you will do and why.

  • Wait for approval.

Generally the following steps are required when changing, adding or removing code:

  • Add new tests if you have written new functions/classes.

  • Add/change the documentation (new feature, API changes ...).

  • Add a whatsnew entry and your name to Contributors.

  • Check if all tests still work by simply executing pytest in your feedinlib directory:

    pytest
    

Citing the feedinlib

We use the zenodo project to get a DOI for each version. Search zenodo for the right citation of your feedinlib version.

License

MIT License

Copyright (C) 2017 oemof developer group