EU SES
v1.3
EU-SES是一种能源系统建模工具,可最大程度地利用网络托管的预处理数据源。 EU-SES提供了一种自动数据处理方法来构建能源系统模型,同时保持选择模型的空间分辨率的灵活性。
欧盟SES集中在27个欧盟国家以及英国,挪威和瑞士。建模工具根据方案选择构建了NUTS 2区域的数据集。该方案指定了感兴趣的国家和数据源中可用的方案。 NUTS 2区域的空间数据按照定义区域的选定方法汇总到区域数据集中。然后可以使用区域数据集和Calliope建模框架来构建能量系统模型。到目前为止,EU-SES建模工具可以构建和求解包括电力部门以及住宅和第三级供暖部门的优化模型。
git clone https://github.com/ENSYSTRA/EU-SES.git
cd EU-SES
conda env create -f environment.yml
conda activate euses-env
下面是一个示例脚本,可用于为奥地利和瑞士建造和运行热量和功率优化模型。 Python脚本必须在EUSS-ENV CONDA环境中运行。
import euses
import calliope
import numpy as np
# First specify countries and year of interest
# Use nomenclature of countries given in euses/parameters.py
year = 2010
countries = [ 'Austria' , 'Switzerland' ]
# The build_dataset function builds the xarray areas dataset
example = euses . build_dataset ( countries , year )
# The areas dataset can be called using:
example . ds
# Select power plant technologies of interest. Technologies selected must have specifications listed in calliope_model/techs_elec_heat.yaml
techs_considered = [ 'Combined cycle' , 'Solar' , 'Wind' , 'Wind Offshore' ]
techs_removed = np . setdiff1d ( example . ds . coords [ 'tech' ]. values , techs_considered )
example . ds = example . ds . drop ( techs_removed , dim = 'tech' )
# The areas dataset and the preferred regionalisation method is used to build the regions dataset.
# The supported regionalisation methods include using national (nuts0) and administrative boundaries (nuts1). It also possible to define the regions using the max-p regions method (max_p_regions).
# In this example the national boundaries method is selected.
# Before the dataset is loaded
example . ds . load ()
example . create_regions ( 'nuts0' )
# Build a power and heat optimisation calliope model with a limitation on CO2 emission.
# The specifications of the technologies within the model are in the calliope_model folder.
# The default solver used is cbc, in this example the pyomo pre installed solver glpk is used.
example . create_calliope_model ( op_mode = 'plan' , sectors = [ 'power' , 'heat' ], co2_cap_factor = 0.2 , national = True )
model = calliope . Model ( 'calliope_model/model.yaml' , scenario = 'time_3H' , override_dict = { 'run.solver' : 'glpk' })
model . run ()
# The model optimisation results can then be analysed using calliope analysising tools described in https://calliope.readthedocs.io/en/stable/user/analysing.html
model . plot . capacity ( array = 'energy_cap' )EU-SES下载从所需的多个Web托管平台中预处理的公开数据。然后在数据集区域内组织,标准化和结构提取的数据。模型中使用的数据源在下面列出。
| 数据组件 | 来源 | 关联 |
|---|---|---|
| 坚果2区(几何,ID) | Eurostat -Gisco | 1 |
| 人口 | 联合研究中心-GHS-POP-2015a | 2 |
| 电力小时需求 | Entsoe | 3 |
| 每小时的热量需求 | 热图 | 4 |
| 温度,风能和太阳能因子 | Renewables.Ninja | 5 |
| 水电厂流入 | 电力系统研究的水力流入 | 6 |
| 水电厂的容量 | JRC水力发电工厂数据库 | 7 |
| 常规发电厂 | 打开电源系统数据 | 8 |
| 可再生电厂 | 打开电源系统数据 | 9 |
| 太阳能潜力(欧盟27 +英国) | JRC开放数据 | 10 |
| 陆上和海上风能(欧盟27 +英国) | JRC开放数据 | 11 |
| 太阳能(瑞士) | 文献 +开放式街道地图建筑足迹 | 12、13 |
| 太阳能(挪威) | 文献 +开放式街道地图建筑足迹 | 14,15 |
| 海上风能(挪威) | 文学 | 16 |
| 陆上风能(挪威) | 热图 | 17 |
| 陆上风能(瑞士) | BundesamtFürEnergiebfe -Konzept Windenergie | 18 |
这项工作是由Ensystra项目的ESR 5完成的,并通过MarieSkłodowska-Curie Grant协议编号:765515的欧盟Horizon 2020研究与创新计划的资金实现。
版权2021 Christian Fleischer
根据Apache许可证(版本2.0(“许可”)获得许可;除了符合许可外,您不得使用此文件。您可以在
http://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或以书面形式同意,否则根据许可证分配的软件是按照“原样”分发的,没有任何明示或暗示的任何形式的保证或条件。请参阅许可证,以获取执行许可条款和限制的特定语言。