如何计算经纬度 1 m^2 平面正方形的太阳辐照度?

How do I calculate solar irradiance of 1 m^2 flat square at a latitude and longitude?

是否可以使用 Python 库,如 pysolar、pvlib 或类似的库来计算

如果您还没有辐照度数据,我建议您使用来自 PVGIS or NREL's NSRDB PSM3(美洲)的数据。

无论哪种情况,我都建议您先通过 Web 应用程序熟悉该服务。这应该可以让您很好地了解地理覆盖范围以及可用的参数和设置。

然后,您可以使用相应的 pvlib 函数以编程方式检索数据。检索 PVGIS 每小时数据的函数是:pvlib.iotools.get_pvgis_hourly().

下面显示了一个如何从 PVGIS 检索辐照度数据的简短示例:

import pvlib
import pandas as pd

data, inputs, meta = pvlib.iotools.get_pvgis_hourly(
    latitude=55.7905, # North is positive
    longitude=12.5250, # East is positive
    start=pd.Timestamp('2020-01-01'), # First available year is 2005
    end=pd.Timestamp('2020-12-31'), # Last available year is 2020 (depends on database)
    raddatabase='PVGIS-SARAH2',
    surface_tilt=5, # surface tilt angle
    surface_azimuth=0, # 0 degrees corresponds to south
    components=True, # Whether you want the individual components or just the total
    url='https://re.jrc.ec.europa.eu/api/v5_2/', # URL for version 5.2
    )

data[['poa_direct','poa_sky_diffuse','poa_ground_diffuse']].plot(
    figsize=(6,4), subplots=True, sharex=True)