Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

Solar Performance and Design library

Project description

solpy

Documentation

Documentation

Background

Solpy is a python library to model solar system power performance similar to PVWatts or NREL’s System Advisor Model(SAM). I initially started writing this while working in Bangladesh as fairly crude calculator to go from a fisheye panorama to a csv of vectors for shading calculations, however there were several pieces that were added to make it a bit more useful for both analyis and design. Daniel Thomas did work adding the Tang evacuated glass tube model. Pyephem was added for solar positioning. There is also a simple module for reading TMY3 data. This tool is rudimentary, but functional.

This is primarily a research and analysis tool and there is no guarantee on the calculations.

Features

  • Liu & Jordan diffuse irradiance model
  • Perez et al. diffuse irradiance model
  • Sandia Inverter model
  • NEC voltage drop caculations
  • Basic System Validation
  • Basic string sizing library
  • Simple Parametric System Design tools
  • realtime system performance forecasting using weather data

Files

  • design.py - parametric design library
  • enphase.py - Enphase API wrapper
  • epw.py - EPW weather data functions
  • expedite.py - calculate information needed for the expedited permit process
  • fisheye.py - fisheye image to shading vectors
  • forecast.py - forecast.io API wrapper
  • noaa.py - NOAA weather data API wrapper
  • pv.py - system performance prediction
  • pvcli - cli for pv modeling using historic weather data
  • tmy3.py - read tmy3 data
  • vd.py - voltage drop

Usage

PV systems are descibed with json. For example:

{"system_name":"System Name",
    "zipcode":"17601",
    "tilt":34,
    "azimuth":180,
    "phase":1,
    "voltage":240,
    "array":[
        {"inverter":"SMA America: SB6000US 240V",
        "panel":"Mage Solar : USA Powertec Plus 250-6 MNCS",
        "series":14,
        "parallel":2}
        ]
    }

If json in a file called i.e. template.json, can be modeled from cli.

pvcli -f template.json

Ipython

This is the sort of project that lends itself nicely to ipython. Since discovering that project I’ve tried to make things flow naturally in that enviroment. I really like the inline graphics of the qtconsole.

$ipython qtconsole –colors=Linux –pylab=inline

http://char1es.net/ipython_pv_example.png

Basic System Validation

There is support for simple design validation from the command line warning for overvoltage or excessive ratios.

ncharles@vm0 $ cat unit.json
{"system_name":"HAPPY CUSTOMER",
        "address":"15013 Denver W Pkwy, Golden, CO",
        "zipcode":"80401",
        "phase":1,
        "voltage":240,
        "array":[
            {"inverter":"SMA America: SB3000TL-US 240V *",
            "tilt":25,
            "azimuth":180,
            "panel":"Mage Solar : Powertec Plus 300-6 PL *",
            "shape":[{"series":6,
            "parallel":1},
            {"series":6,
            "parallel":1}],
            "scale":1
            },
            {"inverter":"Enphase Energy: M215-60-2LL-S2x-IG-NA (240 V) 240V",
            "panel":"Mage Solar : Powertec Plus 250-6 PL",
            "quantity":20,
            "azimuth":180,
            "tilt":25
            }
            ]}

ncharles@vm0 $ expedite.py -f unit.json
HAPPY CUSTOMER - 15013 Denver W Pkwy, Golden, CO 80401
7.3 KW AC RATED
8.62 KW DC RATED
System AC Output Current: 30.4 A
Nominal AC Voltage: 240 V

Minimum Temperature: -22.9 C
2 Percent Max Temperature: 30.2 C
Weather Source: DENVER/CENTENNIAL [GOLDEN - NREL] 724666

PV Module Ratings @ STC
Module Make: Mage Solar
Module Model: Powertec Plus 300-6 PL *
Quantity: 12
Max Power-Point Current (Imp): 8.01 A
Max Power-Point Voltage (Vmp): 37.51 V
Open-Circuit Voltage (Voc): 45.19 V
Short-Circuit Current (Isc): 8.66 A
Maximum Power (Pmax): 300.5 W

Inverter Make: SMA America
Inverter Model:  SB3000TL-US 240V *
Quantity: 1
Max Power: 3.0 KW
Max AC Current: 12.5 A
DC Operating Current: 16.0 A
DC Short Circuit Current: 17.3 A
DC Operating Voltage: 225.1 V
System Max DC Voltage: 311.4 V
Pnom Ratio: 1.2

PV Module Ratings @ STC
Module Make: Mage Solar
Module Model: Powertec Plus 250-6 PL
Quantity: 20
Max Power-Point Current (Imp): 8.01 A
Max Power-Point Voltage (Vmp): 31.28 V
Open-Circuit Voltage (Voc): 37.66 V
Short-Circuit Current (Isc): 8.66 A
Maximum Power (Pmax): 250.6 W

Inverter Make: Enphase Energy
Inverter Model:  M215-60-2LL-S2x-IG-NA (240 V) 240V
Quantity: 20
Max Power: 0.2 KW
Max AC Current: 0.9 A

Array Azimuth: 180 Degrees
Array Tilt: 25 Degrees
December 21 9:00 AM Sun Azimuth: 138.2 Degrees
December 21 9:00 AM Sun Altitude: 14.3 Degrees
December 21 3:00 PM Sun Azimuth: 222.2 Degrees
December 21 3:00 PM Sun Altitude: 14.3 Degrees
Magnetic declination: 9.0 Degrees
Minimum Row space ratio: 2.95

Minimum Bundle
8 CU : EGC 10 CU : 1/2" EMT

Project details


Download files

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

Files for solpy, version 0.15.4.9
Filename, size File type Python version Upload date Hashes
Filename, size solpy-0.15.4.9.tar.gz (1.3 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page