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