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(day_of_year=None, lat=None, SHA_deg=None, time_UTC=None, geometry=None)

  • Description: Computes daylight hours for a specific day and location. Accepts multiple input types: you can provide the sunrise hour angle (SHA) directly, or supply day of year and latitude (or a datetime or geometry), and the function will calculate SHA as needed.
  • Parameters:
    • day_of_year (optional): Day of year (int, array, or Raster).
    • lat (optional): Latitude in degrees (float, array, or Raster).
    • SHA_deg (optional): Sunrise hour angle in degrees.
    • time_UTC (optional): Datetime in UTC (datetime, string, or array).
    • geometry (optional): Geometry object with latitude.
  • Returns: Daylight hours (float, array, or Raster).

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.5.0.tar.gz (16.6 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.5.0-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sun_angles-1.5.0.tar.gz
  • Upload date:
  • Size: 16.6 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.5.0.tar.gz
Algorithm Hash digest
SHA256 d311a1c53539994b9c1b406987ca79d6ba05c3a8f5512d52ec13a277c0f33f6e
MD5 1439a78533aed34deb52c6bc57526c7d
BLAKE2b-256 345d3ff4fcfae58e9cd5b01fff01189fecd9284a5f98296ea763ab8dc74d1300

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sun_angles-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 17.0 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.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 35665da971bd4099c40ec1ab17fc118eef7cc382b6611a99d57ee9b5bfa09b4e
MD5 ecf5cc882d18cb218ef0214b96676477
BLAKE2b-256 602c63a22bfa37302de400c3095cc2050fabde8ca20b09c6961a5993f6e6e575

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