如何将.pan模组、.ond逆变器文件及SolarGIS气象数据导入PVLib
PVlib本地资源文件导入解决方案
读取本地.pan/.ond格式文件
pvlib本身未内置直接解析SAM原生.pan(组件参数)、.ond(逆变器参数)格式的接口,你可以通过NREL官方的SAM Python SDK提取文件参数后适配到pvlib流程中,操作步骤如下:
- 首先安装SAM Python依赖:
pip install nrel-pysam - 用SDK加载本地文件,提取所需参数,转换为pvlib兼容的字典格式,提取后的参数和
retrieve_sam接口返回的参数用法完全一致,可直接传入pvlib的组件、逆变器计算函数 - 示例参考代码:
import PySAM from PySAM import Pvsamv1 # 加载本地.pan组件文件 model = Pvsamv1.new() model.SolarPanel.module_file = "/本地路径/你的组件文件.pan" model.execute() # 提取pvlib可用的组件参数字典 module_params = { "alpha_sc": model.SolarPanel.alpha_sc, # 短路电流温度系数 "I_L_ref": model.SolarPanel.I_L_ref, # 参考光电流 "I_o_ref": model.SolarPanel.I_o_ref, # 参考反向饱和电流 "R_s": model.SolarPanel.R_s, # 串联电阻 "R_sh_ref": model.SolarPanel.R_sh_ref, # 参考并联电阻 "a_ref": model.SolarPanel.a_ref, # 修正因子 "Adjust": model.SolarPanel.adj }
.ond逆变器文件的读取逻辑完全一致,提取参数后传入pvlib的逆变器计算接口即可。
导入本地SolarGIS气象数据
SolarGIS导出的本地气象数据多为CSV格式,无需依赖专用IO接口,按pvlib的气象输入规范做字段、格式适配即可使用,操作步骤如下:
- 用pandas读取本地CSV文件,注意跳过文件开头的元数据说明行(SolarGIS导出文件前几行通常为站点经纬度、参数说明等非表格内容,需指定skiprows参数跳过)
- 处理时间列为带时区的pandas DatetimeIndex,示例:
df.index = pd.to_datetime(df["时间列名"]).dt.tz_localize("对应时区编码") - 字段重命名为pvlib要求的标准名:
- 辐照字段:GHI改为
ghi、DNI改为dni、DHI改为dhi,单位要求为W/㎡ - 气象字段:环境温度列改为
temp_air,单位要求为℃;风速列改为wind_speed,单位要求为m/s
- 辐照字段:GHI改为
- 适配完成的DataFrame可直接代入pvlib的辐照计算、发电建模流程,和PVGIS IO工具导入的数据用法完全一致。
内容的提问来源于stack exchange,提问作者KushEngineer96
相关产品推荐
相关产品推荐

