# 上网电量比例计算方法说明 ## 计算公式 **上网电量比例** = 总上网电量 / 总发电量 其中: - **总上网电量** = sum(grid_feed_in) - 只计算正值(上网电量) - **总发电量** = 火电发电量 + 实际风电发电量 + 实际光伏发电量 ## 详细计算过程 ### 1. 基础数据获取 在 [`check_constraints()`](src/storage_optimization.py:350) 函数中: ```python # 计算总量 total_wind_potential = sum(wind_output) # 风电总潜力 total_solar_potential = sum(solar_output) # 光伏总潜力 total_thermal = sum(thermal_output) # 火电总量 total_curtailed_wind = sum(balance_result['curtailed_wind']) # 弃风总量 total_curtailed_solar = sum(balance_result['curtailed_solar']) # 弃光总量 total_grid_feed_in = sum(balance_result['grid_feed_in']) # 电网交互总量 ``` ### 2. 计算实际发电量 ```python # 实际发电量(考虑弃风弃光) actual_wind_generation = total_wind_potential - total_curtailed_wind actual_solar_generation = total_solar_potential - total_curtailed_solar total_generation = total_thermal + actual_wind_generation + actual_solar_generation ``` ### 3. 计算上网电量比例 ```python actual_grid_feed_in_ratio = total_grid_feed_in / total_generation if total_generation > 0 else 0 ``` ## 数据来源说明 ### grid_feed_in 数据含义 在 [`calculate_energy_balance()`](src/storage_optimization.py:107) 函数中: - **正值** = 向电网输送的电量(上网) - **负值** = 从电网购买的电量(购电) ```python # 上网情况 grid_feed_in[hour] = grid_feed_allowed # 正值 # 购电情况 grid_feed_in[hour] = -remaining_deficit # 负值 ``` ### 分母说明 **总发电量**包括: 1. **火电发电量** - 全部计入(不考虑弃火电) 2. **实际风电发电量** = 风电总潜力 - 弃风量 3. **实际光伏发电量** = 光伏总潜力 - 弃光量 ## 计算示例 假设有如下数据: - 火电总量:120 MWh (24小时 × 5MW) - 风电总量:72 MWh (24小时 × 平均3MW) - 光伏总量:48 MWh (24小时 × 平均2MW) - 弃风量:7.2 MWh - 弃光量:4.8 MWh - 上网电量:10 MWh 计算过程: ```python # 1. 实际发电量 actual_wind = 72 - 7.2 = 64.8 MWh actual_solar = 48 - 4.8 = 43.2 MWh total_generation = 120 + 64.8 + 43.2 = 228 MWh # 2. 上网电量比例 grid_feed_in_ratio = 10 / 228 = 0.0438 ≈ 4.38% ``` ## 注意事项 ### 1. 购电情况的处理 - 如果系统净购电(total_grid_feed_in < 0),上网电量比例仍按公式计算 - 负的上网电量会降低比例值 ### 2. 零分母处理 - 如果总发电量为0,比例设为0,避免除零错误 ### 3. 约束检查 在优化算法中,上网电量比例用于约束检查: ```python grid_constraint_satisfied = constraint_results['total_grid_feed_in_ratio'] <= params.max_grid_ratio ``` ## 输出位置 上网电量比例在以下位置输出: 1. **控制台输出**:[`main.py:749`](main.py:749) ```python print(f"实际上网电量比例: {result['total_grid_feed_in_ratio']:.3f}") ``` 2. **Excel统计结果**:[`main.py:393`](main.py:393) ```python f"{result['total_grid_feed_in_ratio']:.3f}", ``` 3. **可视化显示**:[`src/advanced_visualization.py:158`](src/advanced_visualization.py:158) ```python 上网电量比例: {result['total_grid_feed_in_ratio']:.1%} ``` ## 总结 上网电量比例反映的是系统向电网输送电量占总发电量的比例,是评估系统电网交互特性的重要指标。该比例越低,说明系统越倾向于本地消纳新能源;比例越高,说明系统向电网输出的电量越多。