2024-02-19 15:21:48 +00:00
|
|
|
# SPDX-FileCopyrightText: : 2023-2024 The PyPSA-Eur Authors
|
2023-03-08 16:29:01 +00:00
|
|
|
#
|
|
|
|
# SPDX-License-Identifier: MIT
|
|
|
|
|
2023-11-03 13:14:01 +00:00
|
|
|
import requests
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"].get("retrieve", "auto") == "auto":
|
|
|
|
config["enable"]["retrieve"] = has_internet_access()
|
|
|
|
|
|
|
|
if config["enable"]["retrieve"] is False:
|
|
|
|
print("Datafile downloads disabled in config[retrieve] or no internet access.")
|
|
|
|
|
|
|
|
|
|
|
|
if config["enable"]["retrieve"] and config["enable"].get("retrieve_databundle", True):
|
2023-03-08 16:29:01 +00:00
|
|
|
datafiles = [
|
|
|
|
"ch_cantons.csv",
|
|
|
|
"je-e-21.03.02.xls",
|
|
|
|
"eez/World_EEZ_v8_2014.shp",
|
|
|
|
"hydro_capacities.csv",
|
|
|
|
"naturalearth/ne_10m_admin_0_countries.shp",
|
|
|
|
"NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp",
|
|
|
|
"nama_10r_3popgdp.tsv.gz",
|
|
|
|
"nama_10r_3gdp.tsv.gz",
|
|
|
|
"corine/g250_clc06_V18_5.tif",
|
|
|
|
]
|
|
|
|
|
|
|
|
if not config.get("tutorial", False):
|
|
|
|
datafiles.extend(["natura/Natura2000_end2015.shp", "GEBCO_2014_2D.nc"])
|
|
|
|
|
|
|
|
rule retrieve_databundle:
|
|
|
|
output:
|
2023-08-24 09:11:33 +00:00
|
|
|
protected(expand("data/bundle/{file}", file=datafiles)),
|
2023-03-08 16:29:01 +00:00
|
|
|
log:
|
2023-08-15 13:02:41 +00:00
|
|
|
"logs/retrieve_databundle.log",
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2023-03-08 18:22:00 +00:00
|
|
|
conda:
|
2024-01-23 15:27:12 +00:00
|
|
|
"../envs/retrieve.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/retrieve_databundle.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-10-11 14:24:52 +00:00
|
|
|
if config["enable"].get("retrieve_irena"):
|
2023-10-11 14:27:23 +00:00
|
|
|
|
2023-10-06 10:18:46 +00:00
|
|
|
rule retrieve_irena:
|
|
|
|
output:
|
2023-10-11 14:27:08 +00:00
|
|
|
offwind="data/existing_infrastructure/offwind_capacity_IRENA.csv",
|
|
|
|
onwind="data/existing_infrastructure/onwind_capacity_IRENA.csv",
|
|
|
|
solar="data/existing_infrastructure/solar_capacity_IRENA.csv",
|
2023-10-06 10:18:46 +00:00
|
|
|
log:
|
2024-03-18 09:37:08 +00:00
|
|
|
"logs/retrieve_irena.log",
|
2023-10-06 10:18:46 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
|
|
|
retries: 2
|
|
|
|
conda:
|
2024-01-23 15:27:12 +00:00
|
|
|
"../envs/retrieve.yaml"
|
2023-10-06 10:18:46 +00:00
|
|
|
script:
|
|
|
|
"../scripts/retrieve_irena.py"
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"]["retrieve"] and config["enable"].get("retrieve_cutout", True):
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
rule retrieve_cutout:
|
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
|
|
|
"https://zenodo.org/record/6382570/files/{cutout}.nc",
|
2023-03-08 16:29:01 +00:00
|
|
|
),
|
|
|
|
output:
|
2023-03-08 16:56:50 +00:00
|
|
|
protected("cutouts/" + CDIR + "{cutout}.nc"),
|
2023-03-08 16:29:01 +00:00
|
|
|
log:
|
|
|
|
"logs/" + CDIR + "retrieve_cutout_{cutout}.log",
|
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2023-03-08 16:29:01 +00:00
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
2023-12-29 11:34:14 +00:00
|
|
|
validate_checksum(output[0], input[0])
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"]["retrieve"] and config["enable"].get("retrieve_cost_data", True):
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
rule retrieve_cost_data:
|
2024-02-12 15:54:33 +00:00
|
|
|
params:
|
2024-02-17 17:35:26 +00:00
|
|
|
version=config_provider("costs", "version"),
|
2023-03-08 16:29:01 +00:00
|
|
|
output:
|
2024-02-12 15:54:33 +00:00
|
|
|
resources("costs_{year}.csv"),
|
2023-03-08 16:29:01 +00:00
|
|
|
log:
|
2024-02-16 10:17:00 +00:00
|
|
|
logs("retrieve_cost_data_{year}.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=1000,
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2024-02-16 10:17:00 +00:00
|
|
|
conda:
|
|
|
|
"../envs/retrieve.yaml"
|
2024-02-12 15:54:33 +00:00
|
|
|
script:
|
|
|
|
"../scripts/retrieve_cost_data.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"]["retrieve"] and config["enable"].get(
|
|
|
|
"retrieve_natura_raster", True
|
|
|
|
):
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
rule retrieve_natura_raster:
|
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
|
|
|
"https://zenodo.org/record/4706686/files/natura.tiff",
|
2023-03-08 16:29:01 +00:00
|
|
|
keep_local=True,
|
|
|
|
),
|
|
|
|
output:
|
2023-08-23 15:14:57 +00:00
|
|
|
resources("natura.tiff"),
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2023-08-23 15:14:57 +00:00
|
|
|
logs("retrieve_natura_raster.log"),
|
2023-03-08 16:29:01 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2023-03-08 16:29:01 +00:00
|
|
|
run:
|
2024-03-19 08:28:14 +00:00
|
|
|
copyfile(input[0], output[0])
|
2023-12-29 11:34:14 +00:00
|
|
|
validate_checksum(output[0], input[0])
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"]["retrieve"] and config["enable"].get(
|
|
|
|
"retrieve_sector_databundle", True
|
|
|
|
):
|
2023-03-08 16:29:01 +00:00
|
|
|
datafiles = [
|
2023-08-24 09:11:33 +00:00
|
|
|
"eea/UNFCCC_v23.csv",
|
|
|
|
"switzerland-sfoe/switzerland-new_format.csv",
|
|
|
|
"nuts/NUTS_RG_10M_2013_4326_LEVL_2.geojson",
|
|
|
|
"myb1-2017-nitro.xls",
|
|
|
|
"Industrial_Database.csv",
|
|
|
|
"emobility/KFZ__count",
|
|
|
|
"emobility/Pkw__count",
|
|
|
|
"h2_salt_caverns_GWh_per_sqkm.geojson",
|
|
|
|
]
|
|
|
|
|
2023-03-08 16:29:01 +00:00
|
|
|
rule retrieve_sector_databundle:
|
|
|
|
output:
|
2023-08-24 09:11:33 +00:00
|
|
|
protected(expand("data/bundle-sector/{files}", files=datafiles)),
|
2024-03-05 17:42:15 +00:00
|
|
|
protected(directory("data/bundle-sector/jrc-idees-2015")),
|
2023-03-08 16:29:01 +00:00
|
|
|
log:
|
2023-08-15 13:02:41 +00:00
|
|
|
"logs/retrieve_sector_databundle.log",
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2023-03-08 18:22:00 +00:00
|
|
|
conda:
|
2024-01-23 15:27:12 +00:00
|
|
|
"../envs/retrieve.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/retrieve_sector_databundle.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
2024-02-27 12:32:07 +00:00
|
|
|
rule retrieve_eurostat_data:
|
|
|
|
output:
|
2024-03-05 17:42:15 +00:00
|
|
|
directory("data/eurostat/eurostat-energy_balances-april_2023_edition"),
|
2024-02-27 12:32:07 +00:00
|
|
|
log:
|
|
|
|
"logs/retrieve_eurostat_data.log",
|
|
|
|
retries: 2
|
|
|
|
script:
|
|
|
|
"../scripts/retrieve_eurostat_data.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2024-01-04 18:14:11 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
2023-03-08 16:29:01 +00:00
|
|
|
datafiles = [
|
|
|
|
"IGGIELGN_LNGs.geojson",
|
|
|
|
"IGGIELGN_BorderPoints.geojson",
|
|
|
|
"IGGIELGN_Productions.geojson",
|
2023-08-11 10:07:03 +00:00
|
|
|
"IGGIELGN_Storages.geojson",
|
2023-03-08 16:29:01 +00:00
|
|
|
"IGGIELGN_PipeSegments.geojson",
|
|
|
|
]
|
|
|
|
|
|
|
|
rule retrieve_gas_infrastructure_data:
|
|
|
|
output:
|
2024-02-17 19:48:46 +00:00
|
|
|
expand("data/gas_network/scigrid-gas/data/{files}", files=datafiles),
|
2023-03-08 18:22:00 +00:00
|
|
|
log:
|
2024-03-15 12:50:53 +00:00
|
|
|
"logs/retrieve_gas_infrastructure_data.log",
|
2023-03-08 17:09:31 +00:00
|
|
|
retries: 2
|
2023-03-08 18:22:00 +00:00
|
|
|
conda:
|
2024-01-23 15:27:12 +00:00
|
|
|
"../envs/retrieve.yaml"
|
2023-03-08 16:29:01 +00:00
|
|
|
script:
|
2023-03-08 16:44:25 +00:00
|
|
|
"../scripts/retrieve_gas_infrastructure_data.py"
|
2023-03-08 16:29:01 +00:00
|
|
|
|
2024-03-01 12:24:02 +00:00
|
|
|
|
2024-03-04 18:37:52 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
2023-03-08 16:29:01 +00:00
|
|
|
|
2023-04-29 10:40:55 +00:00
|
|
|
rule retrieve_electricity_demand:
|
2023-08-16 09:47:27 +00:00
|
|
|
params:
|
|
|
|
versions=["2019-06-05", "2020-10-06"],
|
2023-04-29 10:40:55 +00:00
|
|
|
output:
|
2024-02-12 09:49:45 +00:00
|
|
|
"data/electricity_demand_raw.csv",
|
2023-04-29 10:40:55 +00:00
|
|
|
log:
|
2024-03-15 12:50:53 +00:00
|
|
|
"logs/retrieve_electricity_demand.log",
|
2023-04-29 10:40:55 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
|
|
|
retries: 2
|
2024-02-16 10:17:00 +00:00
|
|
|
conda:
|
|
|
|
"../envs/retrieve.yaml"
|
2023-08-16 09:41:48 +00:00
|
|
|
script:
|
|
|
|
"../scripts/retrieve_electricity_demand.py"
|
2023-04-29 10:40:55 +00:00
|
|
|
|
|
|
|
|
2024-03-04 18:37:52 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
2023-04-29 10:40:55 +00:00
|
|
|
|
2024-03-15 13:28:01 +00:00
|
|
|
rule retrieve_synthetic_electricity_demand:
|
2024-03-01 12:24:02 +00:00
|
|
|
input:
|
2024-03-13 08:19:10 +00:00
|
|
|
storage(
|
2024-03-15 10:44:41 +00:00
|
|
|
"https://zenodo.org/records/10820928/files/demand_hourly.csv",
|
2024-03-01 12:24:02 +00:00
|
|
|
),
|
|
|
|
output:
|
2024-03-15 13:28:01 +00:00
|
|
|
"data/load_synthetic_raw.csv",
|
2024-03-01 12:24:02 +00:00
|
|
|
log:
|
2024-03-15 13:28:01 +00:00
|
|
|
"logs/retrieve_synthetic_electricity_demand.log",
|
2024-03-01 12:24:02 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
2023-04-29 10:40:55 +00:00
|
|
|
retries: 2
|
2024-03-01 12:24:02 +00:00
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
2023-03-08 16:29:01 +00:00
|
|
|
|
|
|
|
|
2023-07-14 06:53:39 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
|
|
|
|
|
|
|
rule retrieve_ship_raster:
|
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
2023-07-14 06:53:39 +00:00
|
|
|
"https://zenodo.org/record/6953563/files/shipdensity_global.zip",
|
|
|
|
keep_local=True,
|
|
|
|
),
|
|
|
|
output:
|
2023-08-24 09:11:33 +00:00
|
|
|
protected("data/shipdensity_global.zip"),
|
2023-07-14 06:53:39 +00:00
|
|
|
log:
|
2024-03-15 12:50:53 +00:00
|
|
|
"logs/retrieve_ship_raster.log",
|
2023-07-14 06:53:39 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
|
|
|
retries: 2
|
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
2023-12-29 11:34:14 +00:00
|
|
|
validate_checksum(output[0], input[0])
|
2023-08-01 06:42:47 +00:00
|
|
|
|
2023-12-18 10:57:21 +00:00
|
|
|
|
2023-08-01 06:42:47 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
|
|
|
|
|
|
|
# Downloading Copernicus Global Land Cover for land cover and land use:
|
|
|
|
# Website: https://land.copernicus.eu/global/products/lc
|
|
|
|
rule download_copernicus_land_cover:
|
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
|
|
|
"https://zenodo.org/record/3939050/files/PROBAV_LC100_global_v3.0.1_2019-nrt_Discrete-Classification-map_EPSG-4326.tif",
|
2023-08-01 06:42:47 +00:00
|
|
|
),
|
|
|
|
output:
|
2023-12-29 10:29:01 +00:00
|
|
|
"data/Copernicus_LC100_global_v3.0.1_2019-nrt_Discrete-Classification-map_EPSG-4326.tif",
|
2023-12-18 10:57:21 +00:00
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
2023-12-29 11:34:14 +00:00
|
|
|
validate_checksum(output[0], input[0])
|
2023-08-04 14:20:39 +00:00
|
|
|
|
2023-10-09 14:22:27 +00:00
|
|
|
|
2024-01-03 14:01:43 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
|
|
|
|
|
|
|
# Downloading LUISA Base Map for land cover and land use:
|
|
|
|
# Website: https://ec.europa.eu/jrc/en/luisa
|
|
|
|
rule retrieve_luisa_land_cover:
|
|
|
|
input:
|
2024-03-08 16:51:02 +00:00
|
|
|
storage(
|
2024-03-09 11:07:47 +00:00
|
|
|
"https://jeodpp.jrc.ec.europa.eu/ftp/jrc-opendata/LUISA/EUROPE/Basemaps/LandUse/2018/LATEST/LUISA_basemap_020321_50m.tif",
|
2024-01-03 14:02:24 +00:00
|
|
|
),
|
2024-01-03 14:01:43 +00:00
|
|
|
output:
|
2024-01-03 14:02:24 +00:00
|
|
|
"data/LUISA_basemap_020321_50m.tif",
|
2024-01-03 14:01:43 +00:00
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
|
|
|
|
|
|
|
|
2023-10-09 14:22:27 +00:00
|
|
|
if config["enable"]["retrieve"]:
|
2023-12-21 17:39:06 +00:00
|
|
|
# Some logic to find the correct file URL
|
|
|
|
# Sometimes files are released delayed or ahead of schedule, check which file is currently available
|
2023-10-09 14:22:27 +00:00
|
|
|
|
2023-11-03 13:14:01 +00:00
|
|
|
def check_file_exists(url):
|
2023-12-21 17:40:46 +00:00
|
|
|
response = requests.head(url)
|
|
|
|
return response.status_code == 200
|
2023-12-21 17:39:06 +00:00
|
|
|
|
|
|
|
# Basic pattern where WDPA files can be found
|
2023-12-22 13:41:23 +00:00
|
|
|
url_pattern = (
|
2023-12-29 10:20:14 +00:00
|
|
|
"https://d1gam3xoknrgr2.cloudfront.net/current/WDPA_{bYYYY}_Public_shp.zip"
|
2023-12-22 13:41:23 +00:00
|
|
|
)
|
2023-12-21 17:39:06 +00:00
|
|
|
|
|
|
|
# 3-letter month + 4 digit year for current/previous/next month to test
|
|
|
|
current_monthyear = datetime.now().strftime("%b%Y")
|
|
|
|
prev_monthyear = (datetime.now() - timedelta(30)).strftime("%b%Y")
|
|
|
|
next_monthyear = (datetime.now() + timedelta(30)).strftime("%b%Y")
|
2023-11-03 13:14:01 +00:00
|
|
|
|
2023-12-21 17:39:06 +00:00
|
|
|
# Test prioritised: current month -> previous -> next
|
2023-12-22 13:40:30 +00:00
|
|
|
for bYYYY in [current_monthyear, prev_monthyear, next_monthyear]:
|
|
|
|
if check_file_exists(url := url_pattern.format(bYYYY=bYYYY)):
|
2023-12-21 17:39:06 +00:00
|
|
|
break
|
|
|
|
else:
|
|
|
|
# If None of the three URLs are working
|
|
|
|
url = False
|
2023-11-03 13:14:01 +00:00
|
|
|
|
2023-12-21 17:40:46 +00:00
|
|
|
assert (
|
|
|
|
url
|
|
|
|
), f"No WDPA files found at {url_pattern} for bY='{current_monthyear}, {prev_monthyear}, or {next_monthyear}'"
|
2023-10-09 14:22:27 +00:00
|
|
|
|
|
|
|
# Downloading protected area database from WDPA
|
|
|
|
# extract the main zip and then merge the contained 3 zipped shapefiles
|
|
|
|
# Website: https://www.protectedplanet.net/en/thematic-areas/wdpa
|
|
|
|
rule download_wdpa:
|
|
|
|
input:
|
2023-12-31 13:07:45 +00:00
|
|
|
storage(url, keep_local=True),
|
2023-10-09 14:22:27 +00:00
|
|
|
params:
|
2023-12-29 10:29:01 +00:00
|
|
|
zip="data/WDPA_shp.zip",
|
|
|
|
folder=directory("data/WDPA"),
|
2023-10-09 14:22:27 +00:00
|
|
|
output:
|
2023-12-29 10:29:01 +00:00
|
|
|
gpkg=protected("data/WDPA.gpkg"),
|
2023-10-09 14:22:27 +00:00
|
|
|
run:
|
|
|
|
shell("cp {input} {params.zip}")
|
|
|
|
shell("unzip -o {params.zip} -d {params.folder}")
|
|
|
|
for i in range(3):
|
|
|
|
# vsizip is special driver for directly working with zipped shapefiles in ogr2ogr
|
2023-12-18 10:57:21 +00:00
|
|
|
layer_path = (
|
|
|
|
f"/vsizip/{params.folder}/WDPA_{bYYYY}_Public_shp_{i}.zip"
|
|
|
|
)
|
2024-01-23 15:27:12 +00:00
|
|
|
print(f"Adding layer {i + 1} of 3 to combined output file.")
|
2023-10-09 14:22:27 +00:00
|
|
|
shell("ogr2ogr -f gpkg -update -append {output.gpkg} {layer_path}")
|
|
|
|
|
|
|
|
rule download_wdpa_marine:
|
2023-12-18 10:57:21 +00:00
|
|
|
# Downloading Marine protected area database from WDPA
|
|
|
|
# extract the main zip and then merge the contained 3 zipped shapefiles
|
|
|
|
# Website: https://www.protectedplanet.net/en/thematic-areas/marine-protected-areas
|
2023-10-09 14:22:27 +00:00
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
|
|
|
f"https://d1gam3xoknrgr2.cloudfront.net/current/WDPA_WDOECM_{bYYYY}_Public_marine_shp.zip",
|
2023-10-09 14:22:27 +00:00
|
|
|
keep_local=True,
|
|
|
|
),
|
|
|
|
params:
|
2023-12-29 10:29:01 +00:00
|
|
|
zip="data/WDPA_WDOECM_marine.zip",
|
|
|
|
folder=directory("data/WDPA_WDOECM_marine"),
|
2023-10-09 14:22:27 +00:00
|
|
|
output:
|
2023-12-29 10:29:01 +00:00
|
|
|
gpkg=protected("data/WDPA_WDOECM_marine.gpkg"),
|
2023-10-09 14:22:27 +00:00
|
|
|
run:
|
|
|
|
shell("cp {input} {params.zip}")
|
|
|
|
shell("unzip -o {params.zip} -d {params.folder}")
|
|
|
|
for i in range(3):
|
|
|
|
# vsizip is special driver for directly working with zipped shapefiles in ogr2ogr
|
|
|
|
layer_path = f"/vsizip/{params.folder}/WDPA_WDOECM_{bYYYY}_Public_marine_shp_{i}.zip"
|
2024-01-23 15:27:12 +00:00
|
|
|
print(f"Adding layer {i + 1} of 3 to combined output file.")
|
2023-10-09 14:22:27 +00:00
|
|
|
shell("ogr2ogr -f gpkg -update -append {output.gpkg} {layer_path}")
|
|
|
|
|
2023-08-04 14:20:39 +00:00
|
|
|
|
|
|
|
|
|
|
|
if config["enable"]["retrieve"]:
|
|
|
|
|
|
|
|
rule retrieve_monthly_co2_prices:
|
|
|
|
input:
|
2023-12-30 13:37:45 +00:00
|
|
|
storage(
|
2023-08-04 14:20:39 +00:00
|
|
|
"https://www.eex.com/fileadmin/EEX/Downloads/EUA_Emission_Spot_Primary_Market_Auction_Report/Archive_Reports/emission-spot-primary-market-auction-report-2019-data.xls",
|
|
|
|
keep_local=True,
|
|
|
|
),
|
|
|
|
output:
|
|
|
|
"data/validation/emission-spot-primary-market-auction-report-2019-data.xls",
|
|
|
|
log:
|
2024-03-15 12:50:53 +00:00
|
|
|
"logs/retrieve_monthly_co2_prices.log",
|
2023-08-04 14:20:39 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
|
|
|
retries: 2
|
|
|
|
run:
|
|
|
|
move(input[0], output[0])
|
|
|
|
|
|
|
|
|
|
|
|
if config["enable"]["retrieve"]:
|
|
|
|
|
|
|
|
rule retrieve_monthly_fuel_prices:
|
|
|
|
output:
|
2023-08-05 14:41:16 +00:00
|
|
|
"data/validation/energy-price-trends-xlsx-5619002.xlsx",
|
2023-08-04 14:20:39 +00:00
|
|
|
log:
|
2024-03-15 12:50:53 +00:00
|
|
|
"logs/retrieve_monthly_fuel_prices.log",
|
2023-08-04 14:20:39 +00:00
|
|
|
resources:
|
|
|
|
mem_mb=5000,
|
|
|
|
retries: 2
|
2023-08-06 07:01:56 +00:00
|
|
|
conda:
|
2024-01-23 15:27:12 +00:00
|
|
|
"../envs/retrieve.yaml"
|
2023-08-06 07:01:56 +00:00
|
|
|
script:
|
|
|
|
"../scripts/retrieve_monthly_fuel_prices.py"
|