bsrn.physics.geometry.get_solar_position#

bsrn.physics.geometry.get_solar_position(times, lat, lon, elev=0, pressure=None, temp=12.0)[source]#

Calculates solar zenith angle ($Z$) and solar azimuth angle ($phi$) using SPA [1] [2].

Parameters:
  • times (pd.DatetimeIndex) – Times for calculation.

  • lat (float) – Latitude. [degrees]

  • lon (float) – Longitude. [degrees]

  • elev (float, default 0) – Elevation. [m]

  • pressure (float, optional) – Surface pressure. [hPa] If None, calculated from elevation.

  • temp (float, default 12.0) – Air temperature ($T$). [°C]

Returns:

solpos – DataFrame with columns ‘zenith’ ($Z$), ‘apparent_zenith’, ‘azimuth’ ($phi$). [degrees]

Return type:

pd.DataFrame

Raises:

ValueError – If pressure is provided and is non-positive or non-finite, or if get_pressure_from_elevation() rejects elev when pressure is omitted.

References