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]. 使用 SPA 算法计算太阳天顶角 ($Z$) 和太阳方位角 ($phi$)。

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. 地表气压。[百帕]。若为 None,则根据海拔计算。

  • temp (float, default 12.0) – Air temperature ($T$). [°C] 气温 ($T$)。[摄氏度]

Returns:

solpos – DataFrame with columns ‘zenith’ ($Z$), ‘apparent_zenith’, ‘azimuth’ ($phi$). [degrees] 包含 ‘zenith’ ($Z$)、’apparent_zenith’、’azimuth’ ($phi$) 的 DataFrame。[度]

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. 给定 pressure 时非正或非有限,或省略 pressureget_pressure_from_elevation() 拒绝 elev 时。

References