Skip to main content

GSEE: Global Solar Energy Estimator

Project description

Build Status Coverage PyPI version

GSEE: Global Solar Energy Estimator

GSEE is a solar energy simulation library designed for rapid calculations and ease of use. Renewables.ninja uses GSEE.

Requirements

Works only with Python 3. Required libraries:

Installation

Simply install with pip:

pip install gsee

The recommended way to install the required scientific libraries is to use the Anaconda Python distribution.

Known issue: If you do not already have numpy installed, you will get a compiler error when pip tries to build to climatedata_interface Cython extension.

Functionality

The following submodules are available:

  • brl_model: an implementation of the BRL model, a method to derive the diffuse fraction of irradiance, based on Ridley et al. (2010)
  • climatedata_interface: an interface to use GSEE with annual, seasonal, monthly or daily data. See docs/climatedata_interface for details.
  • pv: electric output from PV a panel
  • trigon: functions to calculate irradiance on an inclined plane

A model can be imported like this: import gsee.pv

A plant simulation model implements a model class (e.g. PVPlant) with the relevant settings, and a run_model() function that take time series data (a pandas Series) and runs a default instance of the model class, but can also take a model argument to specify a custom-configured model instance.

Examples

Power output from a PV system with fixed panels

In this example, data must be a pandas.DataFrame with columns global_horizontal (in W/m2), diffuse_fraction, and optionally a temperature column for ambient air temperature (in degrees Celsius).

result = gsee.pv.run_model(
    data,
    coords=(22.78, 5.51),  # Latitude and longitude
    tilt=30, # 30 degrees tilt angle
    azim=180,  # facing towards equator,
    tracking=0,  # fixed - no tracking
    capacity=1000,  # 1000 W
)

Aperture irradiance on a panel with 2-axis tracking

location = (22.78, 5.51)
plane_irradiance = gsee.trigon.aperture_irradiance(
    data['direct_horizontal'], data['diffuse_horizontal'],
    location, tracking=2
)

Climate data Interface

Example use directly reading NetCDF files with GHI, diffuse irradiance fraction, and temperature data:

from gsee.climatedata_interface.interface import run_interface

run_interface(
    ghi_data=('ghi_input.nc', 'ghi'),  # Tuple of (input file path, variable name)
    diffuse_data=('diffuse_fraction_input.nc', 'diff_frac'),
    temp_data=('temperature_input.nc', 't2m'),
    outfile='output_file.nc',
    params=dict(tilt=35, azim=180, tracking=0, capacity=1000),
    frequency='detect'
)

Tilt can be given as a latitude-dependent function instead of static value:

params = dict(tilt=lambda lat: 0.35396 * lat + 16.84775, ...)

Instead of letting the climate data interface read and prepare data from NetCDF files, an xarray.Dataset can also be passed directly (e.g. when using the module in combination with a larger application):

from gsee.climatedata_interface.interface import run_interface_from_dataset

result = run_interface_from_dataset(
    data=my_dataset,  # my_dataset is an xarray.Dataset
    params=dict(tilt=35, azim=180, tracking=0, capacity=1000)
)

By default, a built-in file with monthly probability density functions is automatically downloaded and used to generate synthetic daily irradiance.

For more information, see the climate data interface documentation.

Development

To install the latest development version directly from GitHub:

pip install -e git+https://github.com/renewables-ninja/gsee.git#egg=gsee

To build the climatedata_interface submodule Cython >= 0.28.5 is required.

Credits and contact

Contact Stefan Pfenninger for questions about GSEE. GSEE is also a component of the Renewables.ninja project, developed by Stefan Pfenninger and Iain Staffell. Use the contact page there if you want more information about Renewables.ninja.

Citation

If you use GSEE or code derived from it in academic work, please cite:

Stefan Pfenninger and Iain Staffell (2016). Long-term patterns of European PV output using 30 years of validated hourly reanalysis and satellite data. Energy 114, pp. 1251-1265. doi: 10.1016/j.energy.2016.08.060

License

BSD-3-Clause

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gsee-0.3.1.tar.gz (80.8 kB view details)

Uploaded Source

File details

Details for the file gsee-0.3.1.tar.gz.

File metadata

  • Download URL: gsee-0.3.1.tar.gz
  • Upload date:
  • Size: 80.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.4.2 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.1

File hashes

Hashes for gsee-0.3.1.tar.gz
Algorithm Hash digest
SHA256 a20d24f85fb77276713ccd6a25df884a2de4195909532b7f36f91a3ec50ed8ea
MD5 f94af572f78186b76e83b31ac4860c23
BLAKE2b-256 7d6a5fc32751ea05af151080a219cecf416e19e6619e747cca421ed4a5524531

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page