Grid Designer是一款免费模拟器,可让您为英国设计和测试零碳电网,并使用真实世界的需求和天气数据对其进行测试。本文解释了该模型的工作原理,以及它可能对我们的能源选择有何启示。
你有没有想过过渡到绿色能源会有多难? 🌍
由于能源和气候很少脱离新闻周期,我开始问自己这些问题。随着我了解的越来越多,我开始考虑如何在软件中对我们的能源系统和选择进行建模。
这种探索的结果是 Grid Designer——一款简单的游戏,可让您设计理想的绿色能源电网并使用英国的真实能源需求和天气数据对其进行测试。它在移动设备上效果最好,您可以在这里试用。
创建软件来解决问题的有趣之处在于,它需要我们足够深入地理解问题,以便用代码来描述它。这篇文章解释了 sim 是如何构建的,以及我们如何更清楚地思考能源:它们的好处、权衡和成本。
如果我们要实现我们的气候目标,我们需要我们的电力系统实现零碳排放。大部分不是绿色,也不是接近零——零。
因此,该模型专门关注可扩展的零碳能源:
太阳能☀️(光伏)
风💨(陆上和海上),
核⚛️(裂变)
电池/存储🔋
水力和地热能等其他能源只能部署在非常选定的地方,因此被排除在外。这同样适用于像 Fusion 这样的理论技术——尽管它们可能令人兴奋,但我的重点是解决气候危机的最可行的解决方案。
我们还需要 100% 的正常运行时间。文明不应也不会容忍生活水平的倒退。如果我们的绿色能源系统不能满足需求,我们必须预料到会退回到化石燃料,并且无法实现零二氧化碳排放。社区不会容忍停电或配给。我们必须优化丰富。
考虑到需求的快速波动和一些可再生能源的间歇性,我想以高分辨率对系统进行建模。这意味着一整年的每个小时。
该模拟器专注于英国,但该软件可以应用于任何国家或国家集团(国家进出口权)。
该 sim 卡包括 4000 亿英镑的假想预算。这个数字比较随意,目的是让玩家考虑资金的约束。英国不能在电网上花费一万亿美元!摊销、单位寿命和回收成本等复杂的财务主题超出了其范围。
只要有可能,我都倾向于乐观——无论是成本还是能源输出。该 sim 卡仅关注电力生产和消费,这意味着不包括高效电力传输等高级主题。
目的不是创建超高保真模型,而是足够准确以发人深省和提供信息的模型!
让我们开始…。 ⚡️
我们需要多少功率?我能够得到一个 csv 文件,其中包含以 5m 间隔记录的 10 年价值的国家电网数据。该文件对于 excel(> 100 万行)来说太大了,所以我使用 Python 来隔离 2021 年并计算每小时的平均需求量。转换成 JS 看起来像这样:
export const uk_grid_demand_2021 = [ // Jan 1st - each value is avg demand by hour, starting at 00:00. (MWs) [28956, 28183, 27092, 26254, 25416, 25050, 25632, 25740, 26609, 28927, 31482, 33423, 34821, 35424, 35540, 36051, 38430, 40352, 39044, 36578, 34266, 32093, 29887, 27168], // Jan 2... etc ]
全年和全天的需求各不相同:
接下来,我们将研究如何对单个能源进行建模:太阳能、风能、核能、储能和化石燃料……。
solar: { name: 'Solar', unit: 'hectares', unitToMw: 1.2, // 1.2 hectares = 1 MWp capex_per_mw: 0.92, // Million USD per MWp opex_per_mw: 0.017, }
面积是扩展太阳能时要考虑的关键单位。在设计电网时,我们将定义所需的太阳能电池板数量(以公顷为单位) 。
太阳能电池板具有由单位Megawatt peak (MWp)
定义的“额定容量” 。额定功率为 1 MWp 的太阳能电池阵列在理想条件下可以产生 1MW 的电力。实际输出将取决于纬度、方向和天气等因素。其中,纬度在设计网格时最为重要:与放置在苏格兰的同一面板相比,放置在法国南部的面板将更接近其“额定”性能。
在 Grid Designer 中,我假设我们将把我们的太阳能电池板专门放置在英格兰南部,那里的太阳能最多。根据政府数据,我们假设每 1 MWp 面板需要 1.2 公顷土地。
Solar Rated Capacity (MW) = Area in Hectares * 1.2
为了计算每小时的输出量,我们使用来自全球太阳能图集的数据
您会注意到一天和一年中的功率输出如何变化。在 12 月的短短几天里,我们的太阳能发电场产生的能量仅为夏季提供的十分之一。在盛夏,我们的太阳能电池板将在中午产生大约一半的额定容量。
注意:我们的太阳能参考数据按月而非实际日期分组。这意味着太阳能模型比其他来源的粒度更小:1 月的每一天都被认为是相同的,然后 2 月发生变化,依此类推。我们也忽略天气,始终慷慨地假设理想条件。
模拟器使用上述数据计算一年中每一天的每小时输出: Output = solarOutput[month][hour] * MWp
注意:您可以在谢菲尔德大学的太阳能网站上查看英国的实时太阳能输出。
光伏太阳能电池板的成本在过去 20 年中急剧下降,太阳能以其极低的运行成本而闻名。我们的资本支出和运营支出数据取自国家可再生能源实验室对 2025 年的预测。
请注意,我们只认为大型太阳能装置是可行的。屋顶太阳能每 MWp 的成本至少是公用事业规模太阳能农场的两倍,并且没有足够的适当屋顶空间来满足全国范围的需求。同样,放置在高纬度地区的太阳能电池板的成本效益远低于南方的太阳能电池板。
最后, Solar 的财务估算不包括土地成本,考虑到肯特和康沃尔等地所需的面积,土地成本将是巨大的!该模型也没有考虑将农田和树篱重新用于面板的生态和生物多样性成本。
wind_l: { name: 'Onshore Wind', unit: 'Turbines', unitToMw: 4, // ie 4MW Turbines capex: 1.7, // Million USD per MW opex: 0.02, } wind_os: { name: 'Offshore Wind', unit: 'Turbines', unitToMw: 15, // ie 15 MW Turbines capex_per_mw: 6.04, // Million USD per MW opex_per_mw: 0.12, }
为了模拟风,我们将设置我们想要建造的陆上和海上风力涡轮机的数量。该模拟器将这些分布在英国各地的现有站点,并使用历史天气数据来模拟能量输出。这是一整年每小时完成一次。
我们的陆上和海上涡轮机是根据国家可再生能源实验室的开源信息建模的。
使用 Visual Crossing 的天气 API 收集历史每小时风速数据。这些数据在 python 中处理,并在单独的 JSON 文件中提供给 sim。
天气数据表示在 10m 高度记录的风速。然而,风速随着距地面的距离增加而增加,并且在风力涡轮机的高度处会更高。这就是涡轮机(和帆船)具有如此高的桅杆的原因:桅杆越高,可用的能量越多。风速的增加取决于周围表面的摩擦力,称为“粗糙度”( 参见此处的解释)。
对于我们的陆上涡轮机站点,我们假设粗糙度为 0.055m,并针对 110m 的涡轮机轮毂高度调整了风速。对于海上,我们假设粗糙度为 0.0002m,并针对 150m 的轮毂高度调整风速。所有值都转换为 m/s。
风力涡轮机的运行性能由其功率曲线来描述。
在cut-in
风速以下,叶片不能转动,不发电。高于此阈值,功率输出遵循一条曲线直至涡轮机的最大输出。涡轮机达到其最大输出时的值是其rated wind speed
。涡轮机将继续以接近其最大输出功率的速度运行,直到它们达到cut-out
速度——即转子必须施加制动以避免损坏的风速。
为了创建模拟器,我将功率曲线的曲线简化为一条直线:
对于高于cut-in
值的风速,我们使用直线公式计算功率输出: y = mx + c
,其中y
是以 MW 为单位的输出, m
是梯度, x
是风速, c
是 y -截距。
我们模拟的陆上和海上涡轮机的功率曲线数据取自NREL 的 GitHub 。这些值在代码中定义如下:
// Onshore Turbine 4MW, 110m const wl_power_curve = { cut_in: 3.25, // m/s rated: 9.75, cut_out: 25, } // Off-Shore Turbine 15MW, 150m const ws_power_curve = { cut_in: 4, rated: 11, cut_out: 25, }
阵风是短时间内风速增加。 API 源数据包括持续至少 25 秒的阵风值,在许多情况下,这些值大于涡轮机cut-out
风速。然而,我无法从制造商那里找到关于涡轮机如何准确响应阵风的一致数据,因此将它们排除在我们的模型之外。涡轮机的维护停机时间很短(每年约 24 小时),也被排除在外。
现代涡轮机能够转向任何方向的风,因此我们假设它们可以立即完美地做到这一点。当空气穿过叶片表面时,会产生湍流或尾流,这会减少下游任何涡轮机可用的能量。风电场旨在通过定位涡轮机以针对盛行(最常见)风向进行优化来最大限度地减少这种情况。因此,这些影响通常很小,我没有将它们包含在模型中。
在这项工作的过程中,我惊讶地发现风速值不是平均值。而是那个时间段内最高的持续风速。因此,如果 API 显示星期二的风速为 15 m/s,我们只能确定该阈值在一整天内被记录了一次。平均风速可能要低得多。
这对任何建模都具有重要意义,因为使用每日风速值会导致对功率输出的巨大高估。考虑以下真实示例:
在红线中,我们可以看到 5.3 m/s 的“每日”风速。如果一天中的每个小时都使用,涡轮机将以其额定输出的 30%(红色阴影区域)运行。然而,如果我们查看当天蓝色的每小时数据,我们可以看到,在大多数时间里,记录的最大风速未能达到涡轮机切入阈值,并且产生的总能量要少得多(蓝色阴影区域).
风是间歇性的,因此细粒度分辨率对于了解涡轮机的性能至关重要。
我们每小时计算每个站点的风力输出如下:
// installed_mw = number of turbines * MW rating of turbine. const m = 1 / (power_curve.rated - power_curve.cut_in) const c = -1 * m * power_curve.cut_in let output; if (windData[d][h] < power_curve.cut_in) { output = 0 } else if (windData[d][h] > power_curve.cut_out) { output = 0 } else if (windData[d][h] >= power_curve.rated) { output = installed_mw } else { // y = mx + c; x=wind speed, y=power output, c = y-intercept let y = m * windData[d][h] + c // Fraction of rated output output = y * installed_mw } return output
此代码找到我们简化的功率曲线的梯度 ( m ) 和 y 轴截距 ( c )。如果风速高于切入阈值且低于额定阈值,它会根据风速计算最大输出 ( y ) 的分数,并使用它返回以 MW 为单位的输出。
目前,模拟器仅提供 1 个陆上和 1 个海上风电场( Scout Moor & Hornsea )的数据,这当然是一个限制!通过添加更多站点,我们可以降低模拟电网出现低风天的风险:如果霍恩西没有风,则可能会从肯特或阿伯丁郡的海岸吹来。这种策略是有效的,但需要我们在每个站点上“过度建设”以补偿其他站点,从而增加成本,并且在大量站点风速较低的日子里无济于事。
成本假设来自美国能源信息署。
我们设定了我们希望在陆上和海上建造的涡轮机的数量。
我们将涡轮机安装在英国现有的风电场,并使用 2022 年的真实天气数据来计算输出。
目前只有 2 个站点可用于模拟。
风速根据每个涡轮机的高度和周围陆地/海洋的“粗糙度”进行调整。
我们使用简化的功率曲线来计算涡轮机性能。
输出以每小时为基础建模,一年 365 天。
忽略阵风和涡轮尾流的影响。
nuclear: { capacity_factor: 0.9, capex_per_mw: 7.0, opex_per_mw: 0.13, }
核能是一个有争议的话题,遗憾的是,并非所有针对它的批评都有证据支持。我将在另一篇文章中详细介绍,但我认为该技术的一个公平总结是观察以下内容:
相对于其他来源,核能通常更昂贵且更耗时。然而,它以极低的每兆瓦边际成本生产大量的零碳能源,具有极高的正常运行时间。
Grid Designer 使用最近委托的Sizewell C作为参考,根据“发电站”对核能进行建模。使用成熟的 PWR 设计,其两个反应堆将在其 60 年的使用寿命内提供总计 3200MW 的能量。
还有其他具有不同成本和输出概况的核反应堆设计。这些包括小型模块化反应堆 (SMR) 和熔盐反应堆 (MSR),但是,这些都不像 PWR 那样成熟,因此未作为选项包含在我们的模拟器中。
核能具有极高的容量因数。反应堆唯一不产生能量的时间是在关闭以进行定期维护或加油时。鉴于这些停工是计划内的事件,我们将采用一种简单的方法来建模:假设产能系数为 90%,并将此折扣应用于全年的产出。
Hourly output = 3200 * Number of Stations * 0.9
核电站提供可预测的基准能源:
在英国的实际电网数据中可以看到类似的稳定模式。
建造和运行核电站的成本引起了激烈的争论,一些臭名昭著的项目超支。批评者认为这证明了该技术的不可行性,而捍卫者则指出持续投资的重要性。韩国经常被引用为一个能够以更快的速度和更低的成本建造核舰队的国家的例子。 Grid Designer 的成本估算再次取自美国能源信息署,应该理解运营支出成本包括燃料和废物的安全处置。
3200*0.9
计算
storage: { name: 'Battery Storage (Li-Ion)', unit: 'MWh', capex_per_mw: 0.2, // Million USD per MWh opex_per_mw: 0.025 }
电力存储对于依赖可再生能源的电网至关重要——停电是不可接受的,因此需要电池来弥补风能和太阳能间歇性造成的任何不足。
电池系统有一个额定输出——它们在任何时候可以提供的最大功率量(兆瓦),以及一个单独的容量值(兆瓦时)。因此,一个充满电的 60MW/240MWH 电池系统可以提供 60MW 4 小时,或 30MW 8 小时等。
为简单起见,我决定忽略额定输出并只关注容量。这意味着我们假设我们的电池始终可以满足输出需求,并且仅受其容量(以 MHW 为单位)的限制。我们还忽略了周期时间和过热等因素。
由于我们的电网每小时需要大约 30GW 的能源,这意味着我们需要 30,000MWH 的安装才能满足 1 小时的需求,仅靠存储就够了——这很多!
我们的电池根据该小时可用能量是否不足或过剩来充电或放电。每小时模拟器代码如下所示:
let d = demand[day][hour]; let s = solar_output + wind_l_output + wind_os_output + nuclear_output; let balance; //demand exceeds supply if (d >= s) { const deficit = ds // ...code to drain batteries } //supply exceeds demand else if (d < s) { const surplus = s - d // ...code to charge batteries with the surplus } return balance
电池的成本及其预测的未来成本存在争议。该模型使用国家可再生能源实验室的预测,并假设锂离子电池每千瓦时 200 美元非常乐观。实际上,如果以电网规模购买和部署电池,能否维持这样的价格值得怀疑。例如,为英国供电仅 12 小时(按我们当前的需求水平)将需要约 420 GWHs 的存储解决方案——超过锂离子电池的全球年产量!最后,还值得注意的是,任何此类电池可能需要每 5 年更换一次。
钒氧化还原液流电池 (VRBF) 等替代电网级存储技术具有类似的预计价格标签,而且我们的模型非常简单,可以认为这些技术可以互换。铁空气电池是一种预计会便宜得多的技术,但尚未进入大规模生产。
值得记住的是,花在存储上的每一分钱都是本可以花在能源生产上的一分钱。
fossil_co2_mwh = 233 // Kg CO2
每当我们的绿色能源网不能满足需求时,我们就会退回到化石燃料。我们假设通过使用天然气( 来源)每兆瓦时化石燃料电力产生 233 千克二氧化碳。注意:英国目前的平均值 >500 公斤。
Grid Designer 将任何 CO2 排放都视为失败- 换句话说,我们希望让英国的化石燃料基础设施完全退役。尽管首要任务是净零排放,但从大气中去除二氧化碳的成本一旦排放就非常高(每吨 100-3 亿美元),所以最好不要首先燃烧它。
模拟器输出“绿色正常运行时间”图表(受 github 启发!)。它显示了一年中的每一天,并提供了一个视觉参考来显示电网使用零碳能源运行的小时数:
该 sim 还提供了网格性能的摘要,包括用于日常分析的选项。
在评估性能时,模拟正在评估有效的能量输出。
这是对模拟器背后的技术思想的深入探讨。我将把我的政策结论留到另一篇文章。现在,在对这个主题进行了一定程度的研究之后,我将简单地观察以下几点:
欢迎在评论中反馈、意见、反驳、更正和反事实!