python - 为什么用 get_pvgis_hourly 检索到的数据与 PV Performance Tool 中的数据不匹配?
问题描述
我有兴趣通过代码检索每年平面辐照的值,给定从函数中获取的参数数据库get_pvgis_hourly
,从这个 parser\getter中获取,如下所示:
get_pvgis_hourly(45.858217, 12.267183, angle=7, aspect=-44, outputformat='csv',
usehorizon=True, userhorizon=None, raddatabase="PVGIS-SARAH",
startyear=None, endyear=None, pvcalculation=False,
peakpower=1, pvtechchoice='crystSi',
mountingplace='free', loss=14, trackingtype=0,
optimal_inclination=False, optimalangles=False,
components=False, url=URL, map_variables=True, timeout=30)[0].sum()
输出如下:
poa_global 17993672.40
solar_elevation 1489417.07
temp_air 1417261.89
wind_speed 213468.18
Int 2386.00
dtype: float64
但是如果我在 PVGIS 中使用相同的数据- PV Performance Tool like this
我获得了不同的数据:
任何提示将不胜感激。
解决方案
我建议养成在总结之前检查基础数据的习惯。通常你会发现你对数据的假设并不成立。打印和绘制数据是很好的起点。
data, inputs, meta = get_pvgis_hourly(45.858217, 12.267183, angle=7, aspect=-44, outputformat='csv',
usehorizon=True, userhorizon=None, raddatabase="PVGIS-SARAH",
startyear=None, endyear=None, pvcalculation=False,
peakpower=1, pvtechchoice='crystSi',
mountingplace='free', loss=14, trackingtype=0,
optimal_inclination=False, optimalangles=False,
components=False, url=URL, map_variables=True, timeout=30)
print(data['poa_global'])
time
2005-01-01 00:10:00+00:00 0.0
2005-01-01 01:10:00+00:00 0.0
2005-01-01 02:10:00+00:00 0.0
2005-01-01 03:10:00+00:00 0.0
2005-01-01 04:10:00+00:00 0.0
2016-12-31 19:10:00+00:00 0.0
2016-12-31 20:10:00+00:00 0.0
2016-12-31 21:10:00+00:00 0.0
2016-12-31 22:10:00+00:00 0.0
2016-12-31 23:10:00+00:00 0.0
Name: poa_global, Length: 105192, dtype: float64
data['poa_global'].plot()
这表明它data
保存了 12 年的每小时值,所以当你计算整个事物的总和时,它是 12 年的总日照。PVGIS 网站除以 12 得到平均年日照。最后,请注意存在单位差异(kWh/m^2 与 Wh/m^2),因此除以 1000 即可:
In [25]: data['poa_global'].sum() / 12 / 1000
Out[25]: 1499.4727
推荐阅读
- html - 在 Vuejs 鼠标悬停期间保存数组对象索引的数据属性
- reactjs - 如何在 reactjs 中使用 jwt-decode 库解码 JWT 令牌
- javascript - 每当单击链接时,该链接的 ngcontainer 的内容应该接管模式,但是如何使用多个 ngcontainer 来做到这一点?
- python - Python 脚本不会从命令行运行。它显示没有错误
- ssl - Libvirt 和 TLS 忽略 CA 文件设置
- r - 查找数据表中的原始数据是否包含列表中的至少一个单词
- regex - regex expression does not match as expected in Python
- javascript - 为什么只执行“else”语句?
- android - Android在调用WebRTC时将音频录制到文件控制器
- javascript - DOM 在 div 中的任意位置单击时获取图像 src