Skip to main content

calculates solar zenith and azimuth and daylight hours

Project description

Usage

This package provides a set of functions for calculating solar geometry parameters. Below is a summary of each function and its usage:

CI

The sun-angles Python package calculates solar zenith and azimuth and daylight hours.

Gregory H. Halverson (they/them)
gregory.h.halverson@jpl.nasa.gov
NASA Jet Propulsion Laboratory 329G

Installation

This package is availabe on PyPi as a pip package as sun-angles with a dash.

pip install sun-angles

Usage

Import this package as sun_angles with an under-score.

import sun_angles

1. day_angle_rad_from_DOY(DOY)

  • Description: Calculates the day angle (in radians) from the day of the year.
  • Parameters: DOY (int, numpy array, or Raster): Day of year (1–365).
  • Returns: Day angle in radians.
  • Reference: Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.

2. solar_dec_deg_from_day_angle_rad(day_angle_rad)

  • Description: Computes the solar declination (in degrees) from the day angle (in radians).
  • Parameters: day_angle_rad (float, numpy array, or Raster): Day angle in radians.
  • Returns: Solar declination in degrees.
  • Reference: Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.

3. SHA_deg_from_DOY_lat(DOY, latitude)

  • Description: Calculates the sunrise hour angle (SHA, in degrees) from day of year and latitude.
  • Parameters:
    • DOY (int, numpy array, or Raster): Day of year.
    • latitude (float, numpy array, or Raster): Latitude in degrees.
  • Returns: Sunrise hour angle in degrees.
  • Reference: Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.

4. daylight_from_SHA(SHA_deg)

  • Description: Converts sunrise hour angle (SHA, in degrees) to daylight hours.
  • Parameters: SHA_deg (float, numpy array, or Raster): Sunrise hour angle in degrees.
  • Returns: Daylight hours.
  • References:
    • Allen, R.G., Pereira, L.S., Raes, D., Smith, M., 1998. Crop evapotranspiration-Guidelines for computing crop water requirements-FAO Irrigation and drainage paper 56. FAO, Rome, 300(9).
    • Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.

5. calculate_daylight(DOY=None, lat=None, SHA_deg=None, datetime_UTC=None, geometry=None)

  • Description: Calculates daylight hours for a given day and location. Flexible input: provide SHA directly, or let the function compute it from DOY and latitude.
  • Parameters:
    • DOY (optional): Day of year.
    • lat (optional): Latitude in degrees.
    • SHA_deg (optional): Sunrise hour angle in degrees.
    • datetime_UTC (optional): Datetime in UTC.
    • geometry (optional): Geometry object with latitude.
  • Returns: Daylight hours.

6. sunrise_from_SHA(SHA_deg)

  • Description: Calculates the sunrise hour from the sunrise hour angle (SHA, in degrees).
  • Parameters: SHA_deg (float, numpy array, or Raster): Sunrise hour angle in degrees.
  • Returns: Sunrise hour.
  • Reference: Duffie, J.A., & Beckman, W.A. (2013). Solar Engineering of Thermal Processes. John Wiley & Sons.

7. SZA_deg_from_lat_dec_hour(latitude, solar_dec_deg, hour)

  • Description: Calculates the solar zenith angle (SZA, in degrees) from latitude, solar declination, and hour.
  • Parameters:
    • latitude (float, numpy array, or Raster): Latitude in degrees.
    • solar_dec_deg (float, numpy array, or Raster): Solar declination in degrees.
    • hour (float, numpy array, or Raster): Solar time in hours.
  • Returns: Solar zenith angle in degrees.
  • Reference: Muneer, T., & Fairooz, F. (2005). Solar radiation model. Applied energy, 81(4), 419-437.

8. calculate_SZA_from_DOY_and_hour(lat, lon, DOY, hour)

  • Description: Calculates the solar zenith angle (SZA, in degrees) from latitude, longitude, day of year, and hour.
  • Parameters:
    • lat (float or array): Latitude in degrees.
    • lon (float or array): Longitude in degrees.
    • DOY (int or array): Day of year.
    • hour (float or array): Hour of day.
  • Returns: Solar zenith angle in degrees.

9. calculate_SZA_from_datetime(time_UTC, lat, lon)

  • Description: Calculates the solar zenith angle (SZA, in degrees) for a given UTC time, latitude, and longitude.
  • Parameters:
    • time_UTC (datetime): UTC time.
    • lat (float): Latitude in degrees.
    • lon (float): Longitude in degrees.
  • Returns: Solar zenith angle in degrees.

10. calculate_solar_azimuth(solar_dec_deg, SZA_deg, hour)

  • Description: Calculates the solar azimuth angle (in degrees) from solar declination, solar zenith angle, and hour.
  • Parameters:
    • solar_dec_deg (float, numpy array, or Raster): Solar declination in degrees.
    • SZA_deg (float, numpy array, or Raster): Solar zenith angle in degrees.
    • hour (float, numpy array, or Raster): Hour of the day.
  • Reference: Muneer, T., & Fairooz, F. (2005). Solar radiation and daylight models: for the energy efficient design of buildings. Architectural Press.

References

  • Allen, R.G., Pereira, L.S., Raes, D., Smith, M., 1998. Crop evapotranspiration-Guidelines for computing crop water requirements-FAO Irrigation and drainage paper 56. FAO, Rome, 300(9).
  • Duffie, J. A., & Beckman, W. A. (2013). Solar Engineering of Thermal Processes (4th ed.). Wiley.
  • Muneer, T., & Fairooz, F. (2005). Solar radiation model. Applied energy, 81(4), 419-437.
  • Muneer, T., & Fairooz, F. (2005). Solar radiation and daylight models: for the energy efficient design of buildings. Architectural Press.

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

sun_angles-1.3.0.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sun_angles-1.3.0-py3-none-any.whl (14.7 kB view details)

Uploaded Python 3

File details

Details for the file sun_angles-1.3.0.tar.gz.

File metadata

  • Download URL: sun_angles-1.3.0.tar.gz
  • Upload date:
  • Size: 15.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for sun_angles-1.3.0.tar.gz
Algorithm Hash digest
SHA256 733f3ff996c12900c020c1be766e50ea51cb46add0b176a29a8f3b70deb6e87b
MD5 ecde8f82d25914b03ae4a9277af96371
BLAKE2b-256 1c6d87df5230d6dfaa2ed6178c6f42fcf44b5767c8c0820d871d86bba46f20fc

See more details on using hashes here.

File details

Details for the file sun_angles-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: sun_angles-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 14.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for sun_angles-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5cbde59410c82369c340205badd7cfe862ea0a201fa6aed564711c6cc1f51a13
MD5 a2581584c9ed35f275a6449115e436c6
BLAKE2b-256 b9f80357253c2d33173ec63cfe9f3965523e37a93b767095fffe1383b5334f26

See more details on using hashes here.

Supported by

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