0

我正在尝试使用 PVLIB Python 在垂直平面上生成辐照度数据,并在从 PVGIS 网站收集的水平平面上输入数据。下载的文件为 .csv 格式。并包含每小时频率的辐照度值

# creating a lambda function to parse the date in csv file
mydateparser = lambda x: pd.datetime.strptime(x, "%Y%m%d:%H%M") 

irrad_horz_ERA5 = pd.read_csv(
    (r'C:\Users\dpaul\OneDrive\1st part\Downloaded csv\PVGISERA5\Horizontal'
     r'\Timeseries_45.467_9.191_E5__0deg_0deg_2010_2016.csv'),
    parse_dates=['Date'], date_parser=mydateparser)

latitude = 45.466
longitude = 9.183
altitude = 120
city = 'Milano'
timezone = 'Europe/Rome'
ground_albedo = 0.2 

times = pd.date_range(
    '2010-1-1 00:00:00', periods=52584,
    freq='1 h', tz=timezone) # 2010 to 2015


solpos = pvlib.solarposition.get_solarposition(
    times, location.latitude, location.longitude) # solar position
columns = ['apparent_zenith', 'azimuth']
solpos[columns] = solpos[columns].apply(pd.to_numeric, axis=1)

cols = ['ghi', 'Bi', 'Di']
irrad_horz_ERA5[cols] = irrad_horz_ERA5[cols].apply(pd.to_numeric, axis=1)

westERA5 = pvlib.irradiance.get_total_irradiance(
    surface_tilt=90, surface_azimuth=270, solar_zenith=solpos.apparent_zenith,
    solar_azimuth=solpos.azimuth, ghi=irrad_horz_ERA5.ghi,
    dni=irrad_horz_ERA5.Bi, dhi=irrad_horz_ERA5.Di, albedo=ground_albedo)

westERA5.head(20)

这会生成连续的 NaN 值,如附件中所示。我不确定我使用的 pvlib 函数是不正确还是其他。

pvlib 输出全部为 NaN

4

0 回答 0