Skip to main content

A Python module do simple modelling in the field of solar energy

Project description

SolarEnergy

PyPI PyPI - Downloads Documentation Status PyPI - License

A Python module to do simple modelling in the field of solar energy. The code is being developped by Marc van der Sluys of the department of astrophysics of the Radboud University Nijmegen, the Netherlands and the department of Sustainable energy of the HAN University of Applied Sciences in Arnhem, the Netherlands.

Installation

This package can be installed using pip install solarenergy. This should automatically install the dependency packages pytz, numpy and soltrack if they haven't been installed already. If you are installing by hand, ensure that these packages are installed as well.

Example use

import solarenergy as se
import numpy as np

# Location of my solar panels:
geoLon =  5*se.d2r  # Geographic longitude (>0 for eastern hemisphere; ° -> rad)
geoLat = 52*se.d2r  # Geographic latitude  (>0 for northern hemisphere; ° -> rad)

# Orientation of my solar panels:
spAz   = -2*se.d2r  # Azimuth ('wind direction') of my panels are facing.  Note: South=0, W=90° (pi/2 rad) in the northern hemisphere!  (rad)
spIncl = 28*se.d2r  # Inclination of my panels w.r.t. the horizontal  (rad)

# An hour past noon local time on 1 March 2020:
myTZ  = 'Europe/Amsterdam'
year  = 2020
month = 3
day   = 1
hour  = 13

# Compute Sun position (uses SolTrack behind the scenes):
sunAz,sunAlt,sunDist = se.computeSunPos(geoLon,geoLat, year,month,day, hour, timezone=myTZ)

AM        = se.airmass(sunAlt)                               # Air mass for this Sun altitude
extFac    = se.extinctionFactor(AM)                          # Extinction factor at sea level for this airmass
cosTheta  = se.cosAngleSunPanels(spAz,spIncl, sunAz,sunAlt)  # cos of the angle with which Sun hits my panels
theta     = np.arccos(cosTheta)                              # Angle with which Sun hits my panels

Iext      = se.solConst / sunDist**2                         # Extraterrestrial radiation = Solar constant, scaled with distance
DNIcs     = Iext / extFac                                    # DNI for a clear sky
dirRad    = DNIcs * cosTheta                                 # Insolation of direct sunlight on my panels


# Print input and output:
print("Location:                    %0.3lf E, %0.3lf N"  % (geoLon*se.r2d, geoLat*se.r2d))
print("Date:                        %4d-%2.2d-%2.2d"     % (year, month, day))
print("Time:                        %2d:00"              % (hour))
print()

print("Sun azimuth:                 %7.3lf°"             % (sunAz*se.r2d))
print("Sun altitude:                %7.3lf°"             % (sunAlt*se.r2d))
print("Sun distance:                %7.4lf AU"           % (sunDist))
print()

print("Air mass:                    %7.3lf"              % (AM))
print("Extinction factor:           %7.3lf"              % (extFac))
print("Sun-panels angle:            %7.1lf°"             % (theta*se.r2d))
print()

print("Solar constant:              %7.1lf W/m²"         % (se.solConst))
print("Extraterrestrial radiation:  %7.1lf W/m²"         % (Iext))
print("DNI (clear sky):             %7.1lf W/m²"         % (DNIcs))
print("Direct insolation:           %7.1lf W/m²"         % (dirRad))
print()

SolarEnergy pages

  • Pypi: SolarEnergy Python package
  • GitHub: SolarEnergy source code
  • ReadTheDocs: SolarEnergy documentation

Author and licence

References

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

solarenergy-0.0.18.tar.gz (27.0 kB view details)

Uploaded Source

Built Distribution

solarenergy-0.0.18-py3-none-any.whl (27.2 kB view details)

Uploaded Python 3

File details

Details for the file solarenergy-0.0.18.tar.gz.

File metadata

  • Download URL: solarenergy-0.0.18.tar.gz
  • Upload date:
  • Size: 27.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.10

File hashes

Hashes for solarenergy-0.0.18.tar.gz
Algorithm Hash digest
SHA256 9ae0191661ee4ba295de15bb008255df55cc2590bc5bc75840d34cb1405ef728
MD5 c5eddd8bf9552dd1c89a1fc0954dfe00
BLAKE2b-256 f9a76009b12d50e76edf7cc5285dc418bbf433c0ce099acb8adcbda0d6fcdea2

See more details on using hashes here.

File details

Details for the file solarenergy-0.0.18-py3-none-any.whl.

File metadata

  • Download URL: solarenergy-0.0.18-py3-none-any.whl
  • Upload date:
  • Size: 27.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.25.1 setuptools/54.2.0 requests-toolbelt/0.9.1 tqdm/4.50.2 CPython/3.7.10

File hashes

Hashes for solarenergy-0.0.18-py3-none-any.whl
Algorithm Hash digest
SHA256 098854e5a0345df0078b0ae9eb3376ff5d7231850513ce41c41eb50ab7c77b13
MD5 3fd7a359418bc4e06cfc2c5b53d6a02c
BLAKE2b-256 f395133776990496084b593e9600e086e4cb3f909771d774af1119f84d887875

See more details on using hashes here.

Supported by

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