Merge branch 'master' into rioxarray-to-envs

This commit is contained in:
Fabian Hofmann 2023-04-20 18:36:31 +02:00 committed by GitHub
commit 691e0dbb9d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
193 changed files with 86980 additions and 4732 deletions

View File

@ -5,3 +5,4 @@
# Exclude pre-commit applications
5d1ef8a64055a039aa4a0834d2d26fe7752fe9a0
92080b1cd2ca5f123158571481722767b99c2b27
13769f90af4500948b0376d57df4cceaa13e78b5

2
.gitattributes vendored
View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

View File

@ -7,7 +7,7 @@ Closes # (if applicable).
- [ ] I tested my contribution locally and it seems to work fine.
- [ ] Code and workflow changes are sufficiently documented.
- [ ] Newly introduced dependencies are added to `envs/environment.yaml` and `envs/environment.docs.yaml`.
- [ ] Changes in configuration options are added in all of `config.default.yaml`, `config.tutorial.yaml`, and `test/config.test1.yaml`.
- [ ] Changes in configuration options are also documented in `doc/configtables/*.csv` and line references are adjusted in `doc/configuration.rst` and `doc/tutorial.rst`.
- [ ] A note for the release notes `doc/release_notes.rst` is amended in the format of previous release notes.
- [ ] Changed dependencies are added to `envs/environment.yaml`.
- [ ] Changes in configuration options are added in all of `config.default.yaml`.
- [ ] Changes in configuration options are also documented in `doc/configtables/*.csv`.
- [ ] A release note `doc/release_notes.rst` is added.

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
@ -19,12 +19,14 @@ on:
- cron: "0 5 * * TUE"
env:
CACHE_NUMBER: 1 # Change this value to manually reset the environment cache
CONDA_CACHE_NUMBER: 1 # Change this value to manually reset the environment cache
DATA_CACHE_NUMBER: 2
jobs:
build:
strategy:
fail-fast: false
matrix:
include:
# Matrix required to handle caching with Mambaforge
@ -49,16 +51,12 @@ jobs:
shell: bash -l {0}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Setup secrets
run: |
echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc
- name: Add solver to environment
run: |
echo -e "- glpk\n- ipopt" >> envs/environment.yaml
- name: Add solver to environment
run: |
echo -e "- glpk\n- ipopt<3.13.3" >> envs/environment.yaml
@ -77,15 +75,25 @@ jobs:
activate-environment: pypsa-eur
use-mamba: true
- name: Set cache date
run: echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
- name: Set cache dates
run: |
echo "DATE=$(date +'%Y%m%d')" >> $GITHUB_ENV
echo "WEEK=$(date +'%Y%U')" >> $GITHUB_ENV
- name: Cache data and cutouts folders
uses: actions/cache@v3
with:
path: |
data
cutouts
key: data-cutouts-${{ env.WEEK }}-${{ env.DATA_CACHE_NUMBER }}
- name: Create environment cache
uses: actions/cache@v2
uses: actions/cache@v3
id: cache
with:
path: ${{ matrix.prefix }}
key: ${{ matrix.label }}-conda-${{ hashFiles('envs/environment.yaml') }}-${{ env.DATE }}-${{ env.CACHE_NUMBER }}
key: ${{ matrix.label }}-conda-${{ env.DATE }}-${{ env.CONDA_CACHE_NUMBER }}
- name: Update environment due to outdated or unavailable cache
run: mamba env update -n pypsa-eur -f envs/environment.yaml
@ -95,6 +103,16 @@ jobs:
run: |
conda activate pypsa-eur
conda list
cp test/config.test1.yaml config.yaml
snakemake --cores all solve_all_networks
rm -rf resources/*.nc resources/*.geojson resources/*.h5 networks results
snakemake -call solve_elec_networks --configfile test/config.electricity.yaml --rerun-triggers=mtime
snakemake -call all --configfile test/config.overnight.yaml --rerun-triggers=mtime
snakemake -call all --configfile test/config.myopic.yaml --rerun-triggers=mtime
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: resources-results
path: |
resources
results
if-no-files-found: warn
retention-days: 1

53
.gitignore vendored
View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
@ -11,18 +11,65 @@ gurobi.log
/bak
/resources
/resources*
/results
/networks
/benchmarks
/logs
/notebooks
/data
/data/links_p_nom.csv
/cutouts
/dask-worker-space
doc/_build
config.yaml
dconf
/data/links_p_nom.csv
/data/*totals.csv
/data/biomass*
/data/emobility/
/data/eea*
/data/jrc*
/data/heating/
/data/eurostat*
/data/odyssee/
/data/transport_data.csv
/data/switzerland*
/data/.nfs*
/data/Industrial_Database.csv
/data/retro/tabula-calculator-calcsetbuilding.csv
/data/nuts*
data/gas_network/scigrid-gas/
data/costs_*.csv
dask-worker-space/
publications.jrc.ec.europa.eu/
*.org
*.nc
*~
/scripts/old
*.pyc
/cutouts
/tmp
/pypsa
*.xlsx
config.yaml
doc/_build
*.xls
*.geojson
*.ipynb
data/costs_*
merger-todos.md

View File

@ -17,7 +17,7 @@ repos:
# Sort package imports alphabetically
- repo: https://github.com/PyCQA/isort
rev: 5.11.4
rev: 5.12.0
hooks:
- id: isort
args: ["--profile", "black", "--filter-files"]
@ -30,16 +30,16 @@ repos:
# Find common spelling mistakes in comments and docstrings
- repo: https://github.com/codespell-project/codespell
rev: v2.2.2
rev: v2.2.4
hooks:
- id: codespell
args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom'] # Ignore capital case words, e.g. country codes
args: ['--ignore-regex="(\b[A-Z]+\b)"', '--ignore-words-list=fom,appartment,bage,ore,setis,tabacco,berfore'] # Ignore capital case words, e.g. country codes
types_or: [python, rst, markdown]
files: ^(scripts|doc)/
# Make docstrings PEP 257 compliant
- repo: https://github.com/PyCQA/docformatter
rev: v1.6.0.rc1
rev: v1.6.0
hooks:
- id: docformatter
args: ["--in-place", "--make-summary-multi-line", "--pre-summary-newline"]
@ -51,7 +51,7 @@ repos:
# Formatting with "black" coding style
- repo: https://github.com/psf/black
rev: 22.12.0
rev: 23.3.0
hooks:
# Format Python files
- id: black
@ -67,14 +67,14 @@ repos:
# Do YAML formatting (before the linter checks it for misses)
- repo: https://github.com/macisamuele/language-formatters-pre-commit-hooks
rev: v2.6.0
rev: v2.8.0
hooks:
- id: pretty-format-yaml
args: [--autofix, --indent, "2", --preserve-quotes]
# Format Snakemake rule / workflow files
- repo: https://github.com/snakemake/snakefmt
rev: v0.8.0
rev: v0.8.4
hooks:
- id: snakefmt
@ -85,8 +85,8 @@ repos:
- id: jupyter-notebook-cleanup
exclude: examples/solve-on-remote.ipynb
# Check for FSFE REUSE compliance (licensing)
# Check for FSFE REUSE compliance (licensing)
- repo: https://github.com/fsfe/reuse-tool
rev: v1.1.0
rev: v1.1.2
hooks:
- id: reuse

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

View File

@ -1,28 +1,36 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: PyPSA-Eur
Upstream-Contact: Tom Brown <tom.brown@kit.edu>
Upstream-Contact: Tom Brown <t.brown@tu-berlin.de>
Source: https://github.com/pypsa/pypsa-eur
Files: doc/img/*
Copyright: 2019 Fabian Neumann (TUB, KIT)
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0
Files: doc/data.csv
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0
Files: doc/configtables/*
Copyright: 2019 Fabian Neumann (TUB, KIT)
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC-BY-4.0
Files: data/*
Copyright: 2017-2022 The PyPSA-Eur Authors
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC-BY-4.0
Files: .github/*
Copyright: 2019 The PyPSA-Eur Authors
Copyright: 2019-2023 The PyPSA-Eur Authors
License: CC0-1.0
Files: matplotlibrc
Copyright: : 2017-2022 The PyPSA-Eur Authors
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC0-1.0
Files: borg-it
Copyright: : 2017-2022 The PyPSA-Eur Authors
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC0-1.0
Files: graphics/*
Copyright: 2017-2023 The PyPSA-Eur Authors
License: CC-BY-4.0

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
@ -15,5 +15,6 @@ __pycache__
notebooks
doc
cutouts
data/bundle
data
benchmarks
*.nc

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: : 2021 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2021-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0

View File

@ -3,20 +3,21 @@
# SPDX-License-Identifier: CC0-1.0
cff-version: 1.1.0
message: "If you use this package, please cite the corresponding manuscript in Energy Strategy Reviews."
title: "PyPSA-Eur: An open optimisation model of the European transmission system"
message: "If you use this package, please cite it in the following way."
title: "PyPSA-Eur: An open sector-coupled optimisation model of the European energy system"
repository: https://github.com/pypsa/pypsa-eur
version: 0.6.1
version: 0.8.0
license: MIT
journal: Energy Strategy Reviews
doi: 10.1016/j.esr.2018.08.012
authors:
- family-names: Hörsch
given-names: Jonas
orcid: https://orcid.org/0000-0001-9438-767X
- family-names: Brown
given-names: Tom
orcid: https://orcid.org/0000-0001-5898-1911
- family-names: Victoria
given-names: Marta
orcid: https://orcid.org/0000-0003-1665-1281
- family-names: Zeyen
given-names: Elisabeth
orcid: https://orcid.org/0000-0002-7262-3296
- family-names: Hofmann
given-names: Fabian
orcid: https://orcid.org/0000-0002-6604-5450
@ -32,3 +33,6 @@ authors:
- family-names: Schlachtberger
given-names: David
orcid: https://orcid.org/0000-0002-8167-8213
- family-names: Hörsch
given-names: Jonas
orcid: https://orcid.org/0000-0001-9438-767X

View File

@ -1,6 +1,6 @@
MIT License
Copyright 2017-2022 The PyPSA-Eur Authors
Copyright 2017-2023 The PyPSA-Eur Authors
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View File

@ -1,5 +1,5 @@
<!--
SPDX-FileCopyrightText: 2017-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
-->
@ -7,42 +7,54 @@ SPDX-License-Identifier: CC-BY-4.0
[![Build Status](https://github.com/pypsa/pypsa-eur/actions/workflows/ci.yaml/badge.svg)](https://github.com/PyPSA/pypsa-eur/actions)
[![Documentation](https://readthedocs.org/projects/pypsa-eur/badge/?version=latest)](https://pypsa-eur.readthedocs.io/en/latest/?badge=latest)
![Size](https://img.shields.io/github/repo-size/pypsa/pypsa-eur)
[![Zenodo](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur](https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg)](https://doi.org/10.5281/zenodo.3520874)
[![Zenodo PyPSA-Eur-Sec](https://zenodo.org/badge/DOI/10.5281/zenodo.3938042.svg)](https://doi.org/10.5281/zenodo.3938042)
[![Snakemake](https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat)](https://snakemake.readthedocs.io)
[![REUSE status](https://api.reuse.software/badge/github.com/pypsa/pypsa-eur)](https://api.reuse.software/info/github.com/pypsa/pypsa-eur)
# PyPSA-Eur: An Open Optimisation Model of the European Transmission System
# PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System
PyPSA-Eur is an open model dataset of the European power system at the
transmission network level that covers the full ENTSO-E area.
The model is suitable both for operational studies and generation and transmission expansion planning studies.
PyPSA-Eur is an open model dataset of the European energy system at the
transmission network level that covers the full ENTSO-E area. The model is suitable both for operational studies and generation and transmission expansion planning studies.
The continental scope and highly resolved spatial scale enables a proper description of the long-range
smoothing effects for renewable power generation and their varying resource availability.
The model is described in the [documentation](https://pypsa-eur.readthedocs.io)
and in the paper
[PyPSA-Eur: An Open Optimisation Model of the European Transmission
System](https://arxiv.org/abs/1806.01613), 2018,
[arXiv:1806.01613](https://arxiv.org/abs/1806.01613).
The model building routines are defined through a snakemake workflow.
Please see the [documentation](https://pypsa-eur.readthedocs.io/)
for installation instructions and other useful information about the snakemake workflow.
The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA).
**WARNING**: PyPSA-Eur is under active development and has several
[limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html)
which you should understand before using the model. The github repository
[issues](https://github.com/PyPSA/pypsa-eur/issues) collect known topics we are
working on (please feel free to help or make suggestions). The
[documentation](https://pypsa-eur.readthedocs.io/) remains somewhat patchy. You
can find showcases of the model's capabilities in the preprint [Benefits of a
Hydrogen Network in Europe](https://arxiv.org/abs/2207.05816), a [paper in Joule
with a description of the industry sector](https://arxiv.org/abs/2109.09563), or
in [a 2021 presentation at EMP-E](https://nworbmot.org/energy/brown-empe.pdf).
We cannot support this model if you choose to use it. We do not recommend to use
the full resolution network model for simulations. At high granularity the
assignment of loads and generators to the nearest network node may not be a
correct assumption, depending on the topology of the underlying distribution
grid, and local grid bottlenecks may cause unrealistic load-shedding or
generator curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies. See the discussion in
Section 3.4 "Model validation" of the paper.
**WARNING**: Please read the [limitations](https://pypsa-eur.readthedocs.io/en/latest/limitations.html) section of the
documentation and paper carefully before using the model. We do not
recommend to use the full resolution network model for simulations. At
high granularity the assignment of loads and generators to the nearest
network node may not be a correct assumption, depending on the topology of the underlying distribution grid,
and local grid
bottlenecks may cause unrealistic load-shedding or generator
curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies. See the
discussion in Section 3.4 "Model validation" of the paper.
![PyPSA-Eur Grid Model](doc/img/elec.png)
The model building routines are defined through a snakemake workflow. The model is designed to be imported into the open toolbox
[PyPSA](https://github.com/PyPSA/PyPSA) for operational studies as
well as generation and transmission expansion planning studies.
The dataset consists of:
- A grid model based on a modified [GridKit](https://github.com/bdw/GridKit)
@ -57,9 +69,30 @@ The dataset consists of:
- Renewable time series based on ERA5 and SARAH, assembled using the [atlite tool](https://github.com/FRESNA/atlite).
- Geographical potentials for wind and solar generators based on land use (CORINE) and excluding nature reserves (Natura2000) are computed with the [atlite library](https://github.com/PyPSA/atlite).
A sector-coupled extension adds demand
and supply for the following sectors: transport, space and water
heating, biomass, industry and industrial feedstocks, agriculture,
forestry and fishing. This completes the energy system and includes
all greenhouse gas emitters except waste management and land use.
This diagram gives an overview of the sectors and the links between
them:
![sector diagram](graphics/multisector_figure.png)
Each of these sectors is built up on the transmission network nodes
from [PyPSA-Eur](https://github.com/PyPSA/pypsa-eur):
![network diagram](https://github.com/PyPSA/pypsa-eur/blob/master/doc/img/base.png?raw=true)
For computational reasons the model is usually clustered down
to 50-200 nodes.
Already-built versions of the model can be found in the accompanying [Zenodo
repository](https://doi.org/10.5281/zenodo.3601881).
# Licence
A version of the model that adds building heating, transport and
industry sectors to the model, as well as gas networks, can be found
in the [PyPSA-Eur-Sec](https://github.com/PyPSA/pypsa-eur-sec) repository.
The code in PyPSA-Eur is released as free software under the
[MIT License](https://opensource.org/licenses/MIT), see `LICENSE.txt`.
However, different licenses and terms of use may apply to the various
input data.

731
Snakefile
View File

@ -1,14 +1,19 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: MIT
from os.path import normpath, exists
from shutil import copyfile, move
from shutil import copyfile, move, rmtree
from snakemake.remote.HTTP import RemoteProvider as HTTPRemoteProvider
HTTP = HTTPRemoteProvider()
from snakemake.utils import min_version
min_version("7.7")
if not exists("config.yaml"):
copyfile("config.default.yaml", "config.yaml")
@ -16,696 +21,80 @@ if not exists("config.yaml"):
configfile: "config.yaml"
COSTS = f"data/costs_{config['costs']['year']}.csv"
ATLITE_NPROCESSES = config["atlite"].get("nprocesses", 4)
run = config.get("run", {})
RDIR = run["name"] + "/" if run.get("name") else ""
CDIR = RDIR if not run.get("shared_cutouts") else ""
COSTS = "resources/" + RDIR + "costs.csv"
ATLITE_NPROCESSES = config["atlite"].get("nprocesses", 4)
LOGS = "logs/" + RDIR
BENCHMARKS = "benchmarks/" + RDIR
RESOURCES = "resources/" + RDIR if not run.get("shared_resources") else "resources/"
RESULTS = "results/" + RDIR
localrules:
purge,
wildcard_constraints:
simpl="[a-zA-Z0-9]*|all",
simpl="[a-zA-Z0-9]*",
clusters="[0-9]+m?|all",
ll="(v|c)([0-9\.]+|opt|all)|all",
ll="(v|c)([0-9\.]+|opt)",
opts="[-+a-zA-Z0-9\.]*",
sector_opts="[-+a-zA-Z0-9\.\s]*",
rule cluster_all_networks:
input:
expand("networks/" + RDIR + "elec_s{simpl}_{clusters}.nc", **config["scenario"]),
include: "rules/common.smk"
include: "rules/collect.smk"
include: "rules/retrieve.smk"
include: "rules/build_electricity.smk"
include: "rules/build_sector.smk"
include: "rules/solve_electricity.smk"
include: "rules/postprocess.smk"
rule extra_components_all_networks:
input:
expand(
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc", **config["scenario"]
),
if config["foresight"] == "overnight":
include: "rules/solve_overnight.smk"
rule prepare_all_networks:
input:
expand(
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
**config["scenario"]
),
if config["foresight"] == "myopic":
include: "rules/solve_myopic.smk"
rule solve_all_networks:
input:
expand(
"results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
**config["scenario"]
),
if config["enable"].get("prepare_links_p_nom", False):
rule prepare_links_p_nom:
output:
"data/links_p_nom.csv",
log:
"logs/" + RDIR + "prepare_links_p_nom.log",
threads: 1
resources:
mem_mb=1500,
script:
"scripts/prepare_links_p_nom.py"
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"])
if config["enable"].get("retrieve_databundle", True):
rule retrieve_databundle:
output:
expand("data/bundle/{file}", file=datafiles),
log:
"logs/" + RDIR + "retrieve_databundle.log",
resources:
mem_mb=1000,
script:
"scripts/retrieve_databundle.py"
rule retrieve_load_data:
input:
HTTP.remote(
"data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv",
keep_local=True,
static=True,
),
output:
"data/load_raw.csv",
resources:
mem_mb=5000,
rule purge:
message:
"Purging generated resources, results and docs. Downloads are kept."
run:
move(input[0], output[0])
rmtree("resources/", ignore_errors=True)
rmtree("results/", ignore_errors=True)
rmtree("doc/_build", ignore_errors=True)
rule build_load_data:
input:
"data/load_raw.csv",
rule dag:
message:
"Creating DAG of workflow."
output:
"resources/" + RDIR + "load.csv",
log:
"logs/" + RDIR + "build_load_data.log",
resources:
mem_mb=5000,
script:
"scripts/build_load_data.py"
dot=RESOURCES + "dag.dot",
pdf=RESOURCES + "dag.pdf",
png=RESOURCES + "dag.png",
conda:
"envs/environment.yaml"
shell:
"""
snakemake --rulegraph all | sed -n "/digraph/,\$p" > {output.dot}
dot -Tpdf -o {output.pdf} {output.dot}
dot -Tpng -o {output.png} {output.dot}
"""
rule build_powerplants:
input:
base_network="networks/" + RDIR + "base.nc",
custom_powerplants="data/custom_powerplants.csv",
rule doc:
message:
"Build documentation."
output:
"resources/" + RDIR + "powerplants.csv",
log:
"logs/" + RDIR + "build_powerplants.log",
threads: 1
resources:
mem_mb=5000,
script:
"scripts/build_powerplants.py"
rule base_network:
input:
eg_buses="data/entsoegridkit/buses.csv",
eg_lines="data/entsoegridkit/lines.csv",
eg_links="data/entsoegridkit/links.csv",
eg_converters="data/entsoegridkit/converters.csv",
eg_transformers="data/entsoegridkit/transformers.csv",
parameter_corrections="data/parameter_corrections.yaml",
links_p_nom="data/links_p_nom.csv",
links_tyndp="data/links_tyndp.csv",
country_shapes="resources/" + RDIR + "country_shapes.geojson",
offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson",
europe_shape="resources/" + RDIR + "europe_shape.geojson",
output:
"networks/" + RDIR + "base.nc",
log:
"logs/" + RDIR + "base_network.log",
benchmark:
"benchmarks/" + RDIR + "base_network"
threads: 1
resources:
mem_mb=1500,
script:
"scripts/base_network.py"
rule build_shapes:
input:
naturalearth="data/bundle/naturalearth/ne_10m_admin_0_countries.shp",
eez="data/bundle/eez/World_EEZ_v8_2014.shp",
nuts3="data/bundle/NUTS_2013_60M_SH/data/NUTS_RG_60M_2013.shp",
nuts3pop="data/bundle/nama_10r_3popgdp.tsv.gz",
nuts3gdp="data/bundle/nama_10r_3gdp.tsv.gz",
ch_cantons="data/bundle/ch_cantons.csv",
ch_popgdp="data/bundle/je-e-21.03.02.xls",
output:
country_shapes="resources/" + RDIR + "country_shapes.geojson",
offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson",
europe_shape="resources/" + RDIR + "europe_shape.geojson",
nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson",
log:
"logs/" + RDIR + "build_shapes.log",
threads: 1
resources:
mem_mb=1500,
script:
"scripts/build_shapes.py"
rule build_bus_regions:
input:
country_shapes="resources/" + RDIR + "country_shapes.geojson",
offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson",
base_network="networks/" + RDIR + "base.nc",
output:
regions_onshore="resources/" + RDIR + "regions_onshore.geojson",
regions_offshore="resources/" + RDIR + "regions_offshore.geojson",
log:
"logs/" + RDIR + "build_bus_regions.log",
threads: 1
resources:
mem_mb=1000,
script:
"scripts/build_bus_regions.py"
if config["enable"].get("build_cutout", False):
rule build_cutout:
input:
regions_onshore="resources/" + RDIR + "regions_onshore.geojson",
regions_offshore="resources/" + RDIR + "regions_offshore.geojson",
output:
"cutouts/" + CDIR + "{cutout}.nc",
log:
"logs/" + CDIR + "build_cutout/{cutout}.log",
benchmark:
"benchmarks/" + CDIR + "build_cutout_{cutout}"
threads: ATLITE_NPROCESSES
resources:
mem_mb=ATLITE_NPROCESSES * 1000,
script:
"scripts/build_cutout.py"
if config["enable"].get("retrieve_cutout", True):
rule retrieve_cutout:
input:
HTTP.remote(
"zenodo.org/record/6382570/files/{cutout}.nc",
keep_local=True,
static=True,
),
output:
"cutouts/" + CDIR + "{cutout}.nc",
log:
"logs/" + CDIR + "retrieve_cutout_{cutout}.log",
resources:
mem_mb=5000,
run:
move(input[0], output[0])
if config["enable"].get("retrieve_cost_data", True):
rule retrieve_cost_data:
input:
HTTP.remote(
f"raw.githubusercontent.com/PyPSA/technology-data/{config['costs']['version']}/outputs/costs_{config['costs']['year']}.csv",
keep_local=True,
),
output:
COSTS,
log:
"logs/" + RDIR + "retrieve_cost_data.log",
resources:
mem_mb=5000,
run:
move(input[0], output[0])
if config["enable"].get("build_natura_raster", False):
rule build_natura_raster:
input:
natura="data/bundle/natura/Natura2000_end2015.shp",
cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config["atlite"]),
output:
"resources/" + RDIR + "natura.tiff",
resources:
mem_mb=5000,
log:
"logs/" + RDIR + "build_natura_raster.log",
script:
"scripts/build_natura_raster.py"
if config["enable"].get("retrieve_natura_raster", True):
rule retrieve_natura_raster:
input:
HTTP.remote(
"zenodo.org/record/4706686/files/natura.tiff",
keep_local=True,
static=True,
),
output:
"resources/" + RDIR + "natura.tiff",
resources:
mem_mb=5000,
run:
move(input[0], output[0])
rule retrieve_ship_raster:
input:
HTTP.remote(
"https://zenodo.org/record/6953563/files/shipdensity_global.zip",
keep_local=True,
static=True,
),
output:
"data/shipdensity_global.zip",
resources:
mem_mb=5000,
run:
move(input[0], output[0])
rule build_ship_raster:
input:
ship_density="data/shipdensity_global.zip",
cutouts=expand("cutouts/" + CDIR + "{cutouts}.nc", **config["atlite"]),
output:
"resources/" + RDIR + "shipdensity_raster.nc",
log:
"logs/" + RDIR + "build_ship_raster.log",
resources:
mem_mb=5000,
benchmark:
"benchmarks/" + RDIR + "build_ship_raster"
script:
"scripts/build_ship_raster.py"
rule build_renewable_profiles:
input:
base_network="networks/" + RDIR + "base.nc",
corine="data/bundle/corine/g250_clc06_V18_5.tif",
natura=lambda w: (
"resources/" + RDIR + "natura.tiff"
if config["renewable"][w.technology]["natura"]
else []
),
gebco=lambda w: (
"data/bundle/GEBCO_2014_2D.nc"
if "max_depth" in config["renewable"][w.technology].keys()
else []
),
ship_density=lambda w: (
"resources/" + RDIR + "shipdensity_raster.nc"
if "ship_threshold" in config["renewable"][w.technology].keys()
else []
),
country_shapes="resources/" + RDIR + "country_shapes.geojson",
offshore_shapes="resources/" + RDIR + "offshore_shapes.geojson",
regions=lambda w: (
"resources/" + RDIR + "regions_onshore.geojson"
if w.technology in ("onwind", "solar")
else "resources/" + RDIR + "regions_offshore.geojson"
),
cutout=lambda w: "cutouts/"
+ CDIR
+ config["renewable"][w.technology]["cutout"]
+ ".nc",
output:
profile="resources/" + RDIR + "profile_{technology}.nc",
log:
"logs/" + RDIR + "build_renewable_profile_{technology}.log",
benchmark:
"benchmarks/" + RDIR + "build_renewable_profiles_{technology}"
threads: ATLITE_NPROCESSES
resources:
mem_mb=ATLITE_NPROCESSES * 5000,
wildcard_constraints:
technology="(?!hydro).*", # Any technology other than hydro
script:
"scripts/build_renewable_profiles.py"
rule build_hydro_profile:
input:
country_shapes="resources/" + RDIR + "country_shapes.geojson",
eia_hydro_generation="data/eia_hydro_annual_generation.csv",
cutout=f"cutouts/" + CDIR + config["renewable"]["hydro"]["cutout"] + ".nc"
if "hydro" in config["renewable"]
else [],
output:
"resources/" + RDIR + "profile_hydro.nc",
log:
"logs/" + RDIR + "build_hydro_profile.log",
resources:
mem_mb=5000,
script:
"scripts/build_hydro_profile.py"
rule add_electricity:
input:
**{
f"profile_{tech}": "resources/" + RDIR + f"profile_{tech}.nc"
for tech in config["renewable"]
},
**{
f"conventional_{carrier}_{attr}": fn
for carrier, d in config.get("conventional", {None: {}}).items()
for attr, fn in d.items()
if str(fn).startswith("data/")
},
base_network="networks/" + RDIR + "base.nc",
tech_costs=COSTS,
regions="resources/" + RDIR + "regions_onshore.geojson",
powerplants="resources/" + RDIR + "powerplants.csv",
hydro_capacities="data/bundle/hydro_capacities.csv",
geth_hydro_capacities="data/geth2015_hydro_capacities.csv",
load="resources/" + RDIR + "load.csv",
nuts3_shapes="resources/" + RDIR + "nuts3_shapes.geojson",
output:
"networks/" + RDIR + "elec.nc",
log:
"logs/" + RDIR + "add_electricity.log",
benchmark:
"benchmarks/" + RDIR + "add_electricity"
threads: 1
resources:
mem_mb=5000,
script:
"scripts/add_electricity.py"
rule simplify_network:
input:
network="networks/" + RDIR + "elec.nc",
tech_costs=COSTS,
regions_onshore="resources/" + RDIR + "regions_onshore.geojson",
regions_offshore="resources/" + RDIR + "regions_offshore.geojson",
output:
network="networks/" + RDIR + "elec_s{simpl}.nc",
regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson",
regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson",
busmap="resources/" + RDIR + "busmap_elec_s{simpl}.csv",
connection_costs="resources/" + RDIR + "connection_costs_s{simpl}.csv",
log:
"logs/" + RDIR + "simplify_network/elec_s{simpl}.log",
benchmark:
"benchmarks/" + RDIR + "simplify_network/elec_s{simpl}"
threads: 1
resources:
mem_mb=4000,
script:
"scripts/simplify_network.py"
rule cluster_network:
input:
network="networks/" + RDIR + "elec_s{simpl}.nc",
regions_onshore="resources/" + RDIR + "regions_onshore_elec_s{simpl}.geojson",
regions_offshore="resources/" + RDIR + "regions_offshore_elec_s{simpl}.geojson",
busmap=ancient("resources/" + RDIR + "busmap_elec_s{simpl}.csv"),
custom_busmap=(
"data/custom_busmap_elec_s{simpl}_{clusters}.csv"
if config["enable"].get("custom_busmap", False)
else []
),
tech_costs=COSTS,
output:
network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc",
regions_onshore="resources/"
+ RDIR
+ "regions_onshore_elec_s{simpl}_{clusters}.geojson",
regions_offshore="resources/"
+ RDIR
+ "regions_offshore_elec_s{simpl}_{clusters}.geojson",
busmap="resources/" + RDIR + "busmap_elec_s{simpl}_{clusters}.csv",
linemap="resources/" + RDIR + "linemap_elec_s{simpl}_{clusters}.csv",
log:
"logs/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}.log",
benchmark:
"benchmarks/" + RDIR + "cluster_network/elec_s{simpl}_{clusters}"
threads: 1
resources:
mem_mb=6000,
script:
"scripts/cluster_network.py"
rule add_extra_components:
input:
network="networks/" + RDIR + "elec_s{simpl}_{clusters}.nc",
tech_costs=COSTS,
output:
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc",
log:
"logs/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}.log",
benchmark:
"benchmarks/" + RDIR + "add_extra_components/elec_s{simpl}_{clusters}_ec"
threads: 1
resources:
mem_mb=3000,
script:
"scripts/add_extra_components.py"
rule prepare_network:
input:
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc",
tech_costs=COSTS,
output:
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
log:
"logs/" + RDIR + "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.log",
benchmark:
(
"benchmarks/"
+ RDIR
+ "prepare_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}"
)
threads: 1
resources:
mem_mb=4000,
script:
"scripts/prepare_network.py"
def memory(w):
factor = 3.0
for o in w.opts.split("-"):
m = re.match(r"^(\d+)h$", o, re.IGNORECASE)
if m is not None:
factor /= int(m.group(1))
break
for o in w.opts.split("-"):
m = re.match(r"^(\d+)seg$", o, re.IGNORECASE)
if m is not None:
factor *= int(m.group(1)) / 8760
break
if w.clusters.endswith("m"):
return int(factor * (18000 + 180 * int(w.clusters[:-1])))
elif w.clusters == "all":
return int(factor * (18000 + 180 * 4000))
else:
return int(factor * (10000 + 195 * int(w.clusters)))
rule solve_network:
input:
"networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
output:
"results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
log:
solver=normpath(
"logs/"
+ RDIR
+ "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_solver.log"
),
python="logs/"
+ RDIR
+ "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_python.log",
memory="logs/"
+ RDIR
+ "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_memory.log",
benchmark:
"benchmarks/" + RDIR + "solve_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}"
threads: 4
resources:
mem_mb=memory,
shadow:
"minimal"
script:
"scripts/solve_network.py"
rule solve_operations_network:
input:
unprepared="networks/" + RDIR + "elec_s{simpl}_{clusters}_ec.nc",
optimized="results/networks/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
output:
"results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op.nc",
log:
solver=normpath(
"logs/"
+ RDIR
+ "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_solver.log"
),
python="logs/"
+ RDIR
+ "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_python.log",
memory="logs/"
+ RDIR
+ "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_op_memory.log",
benchmark:
(
"benchmarks/"
+ RDIR
+ "solve_operations_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}"
)
threads: 4
resources:
mem_mb=(lambda w: 5000 + 372 * int(w.clusters)),
shadow:
"minimal"
script:
"scripts/solve_operations_network.py"
rule plot_network:
input:
network="results/networks/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
tech_costs=COSTS,
output:
only_map="results/plots/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}.{ext}",
ext="results/plots/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_ext.{ext}",
log:
"logs/"
+ RDIR
+ "plot_network/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{attr}_{ext}.log",
script:
"scripts/plot_network.py"
def input_make_summary(w):
# It's mildly hacky to include the separate costs input as first entry
if w.ll.endswith("all"):
ll = config["scenario"]["ll"]
if len(w.ll) == 4:
ll = [l for l in ll if l[0] == w.ll[0]]
else:
ll = w.ll
return [COSTS] + expand(
"results/networks/" + RDIR + "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc",
ll=ll,
**{
k: config["scenario"][k] if getattr(w, k) == "all" else getattr(w, k)
for k in ["simpl", "clusters", "opts"]
}
)
rule make_summary:
input:
input_make_summary,
output:
directory(
"results/summaries/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}"
),
log:
"logs/"
+ RDIR
+ "make_summary/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.log",
resources:
mem_mb=1500,
script:
"scripts/make_summary.py"
rule plot_summary:
input:
"results/summaries/"
+ RDIR
+ "elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}",
output:
"results/plots/"
+ RDIR
+ "summary_{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}.{ext}",
log:
"logs/"
+ RDIR
+ "plot_summary/{summary}_elec_s{simpl}_{clusters}_ec_l{ll}_{opts}_{country}_{ext}.log",
resources:
mem_mb=1500,
script:
"scripts/plot_summary.py"
def input_plot_p_nom_max(w):
return [
(
"results/networks/"
+ RDIR
+ "elec_s{simpl}{maybe_cluster}.nc".format(
maybe_cluster=("" if c == "full" else ("_" + c)), **w
)
)
for c in w.clusts.split(",")
]
rule plot_p_nom_max:
input:
input_plot_p_nom_max,
output:
"results/plots/"
+ RDIR
+ "elec_s{simpl}_cum_p_nom_max_{clusts}_{techs}_{country}.{ext}",
log:
"logs/"
+ RDIR
+ "plot_p_nom_max/elec_s{simpl}_{clusts}_{techs}_{country}_{ext}.log",
resources:
mem_mb=1500,
script:
"scripts/plot_p_nom_max.py"
directory("doc/_build"),
shell:
"make -C doc html"

View File

@ -1,8 +1,8 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
version: 0.6.1
version: 0.8.0
tutorial: false
logging:
@ -11,25 +11,65 @@ logging:
run:
name: "" # use this to keep track of runs with different settings
shared_cutouts: false # set to true to share the default cutout(s) across runs
disable_progressbar: false # set to true to disable the progressbar
shared_resources: false # set to true to share the default resources across runs
shared_cutouts: true # set to true to share the default cutout(s) across runs
foresight: overnight # options are overnight, myopic, perfect (perfect is not yet implemented)
# if you use myopic or perfect foresight, set the investment years in "planning_horizons" below
scenario:
simpl: ['']
ll: ['copt']
clusters: [37, 128, 256, 512, 1024]
opts: [Co2L-3H]
simpl:
- ''
ll: # allowed transmission line volume expansion, can be any float >= 1.0 with a prefix v|c (today) or "copt"
- v1.0
- v1.5
clusters: # number of nodes in Europe, any integer between 37 (1 node per country-zone) and several hundred
- 37
- 128
- 256
- 512
- 1024
opts: # only relevant for PyPSA-Eur
- ''
sector_opts: # this is where the main scenario settings are
- Co2L0-3H-T-H-B-I-A-solar+p3-dist1
# to really understand the options here, look in scripts/prepare_sector_network.py
# Co2Lx specifies the CO2 target in x% of the 1990 values; default will give default (5%);
# Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions
# xH is the temporal resolution; 3H is 3-hourly, i.e. one snapshot every 3 hours
# single letters are sectors: T for land transport, H for building heating,
# B for biomass supply, I for industry, shipping and aviation,
# A for agriculture, forestry and fishing
# solar+c0.5 reduces the capital cost of solar to 50\% of reference value
# solar+p3 multiplies the available installable potential by factor 3
# seq400 sets the potential of CO2 sequestration to 400 Mt CO2 per year
# dist{n} includes distribution grids with investment cost of n times cost in data/costs.csv
# for myopic/perfect foresight cb states the carbon budget in GtCO2 (cumulative
# emissions throughout the transition path in the timeframe determined by the
# planning_horizons), be:beta decay; ex:exponential decay
# cb40ex0 distributes a carbon budget of 40 GtCO2 following an exponential
# decay with initial growth rate 0
planning_horizons: # investment years for myopic and perfect; for overnight, year of cost assumptions can be different and is defined under 'costs'
- 2050
# for example, set to
# - 2020
# - 2030
# - 2040
# - 2050
# for myopic foresight
countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK']
snapshots:
start: "2013-01-01"
end: "2014-01-01"
closed: 'left' # end is not inclusive
inclusive: 'left' # include start, not end
enable:
prepare_links_p_nom: false
retrieve_databundle: true
retrieve_sector_databundle: true
retrieve_cost_data: true
build_cutout: false
retrieve_cutout: true
@ -37,6 +77,18 @@ enable:
retrieve_natura_raster: true
custom_busmap: false
# CO2 budget as a fraction of 1990 emissions
# this is over-ridden if CO2Lx is set in sector_opts
# this is also over-ridden if cb is set in sector_opts
co2_budget:
2020: 0.701
2025: 0.524
2030: 0.297
2035: 0.150
2040: 0.071
2045: 0.032
2050: 0.000
electricity:
voltages: [220., 300., 380.]
gaslimit: false # global gas usage limit of X MWh_th
@ -84,7 +136,9 @@ electricity:
Onshore: [onwind]
PV: [solar]
atlite:
default_cutout: europe-2013-era5
nprocesses: 4
show_progress: false # false saves time
cutouts:
@ -121,7 +175,7 @@ renewable:
# acceptance issues.
# correction_factor: 0.93
corine:
# Scholz, Y. (2012). Renewable energy based electricity supply at low costs:
# Scholz, Y. (2012). Renewable energy based electricity supply at low costs
# development of the REMix model and application for Europe. ( p.42 / p.28)
grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32]
distance: 1000
@ -182,7 +236,7 @@ renewable:
# Correction factor determined by comparing uncorrected area-weighted full-load hours to those
# published in Supplementary Data to
# Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power
# sector: The economic potential of photovoltaics and concentrating solar
# sector -- The economic potential of photovoltaics and concentrating solar
# power." Applied Energy 135 (2014): 704-720.
# This correction factor of 0.854337 may be in order if using reanalysis data.
# for discussion refer to https://github.com/PyPSA/pypsa-eur/pull/304
@ -231,9 +285,290 @@ load:
manual_adjustments: true # false
scaling_factor: 1.0
# regulate what components with which carriers are kept from PyPSA-Eur;
# some technologies are removed because they are implemented differently
# (e.g. battery or H2 storage) or have different year-dependent costs
# in PyPSA-Eur-Sec
pypsa_eur:
Bus:
- AC
Link:
- DC
Generator:
- onwind
- offwind-ac
- offwind-dc
- solar
- ror
StorageUnit:
- PHS
- hydro
Store: []
energy:
energy_totals_year: 2011
base_emissions_year: 1990
eurostat_report_year: 2016
emissions: CO2 # "CO2" or "All greenhouse gases - (CO2 equivalent)"
biomass:
year: 2030
scenario: ENS_Med
classes:
solid biomass:
- Agricultural waste
- Fuelwood residues
- Secondary Forestry residues - woodchips
- Sawdust
- Residues from landscape care
- Municipal waste
not included:
- Sugar from sugar beet
- Rape seed
- "Sunflower, soya seed "
- Bioethanol barley, wheat, grain maize, oats, other cereals and rye
- Miscanthus, switchgrass, RCG
- Willow
- Poplar
- FuelwoodRW
- C&P_RW
biogas:
- Manure solid, liquid
- Sludge
solar_thermal:
clearsky_model: simple # should be "simple" or "enhanced"?
orientation:
slope: 45.
azimuth: 180.
# only relevant for foresight = myopic or perfect
existing_capacities:
grouping_years_power: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020, 2025, 2030]
grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019] # these should not extend 2020
threshold_capacity: 10
conventional_carriers:
- lignite
- coal
- oil
- uranium
sector:
district_heating:
potential: 0.6 # maximum fraction of urban demand which can be supplied by district heating
# increase of today's district heating demand to potential maximum district heating share
# progress = 0 means today's district heating share, progress = 1 means maximum fraction of urban demand is supplied by district heating
progress:
2020: 0.0
2030: 0.3
2040: 0.6
2050: 1.0
district_heating_loss: 0.15
cluster_heat_buses: false # cluster residential and service heat buses to one to save memory
bev_dsm_restriction_value: 0.75 #Set to 0 for no restriction on BEV DSM
bev_dsm_restriction_time: 7 #Time at which SOC of BEV has to be dsm_restriction_value
transport_heating_deadband_upper: 20.
transport_heating_deadband_lower: 15.
ICE_lower_degree_factor: 0.375 #in per cent increase in fuel consumption per degree above deadband
ICE_upper_degree_factor: 1.6
EV_lower_degree_factor: 0.98
EV_upper_degree_factor: 0.63
bev_dsm: true #turns on EV battery
bev_availability: 0.5 #How many cars do smart charging
bev_energy: 0.05 #average battery size in MWh
bev_charge_efficiency: 0.9 #BEV (dis-)charging efficiency
bev_plug_to_wheel_efficiency: 0.2 #kWh/km from EPA https://www.fueleconomy.gov/feg/ for Tesla Model S
bev_charge_rate: 0.011 #3-phase charger with 11 kW
bev_avail_max: 0.95
bev_avail_mean: 0.8
v2g: true #allows feed-in to grid from EV battery
#what is not EV or FCEV is oil-fuelled ICE
land_transport_fuel_cell_share:
2020: 0
2030: 0.05
2040: 0.1
2050: 0.15
land_transport_electric_share:
2020: 0
2030: 0.25
2040: 0.6
2050: 0.85
land_transport_ice_share:
2020: 1
2030: 0.7
2040: 0.3
2050: 0
transport_fuel_cell_efficiency: 0.5
transport_internal_combustion_efficiency: 0.3
agriculture_machinery_electric_share: 0
agriculture_machinery_oil_share: 1
agriculture_machinery_fuel_efficiency: 0.7 # fuel oil per use
agriculture_machinery_electric_efficiency: 0.3 # electricity per use
MWh_MeOH_per_MWh_H2: 0.8787 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
MWh_MeOH_per_tCO2: 4.0321 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
MWh_MeOH_per_MWh_e: 3.6907 # in LHV, source: DECHEMA (2017): Low carbon energy and feedstock for the European chemical industry , pg. 64.
shipping_hydrogen_liquefaction: false # whether to consider liquefaction costs for shipping H2 demands
shipping_hydrogen_share:
2020: 0
2030: 0
2040: 0
2050: 0
shipping_methanol_share:
2020: 0
2030: 0.3
2040: 0.7
2050: 1
shipping_oil_share:
2020: 1
2030: 0.7
2040: 0.3
2050: 0
shipping_methanol_efficiency: 0.46 # 10-15% higher https://www.iea-amf.org/app/webroot/files/file/Annex%20Reports/AMF_Annex_56.pdf, https://users.ugent.be/~lsileghe/documents/extended_abstract.pdf
shipping_oil_efficiency: 0.40 #For conversion of fuel oil to propulsion in 2011
aviation_demand_factor: 1. # relative aviation demand compared to today
HVC_demand_factor: 1. # relative HVC demand compared to today
time_dep_hp_cop: true #time dependent heat pump coefficient of performance
heat_pump_sink_T: 55. # Celsius, based on DTU / large area radiators; used in build_cop_profiles.py
# conservatively high to cover hot water and space heating in poorly-insulated buildings
reduce_space_heat_exogenously: true # reduces space heat demand by a given factor (applied before losses in DH)
# this can represent e.g. building renovation, building demolition, or if
# the factor is negative: increasing floor area, increased thermal comfort, population growth
reduce_space_heat_exogenously_factor: # per unit reduction in space heat demand
# the default factors are determined by the LTS scenario from http://tool.european-calculator.eu/app/buildings/building-types-area/?levers=1ddd4444421213bdbbbddd44444ffffff11f411111221111211l212221
2020: 0.10 # this results in a space heat demand reduction of 10%
2025: 0.09 # first heat demand increases compared to 2020 because of larger floor area per capita
2030: 0.09
2035: 0.11
2040: 0.16
2045: 0.21
2050: 0.29
retrofitting: # co-optimises building renovation to reduce space heat demand
retro_endogen: false # co-optimise space heat savings
cost_factor: 1.0 # weight costs for building renovation
interest_rate: 0.04 # for investment in building components
annualise_cost: true # annualise the investment costs
tax_weighting: false # weight costs depending on taxes in countries
construction_index: true # weight costs depending on labour/material costs per country
tes: true
tes_tau: # 180 day time constant for centralised, 3 day for decentralised
decentral: 3
central: 180
boilers: true
oil_boilers: false
biomass_boiler: true
chp: true
micro_chp: false
solar_thermal: true
solar_cf_correction: 0.788457 # = >>> 1/1.2683
marginal_cost_storage: 0. #1e-4
methanation: true
helmeth: false
coal_cc: false
dac: true
co2_vent: false
allam_cycle: false
SMR: true
regional_co2_sequestration_potential:
enable: false # enable regionally resolved geological co2 storage potential
attribute: 'conservative estimate Mt'
include_onshore: false # include onshore sequestration potentials
min_size: 3 # Gt, sites with lower potential will be excluded
max_size: 25 # Gt, max sequestration potential for any one site, TODO research suitable value
years_of_storage: 25 # years until potential exhausted at optimised annual rate
co2_sequestration_potential: 200 #MtCO2/a sequestration potential for Europe
co2_sequestration_cost: 10 #EUR/tCO2 for sequestration of CO2
co2_spatial: false
co2network: false
cc_fraction: 0.9 # default fraction of CO2 captured with post-combustion capture
hydrogen_underground_storage: true
hydrogen_underground_storage_locations:
# - onshore # more than 50 km from sea
- nearshore # within 50 km of sea
# - offshore
ammonia: false # can be false (no NH3 carrier), true (copperplated NH3), "regional" (regionalised NH3 without network)
min_part_load_fischer_tropsch: 0.9 # p_min_pu
min_part_load_methanolisation: 0.5 # p_min_pu
use_fischer_tropsch_waste_heat: true
use_fuel_cell_waste_heat: true
use_electrolysis_waste_heat: false
electricity_distribution_grid: true
electricity_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv
electricity_grid_connection: true # only applies to onshore wind and utility PV
H2_network: true
gas_network: false
H2_retrofit: false # if set to True existing gas pipes can be retrofitted to H2 pipes
# according to hydrogen backbone strategy (April, 2020) p.15
# https://gasforclimate2050.eu/wp-content/uploads/2020/07/2020_European-Hydrogen-Backbone_Report.pdf
# 60% of original natural gas capacity could be used in cost-optimal case as H2 capacity
H2_retrofit_capacity_per_CH4: 0.6 # ratio for H2 capacity per original CH4 capacity of retrofitted pipelines
gas_network_connectivity_upgrade: 1 # https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation
gas_distribution_grid: true
gas_distribution_grid_cost_factor: 1.0 #multiplies cost in data/costs.csv
biomass_spatial: false # regionally resolve biomass (e.g. potentials)
biomass_transport: false # allow transport of solid biomass between nodes
conventional_generation: # generator : carrier
OCGT: gas
biomass_to_liquid: false
biosng: false
industry:
St_primary_fraction: # fraction of steel produced via primary route versus secondary route (scrap+EAF); today fraction is 0.6
2020: 0.6
2025: 0.55
2030: 0.5
2035: 0.45
2040: 0.4
2045: 0.35
2050: 0.3
DRI_fraction: # fraction of the primary route converted to DRI + EAF
2020: 0
2025: 0
2030: 0.05
2035: 0.2
2040: 0.4
2045: 0.7
2050: 1
H2_DRI: 1.7 #H2 consumption in Direct Reduced Iron (DRI), MWh_H2,LHV/ton_Steel from 51kgH2/tSt in Vogl et al (2018) doi:10.1016/j.jclepro.2018.08.279
elec_DRI: 0.322 #electricity consumption in Direct Reduced Iron (DRI) shaft, MWh/tSt HYBRIT brochure https://ssabwebsitecdn.azureedge.net/-/media/hybrit/files/hybrit_brochure.pdf
Al_primary_fraction: # fraction of aluminium produced via the primary route versus scrap; today fraction is 0.4
2020: 0.4
2025: 0.375
2030: 0.35
2035: 0.325
2040: 0.3
2045: 0.25
2050: 0.2
MWh_NH3_per_tNH3: 5.166 # LHV
MWh_CH4_per_tNH3_SMR: 10.8 # 2012's demand from https://ec.europa.eu/docsroom/documents/4165/attachments/1/translations/en/renditions/pdf
MWh_elec_per_tNH3_SMR: 0.7 # same source, assuming 94-6% split methane-elec of total energy demand 11.5 MWh/tNH3
MWh_H2_per_tNH3_electrolysis: 6.5 # from https://doi.org/10.1016/j.joule.2018.04.017, around 0.197 tH2/tHN3 (>3/17 since some H2 lost and used for energy)
MWh_elec_per_tNH3_electrolysis: 1.17 # from https://doi.org/10.1016/j.joule.2018.04.017 Table 13 (air separation and HB)
MWh_NH3_per_MWh_H2_cracker: 1.46 # https://github.com/euronion/trace/blob/44a5ff8401762edbef80eff9cfe5a47c8d3c8be4/data/efficiencies.csv
NH3_process_emissions: 24.5 # in MtCO2/a from SMR for H2 production for NH3 from UNFCCC for 2015 for EU28
petrochemical_process_emissions: 25.5 # in MtCO2/a for petrochemical and other from UNFCCC for 2015 for EU28
HVC_primary_fraction: 1. # fraction of today's HVC produced via primary route
HVC_mechanical_recycling_fraction: 0. # fraction of today's HVC produced via mechanical recycling
HVC_chemical_recycling_fraction: 0. # fraction of today's HVC produced via chemical recycling
HVC_production_today: 52. # MtHVC/a from DECHEMA (2017), Figure 16, page 107; includes ethylene, propylene and BTX
MWh_elec_per_tHVC_mechanical_recycling: 0.547 # from SI of https://doi.org/10.1016/j.resconrec.2020.105010, Table S5, for HDPE, PP, PS, PET. LDPE would be 0.756.
MWh_elec_per_tHVC_chemical_recycling: 6.9 # Material Economics (2019), page 125; based on pyrolysis and electric steam cracking
chlorine_production_today: 9.58 # MtCl/a from DECHEMA (2017), Table 7, page 43
MWh_elec_per_tCl: 3.6 # DECHEMA (2017), Table 6, page 43
MWh_H2_per_tCl: -0.9372 # DECHEMA (2017), page 43; negative since hydrogen produced in chloralkali process
methanol_production_today: 1.5 # MtMeOH/a from DECHEMA (2017), page 62
MWh_elec_per_tMeOH: 0.167 # DECHEMA (2017), Table 14, page 65
MWh_CH4_per_tMeOH: 10.25 # DECHEMA (2017), Table 14, page 65
hotmaps_locate_missing: false
reference_year: 2015
# references:
# DECHEMA (2017): https://dechema.de/dechema_media/Downloads/Positionspapiere/Technology_study_Low_carbon_energy_and_feedstock_for_the_European_chemical_industry-p-20002750.pdf
# Material Economics (2019): https://materialeconomics.com/latest-updates/industrial-transformation-2050
costs:
year: 2030
version: v0.4.0
version: v0.5.0
rooftop_share: 0.14 # based on the potentials, assuming (0.1 kW/m2 and 10 m2/person)
fill_values:
FOM: 0
@ -244,6 +579,9 @@ costs:
lifetime: 25
"CO2 intensity": 0
"discount rate": 0.07
# Marginal and capital costs can be overwritten
# capital_cost:
# onwind: 500
marginal_cost:
solar: 0.01
onwind: 0.015
@ -281,100 +619,136 @@ clustering:
efficiency: mean
solving:
#tmpdir: "path/to/tmp"
options:
formulation: kirchhoff
clip_p_max_pu: 1.e-2
load_shedding: false
noisy_costs: true
skip_iterations: true
track_iterations: false
min_iterations: 4
max_iterations: 6
clip_p_max_pu: 0.01
skip_iterations: false
track_iterations: false
#nhours: 10
seed: 123
solver:
name: gurobi
options: gurobi-default
solver_options:
highs-default:
# refer to https://ergo-code.github.io/HiGHS/options/definitions.html#solver
threads: 4
solver: "ipm"
run_crossover: "off"
small_matrix_value: 1e-6
large_matrix_value: 1e9
primal_feasibility_tolerance: 1e-5
dual_feasibility_tolerance: 1e-5
ipm_optimality_tolerance: 1e-4
parallel: "on"
random_seed: 123
gurobi-default:
threads: 4
method: 2 # barrier
crossover: 0
BarConvTol: 1.e-5
FeasibilityTol: 1.e-6
BarConvTol: 1.e-6
Seed: 123
AggFill: 0
PreDual: 0
GURO_PAR_BARDENSETHRESH: 200
# solver:
# name: cplex
# threads: 4
# lpmethod: 4 # barrier
# solutiontype: 2 # non basic solution, ie no crossover
# barrier.convergetol: 1.e-5
# feasopt.tolerance: 1.e-6
seed: 10 # Consistent seed for all plattforms
gurobi-numeric-focus:
name: gurobi
NumericFocus: 3 # Favour numeric stability over speed
method: 2 # barrier
crossover: 0 # do not use crossover
BarHomogeneous: 1 # Use homogeneous barrier if standard does not converge
BarConvTol: 1.e-5
FeasibilityTol: 1.e-4
OptimalityTol: 1.e-4
ObjScale: -0.5
threads: 8
Seed: 123
gurobi-fallback: # Use gurobi defaults
name: gurobi
crossover: 0
method: 2 # barrier
BarHomogeneous: 1 # Use homogeneous barrier if standard does not converge
BarConvTol: 1.e-5
FeasibilityTol: 1.e-5
OptimalityTol: 1.e-5
Seed: 123
threads: 8
cplex-default:
threads: 4
lpmethod: 4 # barrier
solutiontype: 2 # non basic solution, ie no crossover
barrier.convergetol: 1.e-5
feasopt.tolerance: 1.e-6
cbc-default: {} # Used in CI
glpk-default: {} # Used in CI
mem: 30000 #memory in MB; 20 GB enough for 50+B+I+H2; 100 GB for 181+B+I+H2
plotting:
map:
figsize: [7, 7]
boundaries: [-10.2, 29, 35, 72]
p_nom:
bus_size_factor: 5.e+4
linewidth_factor: 3.e+3
costs_max: 800
boundaries: [-11, 30, 34, 71]
color_geomap:
ocean: white
land: white
eu_node_location:
x: -5.5
y: 46.
costs_max: 1000
costs_threshold: 1
energy_max: 15000.
energy_min: -10000.
energy_max: 20000
energy_min: -20000
energy_threshold: 50.
vre_techs:
- onwind
- offwind-ac
- offwind-dc
- solar
- ror
renewable_storage_techs:
- PHS
- hydro
conv_techs:
- OCGT
- CCGT
- Nuclear
- Coal
storage_techs:
- hydro+PHS
- battery
- H2
load_carriers:
- AC load
AC_carriers:
- AC line
- AC transformer
link_carriers:
- DC line
- Converter AC-DC
heat_links:
- heat pump
- resistive heater
- CHP heat
- CHP electric
- gas boiler
- central heat pump
- central resistive heater
- central CHP heat
- central CHP electric
- central gas boiler
heat_generators:
- gas boiler
- central gas boiler
- solar thermal collector
- central solar thermal collector
vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"]
conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"]
storage_techs: ["hydro+PHS", "battery", "H2"]
load_carriers: ["AC load"]
AC_carriers: ["AC line", "AC transformer"]
link_carriers: ["DC line", "Converter AC-DC"]
tech_colors:
"onwind": "#235ebc"
"onshore wind": "#235ebc"
'offwind': "#6895dd"
'offwind-ac': "#6895dd"
'offshore wind': "#6895dd"
'offshore wind ac': "#6895dd"
'offwind-dc': "#74c6f2"
'offshore wind dc': "#74c6f2"
"hydro": "#08ad97"
"hydro+PHS": "#08ad97"
"PHS": "#08ad97"
"hydro reservoir": "#08ad97"
'hydroelectricity': '#08ad97'
"ror": "#4adbc8"
"run of river": "#4adbc8"
'solar': "#f9d002"
'solar PV': "#f9d002"
'solar thermal': '#ffef60'
'biomass': '#0c6013'
'solid biomass': '#06540d'
'biogas': '#23932d'
'waste': '#68896b'
'geothermal': '#ba91b1'
"OCGT": "#d35050"
"gas": "#d35050"
"natural gas": "#d35050"
"CCGT": "#b20101"
"nuclear": "#ff9000"
"coal": "#707070"
"lignite": "#9e5a01"
"oil": "#262626"
"H2": "#ea048a"
"hydrogen storage": "#ea048a"
"battery": "#b8ea04"
"Electric load": "#f9d002"
"electricity": "#f9d002"
"lines": "#70af1d"
"transmission lines": "#70af1d"
"AC-AC": "#70af1d"
"AC line": "#70af1d"
"links": "#8a1caf"
"HVDC links": "#8a1caf"
"DC-DC": "#8a1caf"
"DC link": "#8a1caf"
nice_names:
OCGT: "Open-Cycle Gas"
CCGT: "Combined-Cycle Gas"
@ -388,3 +762,198 @@ plotting:
H2: "Hydrogen Storage"
lines: "Transmission Lines"
ror: "Run of River"
tech_colors:
# wind
onwind: "#235ebc"
onshore wind: "#235ebc"
offwind: "#6895dd"
offshore wind: "#6895dd"
offwind-ac: "#6895dd"
offshore wind (AC): "#6895dd"
offshore wind ac: "#6895dd"
offwind-dc: "#74c6f2"
offshore wind (DC): "#74c6f2"
offshore wind dc: "#74c6f2"
# water
hydro: '#298c81'
hydro reservoir: '#298c81'
ror: '#3dbfb0'
run of river: '#3dbfb0'
hydroelectricity: '#298c81'
PHS: '#51dbcc'
hydro+PHS: "#08ad97"
wave: '#a7d4cf'
# solar
solar: "#f9d002"
solar PV: "#f9d002"
solar thermal: '#ffbf2b'
solar rooftop: '#ffea80'
# gas
OCGT: '#e0986c'
OCGT marginal: '#e0986c'
OCGT-heat: '#e0986c'
gas boiler: '#db6a25'
gas boilers: '#db6a25'
gas boiler marginal: '#db6a25'
gas: '#e05b09'
fossil gas: '#e05b09'
natural gas: '#e05b09'
CCGT: '#a85522'
CCGT marginal: '#a85522'
allam: '#B98F76'
gas for industry co2 to atmosphere: '#692e0a'
gas for industry co2 to stored: '#8a3400'
gas for industry: '#853403'
gas for industry CC: '#692e0a'
gas pipeline: '#ebbca0'
gas pipeline new: '#a87c62'
# oil
oil: '#c9c9c9'
oil boiler: '#adadad'
agriculture machinery oil: '#949494'
shipping oil: "#808080"
land transport oil: '#afafaf'
# nuclear
Nuclear: '#ff8c00'
Nuclear marginal: '#ff8c00'
nuclear: '#ff8c00'
uranium: '#ff8c00'
# coal
Coal: '#545454'
coal: '#545454'
Coal marginal: '#545454'
solid: '#545454'
Lignite: '#826837'
lignite: '#826837'
Lignite marginal: '#826837'
# biomass
biogas: '#e3d37d'
biomass: '#baa741'
solid biomass: '#baa741'
solid biomass transport: '#baa741'
solid biomass for industry: '#7a6d26'
solid biomass for industry CC: '#47411c'
solid biomass for industry co2 from atmosphere: '#736412'
solid biomass for industry co2 to stored: '#47411c'
biomass boiler: '#8A9A5B'
biomass to liquid: '#32CD32'
BioSNG: '#123456'
# power transmission
lines: '#6c9459'
transmission lines: '#6c9459'
electricity distribution grid: '#97ad8c'
# electricity demand
Electric load: '#110d63'
electric demand: '#110d63'
electricity: '#110d63'
industry electricity: '#2d2a66'
industry new electricity: '#2d2a66'
agriculture electricity: '#494778'
# battery + EVs
battery: '#ace37f'
battery storage: '#ace37f'
home battery: '#80c944'
home battery storage: '#80c944'
BEV charger: '#baf238'
V2G: '#e5ffa8'
land transport EV: '#baf238'
Li ion: '#baf238'
# hot water storage
water tanks: '#e69487'
hot water storage: '#e69487'
hot water charging: '#e69487'
hot water discharging: '#e69487'
# heat demand
Heat load: '#cc1f1f'
heat: '#cc1f1f'
heat demand: '#cc1f1f'
rural heat: '#ff5c5c'
central heat: '#cc1f1f'
decentral heat: '#750606'
low-temperature heat for industry: '#8f2727'
process heat: '#ff0000'
agriculture heat: '#d9a5a5'
# heat supply
heat pumps: '#2fb537'
heat pump: '#2fb537'
air heat pump: '#36eb41'
ground heat pump: '#2fb537'
Ambient: '#98eb9d'
CHP: '#8a5751'
CHP CC: '#634643'
CHP heat: '#8a5751'
CHP electric: '#8a5751'
district heating: '#e8beac'
resistive heater: '#d8f9b8'
retrofitting: '#8487e8'
building retrofitting: '#8487e8'
# hydrogen
H2 for industry: "#f073da"
H2 for shipping: "#ebaee0"
H2: '#bf13a0'
hydrogen: '#bf13a0'
SMR: '#870c71'
SMR CC: '#4f1745'
H2 liquefaction: '#d647bd'
hydrogen storage: '#bf13a0'
H2 storage: '#bf13a0'
land transport fuel cell: '#6b3161'
H2 pipeline: '#f081dc'
H2 pipeline retrofitted: '#ba99b5'
H2 Fuel Cell: '#c251ae'
H2 Electrolysis: '#ff29d9'
# ammonia
NH3: '#46caf0'
ammonia: '#46caf0'
ammonia store: '#00ace0'
ammonia cracker: '#87d0e6'
Haber-Bosch: '#076987'
# syngas
Sabatier: '#9850ad'
methanation: '#c44ce6'
methane: '#c44ce6'
helmeth: '#e899ff'
# synfuels
Fischer-Tropsch: '#25c49a'
liquid: '#25c49a'
kerosene for aviation: '#a1ffe6'
naphtha for industry: '#57ebc4'
methanolisation: '#83d6d5'
methanol: '#468c8b'
shipping methanol: '#468c8b'
# co2
CC: '#f29dae'
CCS: '#f29dae'
CO2 sequestration: '#f29dae'
DAC: '#ff5270'
co2 stored: '#f2385a'
co2: '#f29dae'
co2 vent: '#ffd4dc'
CO2 pipeline: '#f5627f'
# emissions
process emissions CC: '#000000'
process emissions: '#222222'
process emissions to stored: '#444444'
process emissions to atmosphere: '#888888'
oil emissions: '#aaaaaa'
shipping oil emissions: "#555555"
shipping methanol emissions: '#666666'
land transport oil emissions: '#777777'
agriculture machinery oil emissions: '#333333'
# other
shipping: '#03a2ff'
power-to-heat: '#2fb537'
power-to-gas: '#c44ce6'
power-to-H2: '#ff29d9'
power-to-liquid: '#25c49a'
gas-to-power/heat: '#ee8340'
waste: '#e3d37d'
other: '#000000'
geothermal: '#ba91b1'
AC-AC: "#70af1d"
AC line: "#70af1d"
links: "#8a1caf"
HVDC links: "#8a1caf"
DC-DC: "#8a1caf"
DC link: "#8a1caf"

View File

@ -1,298 +0,0 @@
# SPDX-FileCopyrightText: : 2017-2022 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
version: 0.6.1
tutorial: true
logging:
level: INFO
format: '%(levelname)s:%(name)s:%(message)s'
run:
name: ""
shared_cutouts: false
scenario:
simpl: ['']
ll: ['copt']
clusters: [5]
opts: [Co2L-24H]
countries: ['BE']
snapshots:
start: "2013-03-01"
end: "2013-04-01"
closed: 'left' # end is not inclusive
enable:
prepare_links_p_nom: false
retrieve_databundle: true
retrieve_cost_data: true
build_cutout: false
retrieve_cutout: true
build_natura_raster: false
retrieve_natura_raster: true
custom_busmap: false
electricity:
voltages: [220., 300., 380.]
co2limit: 100.e+6
extendable_carriers:
Generator: [OCGT]
StorageUnit: [] #battery, H2
Store: [battery, H2]
Link: [] # H2 pipeline
max_hours:
battery: 6
H2: 168
powerplants_filter: false # use pandas query strings here, e.g. Country not in ['Germany']
custom_powerplants: false # use pandas query strings here, e.g. Country in ['Germany']
conventional_carriers: [coal, CCGT] # [nuclear, oil, OCGT, CCGT, coal, lignite, geothermal, biomass]
atlite:
nprocesses: 4
show_progress: false # false saves time
cutouts:
be-03-2013-era5:
module: era5
x: [4., 15.]
y: [46., 56.]
time: ["2013-03", "2013-03"]
renewable:
onwind:
cutout: be-03-2013-era5
resource:
method: wind
turbine: Vestas_V112_3MW
capacity_per_sqkm: 3 # ScholzPhd Tab 4.3.1: 10MW/km^2
# correction_factor: 0.93
corine:
# Scholz, Y. (2012). Renewable energy based electricity supply at low costs:
# development of the REMix model and application for Europe. ( p.42 / p.28)
grid_codes: [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32]
distance: 1000
distance_grid_codes: [1, 2, 3, 4, 5, 6]
natura: true
excluder_resolution: 200
potential: simple # or conservative
clip_p_max_pu: 1.e-2
offwind-ac:
cutout: be-03-2013-era5
resource:
method: wind
turbine: NREL_ReferenceTurbine_5MW_offshore
capacity_per_sqkm: 3
# correction_factor: 0.93
corine: [44, 255]
natura: true
ship_threshold: 400
max_shore_distance: 30000
excluder_resolution: 200
potential: simple # or conservative
clip_p_max_pu: 1.e-2
offwind-dc:
cutout: be-03-2013-era5
resource:
method: wind
turbine: NREL_ReferenceTurbine_5MW_offshore
# ScholzPhd Tab 4.3.1: 10MW/km^2
capacity_per_sqkm: 3
# correction_factor: 0.93
corine: [44, 255]
natura: true
ship_threshold: 400
min_shore_distance: 30000
excluder_resolution: 200
potential: simple # or conservative
clip_p_max_pu: 1.e-2
solar:
cutout: be-03-2013-era5
resource:
method: pv
panel: CSi
orientation:
slope: 35.
azimuth: 180.
capacity_per_sqkm: 1.7 # ScholzPhd Tab 4.3.1: 170 MW/km^2
# Correction factor determined by comparing uncorrected area-weighted full-load hours to those
# published in Supplementary Data to
# Pietzcker, Robert Carl, et al. "Using the sun to decarbonize the power
# sector: The economic potential of photovoltaics and concentrating solar
# power." Applied Energy 135 (2014): 704-720.
# This correction factor of 0.854337 may be in order if using reanalysis data.
# correction_factor: 0.854337
corine: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 26, 31, 32]
natura: true
excluder_resolution: 200
potential: simple # or conservative
clip_p_max_pu: 1.e-2
lines:
types:
220.: "Al/St 240/40 2-bundle 220.0"
300.: "Al/St 240/40 3-bundle 300.0"
380.: "Al/St 240/40 4-bundle 380.0"
s_max_pu: 0.7
s_nom_max: .inf
length_factor: 1.25
under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
links:
p_max_pu: 1.0
p_nom_max: .inf
include_tyndp: true
under_construction: 'zero' # 'zero': set capacity to zero, 'remove': remove, 'keep': with full capacity
transformers:
x: 0.1
s_nom: 2000.
type: ''
load:
power_statistics: true # only for files from <2019; set false in order to get ENTSOE transparency data
interpolate_limit: 3 # data gaps up until this size are interpolated linearly
time_shift_for_large_gaps: 1w # data gaps up until this size are copied by copying from
manual_adjustments: true # false
scaling_factor: 1.0
costs:
year: 2030
version: v0.4.0
rooftop_share: 0.14
fill_values:
FOM: 0
VOM: 0
efficiency: 1
fuel: 0
investment: 0
lifetime: 25
"CO2 intensity": 0
"discount rate": 0.07
marginal_cost:
solar: 0.01
onwind: 0.015
offwind: 0.015
H2: 0.
battery: 0.
emission_prices: # in currency per tonne emission, only used with the option Ep
co2: 0.
clustering:
simplify_network:
to_substations: false # network is simplified to nodes with positive or negative power injection (i.e. substations or offwind connections)
algorithm: kmeans # choose from: [hac, kmeans]
feature: solar+onwind-time # only for hac. choose from: [solar+onwind-time, solar+onwind-cap, solar-time, solar-cap, solar+offwind-cap] etc.
exclude_carriers: []
cluster_network:
algorithm: kmeans
feature: solar+onwind-time
exclude_carriers: []
aggregation_strategies:
generators:
p_nom_max: sum # use "min" for more conservative assumptions
p_nom_min: sum
p_min_pu: mean
marginal_cost: mean
committable: any
ramp_limit_up: max
ramp_limit_down: max
efficiency: mean
solving:
options:
formulation: kirchhoff
load_shedding: false
noisy_costs: true
min_iterations: 1
max_iterations: 1
clip_p_max_pu: 0.01
skip_iterations: false
track_iterations: false
solver:
name: cbc
plotting:
map:
figsize: [7, 7]
boundaries: [-10.2, 29, 35, 72]
p_nom:
bus_size_factor: 5.e+4
linewidth_factor: 3.e+3
costs_max: 800
costs_threshold: 1
energy_max: 15000.
energy_min: -10000.
energy_threshold: 50.
vre_techs: ["onwind", "offwind-ac", "offwind-dc", "solar", "ror"]
conv_techs: ["OCGT", "CCGT", "Nuclear", "Coal"]
storage_techs: ["hydro+PHS", "battery", "H2"]
load_carriers: ["AC load"]
AC_carriers: ["AC line", "AC transformer"]
link_carriers: ["DC line", "Converter AC-DC"]
tech_colors:
"onwind": "#235ebc"
"onshore wind": "#235ebc"
'offwind': "#6895dd"
'offwind-ac': "#6895dd"
'offshore wind': "#6895dd"
'offshore wind ac': "#6895dd"
'offwind-dc': "#74c6f2"
'offshore wind dc': "#74c6f2"
"hydro": "#08ad97"
"hydro+PHS": "#08ad97"
"PHS": "#08ad97"
"hydro reservoir": "#08ad97"
'hydroelectricity': '#08ad97'
"ror": "#4adbc8"
"run of river": "#4adbc8"
'solar': "#f9d002"
'solar PV': "#f9d002"
'solar thermal': '#ffef60'
'biomass': '#0c6013'
'solid biomass': '#06540d'
'biogas': '#23932d'
'waste': '#68896b'
'geothermal': '#ba91b1'
"OCGT": "#d35050"
"gas": "#d35050"
"natural gas": "#d35050"
"CCGT": "#b20101"
"nuclear": "#ff9000"
"coal": "#707070"
"lignite": "#9e5a01"
"oil": "#262626"
"H2": "#ea048a"
"hydrogen storage": "#ea048a"
"battery": "#b8ea04"
"Electric load": "#f9d002"
"electricity": "#f9d002"
"lines": "#70af1d"
"transmission lines": "#70af1d"
"AC-AC": "#70af1d"
"AC line": "#70af1d"
"links": "#8a1caf"
"HVDC links": "#8a1caf"
"DC-DC": "#8a1caf"
"DC link": "#8a1caf"
nice_names:
OCGT: "Open-Cycle Gas"
CCGT: "Combined-Cycle Gas"
offwind-ac: "Offshore Wind (AC)"
offwind-dc: "Offshore Wind (DC)"
onwind: "Onshore Wind"
solar: "Solar"
PHS: "Pumped Hydro Storage"
hydro: "Reservoir & Dam"
battery: "Battery Storage"
H2: "Hydrogen Storage"
lines: "Transmission Lines"
ror: "Run of River"

861
data/attributed_ports.json Normal file
View File

@ -0,0 +1,861 @@
{
"type": "FeatureCollection",
"features": [
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-345---", "LOCODE": "AEAUH", "Name": "Abu Dhabi", "NameWoDiac": "Abu Dhabi", "Status": "AI", "outflows": 41597.142851999997 }, "geometry": { "type": "Point", "coordinates": [ 54.366666666666667, 24.466666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AERUW", "Name": "Ar Ruways", "NameWoDiac": "Ar Ruways", "Status": "RL", "outflows": 166556.0 }, "geometry": { "type": "Point", "coordinates": [ 52.733333333333334, 24.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEKLF", "Name": "Khor al Fakkan", "NameWoDiac": "Khor al Fakkan", "Status": "RL", "outflows": 790406.5 }, "geometry": { "type": "Point", "coordinates": [ 56.35, 25.333333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-3-----", "LOCODE": "AEMKH", "Name": "Mina Khalid", "NameWoDiac": "Mina Khalid", "Status": "RL", "outflows": 646965.0 }, "geometry": { "type": "Point", "coordinates": [ 55.366666666666667, 25.35 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEKHL", "Name": "Mina Khalifa\/Abu Dhabi", "NameWoDiac": "Mina Khalifa\/Abu Dhabi", "Status": "RL", "outflows": 18341458.820419993 }, "geometry": { "type": "Point", "coordinates": [ 54.666666666666664, 24.833333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1--4----", "LOCODE": "AEQIW", "Name": "Umm al Qaiwain", "NameWoDiac": "Umm al Qaiwain", "Status": "AI", "outflows": 14196.0 }, "geometry": { "type": "Point", "coordinates": [ 55.55, 25.566666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Antigua and Barbuda", "Function": "1-------", "LOCODE": "AGSJO", "Name": "Saint John's", "NameWoDiac": "Saint John's", "Status": "AI", "outflows": 208663.0 }, "geometry": { "type": "Point", "coordinates": [ -61.85, 17.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARBHI", "Name": "Bahía Blanca", "NameWoDiac": "Bahia Blanca", "Status": "AI", "outflows": 677327.625 }, "geometry": { "type": "Point", "coordinates": [ -62.283333333333331, -38.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "12345---", "LOCODE": "ARBUE", "Name": "Buenos Aires", "NameWoDiac": "Buenos Aires", "Status": "AI", "outflows": 11083411.036479998 }, "geometry": { "type": "Point", "coordinates": [ -58.666666666666664, -34.583333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-345---", "LOCODE": "ARMDQ", "Name": "Mar del Plata", "NameWoDiac": "Mar del Plata", "Status": "AI", "outflows": 24960.0 }, "geometry": { "type": "Point", "coordinates": [ -57.533333333333331, -38.05 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARPUD", "Name": "Puerto Deseado", "NameWoDiac": "Puerto Deseado", "Status": "AI", "outflows": 24960.0 }, "geometry": { "type": "Point", "coordinates": [ -65.9, -47.75 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARPMY", "Name": "Puerto Madryn", "NameWoDiac": "Puerto Madryn", "Status": "AI", "outflows": 671555.625 }, "geometry": { "type": "Point", "coordinates": [ -65.033333333333331, -42.75 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "12345---", "LOCODE": "ARROS", "Name": "Rosario", "NameWoDiac": "Rosario", "Status": "AI", "outflows": 110227.0 }, "geometry": { "type": "Point", "coordinates": [ -60.65, -32.95 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-------", "LOCODE": "ARSAE", "Name": "San Antonio Este", "NameWoDiac": "San Antonio Este", "Status": "RQ", "outflows": 23075.0 }, "geometry": { "type": "Point", "coordinates": [ -64.733333333333334, -40.8 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1--4----", "LOCODE": "ARUSH", "Name": "Ushuaia", "NameWoDiac": "Ushuaia", "Status": "AI", "outflows": 30732.0 }, "geometry": { "type": "Point", "coordinates": [ -68.3, -54.8 ] } },
{ "type": "Feature", "properties": { "Country": "Argentina", "Function": "1-------", "LOCODE": "ARZAE", "Name": "Zárate", "NameWoDiac": "Zarate", "Status": "AI", "outflows": 164645.0 }, "geometry": { "type": "Point", "coordinates": [ -59.033333333333331, -34.1 ] } },
{ "type": "Feature", "properties": { "Country": "American Samoa", "Function": "1--45---", "LOCODE": "ASPPG", "Name": "Pago Pago", "NameWoDiac": "Pago Pago", "Status": "AI", "outflows": 338184.5 }, "geometry": { "type": "Point", "coordinates": [ -170.7, 14.266666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUADL", "Name": "Adelaide", "NameWoDiac": "Adelaide", "Status": "AC", "outflows": 5338947.2004299983 }, "geometry": { "type": "Point", "coordinates": [ 138.583333333333343, -34.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUBNE", "Name": "Brisbane", "NameWoDiac": "Brisbane", "Status": "AC", "outflows": 8402703.6401499975 }, "geometry": { "type": "Point", "coordinates": [ 153.01666666666668, -27.466666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUDRW", "Name": "Darwin", "NameWoDiac": "Darwin", "Status": "AC", "outflows": 88640.416664000004 }, "geometry": { "type": "Point", "coordinates": [ 130.833333333333343, -12.45 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUMEL", "Name": "Melbourne", "NameWoDiac": "Melbourne", "Status": "AC", "outflows": 9957826.0957300067 }, "geometry": { "type": "Point", "coordinates": [ 144.966666666666669, -37.81666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "12345---", "LOCODE": "AUSYD", "Name": "Sydney", "NameWoDiac": "Sydney", "Status": "AC", "outflows": 10352110.143530006 }, "geometry": { "type": "Point", "coordinates": [ 151.2, -33.85 ] } },
{ "type": "Feature", "properties": { "Country": "Aruba", "Function": "1-------", "LOCODE": "AWBAR", "Name": "Barcadera", "NameWoDiac": "Barcadera", "Status": "RL", "outflows": 65431.8 }, "geometry": { "type": "Point", "coordinates": [ -69.983333333333334, 12.483333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Bangladesh", "Function": "1--45---", "LOCODE": "BDCGP", "Name": "Chattogram", "NameWoDiac": "Chattogram", "Status": "AI", "outflows": 1379549.0523300001 }, "geometry": { "type": "Point", "coordinates": [ 91.833333333333329, 22.333333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "12345---", "LOCODE": "BEANR", "Name": "Antwerpen", "NameWoDiac": "Antwerpen", "Status": "AI", "outflows": 51827814.560638025 }, "geometry": { "type": "Point", "coordinates": [ 4.416666666666667, 51.216666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "1234----", "LOCODE": "BEGNE", "Name": "Gent (Ghent)", "NameWoDiac": "Gent (Ghent)", "Status": "AI", "outflows": 13260.0 }, "geometry": { "type": "Point", "coordinates": [ 3.716666666666667, 51.05 ] } },
{ "type": "Feature", "properties": { "Country": "Belgium", "Function": "1-3-----", "LOCODE": "BEZEE", "Name": "Zeebrugge", "NameWoDiac": "Zeebrugge", "Status": "AI", "outflows": 5650583.2502299985 }, "geometry": { "type": "Point", "coordinates": [ 3.2, 51.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Bahrain", "Function": "1-------", "LOCODE": "BHMIN", "Name": "Mina Sulman Port", "NameWoDiac": "Mina Sulman Port", "Status": "AA", "outflows": 632118.5 }, "geometry": { "type": "Point", "coordinates": [ 50.616666666666667, 26.2 ] } },
{ "type": "Feature", "properties": { "Country": "Bonaire, Sint Eustatius and Saba", "Function": "1-------", "LOCODE": "BQKRA", "Name": "Kralendijk", "NameWoDiac": "Kralendijk", "Status": "AI", "outflows": 117162.5 }, "geometry": { "type": "Point", "coordinates": [ -68.266666666666666, 12.15 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "-23-----", "LOCODE": "BRIGI", "Name": "Itaguaí", "NameWoDiac": "Itaguai", "Status": "RL", "outflows": 2879859.0476199985 }, "geometry": { "type": "Point", "coordinates": [ -43.766666666666666, -22.866666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-3-----", "LOCODE": "BRIOA", "Name": "Itapoá", "NameWoDiac": "Itapoa", "Status": "RL", "outflows": 9027277.19 }, "geometry": { "type": "Point", "coordinates": [ -48.6, -26.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-34----", "LOCODE": "BRNVT", "Name": "Navegantes", "NameWoDiac": "Navegantes", "Status": "AI", "outflows": 10279036.91334 }, "geometry": { "type": "Point", "coordinates": [ -48.65, -26.9 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRPNG", "Name": "Paranaguá", "NameWoDiac": "Paranagua", "Status": "AI", "outflows": 13802196.524050001 }, "geometry": { "type": "Point", "coordinates": [ -48.5, -25.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "12------", "LOCODE": "BRPEC", "Name": "Pecém Pt\/São Gonçalo do Amarante", "NameWoDiac": "Pecem Pt\/Sao Goncalo do Amarante", "Status": "AA", "outflows": 2174063.6046599997 }, "geometry": { "type": "Point", "coordinates": [ -38.866666666666667, -3.533333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "123-567-", "LOCODE": "BRRIO", "Name": "Rio de Janeiro", "NameWoDiac": "Rio de Janeiro", "Status": "AA", "outflows": 9600221.3041699976 }, "geometry": { "type": "Point", "coordinates": [ -43.233333333333334, -22.883333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRMCP", "Name": "Santana Pt.\/Macapá", "NameWoDiac": "Santana Pt.\/Macapa", "Status": "AA", "outflows": 837504.77784000011 }, "geometry": { "type": "Point", "coordinates": [ -51.166666666666664, -0.05 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1234----", "LOCODE": "BRSSZ", "Name": "Santos", "NameWoDiac": "Santos", "Status": "AI", "outflows": 17682777.003890004 }, "geometry": { "type": "Point", "coordinates": [ -46.333333333333336, -23.95 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-34----", "LOCODE": "BRSLZ", "Name": "São Luís", "NameWoDiac": "Sao Luis", "Status": "AI", "outflows": 45240.0 }, "geometry": { "type": "Point", "coordinates": [ -44.3, -2.5 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRVIX", "Name": "Vitória Pt", "NameWoDiac": "Vitoria Pt", "Status": "AA", "outflows": 738129.52788000007 }, "geometry": { "type": "Point", "coordinates": [ -40.333333333333336, -20.316666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Bahamas", "Function": "1--45---", "LOCODE": "BSNAS", "Name": "Nassau", "NameWoDiac": "Nassau", "Status": "AI", "outflows": 62842.0 }, "geometry": { "type": "Point", "coordinates": [ -77.35, 25.083333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Belize", "Function": "1-34----", "LOCODE": "BZBGK", "Name": "Big Creek", "NameWoDiac": "Big Creek", "Status": "RL", "outflows": 199368.0 }, "geometry": { "type": "Point", "coordinates": [ -88.4, 16.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-34----", "LOCODE": "CANWP", "Name": "Argentia", "NameWoDiac": "Argentia", "Status": "AI", "outflows": 27248.000001 }, "geometry": { "type": "Point", "coordinates": [ -54.0, 47.3 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-34-6--", "LOCODE": "CASJB", "Name": "Saint-John", "NameWoDiac": "Saint-John", "Status": "AS", "outflows": 389420.2 }, "geometry": { "type": "Point", "coordinates": [ -66.066666666666663, 45.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-3-----", "LOCODE": "CASJF", "Name": "Saint-John's", "NameWoDiac": "Saint-John's", "Status": "AS", "outflows": 26845.0 }, "geometry": { "type": "Point", "coordinates": [ -52.733333333333334, 47.56666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Congo, The Democratic Republic of the", "Function": "1-3-----", "LOCODE": "CDBNW", "Name": "Banana", "NameWoDiac": "Banana", "Status": "RL", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ 12.401211892732039, -6.003633266930797 ] } },
{ "type": "Feature", "properties": { "Country": "Congo", "Function": "1--45---", "LOCODE": "CGPNR", "Name": "Pointe Noire", "NameWoDiac": "Pointe Noire", "Status": "AI", "outflows": 3473713.5811700015 }, "geometry": { "type": "Point", "coordinates": [ 11.85, -4.8 ] } },
{ "type": "Feature", "properties": { "Country": "Côte d'Ivoire", "Function": "1--45---", "LOCODE": "CIABJ", "Name": "Abidjan", "NameWoDiac": "Abidjan", "Status": "AI", "outflows": 3248845.4334399998 }, "geometry": { "type": "Point", "coordinates": [ -4.016666666666667, 5.333333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Côte d'Ivoire", "Function": "1-34----", "LOCODE": "CISPY", "Name": "San-Pédro", "NameWoDiac": "San-Pedro", "Status": "AI", "outflows": 2312502.0286400001 }, "geometry": { "type": "Point", "coordinates": [ -6.616666666666667, 4.733333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1--4----", "LOCODE": "CLANF", "Name": "Antofagasta", "NameWoDiac": "Antofagasta", "Status": "AI", "outflows": 2136460.625 }, "geometry": { "type": "Point", "coordinates": [ -70.38333333333334, -23.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-34----", "LOCODE": "CLARI", "Name": "Arica", "NameWoDiac": "Arica", "Status": "AI", "outflows": 1400600.825 }, "geometry": { "type": "Point", "coordinates": [ -70.316666666666663, -18.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLCNL", "Name": "Coronel", "NameWoDiac": "Coronel", "Status": "AI", "outflows": 5437390.8332000002 }, "geometry": { "type": "Point", "coordinates": [ -73.15, -37.016666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1--4----", "LOCODE": "CLIQQ", "Name": "Iquique", "NameWoDiac": "Iquique", "Status": "AI", "outflows": 1915647.5 }, "geometry": { "type": "Point", "coordinates": [ -70.13333333333334, -20.216666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLLQN", "Name": "Lirquén", "NameWoDiac": "Lirquen", "Status": "AI", "outflows": 3185838.4995000004 }, "geometry": { "type": "Point", "coordinates": [ -72.983333333333334, -36.7 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-------", "LOCODE": "CLMJS", "Name": "Mejillones", "NameWoDiac": "Mejillones", "Status": "AI", "outflows": 32362.2 }, "geometry": { "type": "Point", "coordinates": [ -70.45, -23.1 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLPAG", "Name": "Puerto Angamos", "NameWoDiac": "Puerto Angamos", "Status": "RL", "outflows": 5408319.3663000017 }, "geometry": { "type": "Point", "coordinates": [ -70.45, -23.083333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-34----", "LOCODE": "CLPUQ", "Name": "Punta Arenas", "NameWoDiac": "Punta Arenas", "Status": "AI", "outflows": 18174.0 }, "geometry": { "type": "Point", "coordinates": [ -70.933333333333337, -53.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "123-----", "LOCODE": "CLSAI", "Name": "San Antonio", "NameWoDiac": "San Antonio", "Status": "AI", "outflows": 9417069.025 }, "geometry": { "type": "Point", "coordinates": [ -71.6, -33.6 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1-3-----", "LOCODE": "CLSVE", "Name": "San Vicente", "NameWoDiac": "San Vicente", "Status": "AI", "outflows": 945075.625 }, "geometry": { "type": "Point", "coordinates": [ -73.13333333333334, -36.7 ] } },
{ "type": "Feature", "properties": { "Country": "Chile", "Function": "1234----", "LOCODE": "CLVAP", "Name": "Valparaiso", "NameWoDiac": "Valparaiso", "Status": "AI", "outflows": 2059925.0 }, "geometry": { "type": "Point", "coordinates": [ -71.63333333333334, -33.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNCFD", "Name": "Caofeidian Pt", "NameWoDiac": "Caofeidian Pt", "Status": "AS", "outflows": 168350.0 }, "geometry": { "type": "Point", "coordinates": [ 118.533333333333331, 38.95 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1----6--", "LOCODE": "CNDCB", "Name": "DA CHAN BAY", "NameWoDiac": "DA CHAN BAY", "Status": "RL", "outflows": 4367401.0713399984 }, "geometry": { "type": "Point", "coordinates": [ 113.86666666666666, 22.533333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNDGG", "Name": "Dongguan Pt", "NameWoDiac": "Dongguan Pt", "Status": "AS", "outflows": 94354.0 }, "geometry": { "type": "Point", "coordinates": [ 113.75, 23.033333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNDJK", "Name": "Dongjiangkou", "NameWoDiac": "Dongjiangkou", "Status": "AS", "outflows": 386750.0 }, "geometry": { "type": "Point", "coordinates": [ 119.52253982618285, 35.308885331582253 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "--3-----", "LOCODE": "CNFQG", "Name": "Fuqing", "NameWoDiac": "Fuqing", "Status": "RL", "outflows": 1164780.9333599997 }, "geometry": { "type": "Point", "coordinates": [ 119.36666666666666, 25.716666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNHUI", "Name": "Huizhou Pt", "NameWoDiac": "Huizhou Pt", "Status": "AS", "outflows": 27300.0 }, "geometry": { "type": "Point", "coordinates": [ 114.36666666666666, 23.083333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNHMN", "Name": "Humen Pt", "NameWoDiac": "Humen Pt", "Status": "AS", "outflows": 630027.5 }, "geometry": { "type": "Point", "coordinates": [ 113.666666666666671, 22.833333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-3-----", "LOCODE": "CNJGY", "Name": "Jiangyin", "NameWoDiac": "Jiangyin", "Status": "RL", "outflows": 594906.0 }, "geometry": { "type": "Point", "coordinates": [ 119.3, 25.466666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNJNZ", "Name": "Jinzhou Pt", "NameWoDiac": "Jinzhou Pt", "Status": "AS", "outflows": 684866.0 }, "geometry": { "type": "Point", "coordinates": [ 121.15, 41.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNLYG", "Name": "Lianyungang", "NameWoDiac": "Lianyungang", "Status": "AS", "outflows": 9288988.8094500005 }, "geometry": { "type": "Point", "coordinates": [ 119.433333333333337, 34.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNNSA", "Name": "Nansha Pt", "NameWoDiac": "Nansha Pt", "Status": "AS", "outflows": 42484636.038412996 }, "geometry": { "type": "Point", "coordinates": [ 113.583333333333329, 22.75 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNNTG", "Name": "Nantong Pt", "NameWoDiac": "Nantong Pt", "Status": "AS", "outflows": 261618.5 }, "geometry": { "type": "Point", "coordinates": [ 120.85, 32.016666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHP", "Name": "Qinhuangdao Pt", "NameWoDiac": "Qinhuangdao Pt", "Status": "AS", "outflows": 105300.0 }, "geometry": { "type": "Point", "coordinates": [ 119.583333333333329, 39.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNQZJ", "Name": "Quanzhou Pt", "NameWoDiac": "Quanzhou Pt", "Status": "AS", "outflows": 512451.33335000003 }, "geometry": { "type": "Point", "coordinates": [ 118.6, 24.933333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNRZH", "Name": "Rizhao Pt", "NameWoDiac": "Rizhao Pt", "Status": "AS", "outflows": 1075073.00003 }, "geometry": { "type": "Point", "coordinates": [ 119.533333333333331, 35.383333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHK", "Name": "Shekou Pt", "NameWoDiac": "Shekou Pt", "Status": "AS", "outflows": 74635666.140550002 }, "geometry": { "type": "Point", "coordinates": [ 113.916666666666671, 22.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNSHD", "Name": "Shidao Pt", "NameWoDiac": "Shidao Pt", "Status": "AS", "outflows": 54886.0 }, "geometry": { "type": "Point", "coordinates": [ 122.433333333333337, 36.866666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNWIH", "Name": "Waihai", "NameWoDiac": "Waihai", "Status": "AS", "outflows": 50050.0 }, "geometry": { "type": "Point", "coordinates": [ 113.13333333333334, 22.583333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1--4----", "LOCODE": "CNWEF", "Name": "Weifang Pt", "NameWoDiac": "Weifang Pt", "Status": "AS", "outflows": 65923.0 }, "geometry": { "type": "Point", "coordinates": [ 119.1, 36.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1--45---", "LOCODE": "CNWEI", "Name": "Weihai", "NameWoDiac": "Weihai", "Status": "AS", "outflows": 238257.5 }, "geometry": { "type": "Point", "coordinates": [ 122.11666666666666, 37.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYPG", "Name": "Yangpu Pt", "NameWoDiac": "Yangpu Pt", "Status": "AS", "outflows": 872543.16658000019 }, "geometry": { "type": "Point", "coordinates": [ 109.2, 19.7 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYTN", "Name": "Yantian Pt", "NameWoDiac": "Yantian Pt", "Status": "AS", "outflows": 74187678.537459999 }, "geometry": { "type": "Point", "coordinates": [ 119.86666666666666, 26.85 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNYIK", "Name": "Yingkou Pt", "NameWoDiac": "Yingkou Pt", "Status": "AS", "outflows": 1421671.0 }, "geometry": { "type": "Point", "coordinates": [ 122.216666666666669, 40.65 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZJG", "Name": "Zhangjiagang", "NameWoDiac": "Zhangjiagang", "Status": "AS", "outflows": 196865.5 }, "geometry": { "type": "Point", "coordinates": [ 120.533333333333331, 31.866666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZZU", "Name": "Zhangzhou Pt", "NameWoDiac": "Zhangzhou Pt", "Status": "AS", "outflows": 340964.0 }, "geometry": { "type": "Point", "coordinates": [ 117.65, 24.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "China", "Function": "1-------", "LOCODE": "CNZUH", "Name": "Zhuhai Pt", "NameWoDiac": "Zhuhai Pt", "Status": "AS", "outflows": 929467.5 }, "geometry": { "type": "Point", "coordinates": [ 113.566666666666663, 22.283333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COLET", "Name": "Leticia", "NameWoDiac": "Leticia", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -69.933333333333337, -4.216666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COTLU", "Name": "Tolú", "NameWoDiac": "Tolu", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -75.583333333333329, 9.533333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COTRB", "Name": "Turbo", "NameWoDiac": "Turbo", "Status": "AI", "outflows": 799731.40001499979 }, "geometry": { "type": "Point", "coordinates": [ -76.716666666666669, 8.083333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "123-----", "LOCODE": "CRCAL", "Name": "Caldera", "NameWoDiac": "Caldera", "Status": "RL", "outflows": 704191.8 }, "geometry": { "type": "Point", "coordinates": [ -84.716666666666669, 9.95 ] } },
{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "1-3-----", "LOCODE": "CRMOB", "Name": "Moín", "NameWoDiac": "Moin", "Status": "RL", "outflows": 2884497.4165249998 }, "geometry": { "type": "Point", "coordinates": [ -83.083333333333329, 10.0 ] } },
{ "type": "Feature", "properties": { "Country": "Costa Rica", "Function": "1-3-----", "LOCODE": "CRLIO", "Name": "Puerto Limón", "NameWoDiac": "Puerto Limon", "Status": "AI", "outflows": 2372283.3334299996 }, "geometry": { "type": "Point", "coordinates": [ -83.033333333333331, 10.0 ] } },
{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "1234----", "LOCODE": "CUMAR", "Name": "Mariel", "NameWoDiac": "Mariel", "Status": "RL", "outflows": 370296.8 }, "geometry": { "type": "Point", "coordinates": [ -82.75, 23.0 ] } },
{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "1-3-----", "LOCODE": "CVMIN", "Name": "Mindelo", "NameWoDiac": "Mindelo", "Status": "RL", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -25.0, 16.883333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Curaçao", "Function": "1-------", "LOCODE": "CWWIL", "Name": "Willemstad", "NameWoDiac": "Willemstad", "Status": "AI", "outflows": 721990.3 }, "geometry": { "type": "Point", "coordinates": [ -68.916666666666671, 12.1 ] } },
{ "type": "Feature", "properties": { "Country": "Christmas Island", "Function": "1-------", "LOCODE": "CXFFC", "Name": "Flying Fish Cove", "NameWoDiac": "Flying Fish Cove", "Status": "RL", "outflows": 2520.0 }, "geometry": { "type": "Point", "coordinates": [ 105.716666666666669, -10.416666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Cyprus", "Function": "1-3-5---", "LOCODE": "CYLMS", "Name": "Limassol", "NameWoDiac": "Limassol", "Status": "AA", "outflows": 2366252.75 }, "geometry": { "type": "Point", "coordinates": [ 33.05, 34.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DEBKE", "Name": "Brake", "NameWoDiac": "Brake", "Status": "AF", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ 8.483333333333333, 53.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DECUX", "Name": "Cuxhaven", "NameWoDiac": "Cuxhaven", "Status": "AF", "outflows": 128258.0 }, "geometry": { "type": "Point", "coordinates": [ 8.7, 53.883333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEEME", "Name": "Emden", "NameWoDiac": "Emden", "Status": "AF", "outflows": 14598.0 }, "geometry": { "type": "Point", "coordinates": [ 7.216666666666667, 53.366666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEKEL", "Name": "Kiel", "NameWoDiac": "Kiel", "Status": "AF", "outflows": 14040.0 }, "geometry": { "type": "Point", "coordinates": [ 10.133333333333333, 54.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DERSK", "Name": "Rostock", "NameWoDiac": "Rostock", "Status": "AF", "outflows": 7984.0 }, "geometry": { "type": "Point", "coordinates": [ 12.133333333333333, 54.083333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEWVN", "Name": "Wilhelmshaven", "NameWoDiac": "Wilhelmshaven", "Status": "AF", "outflows": 7664957.3927999986 }, "geometry": { "type": "Point", "coordinates": [ 8.133333333333333, 53.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKAAR", "Name": "Aarhus", "NameWoDiac": "Aarhus", "Status": "AF", "outflows": 4009844.4282799996 }, "geometry": { "type": "Point", "coordinates": [ 10.216666666666667, 56.15 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKCPH", "Name": "København", "NameWoDiac": "Kobenhavn", "Status": "AF", "outflows": 138606.0 }, "geometry": { "type": "Point", "coordinates": [ 12.583333333333334, 55.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-3--6--", "LOCODE": "DOCAU", "Name": "Caucedo", "NameWoDiac": "Caucedo", "Status": "RL", "outflows": 11771542.79576 }, "geometry": { "type": "Point", "coordinates": [ -69.63333333333334, 18.416666666666668 ] } },
{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "123-----", "LOCODE": "DOMAN", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "RL", "outflows": 53258.4 }, "geometry": { "type": "Point", "coordinates": [ -71.75, 19.7 ] } },
{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123456--", "LOCODE": "DZALG", "Name": "Alger (Algiers)", "NameWoDiac": "Alger (Algiers)", "Status": "AI", "outflows": 835952.4 }, "geometry": { "type": "Point", "coordinates": [ 3.05, 36.75 ] } },
{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123-----", "LOCODE": "DZAZW", "Name": "Arzew", "NameWoDiac": "Arzew", "Status": "RL", "outflows": 24660.0 }, "geometry": { "type": "Point", "coordinates": [ -0.316666666666667, 35.866666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "123-----", "LOCODE": "DZGHZ", "Name": "Ghazaouet", "NameWoDiac": "Ghazaouet", "Status": "RL", "outflows": 72735.0 }, "geometry": { "type": "Point", "coordinates": [ -1.85, 35.1 ] } },
{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1--4----", "LOCODE": "ECESM", "Name": "Esmeraldas", "NameWoDiac": "Esmeraldas", "Status": "AI", "outflows": 153990.2 }, "geometry": { "type": "Point", "coordinates": [ -79.7, 0.983333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1--45---", "LOCODE": "ECGYE", "Name": "Guayaquil", "NameWoDiac": "Guayaquil", "Status": "AI", "outflows": 8368052.2252000012 }, "geometry": { "type": "Point", "coordinates": [ -79.9, -2.166666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "--3--6--", "LOCODE": "ECPSJ", "Name": "Posorja", "NameWoDiac": "Posorja", "Status": "RL", "outflows": 1776250.6667999995 }, "geometry": { "type": "Point", "coordinates": [ -80.25, -2.7 ] } },
{ "type": "Feature", "properties": { "Country": "Ecuador", "Function": "1-------", "LOCODE": "ECPBO", "Name": "Puerto Bolívar", "NameWoDiac": "Puerto Bolivar", "Status": "AI", "outflows": 1601516.8 }, "geometry": { "type": "Point", "coordinates": [ -79.983333333333334, -3.266666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1------B", "LOCODE": "EEKND", "Name": "Kunda", "NameWoDiac": "Kunda", "Status": "AA", "outflows": 4176.0 }, "geometry": { "type": "Point", "coordinates": [ 26.533333333333335, 59.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1------B", "LOCODE": "EEMUG", "Name": "Muuga", "NameWoDiac": "Muuga", "Status": "AA", "outflows": 74880.0 }, "geometry": { "type": "Point", "coordinates": [ 24.966666666666665, 59.5 ] } },
{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "-23----B", "LOCODE": "EEPLA", "Name": "Paldiski", "NameWoDiac": "Paldiski", "Status": "AA", "outflows": 90009.0 }, "geometry": { "type": "Point", "coordinates": [ 24.05, 59.35 ] } },
{ "type": "Feature", "properties": { "Country": "Estonia", "Function": "1--45---", "LOCODE": "EETLL", "Name": "Tallinn", "NameWoDiac": "Tallinn", "Status": "AI", "outflows": 493596.99998000002 }, "geometry": { "type": "Point", "coordinates": [ 24.733333333333334, 59.43333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1234----", "LOCODE": "EGDAM", "Name": "Dumyat (Damietta)", "NameWoDiac": "Dumyat (Damietta)", "Status": "RL", "outflows": 9993066.850010002 }, "geometry": { "type": "Point", "coordinates": [ 31.816666666666666, 31.416666666666668 ] } },
{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1--45---", "LOCODE": "EGALY", "Name": "El Iskandariya (Alexandria)", "NameWoDiac": "El Iskandariya (Alexandria)", "Status": "AI", "outflows": 6389301.2997899996 }, "geometry": { "type": "Point", "coordinates": [ 29.916666666666668, 31.183333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1-------", "LOCODE": "EGSOK", "Name": "Sokhna Port", "NameWoDiac": "Sokhna Port", "Status": "RQ", "outflows": 3639356.7318400005 }, "geometry": { "type": "Point", "coordinates": [ 32.35, 29.65 ] } },
{ "type": "Feature", "properties": { "Country": "Eritrea", "Function": "1234----", "LOCODE": "ERMSW", "Name": "Massawa (Mitsiwa)", "NameWoDiac": "Massawa (Mitsiwa)", "Status": "AI", "outflows": 44242.0 }, "geometry": { "type": "Point", "coordinates": [ 39.45, 15.6 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESLEI", "Name": "Almería", "NameWoDiac": "Almeria", "Status": "AI", "outflows": 123708.0 }, "geometry": { "type": "Point", "coordinates": [ -2.45, 36.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESBIO", "Name": "Bilbao", "NameWoDiac": "Bilbao", "Status": "AI", "outflows": 757628.79999199987 }, "geometry": { "type": "Point", "coordinates": [ -2.966666666666667, 43.25 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESCAR", "Name": "Cartagena", "NameWoDiac": "Cartagena", "Status": "AA", "outflows": 161718.0 }, "geometry": { "type": "Point", "coordinates": [ -0.983333333333333, 37.6 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESCAS", "Name": "Castellón de la Plana", "NameWoDiac": "Castellon de la Plana", "Status": "AI", "outflows": 2188540.79158 }, "geometry": { "type": "Point", "coordinates": [ -0.033333333333333, 39.983333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESFRO", "Name": "Ferrol", "NameWoDiac": "Ferrol", "Status": "AI", "outflows": 165064.5 }, "geometry": { "type": "Point", "coordinates": [ -8.25, 43.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESGIJ", "Name": "Gijón", "NameWoDiac": "Gijon", "Status": "AI", "outflows": 356746.0 }, "geometry": { "type": "Point", "coordinates": [ -5.666666666666667, 43.533333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESACE", "Name": "Lanzarote", "NameWoDiac": "Lanzarote", "Status": "AI", "outflows": 421980.0 }, "geometry": { "type": "Point", "coordinates": [ -13.533333333333333, 28.966666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-3456--", "LOCODE": "ESLPA", "Name": "Las Palmas de Gran Canaria", "NameWoDiac": "Las Palmas de Gran Canaria", "Status": "AI", "outflows": 5009347.5287000006 }, "geometry": { "type": "Point", "coordinates": [ -15.416666666666666, 28.1 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--45---", "LOCODE": "ESAGP", "Name": "Málaga", "NameWoDiac": "Malaga", "Status": "AI", "outflows": 439868.0 }, "geometry": { "type": "Point", "coordinates": [ -4.416666666666667, 36.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-34----", "LOCODE": "ESMLN", "Name": "Melilla", "NameWoDiac": "Melilla", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -2.883333333333333, 35.31666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESSAG", "Name": "Sagunto", "NameWoDiac": "Sagunto", "Status": "AI", "outflows": 417560.0 }, "geometry": { "type": "Point", "coordinates": [ -0.266666666666667, 39.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESSPC", "Name": "Santa Cruz de La Palma", "NameWoDiac": "Santa Cruz de La Palma", "Status": "AI", "outflows": 245440.0 }, "geometry": { "type": "Point", "coordinates": [ -17.766666666666666, 28.683333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-3-----", "LOCODE": "ESVIL", "Name": "Villagarcía de Arosa", "NameWoDiac": "Villagarcia de Arosa", "Status": "AI", "outflows": 130988.0 }, "geometry": { "type": "Point", "coordinates": [ -8.75, 42.6 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FITKU", "Name": "Åbo (Turku)", "NameWoDiac": "Abo (Turku)", "Status": "AI", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 22.283333333333335, 60.45 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FITKU", "Name": "Turku (Åbo)", "NameWoDiac": "Turku (Abo)", "Status": "AI", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 22.283333333333335, 60.45 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIPOR", "Name": "Björneborg (Pori)", "NameWoDiac": "Bjorneborg (Pori)", "Status": "AI", "outflows": 5220.0 }, "geometry": { "type": "Point", "coordinates": [ 21.8, 61.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIPOR", "Name": "Pori (Björneborg)", "NameWoDiac": "Pori (Bjorneborg)", "Status": "AI", "outflows": 5220.0 }, "geometry": { "type": "Point", "coordinates": [ 21.8, 61.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHMN", "Name": "Fredrikshamn (Hamina)", "NameWoDiac": "Fredrikshamn (Hamina)", "Status": "AI", "outflows": 4437.0 }, "geometry": { "type": "Point", "coordinates": [ 27.2, 60.56666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHMN", "Name": "Hamina (Fredrikshamn)", "NameWoDiac": "Hamina (Fredrikshamn)", "Status": "AI", "outflows": 4437.0 }, "geometry": { "type": "Point", "coordinates": [ 27.2, 60.56666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIPRS", "Name": "Jakobstad (Pietarsaari)", "NameWoDiac": "Jakobstad (Pietarsaari)", "Status": "AI", "outflows": 9396.0 }, "geometry": { "type": "Point", "coordinates": [ 22.783333333333335, 63.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIPRS", "Name": "Pietarsaari (Jakobstad)", "NameWoDiac": "Pietarsaari (Jakobstad)", "Status": "AI", "outflows": 9396.0 }, "geometry": { "type": "Point", "coordinates": [ 22.783333333333335, 63.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIKOK", "Name": "Karleby (Kokkola)", "NameWoDiac": "Karleby (Kokkola)", "Status": "AI", "outflows": 39182.0 }, "geometry": { "type": "Point", "coordinates": [ 23.116666666666667, 63.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123-----", "LOCODE": "FIKOK", "Name": "Kokkola (Karleby)", "NameWoDiac": "Kokkola (Karleby)", "Status": "AI", "outflows": 39182.0 }, "geometry": { "type": "Point", "coordinates": [ 23.116666666666667, 63.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIKEM", "Name": "Kemi\/Torneå (Kemi\/Tornio)", "NameWoDiac": "Kemi\/Tornea (Kemi\/Tornio)", "Status": "AI", "outflows": 106574.0 }, "geometry": { "type": "Point", "coordinates": [ 24.566666666666666, 65.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-34----", "LOCODE": "FIKEM", "Name": "Kemi\/Tornio (Kemi\/Torneå)", "NameWoDiac": "Kemi\/Tornio (Kemi\/Tornea)", "Status": "AI", "outflows": 106574.0 }, "geometry": { "type": "Point", "coordinates": [ 24.566666666666666, 65.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIKTK", "Name": "Kotka", "NameWoDiac": "Kotka", "Status": "AC", "outflows": 1116795.4999200001 }, "geometry": { "type": "Point", "coordinates": [ 26.916666666666668, 60.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIRAU", "Name": "Rauma (Raumo)", "NameWoDiac": "Rauma (Raumo)", "Status": "AC", "outflows": 705561.49998000008 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 61.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "123----B", "LOCODE": "FIRAU", "Name": "Raumo (Rauma)", "NameWoDiac": "Raumo (Rauma)", "Status": "AC", "outflows": 705561.49998000008 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 61.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FITOR", "Name": "Torneå (Tornio)", "NameWoDiac": "Tornea (Tornio)", "Status": "AI", "outflows": 91624.0 }, "geometry": { "type": "Point", "coordinates": [ 24.183333333333334, 65.85 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FITOR", "Name": "Tornio (Torneå)", "NameWoDiac": "Tornio (Tornea)", "Status": "AI", "outflows": 91624.0 }, "geometry": { "type": "Point", "coordinates": [ 24.183333333333334, 65.85 ] } },
{ "type": "Feature", "properties": { "Country": "Fiji", "Function": "123-----", "LOCODE": "FJLTK", "Name": "Lautoka", "NameWoDiac": "Lautoka", "Status": "RL", "outflows": 490393.0 }, "geometry": { "type": "Point", "coordinates": [ 177.45, -17.616666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Fiji", "Function": "1--45---", "LOCODE": "FJSUV", "Name": "Suva", "NameWoDiac": "Suva", "Status": "AI", "outflows": 535295.0 }, "geometry": { "type": "Point", "coordinates": [ 178.45, -18.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Faroe Islands", "Function": "1-3-----", "LOCODE": "FOKOL", "Name": "Kollafjördur", "NameWoDiac": "Kollafjordur", "Status": "RL", "outflows": 82628.0 }, "geometry": { "type": "Point", "coordinates": [ -6.883333333333333, 62.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Faroe Islands", "Function": "1-------", "LOCODE": "FOTHO", "Name": "Thorshavn", "NameWoDiac": "Thorshavn", "Status": "RL", "outflows": 91104.0 }, "geometry": { "type": "Point", "coordinates": [ -6.766666666666667, 62.016666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12------", "LOCODE": "FRBAS", "Name": "Bassens", "NameWoDiac": "Bassens", "Status": "AF", "outflows": 33930.0 }, "geometry": { "type": "Point", "coordinates": [ -0.516666666666667, 44.9 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "1234----", "LOCODE": "FRBES", "Name": "Brest", "NameWoDiac": "Brest", "Status": "AF", "outflows": 107185.0 }, "geometry": { "type": "Point", "coordinates": [ -4.483333333333333, 48.4 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12--5---", "LOCODE": "FRDKK", "Name": "Dunkerque", "NameWoDiac": "Dunkerque", "Status": "AF", "outflows": 4450642.0836299993 }, "geometry": { "type": "Point", "coordinates": [ 2.383333333333333, 51.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "123---7-", "LOCODE": "FRFOS", "Name": "Fos-sur-Mer", "NameWoDiac": "Fos-sur-Mer", "Status": "AF", "outflows": 18248513.215530016 }, "geometry": { "type": "Point", "coordinates": [ 4.933333333333334, 43.43333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "1-------", "LOCODE": "FRLPE", "Name": "la Pallice", "NameWoDiac": "la Pallice", "Status": "AF", "outflows": 22725.0 }, "geometry": { "type": "Point", "coordinates": [ -1.216666666666667, 46.166666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12-4----", "LOCODE": "FRLRH", "Name": "La Rochelle", "NameWoDiac": "La Rochelle", "Status": "AF", "outflows": 33930.0 }, "geometry": { "type": "Point", "coordinates": [ -1.15, 46.166666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12345---", "LOCODE": "FRLEH", "Name": "Le Havre", "NameWoDiac": "Le Havre", "Status": "AF", "outflows": 35976285.665610015 }, "geometry": { "type": "Point", "coordinates": [ 0.1, 49.5 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12-45---", "LOCODE": "FRMRS", "Name": "Marseille", "NameWoDiac": "Marseille", "Status": "AF", "outflows": 629024.0 }, "geometry": { "type": "Point", "coordinates": [ 5.4, 43.3 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "123-----", "LOCODE": "FRMTX", "Name": "Montoir-de-Bretagne", "NameWoDiac": "Montoir-de-Bretagne", "Status": "AF", "outflows": 1130547.1665700004 }, "geometry": { "type": "Point", "coordinates": [ -2.15, 47.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12------", "LOCODE": "FRPOV", "Name": "Port-Vendres", "NameWoDiac": "Port-Vendres", "Status": "AF", "outflows": 21450.0 }, "geometry": { "type": "Point", "coordinates": [ 3.116666666666667, 42.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "1-3-----", "LOCODE": "FRRAD", "Name": "Radicatel", "NameWoDiac": "Radicatel", "Status": "RL", "outflows": 42900.000003000001 }, "geometry": { "type": "Point", "coordinates": [ 0.5, 49.5 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "1-34----", "LOCODE": "FRURO", "Name": "Rouen", "NameWoDiac": "Rouen", "Status": "AF", "outflows": 34842.0 }, "geometry": { "type": "Point", "coordinates": [ 1.1, 49.45 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "123-----", "LOCODE": "FRSET", "Name": "Sète", "NameWoDiac": "Sete", "Status": "AF", "outflows": 34041.0 }, "geometry": { "type": "Point", "coordinates": [ 3.7, 43.4 ] } },
{ "type": "Feature", "properties": { "Country": "France", "Function": "12-4----", "LOCODE": "FRTLN", "Name": "Toulon", "NameWoDiac": "Toulon", "Status": "AF", "outflows": 1080.0 }, "geometry": { "type": "Point", "coordinates": [ 5.933333333333334, 43.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBABD", "Name": "Aberdeen", "NameWoDiac": "Aberdeen", "Status": "AF", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ -2.1, 57.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4-6--", "LOCODE": "GBBEL", "Name": "Belfast", "NameWoDiac": "Belfast", "Status": "AF", "outflows": 137826.0 }, "geometry": { "type": "Point", "coordinates": [ -5.916666666666667, 54.983333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBGRG", "Name": "Grangemouth", "NameWoDiac": "Grangemouth", "Status": "AF", "outflows": 192244.0 }, "geometry": { "type": "Point", "coordinates": [ -3.716666666666667, 56.0 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBGRK", "Name": "Greenock", "NameWoDiac": "Greenock", "Status": "AF", "outflows": 275567.66664999997 }, "geometry": { "type": "Point", "coordinates": [ -4.75, 55.93333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBHUL", "Name": "Hull", "NameWoDiac": "Hull", "Status": "AF", "outflows": 219740.33333800005 }, "geometry": { "type": "Point", "coordinates": [ -0.316666666666667, 53.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBIMM", "Name": "Immingham", "NameWoDiac": "Immingham", "Status": "AF", "outflows": 329625.0 }, "geometry": { "type": "Point", "coordinates": [ -0.216666666666667, 53.6 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBLIV", "Name": "Liverpool", "NameWoDiac": "Liverpool", "Status": "AF", "outflows": 1673890.2916200003 }, "geometry": { "type": "Point", "coordinates": [ -3.0, 53.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "123--6--", "LOCODE": "GBLGP", "Name": "London Gateway Port", "NameWoDiac": "London Gateway Port", "Status": "RL", "outflows": 21704403.092420008 }, "geometry": { "type": "Point", "coordinates": [ 0.483333333333333, 51.5 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTEE", "Name": "Teesport", "NameWoDiac": "Teesport", "Status": "AF", "outflows": 556920.0 }, "geometry": { "type": "Point", "coordinates": [ -1.15, 54.583333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTYN", "Name": "Tyne", "NameWoDiac": "Tyne", "Status": "RQ", "outflows": 31668.0 }, "geometry": { "type": "Point", "coordinates": [ -1.433333333333333, 55.0 ] } },
{ "type": "Feature", "properties": { "Country": "French Guiana", "Function": "1-------", "LOCODE": "GFDDC", "Name": "Dégrad des Cannes", "NameWoDiac": "Degrad des Cannes", "Status": "RL", "outflows": 286520.0 }, "geometry": { "type": "Point", "coordinates": [ -52.266666666666666, 4.85 ] } },
{ "type": "Feature", "properties": { "Country": "Greenland", "Function": "1-34----", "LOCODE": "GLGOH", "Name": "Nuuk (Godthaab)", "NameWoDiac": "Nuuk (Godthaab)", "Status": "AI", "outflows": 23426.0 }, "geometry": { "type": "Point", "coordinates": [ -51.75, 64.183333333333337 ] } },
{ "type": "Feature", "properties": { "Country": "Guadeloupe", "Function": "1--45---", "LOCODE": "GPPTP", "Name": "Point-à-Pitre Apt", "NameWoDiac": "Point-a-Pitre Apt", "Status": "AF", "outflows": 1970512.9165490004 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 16.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRHER", "Name": "Heraklion (Iraklion)", "NameWoDiac": "Heraklion (Iraklion)", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 25.166666666666668, 35.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRHER", "Name": "Iraklion (Heraklion)", "NameWoDiac": "Iraklion (Heraklion)", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 25.166666666666668, 35.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1-------", "LOCODE": "GRPIR", "Name": "Piraeus", "NameWoDiac": "Piraeus", "Status": "AI", "outflows": 25227137.508840002 }, "geometry": { "type": "Point", "coordinates": [ 23.616666666666667, 37.93333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--45---", "LOCODE": "GRSKG", "Name": "Thessaloníki", "NameWoDiac": "Thessaloniki", "Status": "AI", "outflows": 790815.99999000016 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 40.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Greece", "Function": "1--4----", "LOCODE": "GRVOL", "Name": "Vólos", "NameWoDiac": "Volos", "Status": "AI", "outflows": 23582.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 39.366666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Guatemala", "Function": "1-------", "LOCODE": "GTSTC", "Name": "Puerto Santo Tomás de Castilla", "NameWoDiac": "Puerto Santo Tomas de Castilla", "Status": "AI", "outflows": 1241734.0000599998 }, "geometry": { "type": "Point", "coordinates": [ -88.61666666666666, 15.7 ] } },
{ "type": "Feature", "properties": { "Country": "Guam", "Function": "--3-----", "LOCODE": "GUPIT", "Name": "Piti", "NameWoDiac": "Piti", "Status": "RL", "outflows": 52903.5 }, "geometry": { "type": "Point", "coordinates": [ 144.683333333333337, 13.433333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Guinea-Bissau", "Function": "1-345---", "LOCODE": "GWOXB", "Name": "Bissau", "NameWoDiac": "Bissau", "Status": "AI", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -15.583333333333334, 11.85 ] } },
{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "123-----", "LOCODE": "HRPLE", "Name": "Ploce", "NameWoDiac": "Ploce", "Status": "RL", "outflows": 136773.0 }, "geometry": { "type": "Point", "coordinates": [ 17.433333333333334, 43.05 ] } },
{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "1234----", "LOCODE": "HRRJK", "Name": "Rijeka", "NameWoDiac": "Rijeka", "Status": "AI", "outflows": 3818455.3333799997 }, "geometry": { "type": "Point", "coordinates": [ 14.4, 45.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Croatia", "Function": "1234----", "LOCODE": "HRSPU", "Name": "Split", "NameWoDiac": "Split", "Status": "AI", "outflows": 63609.0 }, "geometry": { "type": "Point", "coordinates": [ 16.45, 43.5 ] } },
{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1--4----", "LOCODE": "HTCAP", "Name": "Cap-Haïtien", "NameWoDiac": "Cap-Haitien", "Status": "AI", "outflows": 47268.0 }, "geometry": { "type": "Point", "coordinates": [ -72.2, 19.75 ] } },
{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1-------", "LOCODE": "HTLFF", "Name": "Lafiteau", "NameWoDiac": "Lafiteau", "Status": "AI", "outflows": 1098127.3333000003 }, "geometry": { "type": "Point", "coordinates": [ -72.433333333333337, 18.483333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDBPN", "Name": "Balikpapan", "NameWoDiac": "Balikpapan", "Status": "AI", "outflows": 77320.75 }, "geometry": { "type": "Point", "coordinates": [ 116.833333333333329, -1.283333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDBTM", "Name": "Batam Island", "NameWoDiac": "Batam Island", "Status": "RL", "outflows": 7335.5 }, "geometry": { "type": "Point", "coordinates": [ 104.033333333333331, 1.083333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBEN", "Name": "Benete", "NameWoDiac": "Benete", "Status": "RL", "outflows": 12681.75 }, "geometry": { "type": "Point", "coordinates": [ 116.716666666666669, -8.866666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBOA", "Name": "Benoa", "NameWoDiac": "Benoa", "Status": "RL", "outflows": 6747.0 }, "geometry": { "type": "Point", "coordinates": [ 115.216666666666669, -8.766666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "12345---", "LOCODE": "IDJKT", "Name": "Jakarta, Java", "NameWoDiac": "Jakarta, Java", "Status": "AI", "outflows": 12060454.992969999 }, "geometry": { "type": "Point", "coordinates": [ 106.833333333333329, -6.133333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-345---", "LOCODE": "IDDJJ", "Name": "Jayapura, Irian Jaya", "NameWoDiac": "Jayapura, Irian Jaya", "Status": "AI", "outflows": 136162.0 }, "geometry": { "type": "Point", "coordinates": [ 140.7, -2.533333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDKUM", "Name": "Kumai", "NameWoDiac": "Kumai", "Status": "RL", "outflows": 4238.0 }, "geometry": { "type": "Point", "coordinates": [ 111.716666666666669, -2.733333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDMAK", "Name": "Makassar", "NameWoDiac": "Makassar", "Status": "RL", "outflows": 664450.0 }, "geometry": { "type": "Point", "coordinates": [ 119.4, -5.116666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1234----", "LOCODE": "IDPDG", "Name": "Padang", "NameWoDiac": "Padang", "Status": "AI", "outflows": 74470.25 }, "geometry": { "type": "Point", "coordinates": [ 100.35, -0.95 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-3-----", "LOCODE": "IDPER", "Name": "Perawang", "NameWoDiac": "Perawang", "Status": "RL", "outflows": 3627.0 }, "geometry": { "type": "Point", "coordinates": [ 102.86666666666666, 1.066666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-345---", "LOCODE": "IDSRG", "Name": "Semarang", "NameWoDiac": "Semarang", "Status": "AI", "outflows": 2529727.4165999996 }, "geometry": { "type": "Point", "coordinates": [ 110.483333333333334, -6.966666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "123456--", "LOCODE": "IDSUB", "Name": "Surabaya", "NameWoDiac": "Surabaya", "Status": "AI", "outflows": 5004081.1427500024 }, "geometry": { "type": "Point", "coordinates": [ 112.75, -7.233333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDTNJ", "Name": "Tanjungpinang", "NameWoDiac": "Tanjungpinang", "Status": "AI", "outflows": 3068.0 }, "geometry": { "type": "Point", "coordinates": [ 104.45, 0.916666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTMK", "Name": "Timika", "NameWoDiac": "Timika", "Status": "RQ", "outflows": 3240.0 }, "geometry": { "type": "Point", "coordinates": [ 136.55, -4.75 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTUA", "Name": "Tual", "NameWoDiac": "Tual", "Status": "RQ", "outflows": 12207.0 }, "geometry": { "type": "Point", "coordinates": [ 132.73333333333332, -5.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "1-345---", "LOCODE": "IEWAT", "Name": "Waterford", "NameWoDiac": "Waterford", "Status": "AF", "outflows": 86515.0 }, "geometry": { "type": "Point", "coordinates": [ -7.1, 52.25 ] } },
{ "type": "Feature", "properties": { "Country": "Israel", "Function": "1--45---", "LOCODE": "ILHFA", "Name": "Haifa", "NameWoDiac": "Haifa", "Status": "AI", "outflows": 8470527.0681299977 }, "geometry": { "type": "Point", "coordinates": [ 34.983333333333334, 32.8 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "12345---", "LOCODE": "INMAA", "Name": "Chennai (ex Madras)", "NameWoDiac": "Chennai (ex Madras)", "Status": "AA", "outflows": 2818763.3167999992 }, "geometry": { "type": "Point", "coordinates": [ 80.283333333333331, 13.083333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INCOK", "Name": "Cochin", "NameWoDiac": "Cochin", "Status": "AA", "outflows": 2453568.0832799999 }, "geometry": { "type": "Point", "coordinates": [ 76.233333333333334, 9.966666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "--3--6--", "LOCODE": "INHZR", "Name": "Hazira", "NameWoDiac": "Hazira", "Status": "RL", "outflows": 5911162.5861400003 }, "geometry": { "type": "Point", "coordinates": [ 72.62343557464672, 21.09641041428134 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INIXY", "Name": "Kandla", "NameWoDiac": "Kandla", "Status": "AA", "outflows": 817280.5 }, "geometry": { "type": "Point", "coordinates": [ 70.216666666666669, 23.033333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INKTP", "Name": "Kattupalli Port", "NameWoDiac": "Kattupalli Port", "Status": "RL", "outflows": 1964901.8999300003 }, "geometry": { "type": "Point", "coordinates": [ 80.38333333333334, 13.3 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1--45---", "LOCODE": "INCCU", "Name": "Kolkata (ex Calcutta)", "NameWoDiac": "Kolkata (ex Calcutta)", "Status": "AA", "outflows": 303853.53334000002 }, "geometry": { "type": "Point", "coordinates": [ 88.35, 22.566666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INMRM", "Name": "Marmagao (Marmugao)", "NameWoDiac": "Marmagao (Marmugao)", "Status": "AA", "outflows": 100178.0 }, "geometry": { "type": "Point", "coordinates": [ 73.783333333333331, 15.4 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INMRM", "Name": "Marmugao (Marmagao)", "NameWoDiac": "Marmugao (Marmagao)", "Status": "AA", "outflows": 100178.0 }, "geometry": { "type": "Point", "coordinates": [ 73.783333333333331, 15.4 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123456--", "LOCODE": "INBOM", "Name": "Mumbai (ex Bombay)", "NameWoDiac": "Mumbai (ex Bombay)", "Status": "AA", "outflows": 126915.25 }, "geometry": { "type": "Point", "coordinates": [ 72.816666666666663, 18.966666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INPRT", "Name": "Paradip Garh", "NameWoDiac": "Paradip Garh", "Status": "AA", "outflows": 28080.0 }, "geometry": { "type": "Point", "coordinates": [ 86.61666666666666, 20.316666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123-----", "LOCODE": "INPAV", "Name": "Pipavav (Victor) Port", "NameWoDiac": "Pipavav (Victor) Port", "Status": "AA", "outflows": 6333654.3638700033 }, "geometry": { "type": "Point", "coordinates": [ 71.55, 20.966666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "123--6--", "LOCODE": "INTUT", "Name": "Tuticorin", "NameWoDiac": "Tuticorin", "Status": "AA", "outflows": 1224891.0 }, "geometry": { "type": "Point", "coordinates": [ 78.13333333333334, 8.783333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1234-6--", "LOCODE": "INVTZ", "Name": "Visakhapatnam", "NameWoDiac": "Visakhapatnam", "Status": "AA", "outflows": 2172514.4999899995 }, "geometry": { "type": "Point", "coordinates": [ 83.3, 17.7 ] } },
{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "123-----", "LOCODE": "IQUQR", "Name": "Umm Qasr Port", "NameWoDiac": "Umm Qasr Port", "Status": "RL", "outflows": 3640547.5715799998 }, "geometry": { "type": "Point", "coordinates": [ 47.93333333333333, 30.033333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-3-----", "LOCODE": "IRASA", "Name": "Asaluyeh", "NameWoDiac": "Asaluyeh", "Status": "RL", "outflows": 3060.0 }, "geometry": { "type": "Point", "coordinates": [ 52.6, 27.466666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1--4----", "LOCODE": "IRBND", "Name": "Bandar Abbas", "NameWoDiac": "Bandar Abbas", "Status": "AI", "outflows": 1154182.75 }, "geometry": { "type": "Point", "coordinates": [ 56.266666666666666, 27.183333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-34----", "LOCODE": "IRBKM", "Name": "Bandar Khomeini", "NameWoDiac": "Bandar Khomeini", "Status": "RL", "outflows": 85644.0 }, "geometry": { "type": "Point", "coordinates": [ 49.1, 30.433333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Iran, Islamic Republic of", "Function": "1-34----", "LOCODE": "IRBUZ", "Name": "Bushehr", "NameWoDiac": "Bushehr", "Status": "AI", "outflows": 85644.0 }, "geometry": { "type": "Point", "coordinates": [ 50.833333333333336, 28.966666666666665 ] } },
{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISREY", "Name": "Reykjavík", "NameWoDiac": "Reykjavik", "Status": "AC", "outflows": 327138.50000099995 }, "geometry": { "type": "Point", "coordinates": [ -21.95, 64.15 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITAOI", "Name": "Ancona", "NameWoDiac": "Ancona", "Status": "AI", "outflows": 1251219.6666600001 }, "geometry": { "type": "Point", "coordinates": [ 13.5, 43.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITBRI", "Name": "Bari", "NameWoDiac": "Bari", "Status": "AI", "outflows": 123851.0 }, "geometry": { "type": "Point", "coordinates": [ 16.85, 41.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-34----", "LOCODE": "ITCAG", "Name": "Cagliari", "NameWoDiac": "Cagliari", "Status": "AI", "outflows": 61347.0 }, "geometry": { "type": "Point", "coordinates": [ 9.116666666666667, 39.216666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITCTA", "Name": "Catania", "NameWoDiac": "Catania", "Status": "AI", "outflows": 112515.0 }, "geometry": { "type": "Point", "coordinates": [ 15.1, 37.5 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITCVV", "Name": "Civitavecchia", "NameWoDiac": "Civitavecchia", "Status": "AI", "outflows": 2179445.6662 }, "geometry": { "type": "Point", "coordinates": [ 11.8, 42.1 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "12345---", "LOCODE": "ITGOA", "Name": "Genova", "NameWoDiac": "Genova", "Status": "AI", "outflows": 23896971.132049996 }, "geometry": { "type": "Point", "coordinates": [ 8.95, 44.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITGIT", "Name": "Gioia Tauro", "NameWoDiac": "Gioia Tauro", "Status": "AI", "outflows": 16628557.647730002 }, "geometry": { "type": "Point", "coordinates": [ 15.9, 38.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITSPE", "Name": "La Spezia", "NameWoDiac": "La Spezia", "Status": "AI", "outflows": 12785874.433700003 }, "geometry": { "type": "Point", "coordinates": [ 9.833333333333334, 44.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITLIV", "Name": "Livorno", "NameWoDiac": "Livorno", "Status": "AI", "outflows": 8253720.2853500005 }, "geometry": { "type": "Point", "coordinates": [ 10.316666666666666, 43.55 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1234----", "LOCODE": "ITNAP", "Name": "Napoli", "NameWoDiac": "Napoli", "Status": "AI", "outflows": 4010591.4281000006 }, "geometry": { "type": "Point", "coordinates": [ 14.25, 40.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1234----", "LOCODE": "ITOLB", "Name": "Olbia", "NameWoDiac": "Olbia", "Status": "RL", "outflows": 11076.0 }, "geometry": { "type": "Point", "coordinates": [ 9.516666666666667, 40.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITPMO", "Name": "Palermo", "NameWoDiac": "Palermo", "Status": "AI", "outflows": 35997.0 }, "geometry": { "type": "Point", "coordinates": [ 13.366666666666667, 38.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "123-----", "LOCODE": "ITSVN", "Name": "Savona", "NameWoDiac": "Savona", "Status": "AI", "outflows": 43661.0 }, "geometry": { "type": "Point", "coordinates": [ 8.5, 44.283333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITTPS", "Name": "Trapani", "NameWoDiac": "Trapani", "Status": "AI", "outflows": 41808.0 }, "geometry": { "type": "Point", "coordinates": [ 12.483333333333333, 38.016666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "123-----", "LOCODE": "ITVDL", "Name": "Vado Ligure", "NameWoDiac": "Vado Ligure", "Status": "RL", "outflows": 1281768.42842 }, "geometry": { "type": "Point", "coordinates": [ 8.45, 44.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "12345--B", "LOCODE": "ITVCE", "Name": "Venezia", "NameWoDiac": "Venezia", "Status": "AI", "outflows": 1408195.6666600001 }, "geometry": { "type": "Point", "coordinates": [ 12.333333333333334, 45.43333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Jordan", "Function": "1--4----", "LOCODE": "JOAQJ", "Name": "Al 'Aqabah", "NameWoDiac": "Al 'Aqabah", "Status": "RL", "outflows": 5019094.2318399996 }, "geometry": { "type": "Point", "coordinates": [ 35.0, 29.533333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "--3-----", "LOCODE": "JPHTD", "Name": "Hakata", "NameWoDiac": "Hakata", "Status": "RL", "outflows": 3054288.2499700007 }, "geometry": { "type": "Point", "coordinates": [ 133.1, 34.18333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "--3-----", "LOCODE": "JPISS", "Name": "Isa", "NameWoDiac": "Isa", "Status": "AF", "outflows": 362101.99997 }, "geometry": { "type": "Point", "coordinates": [ 130.6, 32.05 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPKKJ", "Name": "Kitakyushu", "NameWoDiac": "Kitakyushu", "Status": "AF", "outflows": 476762.0 }, "geometry": { "type": "Point", "coordinates": [ 130.833333333333343, 33.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPUKB", "Name": "Kobe", "NameWoDiac": "Kobe", "Status": "AF", "outflows": 16494507.892490005 }, "geometry": { "type": "Point", "coordinates": [ 135.166666666666657, 34.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "123-----", "LOCODE": "JPMJR", "Name": "Mitajiri", "NameWoDiac": "Mitajiri", "Status": "AF", "outflows": 18720.0 }, "geometry": { "type": "Point", "coordinates": [ 131.583333333333343, 34.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "123-5---", "LOCODE": "JPMOJ", "Name": "Moji\/Kitakyushu", "NameWoDiac": "Moji\/Kitakyushu", "Status": "AF", "outflows": 2497337.91658 }, "geometry": { "type": "Point", "coordinates": [ 130.966666666666669, 33.9 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPOSA", "Name": "Osaka", "NameWoDiac": "Osaka", "Status": "AF", "outflows": 9088752.8333900012 }, "geometry": { "type": "Point", "coordinates": [ 135.5, 34.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSEN", "Name": "Satsumasendai", "NameWoDiac": "Satsumasendai", "Status": "AF", "outflows": 1041560.0000199999 }, "geometry": { "type": "Point", "coordinates": [ 130.25, 31.816666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPTYO", "Name": "Tokyo", "NameWoDiac": "Tokyo", "Status": "AF", "outflows": 20969567.582899991 }, "geometry": { "type": "Point", "coordinates": [ 139.75, 35.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "12345---", "LOCODE": "JPYOK", "Name": "Yokohama", "NameWoDiac": "Yokohama", "Status": "AF", "outflows": 26921996.624540005 }, "geometry": { "type": "Point", "coordinates": [ 139.65, 35.45 ] } },
{ "type": "Feature", "properties": { "Country": "Cambodia", "Function": "1-34--7-", "LOCODE": "KHKOS", "Name": "Kâmpóng Saôm", "NameWoDiac": "Kampong Saom", "Status": "AI", "outflows": 1342444.99985 }, "geometry": { "type": "Point", "coordinates": [ 103.516666666666666, 10.6 ] } },
{ "type": "Feature", "properties": { "Country": "Comoros", "Function": "1-3-----", "LOCODE": "KMMUT", "Name": "Mutsamudu, Anjouan", "NameWoDiac": "Mutsamudu, Anjouan", "Status": "RL", "outflows": 143131.33335 }, "geometry": { "type": "Point", "coordinates": [ 44.383333333333333, -12.15 ] } },
{ "type": "Feature", "properties": { "Country": "Saint Kitts and Nevis", "Function": "1--4----", "LOCODE": "KNCHA", "Name": "Charlestown", "NameWoDiac": "Charlestown", "Status": "RL", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -62.616666666666667, 17.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234567-", "LOCODE": "KRPUS", "Name": "Busan", "NameWoDiac": "Busan", "Status": "AF", "outflows": 97226625.829958007 }, "geometry": { "type": "Point", "coordinates": [ 129.05, 35.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1-------", "LOCODE": "KRTSN", "Name": "Daesan\/Seosan", "NameWoDiac": "Daesan\/Seosan", "Status": "AF", "outflows": 391261.0 }, "geometry": { "type": "Point", "coordinates": [ 126.36666666666666, 37.0 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1-3-----", "LOCODE": "KRTJI", "Name": "Dangjin", "NameWoDiac": "Dangjin", "Status": "AF", "outflows": 80514.0 }, "geometry": { "type": "Point", "coordinates": [ 126.783333333333331, 36.966666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRKUV", "Name": "Gunsan", "NameWoDiac": "Gunsan", "Status": "AF", "outflows": 367380.0 }, "geometry": { "type": "Point", "coordinates": [ 126.716666666666669, 35.983333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRKAN", "Name": "Gwangyang", "NameWoDiac": "Gwangyang", "Status": "AF", "outflows": 16515872.093510004 }, "geometry": { "type": "Point", "coordinates": [ 127.7, 34.93333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRINC", "Name": "Incheon", "NameWoDiac": "Incheon", "Status": "AF", "outflows": 7323842.7736799996 }, "geometry": { "type": "Point", "coordinates": [ 126.61666666666666, 37.45 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRMAS", "Name": "Masan", "NameWoDiac": "Masan", "Status": "AF", "outflows": 292464.0 }, "geometry": { "type": "Point", "coordinates": [ 128.566666666666663, 35.2 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123-----", "LOCODE": "KRMOK", "Name": "Mokpo", "NameWoDiac": "Mokpo", "Status": "AF", "outflows": 64792.0 }, "geometry": { "type": "Point", "coordinates": [ 126.38333333333334, 34.8 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRKPO", "Name": "Pohang", "NameWoDiac": "Pohang", "Status": "AF", "outflows": 704296.66661000007 }, "geometry": { "type": "Point", "coordinates": [ 129.366666666666674, 36.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "123--6--", "LOCODE": "KRPTK", "Name": "Pyeongtaek", "NameWoDiac": "Pyeongtaek", "Status": "AF", "outflows": 201565.00002000004 }, "geometry": { "type": "Point", "coordinates": [ 127.1, 36.966666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Korea, Republic of", "Function": "1234----", "LOCODE": "KRUSN", "Name": "Ulsan", "NameWoDiac": "Ulsan", "Status": "AF", "outflows": 4923083.7499700002 }, "geometry": { "type": "Point", "coordinates": [ 129.316666666666663, 35.533333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Kuwait", "Function": "1-3--6--", "LOCODE": "KWSAA", "Name": "Shuaiba", "NameWoDiac": "Shuaiba", "Status": "RL", "outflows": 770515.0 }, "geometry": { "type": "Point", "coordinates": [ 48.133333333333333, 29.033333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Kuwait", "Function": "1-------", "LOCODE": "KWSWK", "Name": "Shuwaikh", "NameWoDiac": "Shuwaikh", "Status": "RL", "outflows": 272129.0 }, "geometry": { "type": "Point", "coordinates": [ 47.93333333333333, 29.35 ] } },
{ "type": "Feature", "properties": { "Country": "Cayman Islands", "Function": "1-34----", "LOCODE": "KYGEC", "Name": "Georgetown, Grand Cayman", "NameWoDiac": "Georgetown, Grand Cayman", "Status": "AI", "outflows": 20059.0 }, "geometry": { "type": "Point", "coordinates": [ -81.38333333333334, 19.3 ] } },
{ "type": "Feature", "properties": { "Country": "Lebanon", "Function": "1--45---", "LOCODE": "LBBEY", "Name": "Beirut", "NameWoDiac": "Beirut", "Status": "AI", "outflows": 8332419.5043999981 }, "geometry": { "type": "Point", "coordinates": [ 35.483333333333334, 33.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Saint Lucia", "Function": "1-3-----", "LOCODE": "LCCAS", "Name": "Castries", "NameWoDiac": "Castries", "Status": "RL", "outflows": 395089.06669000001 }, "geometry": { "type": "Point", "coordinates": [ -60.966666666666669, 14.016666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Sri Lanka", "Function": "12345---", "LOCODE": "LKCMB", "Name": "Colombo", "NameWoDiac": "Colombo", "Status": "AI", "outflows": 40970827.24107001 }, "geometry": { "type": "Point", "coordinates": [ 79.85, 6.916666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Liberia", "Function": "1-345---", "LOCODE": "LRMLW", "Name": "Monrovia", "NameWoDiac": "Monrovia", "Status": "AI", "outflows": 467272.00002000009 }, "geometry": { "type": "Point", "coordinates": [ -10.8, 6.3 ] } },
{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1-3-----", "LOCODE": "LYKHO", "Name": "Al Khums", "NameWoDiac": "Al Khums", "Status": "RL", "outflows": 230254.00001 }, "geometry": { "type": "Point", "coordinates": [ 14.266666666666667, 32.65 ] } },
{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1--45---", "LOCODE": "MACAS", "Name": "Casablanca", "NameWoDiac": "Casablanca", "Status": "AI", "outflows": 2434027.9715000005 }, "geometry": { "type": "Point", "coordinates": [ -7.6, 33.583333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Moldova, Republic of", "Function": "1-3-----", "LOCODE": "MDGIU", "Name": "Giurgiulesti", "NameWoDiac": "Giurgiulesti", "Status": "RL", "outflows": 1560.0 }, "geometry": { "type": "Point", "coordinates": [ 28.183333333333334, 45.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Montenegro", "Function": "123-----", "LOCODE": "MEBAR", "Name": "Bar", "NameWoDiac": "Bar", "Status": "RL", "outflows": 257803.0 }, "geometry": { "type": "Point", "coordinates": [ 19.083333333333332, 42.083333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1-------", "LOCODE": "MGEHL", "Name": "Ehoala", "NameWoDiac": "Ehoala", "Status": "RL", "outflows": 19864.0 }, "geometry": { "type": "Point", "coordinates": [ 46.95, -25.066666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1-34----", "LOCODE": "MGNOS", "Name": "Nosy-Be", "NameWoDiac": "Nosy-Be", "Status": "AI", "outflows": 60888.0 }, "geometry": { "type": "Point", "coordinates": [ 48.25, -13.333333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Marshall Islands", "Function": "1--4----", "LOCODE": "MHMAJ", "Name": "Majuro", "NameWoDiac": "Majuro", "Status": "AI", "outflows": 238090.66668200004 }, "geometry": { "type": "Point", "coordinates": [ 171.383333333333326, 7.1 ] } },
{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "123-----", "LOCODE": "MMTLA", "Name": "Thilawa", "NameWoDiac": "Thilawa", "Status": "RL", "outflows": 629785.00001999992 }, "geometry": { "type": "Point", "coordinates": [ 96.25, 16.65 ] } },
{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "123-----", "LOCODE": "MMTLA", "Name": "Thilawa", "NameWoDiac": "Thilawa", "Status": "RL", "outflows": 629785.00001999992 }, "geometry": { "type": "Point", "coordinates": [ 96.25, 16.65 ] } },
{ "type": "Feature", "properties": { "Country": "Malta", "Function": "1-------", "LOCODE": "MTMAR", "Name": "Marsaxlokk", "NameWoDiac": "Marsaxlokk", "Status": "AA", "outflows": 12264680.76361 }, "geometry": { "type": "Point", "coordinates": [ 14.533333333333333, 35.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Mauritius", "Function": "1-3-----", "LOCODE": "MUPMA", "Name": "Port Mathurin", "NameWoDiac": "Port Mathurin", "Status": "RL", "outflows": 3451.5 }, "geometry": { "type": "Point", "coordinates": [ 63.416666666666664, -19.683333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Maldives", "Function": "1--45---", "LOCODE": "MVMLE", "Name": "Male", "NameWoDiac": "Male", "Status": "AI", "outflows": 224938.42858000004 }, "geometry": { "type": "Point", "coordinates": [ 73.5, 4.166666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXATM", "Name": "Altamira", "NameWoDiac": "Altamira", "Status": "RL", "outflows": 6907067.8431760017 }, "geometry": { "type": "Point", "coordinates": [ -97.916666666666671, 22.4 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXCOA", "Name": "Coatzacoalcos", "NameWoDiac": "Coatzacoalcos", "Status": "AI", "outflows": 9100.0 }, "geometry": { "type": "Point", "coordinates": [ -94.4, 18.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXESE", "Name": "Ensenada", "NameWoDiac": "Ensenada", "Status": "AI", "outflows": 3482019.6660800003 }, "geometry": { "type": "Point", "coordinates": [ -116.6, 31.85 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXGYM", "Name": "Guaymas", "NameWoDiac": "Guaymas", "Status": "AI", "outflows": 15320.0 }, "geometry": { "type": "Point", "coordinates": [ -110.88333333333334, 27.916666666666668 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-------", "LOCODE": "MXLZC", "Name": "Lázaro Cárdenas", "NameWoDiac": "Lazaro Cardenas", "Status": "AI", "outflows": 9280527.0998299997 }, "geometry": { "type": "Point", "coordinates": [ -102.183333333333337, 17.95 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-34----", "LOCODE": "MXZLO", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "AI", "outflows": 14861828.233399997 }, "geometry": { "type": "Point", "coordinates": [ -104.3, 19.05 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXMZT", "Name": "Mazatlan", "NameWoDiac": "Mazatlan", "Status": "AI", "outflows": 258563.0 }, "geometry": { "type": "Point", "coordinates": [ -106.4, 23.4 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "--3-----", "LOCODE": "MXPRO", "Name": "Paraiso", "NameWoDiac": "Paraiso", "Status": "RL", "outflows": 771394.2 }, "geometry": { "type": "Point", "coordinates": [ -92.2, 18.183333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXPMD", "Name": "Puerto Madero", "NameWoDiac": "Puerto Madero", "Status": "AI", "outflows": 82680.0 }, "geometry": { "type": "Point", "coordinates": [ -92.416666666666671, 14.716666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-3-----", "LOCODE": "MXPMS", "Name": "Puerto Morelos", "NameWoDiac": "Puerto Morelos", "Status": "RL", "outflows": 13533.0 }, "geometry": { "type": "Point", "coordinates": [ -86.86666666666666, 20.833333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1--4----", "LOCODE": "MXTAM", "Name": "Tampico", "NameWoDiac": "Tampico", "Status": "AI", "outflows": 33951.0 }, "geometry": { "type": "Point", "coordinates": [ -97.86666666666666, 22.25 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-------", "LOCODE": "MXTUX", "Name": "Tuxpan", "NameWoDiac": "Tuxpan", "Status": "AI", "outflows": 21541.0 }, "geometry": { "type": "Point", "coordinates": [ -97.4, 20.95 ] } },
{ "type": "Feature", "properties": { "Country": "Mexico", "Function": "1-345---", "LOCODE": "MXVER", "Name": "Veracruz", "NameWoDiac": "Veracruz", "Status": "AI", "outflows": 8795504.2708560005 }, "geometry": { "type": "Point", "coordinates": [ -96.083333333333329, 19.2 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYPEN", "Name": "Penang (Georgetown)", "NameWoDiac": "Penang (Georgetown)", "Status": "AI", "outflows": 3938506.0 }, "geometry": { "type": "Point", "coordinates": [ 100.316666666666663, 5.416666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "123-5---", "LOCODE": "MYPKG", "Name": "Port Klang (Pelabuhan Klang)", "NameWoDiac": "Port Klang (Pelabuhan Klang)", "Status": "RL", "outflows": 58866748.817210026 }, "geometry": { "type": "Point", "coordinates": [ 101.4, 3.0 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "123-----", "LOCODE": "MYTPP", "Name": "Tanjung Pelepas", "NameWoDiac": "Tanjung Pelepas", "Status": "RL", "outflows": 36861511.888539977 }, "geometry": { "type": "Point", "coordinates": [ 103.55, 1.366666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Namibia", "Function": "1--4----", "LOCODE": "NALUD", "Name": "Lüderitz", "NameWoDiac": "Luderitz", "Status": "AI", "outflows": 43992.0 }, "geometry": { "type": "Point", "coordinates": [ 15.166666666666666, -26.65 ] } },
{ "type": "Feature", "properties": { "Country": "New Caledonia", "Function": "1--45---", "LOCODE": "NCNOU", "Name": "Nouméa", "NameWoDiac": "Noumea", "Status": "AI", "outflows": 1152154.3332800004 }, "geometry": { "type": "Point", "coordinates": [ 166.45, -22.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "New Caledonia", "Function": "1--45---", "LOCODE": "NCNOU", "Name": "Nouméa", "NameWoDiac": "Noumea", "Status": "AI", "outflows": 1152154.3332800004 }, "geometry": { "type": "Point", "coordinates": [ 166.45, -22.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "--3-----", "LOCODE": "NGLKK", "Name": "Lekki", "NameWoDiac": "Lekki", "Status": "RL", "outflows": 23036.0 }, "geometry": { "type": "Point", "coordinates": [ 3.1, 6.45 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1-3-----", "LOCODE": "NGONN", "Name": "Onne", "NameWoDiac": "Onne", "Status": "RL", "outflows": 1341939.73318 }, "geometry": { "type": "Point", "coordinates": [ 7.15, 4.716666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Nicaragua", "Function": "1-3--6--", "LOCODE": "NIRAM", "Name": "Rama", "NameWoDiac": "Rama", "Status": "RL", "outflows": 9106.5 }, "geometry": { "type": "Point", "coordinates": [ -84.216666666666669, 12.15 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "12345---", "LOCODE": "NLAMS", "Name": "Amsterdam", "NameWoDiac": "Amsterdam", "Status": "AF", "outflows": 87949.333334999988 }, "geometry": { "type": "Point", "coordinates": [ 4.816666666666666, 52.4 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "1-3-----", "LOCODE": "NLBOT", "Name": "Botlek", "NameWoDiac": "Botlek", "Status": "AF", "outflows": 33735.0 }, "geometry": { "type": "Point", "coordinates": [ 4.283333333333333, 51.883333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLIJM", "Name": "IJmuiden\/Velsen", "NameWoDiac": "IJmuiden\/Velsen", "Status": "AF", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 4.6, 52.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLMOE", "Name": "Moerdijk", "NameWoDiac": "Moerdijk", "Status": "AF", "outflows": 172497.0 }, "geometry": { "type": "Point", "coordinates": [ 4.566666666666666, 51.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "12345---", "LOCODE": "NLRTM", "Name": "Rotterdam", "NameWoDiac": "Rotterdam", "Status": "AF", "outflows": 60986246.198820002 }, "geometry": { "type": "Point", "coordinates": [ 4.5, 51.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "1-3-----", "LOCODE": "NLTNZ", "Name": "Terneuzen", "NameWoDiac": "Terneuzen", "Status": "AF", "outflows": 24232.0 }, "geometry": { "type": "Point", "coordinates": [ 3.816666666666666, 51.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Netherlands", "Function": "123-----", "LOCODE": "NLVLI", "Name": "Vlissingen", "NameWoDiac": "Vlissingen", "Status": "AF", "outflows": 935022.40001200011 }, "geometry": { "type": "Point", "coordinates": [ 3.7, 51.45 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOAES", "Name": "Ålesund", "NameWoDiac": "Alesund", "Status": "AF", "outflows": 450729.5 }, "geometry": { "type": "Point", "coordinates": [ 6.15, 62.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOARD", "Name": "Årdalstangen", "NameWoDiac": "Ardalstangen", "Status": "AA", "outflows": 23400.0 }, "geometry": { "type": "Point", "coordinates": [ 7.7, 61.233333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOAVE", "Name": "Averøy", "NameWoDiac": "Averoy", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 7.666666666666667, 63.05 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOBGO", "Name": "Bergen", "NameWoDiac": "Bergen", "Status": "AA", "outflows": 330739.5 }, "geometry": { "type": "Point", "coordinates": [ 5.316666666666666, 60.383333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOBOO", "Name": "Bodø", "NameWoDiac": "Bodo", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 14.366666666666667, 67.283333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOBVK", "Name": "Brevik", "NameWoDiac": "Brevik", "Status": "AA", "outflows": 50128.0 }, "geometry": { "type": "Point", "coordinates": [ 9.7, 59.05 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NODRM", "Name": "Drammen", "NameWoDiac": "Drammen", "Status": "AA", "outflows": 145713.0 }, "geometry": { "type": "Point", "coordinates": [ 10.233333333333333, 59.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOEGE", "Name": "Egersund", "NameWoDiac": "Egersund", "Status": "AA", "outflows": 142428.0 }, "geometry": { "type": "Point", "coordinates": [ 6.0, 58.45 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOFRO", "Name": "Florø", "NameWoDiac": "Floro", "Status": "AA", "outflows": 203580.0 }, "geometry": { "type": "Point", "coordinates": [ 5.016666666666667, 61.6 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOFRK", "Name": "Fredrikstad", "NameWoDiac": "Fredrikstad", "Status": "AA", "outflows": 111033.0 }, "geometry": { "type": "Point", "coordinates": [ 10.916666666666666, 59.2 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOFUS", "Name": "Fusa", "NameWoDiac": "Fusa", "Status": "AA", "outflows": 99528.0 }, "geometry": { "type": "Point", "coordinates": [ 5.616666666666667, 60.2 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOGLO", "Name": "Glomfjord", "NameWoDiac": "Glomfjord", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 13.933333333333334, 66.8 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOHFT", "Name": "Hammerfest", "NameWoDiac": "Hammerfest", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 23.666666666666668, 70.65 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHRD", "Name": "Harstad", "NameWoDiac": "Harstad", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 16.533333333333335, 68.783333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOHAU", "Name": "Haugesund", "NameWoDiac": "Haugesund", "Status": "AA", "outflows": 337486.5 }, "geometry": { "type": "Point", "coordinates": [ 5.25, 59.4 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHVI", "Name": "Håvik", "NameWoDiac": "Havik", "Status": "AA", "outflows": 116610.0 }, "geometry": { "type": "Point", "coordinates": [ 5.316666666666666, 59.3 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "--3-----", "LOCODE": "NOHLA", "Name": "Holla", "NameWoDiac": "Holla", "Status": "RL", "outflows": 45630.0 }, "geometry": { "type": "Point", "coordinates": [ 9.183333333333334, 59.6 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHYR", "Name": "Høyanger", "NameWoDiac": "Hoyanger", "Status": "AA", "outflows": 39357.5 }, "geometry": { "type": "Point", "coordinates": [ 6.05, 61.216666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOHOY", "Name": "Husøy - Tønsberg", "NameWoDiac": "Husoy - Tonsberg", "Status": "AA", "outflows": 17160.0 }, "geometry": { "type": "Point", "coordinates": [ 10.45, 59.233333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOIKR", "Name": "Ikornnes", "NameWoDiac": "Ikornnes", "Status": "AA", "outflows": 69888.0 }, "geometry": { "type": "Point", "coordinates": [ 6.55, 62.383333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOKRS", "Name": "Kristiansand", "NameWoDiac": "Kristiansand", "Status": "AA", "outflows": 86460.0 }, "geometry": { "type": "Point", "coordinates": [ 7.983333333333333, 58.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOLAR", "Name": "Larvik", "NameWoDiac": "Larvik", "Status": "AA", "outflows": 123903.0 }, "geometry": { "type": "Point", "coordinates": [ 10.016666666666667, 59.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOMAY", "Name": "Måløy", "NameWoDiac": "Maloy", "Status": "AF", "outflows": 347613.5 }, "geometry": { "type": "Point", "coordinates": [ 5.1, 61.93333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOMOL", "Name": "Molde", "NameWoDiac": "Molde", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 7.15, 62.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOMJF", "Name": "Mosjøen", "NameWoDiac": "Mosjoen", "Status": "AF", "outflows": 42276.0 }, "geometry": { "type": "Point", "coordinates": [ 13.2, 65.833333333333329 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "123-----", "LOCODE": "NOMSS", "Name": "Moss", "NameWoDiac": "Moss", "Status": "AA", "outflows": 51012.0 }, "geometry": { "type": "Point", "coordinates": [ 10.65, 59.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOODD", "Name": "Odda", "NameWoDiac": "Odda", "Status": "AA", "outflows": 19240.0 }, "geometry": { "type": "Point", "coordinates": [ 6.533333333333333, 60.06666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOORK", "Name": "Orkanger", "NameWoDiac": "Orkanger", "Status": "AA", "outflows": 132567.5 }, "geometry": { "type": "Point", "coordinates": [ 9.833333333333334, 63.31666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "12345---", "LOCODE": "NOOSL", "Name": "Oslo", "NameWoDiac": "Oslo", "Status": "AA", "outflows": 370877.0 }, "geometry": { "type": "Point", "coordinates": [ 10.733333333333333, 59.9 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSAT", "Name": "Salten", "NameWoDiac": "Salten", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 15.583333333333334, 67.36666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOSVG", "Name": "Stavanger", "NameWoDiac": "Stavanger", "Status": "AI", "outflows": 99528.0 }, "geometry": { "type": "Point", "coordinates": [ 5.75, 58.966666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOSKN", "Name": "Stokmarknes", "NameWoDiac": "Stokmarknes", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 14.9, 68.566666666666663 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSUN", "Name": "Sunndalsøra", "NameWoDiac": "Sunndalsora", "Status": "AF", "outflows": 107250.0 }, "geometry": { "type": "Point", "coordinates": [ 8.55, 62.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOSVE", "Name": "Svelgen", "NameWoDiac": "Svelgen", "Status": "AA", "outflows": 34164.0 }, "geometry": { "type": "Point", "coordinates": [ 5.283333333333333, 61.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOSVJ", "Name": "Svolvær", "NameWoDiac": "Svolvar", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 14.55, 68.216666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-3-----", "LOCODE": "NOTAE", "Name": "Tananger", "NameWoDiac": "Tananger", "Status": "AA", "outflows": 348445.5 }, "geometry": { "type": "Point", "coordinates": [ 5.583333333333333, 58.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-34----", "LOCODE": "NOTOS", "Name": "Tromsø", "NameWoDiac": "Tromso", "Status": "AI", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 18.966666666666665, 69.666666666666671 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1234----", "LOCODE": "NOTRD", "Name": "Trondheim", "NameWoDiac": "Trondheim", "Status": "AA", "outflows": 9516.0 }, "geometry": { "type": "Point", "coordinates": [ 10.4, 63.43333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Nauru", "Function": "1--45---", "LOCODE": "NRINU", "Name": "Nauru Island", "NameWoDiac": "Nauru Island", "Status": "AI", "outflows": 3756.0 }, "geometry": { "type": "Point", "coordinates": [ 166.916666666666657, -0.55 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "12345---", "LOCODE": "NZAKL", "Name": "Auckland", "NameWoDiac": "Auckland", "Status": "AC", "outflows": 3839723.3548399992 }, "geometry": { "type": "Point", "coordinates": [ 174.8, -36.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "123-----", "LOCODE": "NZBLU", "Name": "Bluff", "NameWoDiac": "Bluff", "Status": "AC", "outflows": 537012.66663 }, "geometry": { "type": "Point", "coordinates": [ 168.316666666666663, -46.6 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-3-----", "LOCODE": "NZLYT", "Name": "Lyttelton", "NameWoDiac": "Lyttelton", "Status": "AC", "outflows": 2992885.6903999997 }, "geometry": { "type": "Point", "coordinates": [ 172.716666666666669, -43.6 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-3-----", "LOCODE": "NZMAP", "Name": "Marsden Point", "NameWoDiac": "Marsden Point", "Status": "AC", "outflows": 722904.00003 }, "geometry": { "type": "Point", "coordinates": [ 174.5, -35.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1--4----", "LOCODE": "NZNPE", "Name": "Napier", "NameWoDiac": "Napier", "Status": "AC", "outflows": 3423163.5692899991 }, "geometry": { "type": "Point", "coordinates": [ 176.9, -39.466666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-34----", "LOCODE": "NZNSN", "Name": "Nelson", "NameWoDiac": "Nelson", "Status": "AC", "outflows": 1229461.9998700004 }, "geometry": { "type": "Point", "coordinates": [ 173.26666666666668, -41.25 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1-------", "LOCODE": "NZPOE", "Name": "Port Chalmers", "NameWoDiac": "Port Chalmers", "Status": "AC", "outflows": 1736542.9262700006 }, "geometry": { "type": "Point", "coordinates": [ 170.6, -45.81666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZTRG", "Name": "Tauranga", "NameWoDiac": "Tauranga", "Status": "AI", "outflows": 6568750.5691900002 }, "geometry": { "type": "Point", "coordinates": [ 176.166666666666657, -37.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZTIU", "Name": "Timaru", "NameWoDiac": "Timaru", "Status": "AC", "outflows": 1399570.2597300003 }, "geometry": { "type": "Point", "coordinates": [ 171.25, -44.383333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "New Zealand", "Function": "1234----", "LOCODE": "NZWLG", "Name": "Wellington", "NameWoDiac": "Wellington", "Status": "AC", "outflows": 1605903.3093099999 }, "geometry": { "type": "Point", "coordinates": [ 174.783333333333331, -41.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-345---", "LOCODE": "PAONX", "Name": "Colón", "NameWoDiac": "Colon", "Status": "AI", "outflows": 5425996.6880400013 }, "geometry": { "type": "Point", "coordinates": [ -79.86666666666666, 9.35 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PACTB", "Name": "Cristóbal", "NameWoDiac": "Cristobal", "Status": "AI", "outflows": 7696418.2510899995 }, "geometry": { "type": "Point", "coordinates": [ -79.9, 9.35 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-345---", "LOCODE": "PAPTY", "Name": "Panamá, Ciudad de", "NameWoDiac": "Panama, Ciudad de", "Status": "AI", "outflows": 13494.0 }, "geometry": { "type": "Point", "coordinates": [ -79.533333333333331, 8.966666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PAROD", "Name": "Rodman", "NameWoDiac": "Rodman", "Status": "RL", "outflows": 4784764.0453200005 }, "geometry": { "type": "Point", "coordinates": [ -79.566666666666663, 8.95 ] } },
{ "type": "Feature", "properties": { "Country": "French Polynesia", "Function": "1--4----", "LOCODE": "PFBOB", "Name": "Bora Bora", "NameWoDiac": "Bora Bora", "Status": "AI", "outflows": 726.75 }, "geometry": { "type": "Point", "coordinates": [ -151.75, -16.45 ] } },
{ "type": "Feature", "properties": { "Country": "French Polynesia", "Function": "1--45---", "LOCODE": "PFPPT", "Name": "Papeete", "NameWoDiac": "Papeete", "Status": "AI", "outflows": 1092395.0833000003 }, "geometry": { "type": "Point", "coordinates": [ -149.616666666666674, -17.55 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGMAG", "Name": "Madang", "NameWoDiac": "Madang", "Status": "AI", "outflows": 168130.0 }, "geometry": { "type": "Point", "coordinates": [ 145.783333333333331, -5.216666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1-------", "LOCODE": "PGMTK", "Name": "Motukea Island", "NameWoDiac": "Motukea Island", "Status": "RL", "outflows": 301007.5 }, "geometry": { "type": "Point", "coordinates": [ 147.1, -9.433333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3--6--", "LOCODE": "PHBTG", "Name": "Batangas\/Luzon", "NameWoDiac": "Batangas\/Luzon", "Status": "AI", "outflows": 1811559.5 }, "geometry": { "type": "Point", "coordinates": [ 121.05, 13.75 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-34----", "LOCODE": "PHGES", "Name": "General Santos", "NameWoDiac": "General Santos", "Status": "AI", "outflows": 925870.83340999996 }, "geometry": { "type": "Point", "coordinates": [ 125.15, 6.116666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3-----", "LOCODE": "PHTGO", "Name": "Tagoloan", "NameWoDiac": "Tagoloan", "Status": "RL", "outflows": 12150.0 }, "geometry": { "type": "Point", "coordinates": [ 124.75, 8.533333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Poland", "Function": "123-----", "LOCODE": "PLGDY", "Name": "Gdynia", "NameWoDiac": "Gdynia", "Status": "RL", "outflows": 1377819.1666200003 }, "geometry": { "type": "Point", "coordinates": [ 18.55, 54.5 ] } },
{ "type": "Feature", "properties": { "Country": "Poland", "Function": "123-----", "LOCODE": "PLSWI", "Name": "Swinoujscie", "NameWoDiac": "Swinoujscie", "Status": "RL", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 14.25, 53.9 ] } },
{ "type": "Feature", "properties": { "Country": "Puerto Rico", "Function": "1--45---", "LOCODE": "PRSJU", "Name": "San Juan", "NameWoDiac": "San Juan", "Status": "AI", "outflows": 914875.50003 }, "geometry": { "type": "Point", "coordinates": [ -66.083333333333329, 18.45 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTCNL", "Name": "Caniçal", "NameWoDiac": "Canical", "Status": "RL", "outflows": 70018.0 }, "geometry": { "type": "Point", "coordinates": [ -16.733333333333334, 32.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTFDF", "Name": "Figueira da Foz", "NameWoDiac": "Figueira da Foz", "Status": "AI", "outflows": 26754.0 }, "geometry": { "type": "Point", "coordinates": [ -8.866666666666667, 40.15 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-34----", "LOCODE": "PTHOR", "Name": "Horta", "NameWoDiac": "Horta", "Status": "AI", "outflows": 32292.0 }, "geometry": { "type": "Point", "coordinates": [ -28.633333333333333, 38.533333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTLEI", "Name": "Leixões", "NameWoDiac": "Leixoes", "Status": "AI", "outflows": 1619530.783304 }, "geometry": { "type": "Point", "coordinates": [ -8.683333333333334, 41.18333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "12345---", "LOCODE": "PTLIS", "Name": "Lisboa", "NameWoDiac": "Lisboa", "Status": "AI", "outflows": 1373631.1667299997 }, "geometry": { "type": "Point", "coordinates": [ -9.133333333333333, 38.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "--3-----", "LOCODE": "PTPIC", "Name": "Pico", "NameWoDiac": "Pico", "Status": "RL", "outflows": 23192.0 }, "geometry": { "type": "Point", "coordinates": [ -8.416666666666666, 41.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-345---", "LOCODE": "PTPDL", "Name": "Ponta Delgada", "NameWoDiac": "Ponta Delgada", "Status": "AI", "outflows": 109096.0 }, "geometry": { "type": "Point", "coordinates": [ -25.666666666666668, 37.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1--4---B", "LOCODE": "PTPXO", "Name": "Porto Santo Island", "NameWoDiac": "Porto Santo Island", "Status": "AI", "outflows": 28236.0 }, "geometry": { "type": "Point", "coordinates": [ -16.333333333333332, 33.06666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTPRG", "Name": "Praia da Graciosa", "NameWoDiac": "Praia da Graciosa", "Status": "AI", "outflows": 19500.0 }, "geometry": { "type": "Point", "coordinates": [ -27.966666666666665, 39.05 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTPRV", "Name": "Praia da Vitória", "NameWoDiac": "Praia da Vitoria", "Status": "AI", "outflows": 109096.0 }, "geometry": { "type": "Point", "coordinates": [ -27.066666666666666, 38.733333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTSCF", "Name": "Santa Cruz das Flores", "NameWoDiac": "Santa Cruz das Flores", "Status": "RL", "outflows": 16146.0 }, "geometry": { "type": "Point", "coordinates": [ -31.116666666666667, 39.45 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "123-----", "LOCODE": "PTSET", "Name": "Setúbal", "NameWoDiac": "Setubal", "Status": "AI", "outflows": 443319.5 }, "geometry": { "type": "Point", "coordinates": [ -8.9, 38.533333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1234----", "LOCODE": "PTSIE", "Name": "Sines", "NameWoDiac": "Sines", "Status": "AI", "outflows": 11424189.365200002 }, "geometry": { "type": "Point", "coordinates": [ -8.866666666666667, 37.95 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTVEL", "Name": "Velas", "NameWoDiac": "Velas", "Status": "AI", "outflows": 47190.0 }, "geometry": { "type": "Point", "coordinates": [ -28.216666666666665, 38.68333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Portugal", "Function": "1-3-----", "LOCODE": "PTVDP", "Name": "Vila do Porto", "NameWoDiac": "Vila do Porto", "Status": "RL", "outflows": 13468.0 }, "geometry": { "type": "Point", "coordinates": [ -25.15, 36.93333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Paraguay", "Function": "1--45---", "LOCODE": "PYASU", "Name": "Asunción", "NameWoDiac": "Asuncion", "Status": "AI", "outflows": 13793.0 }, "geometry": { "type": "Point", "coordinates": [ -57.666666666666664, -25.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Qatar", "Function": "1-------", "LOCODE": "QAHMD", "Name": "BGN\/PCGN1956 - HAMAD", "NameWoDiac": "BGN\/PCGN1956 - HAMAD", "Status": "RL", "outflows": 11570563.360890001 }, "geometry": { "type": "Point", "coordinates": [ 51.616666666666667, 25.0 ] } },
{ "type": "Feature", "properties": { "Country": "Qatar", "Function": "1----6--", "LOCODE": "QAMES", "Name": "Mesaieed", "NameWoDiac": "Mesaieed", "Status": "RQ", "outflows": 87230.0 }, "geometry": { "type": "Point", "coordinates": [ 51.916666666666664, 25.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Romania", "Function": "1234-6--", "LOCODE": "ROCND", "Name": "Constanta", "NameWoDiac": "Constanta", "Status": "AI", "outflows": 4202750.0668100007 }, "geometry": { "type": "Point", "coordinates": [ 28.65, 44.18333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123-----", "LOCODE": "RUBRK", "Name": "Lomonosov", "NameWoDiac": "Lomonosov", "Status": "RL", "outflows": 172926.0 }, "geometry": { "type": "Point", "coordinates": [ 29.733333333333334, 59.9 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123--6--", "LOCODE": "RUNVS", "Name": "Novorossiysk", "NameWoDiac": "Novorossiysk", "Status": "RL", "outflows": 2856095.6668099994 }, "geometry": { "type": "Point", "coordinates": [ 37.766666666666666, 44.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "12345---", "LOCODE": "RULED", "Name": "Saint Petersburg (ex Leningrad)", "NameWoDiac": "Saint Petersburg (ex Leningrad)", "Status": "AI", "outflows": 2197863.9046789999 }, "geometry": { "type": "Point", "coordinates": [ 30.25, 59.883333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "123-----", "LOCODE": "RUULU", "Name": "Ust'-Luga", "NameWoDiac": "Ust'-Luga", "Status": "RL", "outflows": 217892.99998 }, "geometry": { "type": "Point", "coordinates": [ 28.316666666666666, 59.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUVYP", "Name": "Vostochnyy Port", "NameWoDiac": "Vostochnyy Port", "Status": "RL", "outflows": 694044.00000000012 }, "geometry": { "type": "Point", "coordinates": [ 133.05, 42.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUZAR", "Name": "Zarubino", "NameWoDiac": "Zarubino", "Status": "RL", "outflows": 8476.0 }, "geometry": { "type": "Point", "coordinates": [ 131.083333333333343, 42.616666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "12345---", "LOCODE": "SADMM", "Name": "Ad Dammam", "NameWoDiac": "Ad Dammam", "Status": "RL", "outflows": 11255729.646892 }, "geometry": { "type": "Point", "coordinates": [ 50.1, 26.416666666666668 ] } },
{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1--45---", "LOCODE": "SAJED", "Name": "Jeddah", "NameWoDiac": "Jeddah", "Status": "AI", "outflows": 28479677.911780011 }, "geometry": { "type": "Point", "coordinates": [ 39.166666666666664, 21.533333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-3-----", "LOCODE": "SAKAC", "Name": "King Abdullah City", "NameWoDiac": "King Abdullah City", "Status": "RQ", "outflows": 13582128.147299998 }, "geometry": { "type": "Point", "coordinates": [ 39.083333333333336, 22.4 ] } },
{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-34----", "LOCODE": "SAYNB", "Name": "Yanbu al-Bahr", "NameWoDiac": "Yanbu al-Bahr", "Status": "AI", "outflows": 49257.0 }, "geometry": { "type": "Point", "coordinates": [ 38.033333333333331, 24.083333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEAHU", "Name": "Åhus", "NameWoDiac": "Ahus", "Status": "AA", "outflows": 33696.0 }, "geometry": { "type": "Point", "coordinates": [ 14.283333333333333, 55.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1--4----", "LOCODE": "SEGVX", "Name": "Gävle", "NameWoDiac": "Gavle", "Status": "AA", "outflows": 278876.0 }, "geometry": { "type": "Point", "coordinates": [ 17.166666666666668, 60.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12345---", "LOCODE": "SEGOT", "Name": "Göteborg", "NameWoDiac": "Goteborg", "Status": "AA", "outflows": 3614371.4282800001 }, "geometry": { "type": "Point", "coordinates": [ 11.966666666666667, 57.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEHAD", "Name": "Halmstad", "NameWoDiac": "Halmstad", "Status": "AA", "outflows": 48750.0 }, "geometry": { "type": "Point", "coordinates": [ 12.85, 56.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1--4----", "LOCODE": "SEKSD", "Name": "Karlstad", "NameWoDiac": "Karlstad", "Status": "AA", "outflows": 3312.0 }, "geometry": { "type": "Point", "coordinates": [ 13.5, 59.366666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SENRK", "Name": "Norrköping", "NameWoDiac": "Norrkoping", "Status": "AA", "outflows": 296309.0 }, "geometry": { "type": "Point", "coordinates": [ 16.183333333333334, 58.6 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEOSK", "Name": "Oskarshamn", "NameWoDiac": "Oskarshamn", "Status": "AA", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 16.433333333333334, 57.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEOXE", "Name": "Oxelösund", "NameWoDiac": "Oxelosund", "Status": "AA", "outflows": 73031.833334999988 }, "geometry": { "type": "Point", "coordinates": [ 17.1, 58.666666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEPIT", "Name": "Piteå", "NameWoDiac": "Pitea", "Status": "AA", "outflows": 67392.0 }, "geometry": { "type": "Point", "coordinates": [ 21.5, 65.333333333333329 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123--6--", "LOCODE": "SESOE", "Name": "Södertälje", "NameWoDiac": "Sodertalje", "Status": "AA", "outflows": 54799.333335000003 }, "geometry": { "type": "Point", "coordinates": [ 17.616666666666667, 59.2 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12345---", "LOCODE": "SESTO", "Name": "Stockholm", "NameWoDiac": "Stockholm", "Status": "AA", "outflows": 227955.0 }, "geometry": { "type": "Point", "coordinates": [ 18.05, 59.333333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1-34----", "LOCODE": "SESDL", "Name": "Sundsvall", "NameWoDiac": "Sundsvall", "Status": "AA", "outflows": 51928.5 }, "geometry": { "type": "Point", "coordinates": [ 17.3, 62.383333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEUME", "Name": "Umeå", "NameWoDiac": "Umea", "Status": "AI", "outflows": 51928.5 }, "geometry": { "type": "Point", "coordinates": [ 20.25, 63.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "1234----", "LOCODE": "SEVST", "Name": "Västerås", "NameWoDiac": "Vasteras", "Status": "AA", "outflows": 21103.333335000003 }, "geometry": { "type": "Point", "coordinates": [ 16.55, 59.616666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Syrian Arab Republic", "Function": "1--4----", "LOCODE": "SYLTK", "Name": "Latakia", "NameWoDiac": "Latakia", "Status": "AI", "outflows": 719300.0 }, "geometry": { "type": "Point", "coordinates": [ 35.783333333333331, 35.516666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Syrian Arab Republic", "Function": "1-3-----", "LOCODE": "SYTTS", "Name": "Tartus", "NameWoDiac": "Tartus", "Status": "RL", "outflows": 103493.0 }, "geometry": { "type": "Point", "coordinates": [ 35.9, 34.9 ] } },
{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "12345---", "LOCODE": "THBKK", "Name": "Bangkok", "NameWoDiac": "Bangkok", "Status": "AI", "outflows": 4526246.8335100003 }, "geometry": { "type": "Point", "coordinates": [ 100.516666666666666, 13.75 ] } },
{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-3-----", "LOCODE": "THLCH", "Name": "Laem Chabang", "NameWoDiac": "Laem Chabang", "Status": "RL", "outflows": 21757591.196550008 }, "geometry": { "type": "Point", "coordinates": [ 100.88333333333334, 13.083333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "---4----", "LOCODE": "THHKT", "Name": "Phuket International Apt", "NameWoDiac": "Phuket International Apt", "Status": "AA", "outflows": 44898.75 }, "geometry": { "type": "Point", "coordinates": [ 98.316666666666663, 8.116666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-3-----", "LOCODE": "THSCS", "Name": "Sahathai Coastal Seaport", "NameWoDiac": "Sahathai Coastal Seaport", "Status": "RQ", "outflows": 91563.33335 }, "geometry": { "type": "Point", "coordinates": [ 100.533333333333331, 13.65 ] } },
{ "type": "Feature", "properties": { "Country": "Timor-Leste", "Function": "1-34----", "LOCODE": "TLDIL", "Name": "Dili", "NameWoDiac": "Dili", "Status": "RL", "outflows": 34187.75 }, "geometry": { "type": "Point", "coordinates": [ 125.566666666666663, -8.55 ] } },
{ "type": "Feature", "properties": { "Country": "Tonga", "Function": "1--45---", "LOCODE": "TOTBU", "Name": "Nuku'alofa", "NameWoDiac": "Nuku'alofa", "Status": "AI", "outflows": 178599.5 }, "geometry": { "type": "Point", "coordinates": [ -175.2, -21.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "--3-----", "LOCODE": "TRPAM", "Name": "Ambarli", "NameWoDiac": "Ambarli", "Status": "RL", "outflows": 14411413.266529994 }, "geometry": { "type": "Point", "coordinates": [ 39.166666666666664, 41.033333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRAYT", "Name": "Antalya", "NameWoDiac": "Antalya", "Status": "AI", "outflows": 111670.0 }, "geometry": { "type": "Point", "coordinates": [ 30.6, 36.833333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRBDM", "Name": "Bandirma", "NameWoDiac": "Bandirma", "Status": "AI", "outflows": 19968.0 }, "geometry": { "type": "Point", "coordinates": [ 27.966666666666665, 40.35 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "--3-----", "LOCODE": "TRELI", "Name": "Eregli", "NameWoDiac": "Eregli", "Status": "RL", "outflows": 46215.0 }, "geometry": { "type": "Point", "coordinates": [ 34.05, 37.5 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TREYP", "Name": "Evyap Port \/Kocaeli", "NameWoDiac": "Evyap Port \/Kocaeli", "Status": "RL", "outflows": 2234864.6663000002 }, "geometry": { "type": "Point", "coordinates": [ 29.7, 40.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRGEB", "Name": "Gebze", "NameWoDiac": "Gebze", "Status": "RL", "outflows": 3850254.1414999994 }, "geometry": { "type": "Point", "coordinates": [ 29.416666666666668, 40.783333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRGEM", "Name": "Gemlik", "NameWoDiac": "Gemlik", "Status": "RL", "outflows": 5852461.2414100012 }, "geometry": { "type": "Point", "coordinates": [ 29.15, 40.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRISK", "Name": "Iskenderun", "NameWoDiac": "Iskenderun", "Status": "RL", "outflows": 5577045.5832400005 }, "geometry": { "type": "Point", "coordinates": [ 36.166666666666664, 36.583333333333336 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "12345---", "LOCODE": "TRIZM", "Name": "Izmir", "NameWoDiac": "Izmir", "Status": "AI", "outflows": 3559402.8750300007 }, "geometry": { "type": "Point", "coordinates": [ 27.15, 38.416666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRIZT", "Name": "Izmit", "NameWoDiac": "Izmit", "Status": "RL", "outflows": 8619638.1665099971 }, "geometry": { "type": "Point", "coordinates": [ 29.95, 40.783333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRKMX", "Name": "Kumport", "NameWoDiac": "Kumport", "Status": "RQ", "outflows": 829400.0 }, "geometry": { "type": "Point", "coordinates": [ 28.816666666666666, 40.95 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRLMA", "Name": "Limas", "NameWoDiac": "Limas", "Status": "RQ", "outflows": 31720.0 }, "geometry": { "type": "Point", "coordinates": [ 26.916666666666668, 38.75 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRMAD", "Name": "Mardas", "NameWoDiac": "Mardas", "Status": "RQ", "outflows": 103532.0 }, "geometry": { "type": "Point", "coordinates": [ 28.95, 41.016666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "123-----", "LOCODE": "TRMER", "Name": "Mersin", "NameWoDiac": "Mersin", "Status": "RL", "outflows": 9929684.1327900011 }, "geometry": { "type": "Point", "coordinates": [ 34.633333333333333, 36.716666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1--4----", "LOCODE": "TRSSX", "Name": "Samsun", "NameWoDiac": "Samsun", "Status": "AI", "outflows": 105306.5 }, "geometry": { "type": "Point", "coordinates": [ 36.333333333333336, 41.283333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1234----", "LOCODE": "TRTEK", "Name": "Tekirdag", "NameWoDiac": "Tekirdag", "Status": "AI", "outflows": 4941615.3749799989 }, "geometry": { "type": "Point", "coordinates": [ 27.516666666666666, 40.966666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-34----", "LOCODE": "TRTZX", "Name": "Trabzon", "NameWoDiac": "Trabzon", "Status": "AI", "outflows": 14760.0 }, "geometry": { "type": "Point", "coordinates": [ 39.733333333333334, 41.0 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRYPO", "Name": "Yilport", "NameWoDiac": "Yilport", "Status": "RL", "outflows": 253751.33331 }, "geometry": { "type": "Point", "coordinates": [ 29.533333333333335, 40.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Trinidad and Tobago", "Function": "1--45---", "LOCODE": "TTPOS", "Name": "Port-of-Spain", "NameWoDiac": "Port-of-Spain", "Status": "AI", "outflows": 1136813.0 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 10.65 ] } },
{ "type": "Feature", "properties": { "Country": "Trinidad and Tobago", "Function": "1--45---", "LOCODE": "TTPOS", "Name": "Port-of-Spain", "NameWoDiac": "Port-of-Spain", "Status": "AI", "outflows": 1136813.0 }, "geometry": { "type": "Point", "coordinates": [ -61.516666666666666, 10.65 ] } },
{ "type": "Feature", "properties": { "Country": "Taiwan, Province of China", "Function": "1--45---", "LOCODE": "TWTPE", "Name": "Taipei", "NameWoDiac": "Taipei", "Status": "AI", "outflows": 10793107.077210007 }, "geometry": { "type": "Point", "coordinates": [ 121.516666666666666, 25.033333333333335 ] } },
{ "type": "Feature", "properties": { "Country": "Tanzania, United Republic of", "Function": "12345---", "LOCODE": "TZDAR", "Name": "Dar es Salaam", "NameWoDiac": "Dar es Salaam", "Status": "AI", "outflows": 1404403.5674399997 }, "geometry": { "type": "Point", "coordinates": [ 39.283333333333331, -6.8 ] } },
{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "123-----", "LOCODE": "UAILK", "Name": "Chornomorsk", "NameWoDiac": "Chornomorsk", "Status": "AA", "outflows": 1398819.4999800001 }, "geometry": { "type": "Point", "coordinates": [ 30.666666666666668, 46.31666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "1234-6--", "LOCODE": "UAODS", "Name": "Odesa", "NameWoDiac": "Odesa", "Status": "AA", "outflows": 2843490.8999800007 }, "geometry": { "type": "Point", "coordinates": [ 30.75, 46.5 ] } },
{ "type": "Feature", "properties": { "Country": "Ukraine", "Function": "1-------", "LOCODE": "UAYUZ", "Name": "Yuzhnyi", "NameWoDiac": "Yuzhnyi", "Status": "AA", "outflows": 1861645.5 }, "geometry": { "type": "Point", "coordinates": [ 31.016666666666666, 46.6 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "123-----", "LOCODE": "USBAL", "Name": "Baltimore", "NameWoDiac": "Baltimore", "Status": "RL", "outflows": 6053080.2448899997 }, "geometry": { "type": "Point", "coordinates": [ -76.61666666666666, 39.283333333333331 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23-----", "LOCODE": "USACL", "Name": "Chester", "NameWoDiac": "Chester", "Status": "RL", "outflows": 109902.0 }, "geometry": { "type": "Point", "coordinates": [ -72.583333333333329, 43.266666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3----B", "LOCODE": "USEPI", "Name": "Eastport", "NameWoDiac": "Eastport", "Status": "RN", "outflows": 28364.0 }, "geometry": { "type": "Point", "coordinates": [ -67.000460366215606, 44.918963897792032 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USFEB", "Name": "Fernandina Beach", "NameWoDiac": "Fernandina Beach", "Status": "RL", "outflows": 2700.0 }, "geometry": { "type": "Point", "coordinates": [ -81.45, 30.666666666666668 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3--6--", "LOCODE": "USGFP", "Name": "Gulfport", "NameWoDiac": "Gulfport", "Status": "RQ", "outflows": 179625.33335 }, "geometry": { "type": "Point", "coordinates": [ -89.084906220322893, 30.378156457739781 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-345---", "LOCODE": "USHNL", "Name": "Honolulu", "NameWoDiac": "Honolulu", "Status": "AI", "outflows": 808514.83334000001 }, "geometry": { "type": "Point", "coordinates": [ -157.85, 21.3 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23--6--", "LOCODE": "USHKA", "Name": "Houston", "NameWoDiac": "Houston", "Status": "RL", "outflows": 14456458.251239998 }, "geometry": { "type": "Point", "coordinates": [ -149.816666666666663, 61.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1234----", "LOCODE": "USLGB", "Name": "Long Beach", "NameWoDiac": "Long Beach", "Status": "AI", "outflows": 12114713.79308 }, "geometry": { "type": "Point", "coordinates": [ -118.183333333333337, 33.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "12345---", "LOCODE": "USNYC", "Name": "New York", "NameWoDiac": "New York", "Status": "AI", "outflows": 27396473.865290001 }, "geometry": { "type": "Point", "coordinates": [ -74.0, 40.7 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3--6--", "LOCODE": "USNFF", "Name": "Norfolk", "NameWoDiac": "Norfolk", "Status": "RL", "outflows": 20779844.877009999 }, "geometry": { "type": "Point", "coordinates": [ -73.2, 42.0 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23-----", "LOCODE": "USKND", "Name": "Oakland", "NameWoDiac": "Oakland", "Status": "RL", "outflows": 17163885.235119998 }, "geometry": { "type": "Point", "coordinates": [ -122.220254629629636, 37.932904795821436 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "-23--6--", "LOCODE": "USPDP", "Name": "Philadelphia", "NameWoDiac": "Philadelphia", "Status": "RL", "outflows": 5743740.1835829979 }, "geometry": { "type": "Point", "coordinates": [ -75.716666666666669, 44.15 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USPEF", "Name": "Port Everglades", "NameWoDiac": "Port Everglades", "Status": "RN", "outflows": 3155879.7381200008 }, "geometry": { "type": "Point", "coordinates": [ -80.13333333333334, 26.1 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1234-6--", "LOCODE": "USNTD", "Name": "Port Hueneme", "NameWoDiac": "Port Hueneme", "Status": "AI", "outflows": 585733.2 }, "geometry": { "type": "Point", "coordinates": [ -119.183333333333337, 34.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USPME", "Name": "Port Manatee", "NameWoDiac": "Port Manatee", "Status": "RL", "outflows": 88523.5 }, "geometry": { "type": "Point", "coordinates": [ -82.55, 27.633333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USSAN", "Name": "San Diego", "NameWoDiac": "San Diego", "Status": "AI", "outflows": 60060.0 }, "geometry": { "type": "Point", "coordinates": [ -117.15, 32.7 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USSCK", "Name": "Stockton", "NameWoDiac": "Stockton", "Status": "AI", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ -121.283333333333331, 37.95 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USILM", "Name": "Wilmington", "NameWoDiac": "Wilmington", "Status": "AI", "outflows": 2749421.5816000002 }, "geometry": { "type": "Point", "coordinates": [ -77.933333333333337, 34.216666666666669 ] } },
{ "type": "Feature", "properties": { "Country": "Uruguay", "Function": "--3-----", "LOCODE": "UYPTP", "Name": "Punta Pereyra", "NameWoDiac": "Punta Pereyra", "Status": "RQ", "outflows": 7800.0 }, "geometry": { "type": "Point", "coordinates": [ -58.06666666666667, -34.233333333333334 ] } },
{ "type": "Feature", "properties": { "Country": "Saint Vincent and the Grenadines", "Function": "1--45---", "LOCODE": "VCKTN", "Name": "Kingstown", "NameWoDiac": "Kingstown", "Status": "RL", "outflows": 225040.4 }, "geometry": { "type": "Point", "coordinates": [ -61.216666666666669, 13.133333333333333 ] } },
{ "type": "Feature", "properties": { "Country": "Venezuela, Bolivarian Republic of", "Function": "1--4----", "LOCODE": "VEPLA", "Name": "Palúa", "NameWoDiac": "Palua", "Status": "AI", "outflows": 15540.0 }, "geometry": { "type": "Point", "coordinates": [ -62.666666666666664, 8.35 ] } },
{ "type": "Feature", "properties": { "Country": "Virgin Islands, U.S.", "Function": "1-------", "LOCODE": "VICTD", "Name": "Christiansted, Saint Croix", "NameWoDiac": "Christiansted, Saint Croix", "Status": "AI", "outflows": 11076.0 }, "geometry": { "type": "Point", "coordinates": [ -64.75, 17.75 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "--3-----", "LOCODE": "VNC8Q", "Name": "Chu Lai", "NameWoDiac": "Chu Lai", "Status": "RL", "outflows": 233142.0 }, "geometry": { "type": "Point", "coordinates": [ 108.7, 15.4 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1--4----", "LOCODE": "VNDAD", "Name": "Da Nang", "NameWoDiac": "Da Nang", "Status": "AI", "outflows": 3019963.9167599995 }, "geometry": { "type": "Point", "coordinates": [ 108.216666666666669, 16.066666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-3456--", "LOCODE": "VNSGN", "Name": "Ho Chi Minh City", "NameWoDiac": "Ho Chi Minh City", "Status": "AI", "outflows": 12782452.750279998 }, "geometry": { "type": "Point", "coordinates": [ 106.666666666666671, 10.766666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-3-----", "LOCODE": "VNNGH", "Name": "Nghi Son", "NameWoDiac": "Nghi Son", "Status": "RL", "outflows": 43602.0 }, "geometry": { "type": "Point", "coordinates": [ 105.833333333333329, 19.333333333333332 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-34----", "LOCODE": "VNUIH", "Name": "Qui Nhon", "NameWoDiac": "Qui Nhon", "Status": "AI", "outflows": 418626.0 }, "geometry": { "type": "Point", "coordinates": [ 109.216666666666669, 13.766666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-34----", "LOCODE": "VNVUT", "Name": "Vung Tau", "NameWoDiac": "Vung Tau", "Status": "RL", "outflows": 21025136.034170005 }, "geometry": { "type": "Point", "coordinates": [ 107.066666666666663, 10.35 ] } },
{ "type": "Feature", "properties": { "Country": "Wallis and Futuna", "Function": "---4----", "LOCODE": "WFFUT", "Name": "Vele Futuna I. Apt", "NameWoDiac": "Vele Futuna I. Apt", "Status": "AI", "outflows": 10200.0 }, "geometry": { "type": "Point", "coordinates": [ -178.083333333333343, -14.316666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "Mayotte", "Function": "1-3-----", "LOCODE": "YTLON", "Name": "Longoni", "NameWoDiac": "Longoni", "Status": "AA", "outflows": 298158.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 45.166666666666664, -12.716666666666667 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "12345---", "LOCODE": "ZACPT", "Name": "Cape Town", "NameWoDiac": "Cape Town", "Status": "AF", "outflows": 4902763.6243000003 }, "geometry": { "type": "Point", "coordinates": [ 18.416666666666668, -33.916666666666664 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "-----6--", "LOCODE": "ZAZBA", "Name": "Coega", "NameWoDiac": "Coega", "Status": "RL", "outflows": 3467734.6668099998 }, "geometry": { "type": "Point", "coordinates": [ 25.666666666666668, -33.766666666666666 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "12345---", "LOCODE": "ZADUR", "Name": "Durban", "NameWoDiac": "Durban", "Status": "AI", "outflows": 8754191.1218599975 }, "geometry": { "type": "Point", "coordinates": [ 31.016666666666666, -29.85 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-3-----", "LOCODE": "AEAJM", "Name": "Ajman", "NameWoDiac": "Ajman", "Status": "RL", "outflows": 73567.0 }, "geometry": { "type": "Point", "coordinates": [ 55.47878, 25.40177 ] } },
{ "type": "Feature", "properties": { "Country": "United Arab Emirates", "Function": "1-------", "LOCODE": "AEJEA", "Name": "Jebel Ali", "NameWoDiac": "Jebel Ali", "Status": "QQ", "outflows": 44524119.850148 }, "geometry": { "type": "Point", "coordinates": [ 55.10811, 25.00255 ] } },
{ "type": "Feature", "properties": { "Country": "Anguilla", "Function": "---45---", "LOCODE": "AIAXA", "Name": "Anguilla", "NameWoDiac": "Anguilla", "Status": "AI", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -63.09375, 18.17648 ] } },
{ "type": "Feature", "properties": { "Country": "Albania", "Function": "1-------", "LOCODE": "ALDRZ", "Name": "Durrës", "NameWoDiac": "Durres", "Status": "RL", "outflows": 134307.0 }, "geometry": { "type": "Point", "coordinates": [ 19.45469, 41.32355 ] } },
{ "type": "Feature", "properties": { "Country": "Albania", "Function": "1-------", "LOCODE": "ALDRZ", "Name": "Durrës", "NameWoDiac": "Durres", "Status": "RL", "outflows": 134307.0 }, "geometry": { "type": "Point", "coordinates": [ 19.45469, 41.32355 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOCAB", "Name": "Cabinda", "NameWoDiac": "Cabinda", "Status": "AI", "outflows": 2673.25 }, "geometry": { "type": "Point", "coordinates": [ 12.2, -5.55 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1---5---", "LOCODE": "AOLOB", "Name": "Lobito", "NameWoDiac": "Lobito", "Status": "RL", "outflows": 210369.4 }, "geometry": { "type": "Point", "coordinates": [ 13.53601, -12.3644 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--45---", "LOCODE": "AOLAD", "Name": "Luanda", "NameWoDiac": "Luanda", "Status": "AI", "outflows": 2439604.518850001 }, "geometry": { "type": "Point", "coordinates": [ 13.23432, -8.83682 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "0-------", "LOCODE": "AOMAL", "Name": "Malongo", "NameWoDiac": "Malongo", "Status": "RQ", "outflows": 8707.5 }, "geometry": { "type": "Point", "coordinates": [ 12.19802179783948, -5.396406481852449 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOMSZ", "Name": "Namibe", "NameWoDiac": "Namibe", "Status": "AI", "outflows": 61242.5 }, "geometry": { "type": "Point", "coordinates": [ 12.15222, -15.19611 ] } },
{ "type": "Feature", "properties": { "Country": "Angola", "Function": "1--4----", "LOCODE": "AOSZA", "Name": "Soyo", "NameWoDiac": "Soyo", "Status": "AI", "outflows": 79583.4 }, "geometry": { "type": "Point", "coordinates": [ 12.36894, -6.1349 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "123-----", "LOCODE": "AUBEL", "Name": "Bell Bay", "NameWoDiac": "Bell Bay", "Status": "AC", "outflows": 537012.66663 }, "geometry": { "type": "Point", "coordinates": [ 146.87, -41.13 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUBWT", "Name": "Burnie", "NameWoDiac": "Burnie", "Status": "AC", "outflows": 54600.0 }, "geometry": { "type": "Point", "coordinates": [ 145.90375, -41.05584 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUCNS", "Name": "Cairns", "NameWoDiac": "Cairns", "Status": "AC", "outflows": 806.0 }, "geometry": { "type": "Point", "coordinates": [ 145.76613, -16.92366 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1-------", "LOCODE": "AUDAM", "Name": "Dampier", "NameWoDiac": "Dampier", "Status": "AC", "outflows": 2273.75 }, "geometry": { "type": "Point", "coordinates": [ 116.71256, -20.66275 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUDPO", "Name": "Devonport", "NameWoDiac": "Devonport", "Status": "AC", "outflows": 11960.0 }, "geometry": { "type": "Point", "coordinates": [ 146.35152, -41.17695 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUFRE", "Name": "Fremantle", "NameWoDiac": "Fremantle", "Status": "AC", "outflows": 4485214.6003799979 }, "geometry": { "type": "Point", "coordinates": [ 115.74557, -32.05632 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUGEX", "Name": "Geelong", "NameWoDiac": "Geelong", "Status": "AC", "outflows": 3084.0 }, "geometry": { "type": "Point", "coordinates": [ 144.36069, -38.14711 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUNTL", "Name": "Newcastle", "NameWoDiac": "Newcastle", "Status": "AI", "outflows": 69717.0 }, "geometry": { "type": "Point", "coordinates": [ 151.7801, -32.92953 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "123-----", "LOCODE": "AUPBT", "Name": "Port Botany", "NameWoDiac": "Port Botany", "Status": "AC", "outflows": 47151.0 }, "geometry": { "type": "Point", "coordinates": [ 151.22277, -33.97447 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUPKL", "Name": "Port Kembla", "NameWoDiac": "Port Kembla", "Status": "AC", "outflows": 33267.0 }, "geometry": { "type": "Point", "coordinates": [ 150.9012, -34.4818 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUTSV", "Name": "Townsville", "NameWoDiac": "Townsville", "Status": "AI", "outflows": 227206.58331800002 }, "geometry": { "type": "Point", "coordinates": [ 146.80569, -19.26639 ] } },
{ "type": "Feature", "properties": { "Country": "Australia", "Function": "1--4----", "LOCODE": "AUWEI", "Name": "Weipa", "NameWoDiac": "Weipa", "Status": "AC", "outflows": 806.0 }, "geometry": { "type": "Point", "coordinates": [ 141.87883, -12.62346 ] } },
{ "type": "Feature", "properties": { "Country": "Aruba", "Function": "1---5---", "LOCODE": "AWORJ", "Name": "Oranjestad", "NameWoDiac": "Oranjestad", "Status": "AI", "outflows": 721990.3 }, "geometry": { "type": "Point", "coordinates": [ -70.02703, 12.52398 ] } },
{ "type": "Feature", "properties": { "Country": "Barbados", "Function": "1--45---", "LOCODE": "BBBGI", "Name": "Bridgetown", "NameWoDiac": "Bridgetown", "Status": "AI", "outflows": 687251.06668999989 }, "geometry": { "type": "Point", "coordinates": [ -59.62021, 13.10732 ] } },
{ "type": "Feature", "properties": { "Country": "Bangladesh", "Function": "1-------", "LOCODE": "BDMGL", "Name": "Mongla", "NameWoDiac": "Mongla", "Status": "RQ", "outflows": 65143.0 }, "geometry": { "type": "Point", "coordinates": [ 89.61095, 22.47223 ] } },
{ "type": "Feature", "properties": { "Country": "Bulgaria", "Function": "1-------", "LOCODE": "BGBOJ", "Name": "Burgas", "NameWoDiac": "Burgas", "Status": "AC", "outflows": 535001.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 27.46781, 42.50606 ] } },
{ "type": "Feature", "properties": { "Country": "Bulgaria", "Function": "1--4----", "LOCODE": "BGVAR", "Name": "Varna", "NameWoDiac": "Varna", "Status": "AI", "outflows": 147810.0 }, "geometry": { "type": "Point", "coordinates": [ 27.91667, 43.21667 ] } },
{ "type": "Feature", "properties": { "Country": "Benin", "Function": "1--45---", "LOCODE": "BJCOO", "Name": "Cotonou", "NameWoDiac": "Cotonou", "Status": "AI", "outflows": 4812454.6643299991 }, "geometry": { "type": "Point", "coordinates": [ 2.41833, 6.36536 ] } },
{ "type": "Feature", "properties": { "Country": "Bermuda", "Function": "1--45---", "LOCODE": "BMBDA", "Name": "Hamilton", "NameWoDiac": "Hamilton", "Status": "AI", "outflows": 13100.0 }, "geometry": { "type": "Point", "coordinates": [ -64.78303, 32.2949 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRFOR", "Name": "Fortaleza", "NameWoDiac": "Fortaleza", "Status": "AI", "outflows": 278482.75 }, "geometry": { "type": "Point", "coordinates": [ -38.54306, -3.71722 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRIOS", "Name": "Ilheus", "NameWoDiac": "Ilheus", "Status": "AI", "outflows": 36877.75 }, "geometry": { "type": "Point", "coordinates": [ -39.03949, -14.79364 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRIBB", "Name": "Imbituba", "NameWoDiac": "Imbituba", "Status": "AI", "outflows": 378681.33330999996 }, "geometry": { "type": "Point", "coordinates": [ -48.67028, -28.24 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRITJ", "Name": "Itajai", "NameWoDiac": "Itajai", "Status": "AI", "outflows": 4871215.6998899989 }, "geometry": { "type": "Point", "coordinates": [ -48.66194, -26.90778 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRMAO", "Name": "Manaus", "NameWoDiac": "Manaus", "Status": "AI", "outflows": 1385527.97796 }, "geometry": { "type": "Point", "coordinates": [ -60.025, -3.10194 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRNAT", "Name": "Natal", "NameWoDiac": "Natal", "Status": "AI", "outflows": 241605.0 }, "geometry": { "type": "Point", "coordinates": [ -35.20944, -5.795 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRRIG", "Name": "Rio Grande", "NameWoDiac": "Rio Grande", "Status": "AI", "outflows": 10184119.863509998 }, "geometry": { "type": "Point", "coordinates": [ -43.18223, -22.90642 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1--4----", "LOCODE": "BRSSA", "Name": "Salvador", "NameWoDiac": "Salvador", "Status": "AI", "outflows": 8800539.5732199997 }, "geometry": { "type": "Point", "coordinates": [ -38.51083, -12.97111 ] } },
{ "type": "Feature", "properties": { "Country": "Brazil", "Function": "1-------", "LOCODE": "BRSUA", "Name": "Suape", "NameWoDiac": "Suape", "Status": "RQ", "outflows": 5878585.3904299997 }, "geometry": { "type": "Point", "coordinates": [ -38.62083, -12.74083 ] } },
{ "type": "Feature", "properties": { "Country": "Belize", "Function": "1--45---", "LOCODE": "BZBZE", "Name": "Belize City", "NameWoDiac": "Belize City", "Status": "AI", "outflows": 469495.0 }, "geometry": { "type": "Point", "coordinates": [ -88.19756, 17.49952 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CAHAL", "Name": "Halifax", "NameWoDiac": "Halifax", "Status": "AS", "outflows": 4454972.4670409998 }, "geometry": { "type": "Point", "coordinates": [ -63.57291, 44.6464 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CAMTR", "Name": "Montreal", "NameWoDiac": "Montreal", "Status": "AS", "outflows": 2304234.075 }, "geometry": { "type": "Point", "coordinates": [ -73.58781, 45.50884 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1-------", "LOCODE": "CANWE", "Name": "New Westminster", "NameWoDiac": "New Westminster", "Status": "AS", "outflows": 27774.0 }, "geometry": { "type": "Point", "coordinates": [ -122.91092, 49.20678 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CAPRR", "Name": "Prince Rupert", "NameWoDiac": "Prince Rupert", "Status": "AS", "outflows": 2510218.7498600003 }, "geometry": { "type": "Point", "coordinates": [ -130.32098, 54.31507 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--4----", "LOCODE": "CASQA", "Name": "Squamish", "NameWoDiac": "Squamish", "Status": "AS", "outflows": 9606.0 }, "geometry": { "type": "Point", "coordinates": [ -122.95396, 50.11817 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CATOR", "Name": "Toronto", "NameWoDiac": "Toronto", "Status": "AS", "outflows": 5720.0 }, "geometry": { "type": "Point", "coordinates": [ -79.4163, 43.70011 ] } },
{ "type": "Feature", "properties": { "Country": "Canada", "Function": "1--45---", "LOCODE": "CAVAN", "Name": "Vancouver", "NameWoDiac": "Vancouver", "Status": "AS", "outflows": 11959843.503790002 }, "geometry": { "type": "Point", "coordinates": [ -123.11934, 49.24966 ] } },
{ "type": "Feature", "properties": { "Country": "Cook Islands", "Function": "1--45---", "LOCODE": "CKAIT", "Name": "Aitutaki", "NameWoDiac": "Aitutaki", "Status": "AI", "outflows": 40320.0 }, "geometry": { "type": "Point", "coordinates": [ -159.79293, -18.85195 ] } },
{ "type": "Feature", "properties": { "Country": "Cook Islands", "Function": "1--45---", "LOCODE": "CKRAR", "Name": "Rarotonga", "NameWoDiac": "Rarotonga", "Status": "AI", "outflows": 41157.0 }, "geometry": { "type": "Point", "coordinates": [ -159.77545, -21.2075 ] } },
{ "type": "Feature", "properties": { "Country": "Cameroon", "Function": "1--45---", "LOCODE": "CMDLA", "Name": "Douala", "NameWoDiac": "Douala", "Status": "AI", "outflows": 1089387.80006 }, "geometry": { "type": "Point", "coordinates": [ 9.70428, 4.04827 ] } },
{ "type": "Feature", "properties": { "Country": "Cameroon", "Function": "1--4----", "LOCODE": "CMKBI", "Name": "Kribi", "NameWoDiac": "Kribi", "Status": "AI", "outflows": 1338743.54556 }, "geometry": { "type": "Point", "coordinates": [ 9.90765, 2.93725 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--45---", "LOCODE": "COBAQ", "Name": "Barranquilla", "NameWoDiac": "Barranquilla", "Status": "AI", "outflows": 1238849.9999530001 }, "geometry": { "type": "Point", "coordinates": [ -74.78132, 10.96854 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COBUN", "Name": "Buenaventura", "NameWoDiac": "Buenaventura", "Status": "AI", "outflows": 12125518.600159997 }, "geometry": { "type": "Point", "coordinates": [ -77.03116, 3.8801 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COCTG", "Name": "Cartagena", "NameWoDiac": "Cartagena", "Status": "AI", "outflows": 16624367.157963 }, "geometry": { "type": "Point", "coordinates": [ -75.51444, 10.39972 ] } },
{ "type": "Feature", "properties": { "Country": "Colombia", "Function": "1--4----", "LOCODE": "COSMR", "Name": "Santa Marta", "NameWoDiac": "Santa Marta", "Status": "AI", "outflows": 1906046.5665720007 }, "geometry": { "type": "Point", "coordinates": [ -74.19904, 11.24079 ] } },
{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "---4----", "LOCODE": "CUMOA", "Name": "Moa", "NameWoDiac": "Moa", "Status": "AI", "outflows": 65431.8 }, "geometry": { "type": "Point", "coordinates": [ -74.95075, 20.65776 ] } },
{ "type": "Feature", "properties": { "Country": "Cuba", "Function": "1--4----", "LOCODE": "CUSCU", "Name": "Santiago de Cuba", "NameWoDiac": "Santiago de Cuba", "Status": "AI", "outflows": 63230.0 }, "geometry": { "type": "Point", "coordinates": [ -75.82667, 20.02083 ] } },
{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "0-------", "LOCODE": "CVPAL", "Name": "Palmeira", "NameWoDiac": "Palmeira", "Status": "RQ", "outflows": 13234.0 }, "geometry": { "type": "Point", "coordinates": [ -22.98348, 16.75754 ] } },
{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "1--4----", "LOCODE": "CVRAI", "Name": "Praia", "NameWoDiac": "Praia", "Status": "AI", "outflows": 114309.0 }, "geometry": { "type": "Point", "coordinates": [ -23.51254, 14.93152 ] } },
{ "type": "Feature", "properties": { "Country": "Cabo Verde", "Function": "0-------", "LOCODE": "CVSAR", "Name": "Sal Rei", "NameWoDiac": "Sal Rei", "Status": "RQ", "outflows": 25421.5 }, "geometry": { "type": "Point", "coordinates": [ -22.91722, 16.17611 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DEBRE", "Name": "Bremen", "NameWoDiac": "Bremen", "Status": "AF", "outflows": 197153.69999199998 }, "geometry": { "type": "Point", "coordinates": [ 8.80717, 53.07582 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "1234----", "LOCODE": "DEBRV", "Name": "Bremerhaven", "NameWoDiac": "Bremerhaven", "Status": "AF", "outflows": 21710907.495360006 }, "geometry": { "type": "Point", "coordinates": [ 8.59298, 53.53615 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DEHAM", "Name": "Hamburg", "NameWoDiac": "Hamburg", "Status": "AF", "outflows": 42669313.486039981 }, "geometry": { "type": "Point", "coordinates": [ 9.99302, 53.55073 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "12345---", "LOCODE": "DELBC", "Name": "Lübeck", "NameWoDiac": "Lubeck", "Status": "AF", "outflows": 295233.5 }, "geometry": { "type": "Point", "coordinates": [ 10.68729, 53.86893 ] } },
{ "type": "Feature", "properties": { "Country": "Germany", "Function": "123-----", "LOCODE": "DETRV", "Name": "Travemünde", "NameWoDiac": "Travemunde", "Status": "AF", "outflows": 73746.0 }, "geometry": { "type": "Point", "coordinates": [ 10.8709, 53.96304 ] } },
{ "type": "Feature", "properties": { "Country": "Djibouti", "Function": "1--45---", "LOCODE": "DJJIB", "Name": "Djibouti", "NameWoDiac": "Djibouti", "Status": "AI", "outflows": 4852561.0352500007 }, "geometry": { "type": "Point", "coordinates": [ 43.14503, 11.58901 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12345---", "LOCODE": "DKAAL", "Name": "Aalborg", "NameWoDiac": "Aalborg", "Status": "AF", "outflows": 74932.0 }, "geometry": { "type": "Point", "coordinates": [ 9.9187, 57.048 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "1234----", "LOCODE": "DKEBJ", "Name": "Esbjerg", "NameWoDiac": "Esbjerg", "Status": "AF", "outflows": 28620.0 }, "geometry": { "type": "Point", "coordinates": [ 8.45187, 55.47028 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12--5---", "LOCODE": "DKFRC", "Name": "Fredericia", "NameWoDiac": "Fredericia", "Status": "AF", "outflows": 245869.0 }, "geometry": { "type": "Point", "coordinates": [ 9.75257, 55.56568 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "123-----", "LOCODE": "DKGRE", "Name": "Grenaa", "NameWoDiac": "Grenaa", "Status": "AF", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 10.87825, 56.41578 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "123-----", "LOCODE": "DKHUN", "Name": "Hundested", "NameWoDiac": "Hundested", "Status": "AF", "outflows": 16263.0 }, "geometry": { "type": "Point", "coordinates": [ 11.85044, 55.96397 ] } },
{ "type": "Feature", "properties": { "Country": "Denmark", "Function": "12------", "LOCODE": "DKSKA", "Name": "Skagen", "NameWoDiac": "Skagen", "Status": "AF", "outflows": 56420.0 }, "geometry": { "type": "Point", "coordinates": [ 10.58394, 57.72093 ] } },
{ "type": "Feature", "properties": { "Country": "Dominica", "Function": "1-------", "LOCODE": "DMRSU", "Name": "Roseau", "NameWoDiac": "Roseau", "Status": "AI", "outflows": 370965.4 }, "geometry": { "type": "Point", "coordinates": [ -61.38808, 15.30174 ] } },
{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-------", "LOCODE": "DOBCC", "Name": "Boca Chica", "NameWoDiac": "Boca Chica", "Status": "AI", "outflows": 333493.3333 }, "geometry": { "type": "Point", "coordinates": [ -69.6, 18.45 ] } },
{ "type": "Feature", "properties": { "Country": "Dominican Republic", "Function": "1-------", "LOCODE": "DOPOP", "Name": "Puerto Plata", "NameWoDiac": "Puerto Plata", "Status": "AI", "outflows": 712651.3333000001 }, "geometry": { "type": "Point", "coordinates": [ -70.6884, 19.79344 ] } },
{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "1-------", "LOCODE": "DZMOS", "Name": "Mostaganem", "NameWoDiac": "Mostaganem", "Status": "QQ", "outflows": 20553.75 }, "geometry": { "type": "Point", "coordinates": [ 0.08918, 35.93115 ] } },
{ "type": "Feature", "properties": { "Country": "Algeria", "Function": "1--4----", "LOCODE": "DZORN", "Name": "Oran", "NameWoDiac": "Oran", "Status": "AI", "outflows": 210402.15 }, "geometry": { "type": "Point", "coordinates": [ -0.63588, 35.69906 ] } },
{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1-------", "LOCODE": "EGEDK", "Name": "El Dekheila", "NameWoDiac": "El Dekheila", "Status": "RQ", "outflows": 265833.75 }, "geometry": { "type": "Point", "coordinates": [ 29.82126, 31.13133 ] } },
{ "type": "Feature", "properties": { "Country": "Egypt", "Function": "1--4----", "LOCODE": "EGPSD", "Name": "Port Said", "NameWoDiac": "Port Said", "Status": "AI", "outflows": 20587604.955879994 }, "geometry": { "type": "Point", "coordinates": [ 32.3019, 31.26531 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESALG", "Name": "Algeciras", "NameWoDiac": "Algeciras", "Status": "AI", "outflows": 27490011.70193002 }, "geometry": { "type": "Point", "coordinates": [ -5.45051, 36.13326 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESALC", "Name": "Alicante", "NameWoDiac": "Alicante", "Status": "AI", "outflows": 317642.0 }, "geometry": { "type": "Point", "coordinates": [ -0.48149, 38.34517 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESBCN", "Name": "Barcelona", "NameWoDiac": "Barcelona", "Status": "AI", "outflows": 22873062.028563999 }, "geometry": { "type": "Point", "coordinates": [ 2.15899, 41.38879 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESCAD", "Name": "Cadiz", "NameWoDiac": "Cadiz", "Status": "AI", "outflows": 248618.5 }, "geometry": { "type": "Point", "coordinates": [ -6.2891, 36.52672 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1-------", "LOCODE": "ESCEU", "Name": "Ceuta", "NameWoDiac": "Ceuta", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -5.32042, 35.88919 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "123-----", "LOCODE": "ESHUV", "Name": "Huelva", "NameWoDiac": "Huelva", "Status": "AI", "outflows": 191763.0 }, "geometry": { "type": "Point", "coordinates": [ -6.94004, 37.26638 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESFUE", "Name": "Puerto del Rosario-Fuerteventura", "NameWoDiac": "Puerto del Rosario-Fuerteventura", "Status": "AI", "outflows": 219128.0 }, "geometry": { "type": "Point", "coordinates": [ -13.86272, 28.50038 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1---5---", "LOCODE": "ESSCT", "Name": "Santa Cruz de Tenerife", "NameWoDiac": "Santa Cruz de Tenerife", "Status": "AI", "outflows": 640000.0 }, "geometry": { "type": "Point", "coordinates": [ -16.25462, 28.46824 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESSDR", "Name": "Santander", "NameWoDiac": "Santander", "Status": "AI", "outflows": 23634.0 }, "geometry": { "type": "Point", "coordinates": [ -3.80444, 43.46472 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESSVQ", "Name": "Sevilla", "NameWoDiac": "Sevilla", "Status": "AI", "outflows": 49842.0 }, "geometry": { "type": "Point", "coordinates": [ -5.97317, 37.38283 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1234----", "LOCODE": "ESTAR", "Name": "Tarragona", "NameWoDiac": "Tarragona", "Status": "AI", "outflows": 977262.0 }, "geometry": { "type": "Point", "coordinates": [ 1.25, 41.11667 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "12345---", "LOCODE": "ESVLC", "Name": "Valencia", "NameWoDiac": "Valencia", "Status": "AI", "outflows": 32174699.419024002 }, "geometry": { "type": "Point", "coordinates": [ -0.37739, 39.46975 ] } },
{ "type": "Feature", "properties": { "Country": "Spain", "Function": "1--4----", "LOCODE": "ESVGO", "Name": "Vigo", "NameWoDiac": "Vigo", "Status": "AI", "outflows": 929140.33332400001 }, "geometry": { "type": "Point", "coordinates": [ -8.72264, 42.23282 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHKO", "Name": "Hangö (Hanko)", "NameWoDiac": "Hango (Hanko)", "Status": "AI", "outflows": 134144.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 59.83333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHKO", "Name": "Hanko (Hangö)", "NameWoDiac": "Hanko (Hango)", "Status": "AI", "outflows": 134144.0 }, "geometry": { "type": "Point", "coordinates": [ 22.95, 59.83333 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHEL", "Name": "Helsingfors (Helsinki)", "NameWoDiac": "Helsingfors (Helsinki)", "Status": "AI", "outflows": 745328.99995000008 }, "geometry": { "type": "Point", "coordinates": [ 24.93545, 60.16952 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-------", "LOCODE": "FIHEL", "Name": "Helsinki (Helsingfors)", "NameWoDiac": "Helsinki (Helsingfors)", "Status": "AI", "outflows": 745328.99995000008 }, "geometry": { "type": "Point", "coordinates": [ 24.93545, 60.16952 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-3-----", "LOCODE": "FIVKO", "Name": "Valko (Valkom)", "NameWoDiac": "Valko (Valkom)", "Status": "AC", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 26.24664, 60.41392 ] } },
{ "type": "Feature", "properties": { "Country": "Finland", "Function": "1-3-----", "LOCODE": "FIVKO", "Name": "Valkom (Valko)", "NameWoDiac": "Valkom (Valko)", "Status": "AC", "outflows": 84688.5 }, "geometry": { "type": "Point", "coordinates": [ 26.24664, 60.41392 ] } },
{ "type": "Feature", "properties": { "Country": "Gabon", "Function": "1--45---", "LOCODE": "GALBV", "Name": "Libreville", "NameWoDiac": "Libreville", "Status": "AI", "outflows": 414222.00002999994 }, "geometry": { "type": "Point", "coordinates": [ 9.45356, 0.39241 ] } },
{ "type": "Feature", "properties": { "Country": "Gabon", "Function": "1--45---", "LOCODE": "GAPOG", "Name": "Port Gentil", "NameWoDiac": "Port Gentil", "Status": "AI", "outflows": 148566.9 }, "geometry": { "type": "Point", "coordinates": [ 8.78151, -0.71933 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBBLY", "Name": "Blyth", "NameWoDiac": "Blyth", "Status": "AF", "outflows": 13208.0 }, "geometry": { "type": "Point", "coordinates": [ -1.50856, 55.12708 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1234----", "LOCODE": "GBBRS", "Name": "Bristol", "NameWoDiac": "Bristol", "Status": "AF", "outflows": 213286.66665 }, "geometry": { "type": "Point", "coordinates": [ -2.59665, 51.45523 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1---5---", "LOCODE": "GBDVR", "Name": "Dover", "NameWoDiac": "Dover", "Status": "AF", "outflows": 17290.0 }, "geometry": { "type": "Point", "coordinates": [ 1.31257, 51.12598 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBFXT", "Name": "Felixstowe", "NameWoDiac": "Felixstowe", "Status": "AF", "outflows": 23949484.180700015 }, "geometry": { "type": "Point", "coordinates": [ 1.3511, 51.96375 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBFOY", "Name": "Fowey", "NameWoDiac": "Fowey", "Status": "AF", "outflows": 4941.0 }, "geometry": { "type": "Point", "coordinates": [ -4.6386, 50.33634 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBHRW", "Name": "Harwich", "NameWoDiac": "Harwich", "Status": "AF", "outflows": 61540.0 }, "geometry": { "type": "Point", "coordinates": [ 1.28437, 51.94194 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBPOO", "Name": "Poole", "NameWoDiac": "Poole", "Status": "AF", "outflows": 8502.0 }, "geometry": { "type": "Point", "coordinates": [ -1.98458, 50.71429 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBPME", "Name": "Portsmouth", "NameWoDiac": "Portsmouth", "Status": "AF", "outflows": 142997.400009 }, "geometry": { "type": "Point", "coordinates": [ -1.09125, 50.79899 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBSCR", "Name": "Scrabster", "NameWoDiac": "Scrabster", "Status": "AF", "outflows": 9204.0 }, "geometry": { "type": "Point", "coordinates": [ -3.54627, 58.61277 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBSHS", "Name": "Sheerness", "NameWoDiac": "Sheerness", "Status": "AF", "outflows": 21112.0 }, "geometry": { "type": "Point", "coordinates": [ 0.76252, 51.44042 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1--4----", "LOCODE": "GBSOU", "Name": "Southampton", "NameWoDiac": "Southampton", "Status": "AF", "outflows": 12580879.097799998 }, "geometry": { "type": "Point", "coordinates": [ -1.40428, 50.90395 ] } },
{ "type": "Feature", "properties": { "Country": "United Kingdom", "Function": "1-------", "LOCODE": "GBTIL", "Name": "Tilbury", "NameWoDiac": "Tilbury", "Status": "AF", "outflows": 1408139.0 }, "geometry": { "type": "Point", "coordinates": [ 0.35856, 51.46248 ] } },
{ "type": "Feature", "properties": { "Country": "Grenada", "Function": "1-------", "LOCODE": "GDSTG", "Name": "Saint George's", "NameWoDiac": "Saint George's", "Status": "AI", "outflows": 454265.06669000001 }, "geometry": { "type": "Point", "coordinates": [ -61.75226, 12.05288 ] } },
{ "type": "Feature", "properties": { "Country": "Georgia", "Function": "1--4----", "LOCODE": "GEBUS", "Name": "Batumi", "NameWoDiac": "Batumi", "Status": "AI", "outflows": 176479.99998 }, "geometry": { "type": "Point", "coordinates": [ 41.63392, 41.64228 ] } },
{ "type": "Feature", "properties": { "Country": "Georgia", "Function": "1-------", "LOCODE": "GEPTI", "Name": "Poti", "NameWoDiac": "Poti", "Status": "QQ", "outflows": 241566.0 }, "geometry": { "type": "Point", "coordinates": [ 41.67384, 42.14272 ] } },
{ "type": "Feature", "properties": { "Country": "Ghana", "Function": "1--45---", "LOCODE": "GHTKD", "Name": "Takoradi", "NameWoDiac": "Takoradi", "Status": "AI", "outflows": 343811.4 }, "geometry": { "type": "Point", "coordinates": [ -1.76029, 4.89816 ] } },
{ "type": "Feature", "properties": { "Country": "Ghana", "Function": "1-------", "LOCODE": "GHTEM", "Name": "Tema", "NameWoDiac": "Tema", "Status": "QQ", "outflows": 7407893.3644899996 }, "geometry": { "type": "Point", "coordinates": [ -0.01657, 5.6698 ] } },
{ "type": "Feature", "properties": { "Country": "Gibraltar", "Function": "1--45---", "LOCODE": "GIGIB", "Name": "Gibraltar", "NameWoDiac": "Gibraltar", "Status": "AI", "outflows": 67977.0 }, "geometry": { "type": "Point", "coordinates": [ -5.35257, 36.14474 ] } },
{ "type": "Feature", "properties": { "Country": "Greenland", "Function": "1--4----", "LOCODE": "GLJHS", "Name": "Sisimiut (Holsteinsborg)", "NameWoDiac": "Sisimiut (Holsteinsborg)", "Status": "AI", "outflows": 23426.0 }, "geometry": { "type": "Point", "coordinates": [ -53.6735, 66.93946 ] } },
{ "type": "Feature", "properties": { "Country": "Gambia", "Function": "1--45---", "LOCODE": "GMBJL", "Name": "Banjul", "NameWoDiac": "Banjul", "Status": "AI", "outflows": 184275.0 }, "geometry": { "type": "Point", "coordinates": [ -16.57803, 13.45274 ] } },
{ "type": "Feature", "properties": { "Country": "Guinea", "Function": "1--45---", "LOCODE": "GNCKY", "Name": "Conakry", "NameWoDiac": "Conakry", "Status": "AI", "outflows": 676607.90476000018 }, "geometry": { "type": "Point", "coordinates": [ -13.67729, 9.53795 ] } },
{ "type": "Feature", "properties": { "Country": "Equatorial Guinea", "Function": "1--45---", "LOCODE": "GQBSG", "Name": "Bata", "NameWoDiac": "Bata", "Status": "RQ", "outflows": 454067.0 }, "geometry": { "type": "Point", "coordinates": [ 9.76582, 1.86391 ] } },
{ "type": "Feature", "properties": { "Country": "Equatorial Guinea", "Function": "1--4----", "LOCODE": "GQSSG", "Name": "Malabo", "NameWoDiac": "Malabo", "Status": "AI", "outflows": 133795.9 }, "geometry": { "type": "Point", "coordinates": [ 8.78166, 3.75578 ] } },
{ "type": "Feature", "properties": { "Country": "Guatemala", "Function": "1--4----", "LOCODE": "GTPBR", "Name": "Puerto Barrios", "NameWoDiac": "Puerto Barrios", "Status": "AI", "outflows": 547993.33336599998 }, "geometry": { "type": "Point", "coordinates": [ -88.59444, 15.72778 ] } },
{ "type": "Feature", "properties": { "Country": "Guyana", "Function": "1--45---", "LOCODE": "GYGEO", "Name": "Georgetown", "NameWoDiac": "Georgetown", "Status": "AI", "outflows": 428041.33332200005 }, "geometry": { "type": "Point", "coordinates": [ -58.15527, 6.80448 ] } },
{ "type": "Feature", "properties": { "Country": "Hong Kong", "Function": "1--45---", "LOCODE": "HKHKG", "Name": "Hong Kong", "NameWoDiac": "Hong Kong", "Status": "AI", "outflows": 80530648.252739042 }, "geometry": { "type": "Point", "coordinates": [ 114.17469, 22.27832 ] } },
{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1-------", "LOCODE": "HNPCA", "Name": "Puerto Castilla", "NameWoDiac": "Puerto Castilla", "Status": "RQ", "outflows": 75387.0 }, "geometry": { "type": "Point", "coordinates": [ -85.96667, 16.01667 ] } },
{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1---5---", "LOCODE": "HNPCR", "Name": "Puerto Cortés", "NameWoDiac": "Puerto Cortes", "Status": "AI", "outflows": 1674222.3333919998 }, "geometry": { "type": "Point", "coordinates": [ -87.92968, 15.82562 ] } },
{ "type": "Feature", "properties": { "Country": "Honduras", "Function": "1-------", "LOCODE": "HNSLO", "Name": "San Lorenzo", "NameWoDiac": "San Lorenzo", "Status": "RQ", "outflows": 67860.0 }, "geometry": { "type": "Point", "coordinates": [ -87.44722, 13.42417 ] } },
{ "type": "Feature", "properties": { "Country": "Haiti", "Function": "1--45---", "LOCODE": "HTPAP", "Name": "Port-au-Prince", "NameWoDiac": "Port-au-Prince", "Status": "AI", "outflows": 783664.91664000018 }, "geometry": { "type": "Point", "coordinates": [ -72.33881, 18.54349 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDBDJ", "Name": "Banjarmasin", "NameWoDiac": "Banjarmasin", "Status": "AI", "outflows": 17848.0 }, "geometry": { "type": "Point", "coordinates": [ 114.59075, -3.31987 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBLW", "Name": "Belawan, Sumatra", "NameWoDiac": "Belawan, Sumatra", "Status": "QQ", "outflows": 494328.25003 }, "geometry": { "type": "Point", "coordinates": [ 98.6832, 3.7755 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDBIT", "Name": "Bitung, Sulawesi", "NameWoDiac": "Bitung, Sulawesi", "Status": "QQ", "outflows": 215154.58334000001 }, "geometry": { "type": "Point", "coordinates": [ 125.12824, 1.44059 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDGTO", "Name": "Gorontalo, Sulawesi", "NameWoDiac": "Gorontalo, Sulawesi", "Status": "AI", "outflows": 42718.00001 }, "geometry": { "type": "Point", "coordinates": [ 123.3908, -0.8985 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDKDI", "Name": "Kendari, Sulawesi", "NameWoDiac": "Kendari, Sulawesi", "Status": "AI", "outflows": 7988.5 }, "geometry": { "type": "Point", "coordinates": [ 122.51507, -3.9778 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDLUW", "Name": "Luwuk", "NameWoDiac": "Luwuk", "Status": "AI", "outflows": 720.0 }, "geometry": { "type": "Point", "coordinates": [ 122.7875, -0.9516 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--45---", "LOCODE": "IDMES", "Name": "Medan, Sumatra", "NameWoDiac": "Medan, Sumatra", "Status": "AI", "outflows": 45136.0 }, "geometry": { "type": "Point", "coordinates": [ 98.66667, 3.58333 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDPLM", "Name": "Palembang, Sumatra", "NameWoDiac": "Palembang, Sumatra", "Status": "AI", "outflows": 106646.75 }, "geometry": { "type": "Point", "coordinates": [ 104.7458, -2.91673 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDPNJ", "Name": "Panjang", "NameWoDiac": "Panjang", "Status": "RQ", "outflows": 1532041.4998899996 }, "geometry": { "type": "Point", "coordinates": [ 100.6199, 0.3087 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--45---", "LOCODE": "IDPNK", "Name": "Pontianak, Kalimantan", "NameWoDiac": "Pontianak, Kalimantan", "Status": "AI", "outflows": 35776.0 }, "geometry": { "type": "Point", "coordinates": [ 109.325, -0.03194 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDSRI", "Name": "Samarinda, Kalimantan", "NameWoDiac": "Samarinda, Kalimantan", "Status": "AI", "outflows": 34320.0 }, "geometry": { "type": "Point", "coordinates": [ 117.14583, -0.49167 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDSOQ", "Name": "Sorong", "NameWoDiac": "Sorong", "Status": "AI", "outflows": 125268.0 }, "geometry": { "type": "Point", "coordinates": [ 131.26104, -0.87956 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1-------", "LOCODE": "IDTRK", "Name": "Tarakan, Kalimantan", "NameWoDiac": "Tarakan, Kalimantan", "Status": "QQ", "outflows": 5213.0 }, "geometry": { "type": "Point", "coordinates": [ 117.59152, 3.31332 ] } },
{ "type": "Feature", "properties": { "Country": "Indonesia", "Function": "1--4----", "LOCODE": "IDTLI", "Name": "Tolitoli", "NameWoDiac": "Tolitoli", "Status": "AI", "outflows": 3328.0 }, "geometry": { "type": "Point", "coordinates": [ 121.1679, 1.2718 ] } },
{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "1--45---", "LOCODE": "IEORK", "Name": "Cork", "NameWoDiac": "Cork", "Status": "AF", "outflows": 316459.0 }, "geometry": { "type": "Point", "coordinates": [ -8.47061, 51.89797 ] } },
{ "type": "Feature", "properties": { "Country": "Ireland", "Function": "12-45---", "LOCODE": "IEDUB", "Name": "Dublin", "NameWoDiac": "Dublin", "Status": "AF", "outflows": 453417.25 }, "geometry": { "type": "Point", "coordinates": [ -6.24889, 53.33306 ] } },
{ "type": "Feature", "properties": { "Country": "Israel", "Function": "1-------", "LOCODE": "ILASH", "Name": "Ashdod", "NameWoDiac": "Ashdod", "Status": "QQ", "outflows": 5463055.0830800012 }, "geometry": { "type": "Point", "coordinates": [ 34.64966, 31.79213 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INENR", "Name": "Ennore", "NameWoDiac": "Ennore", "Status": "AA", "outflows": 263657.33331999998 }, "geometry": { "type": "Point", "coordinates": [ 80.32835, 13.24751 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INHAL", "Name": "Haldia", "NameWoDiac": "Haldia", "Status": "AA", "outflows": 182909.25 }, "geometry": { "type": "Point", "coordinates": [ 88.10975, 22.06046 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INKRI", "Name": "Krishnapatnam", "NameWoDiac": "Krishnapatnam", "Status": "AA", "outflows": 2290663.6664799997 }, "geometry": { "type": "Point", "coordinates": [ 80.12388, 14.28874 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1--4----", "LOCODE": "INIXE", "Name": "Mangalore", "NameWoDiac": "Mangalore", "Status": "AA", "outflows": 139500.0 }, "geometry": { "type": "Point", "coordinates": [ 74.85603, 12.91723 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1-------", "LOCODE": "INMUN", "Name": "Mundra", "NameWoDiac": "Mundra", "Status": "AA", "outflows": 19811914.337299995 }, "geometry": { "type": "Point", "coordinates": [ 69.7219, 22.83918 ] } },
{ "type": "Feature", "properties": { "Country": "India", "Function": "1--4----", "LOCODE": "INIXZ", "Name": "Port Blair", "NameWoDiac": "Port Blair", "Status": "AA", "outflows": 14150.5 }, "geometry": { "type": "Point", "coordinates": [ 92.74635, 11.66613 ] } },
{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "1-------", "LOCODE": "IQALF", "Name": "Abu Al Fulus", "NameWoDiac": "Abu Al Fulus", "Status": "RQ", "outflows": 14131.0 }, "geometry": { "type": "Point", "coordinates": [ 48.04246, 30.44783 ] } },
{ "type": "Feature", "properties": { "Country": "Iraq", "Function": "1-------", "LOCODE": "IQBSR", "Name": "Basra", "NameWoDiac": "Basra", "Status": "AI", "outflows": 7524.0 }, "geometry": { "type": "Point", "coordinates": [ 47.7804, 30.50852 ] } },
{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISGRF", "Name": "Grundarfjørdur", "NameWoDiac": "Grundarfjordur", "Status": "AC", "outflows": 280000.5 }, "geometry": { "type": "Point", "coordinates": [ -23.26313, 64.92427 ] } },
{ "type": "Feature", "properties": { "Country": "Iceland", "Function": "1-------", "LOCODE": "ISRFJ", "Name": "Reydarfjørdur", "NameWoDiac": "Reydarfjordur", "Status": "AC", "outflows": 157748.5 }, "geometry": { "type": "Point", "coordinates": [ -14.21832, 65.03164 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITMDC", "Name": "Marina di Carrara", "NameWoDiac": "Marina di Carrara", "Status": "AI", "outflows": 164793.0 }, "geometry": { "type": "Point", "coordinates": [ 10.04142, 44.03837 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITMNF", "Name": "Monfalcone", "NameWoDiac": "Monfalcone", "Status": "AI", "outflows": 23587.5 }, "geometry": { "type": "Point", "coordinates": [ 13.53292, 45.80463 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITPOZ", "Name": "Pozzuoli", "NameWoDiac": "Pozzuoli", "Status": "AI", "outflows": 42042.0 }, "geometry": { "type": "Point", "coordinates": [ 14.0952, 40.84394 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-------", "LOCODE": "ITRAN", "Name": "Ravenna", "NameWoDiac": "Ravenna", "Status": "AI", "outflows": 1216610.5 }, "geometry": { "type": "Point", "coordinates": [ 12.20121, 44.41344 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1-3-----", "LOCODE": "ITSAL", "Name": "Salerno", "NameWoDiac": "Salerno", "Status": "AI", "outflows": 2238415.25 }, "geometry": { "type": "Point", "coordinates": [ 14.79328, 40.67545 ] } },
{ "type": "Feature", "properties": { "Country": "Italy", "Function": "1--4----", "LOCODE": "ITTRS", "Name": "Trieste", "NameWoDiac": "Trieste", "Status": "AI", "outflows": 4531748.0 }, "geometry": { "type": "Point", "coordinates": [ 13.77678, 45.64953 ] } },
{ "type": "Feature", "properties": { "Country": "Jamaica", "Function": "1--45---", "LOCODE": "JMKIN", "Name": "Kingston", "NameWoDiac": "Kingston", "Status": "AI", "outflows": 8626072.544909995 }, "geometry": { "type": "Point", "coordinates": [ -76.79358, 17.99702 ] } },
{ "type": "Feature", "properties": { "Country": "Jamaica", "Function": "1--4----", "LOCODE": "JMMBJ", "Name": "Montego Bay", "NameWoDiac": "Montego Bay", "Status": "AI", "outflows": 628021.3333000001 }, "geometry": { "type": "Point", "coordinates": [ -77.91883, 18.47116 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPABU", "Name": "Aburatsu", "NameWoDiac": "Aburatsu", "Status": "AF", "outflows": 53352.0 }, "geometry": { "type": "Point", "coordinates": [ 144.26971, 44.02127 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPAXT", "Name": "Akita", "NameWoDiac": "Akita", "Status": "AF", "outflows": 278377.66667000001 }, "geometry": { "type": "Point", "coordinates": [ 140.11667, 39.71667 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPCHB", "Name": "Chiba", "NameWoDiac": "Chiba", "Status": "AF", "outflows": 607568.0 }, "geometry": { "type": "Point", "coordinates": [ 140.11667, 35.6 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPFKY", "Name": "Fukuyama, Hiroshima", "NameWoDiac": "Fukuyama, Hiroshima", "Status": "AF", "outflows": 508612.0 }, "geometry": { "type": "Point", "coordinates": [ 133.36667, 34.48333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPHHE", "Name": "Hachinohe", "NameWoDiac": "Hachinohe", "Status": "AF", "outflows": 291243.33335000003 }, "geometry": { "type": "Point", "coordinates": [ 141.5, 40.5 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPHIJ", "Name": "Hiroshima", "NameWoDiac": "Hiroshima", "Status": "AF", "outflows": 658970.0 }, "geometry": { "type": "Point", "coordinates": [ 132.45, 34.4 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPHTC", "Name": "Hitachi", "NameWoDiac": "Hitachi", "Status": "AF", "outflows": 110110.0 }, "geometry": { "type": "Point", "coordinates": [ 140.65, 36.6 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPHSM", "Name": "Hososhima", "NameWoDiac": "Hososhima", "Status": "AF", "outflows": 354289.0 }, "geometry": { "type": "Point", "coordinates": [ 131.66667, 32.43333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIMB", "Name": "Imabari", "NameWoDiac": "Imabari", "Status": "AF", "outflows": 83772.0 }, "geometry": { "type": "Point", "coordinates": [ 133.00023, 34.07001 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIMI", "Name": "Imari", "NameWoDiac": "Imari", "Status": "AF", "outflows": 232752.0 }, "geometry": { "type": "Point", "coordinates": [ 129.87877, 33.27362 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPIWK", "Name": "Iwakuni", "NameWoDiac": "Iwakuni", "Status": "AF", "outflows": 248404.0 }, "geometry": { "type": "Point", "coordinates": [ 132.22, 34.16297 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKNZ", "Name": "Kanazawa", "NameWoDiac": "Kanazawa", "Status": "AF", "outflows": 500785.99996999995 }, "geometry": { "type": "Point", "coordinates": [ 136.61667, 36.6 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKSM", "Name": "Kashima, Ibaraki", "NameWoDiac": "Kashima, Ibaraki", "Status": "AF", "outflows": 103584.0 }, "geometry": { "type": "Point", "coordinates": [ 140.64474, 35.96536 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKWS", "Name": "Kawasaki", "NameWoDiac": "Kawasaki", "Status": "AF", "outflows": 1377583.9999500001 }, "geometry": { "type": "Point", "coordinates": [ 139.71722, 35.52056 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPKCZ", "Name": "Kochi", "NameWoDiac": "Kochi", "Status": "AF", "outflows": 97578.0 }, "geometry": { "type": "Point", "coordinates": [ 133.53333, 33.55 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPKMJ", "Name": "Kumamoto", "NameWoDiac": "Kumamoto", "Status": "AF", "outflows": 44460.0 }, "geometry": { "type": "Point", "coordinates": [ 130.69181, 32.80589 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMAI", "Name": "Maizuru", "NameWoDiac": "Maizuru", "Status": "AF", "outflows": 113464.0 }, "geometry": { "type": "Point", "coordinates": [ 135.33333, 35.45 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPMYJ", "Name": "Matsuyama", "NameWoDiac": "Matsuyama", "Status": "AF", "outflows": 213629.0 }, "geometry": { "type": "Point", "coordinates": [ 132.76574, 33.83916 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMII", "Name": "Miike, Fukuoka", "NameWoDiac": "Miike, Fukuoka", "Status": "AF", "outflows": 16640.0 }, "geometry": { "type": "Point", "coordinates": [ 130.47791, 33.05207 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMIZ", "Name": "Mizushima", "NameWoDiac": "Mizushima", "Status": "AF", "outflows": 727415.0 }, "geometry": { "type": "Point", "coordinates": [ 133.73896, 34.5298 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPMUR", "Name": "Muroran", "NameWoDiac": "Muroran", "Status": "AF", "outflows": 115517.99996999998 }, "geometry": { "type": "Point", "coordinates": [ 140.98806, 42.31722 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPNGS", "Name": "Nagasaki", "NameWoDiac": "Nagasaki", "Status": "AF", "outflows": 44460.0 }, "geometry": { "type": "Point", "coordinates": [ 129.88333, 32.75 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPNGO", "Name": "Nagoya, Aichi", "NameWoDiac": "Nagoya, Aichi", "Status": "AF", "outflows": 14485316.083789002 }, "geometry": { "type": "Point", "coordinates": [ 136.90641, 35.18147 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--45---", "LOCODE": "JPNAH", "Name": "Naha, Okinawa", "NameWoDiac": "Naha, Okinawa", "Status": "AF", "outflows": 770354.0 }, "geometry": { "type": "Point", "coordinates": [ 127.68333, 26.21667 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPNAO", "Name": "Naoetsu", "NameWoDiac": "Naoetsu", "Status": "AF", "outflows": 166443.33335 }, "geometry": { "type": "Point", "coordinates": [ 138.25, 37.18333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPKIJ", "Name": "Niigata", "NameWoDiac": "Niigata", "Status": "AF", "outflows": 632488.99997 }, "geometry": { "type": "Point", "coordinates": [ 139.00589, 37.88637 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPOIT", "Name": "Oita", "NameWoDiac": "Oita", "Status": "AF", "outflows": 336869.0 }, "geometry": { "type": "Point", "coordinates": [ 131.6, 33.23333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPOMZ", "Name": "Omaezaki", "NameWoDiac": "Omaezaki", "Status": "AF", "outflows": 642421.0 }, "geometry": { "type": "Point", "coordinates": [ 138.21934, 34.59882 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPONA", "Name": "Onahama", "NameWoDiac": "Onahama", "Status": "AF", "outflows": 204940.6667 }, "geometry": { "type": "Point", "coordinates": [ 140.9, 36.95 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPOTK", "Name": "Otake", "NameWoDiac": "Otake", "Status": "AF", "outflows": 36348.0 }, "geometry": { "type": "Point", "coordinates": [ 132.22063, 34.20754 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPOTR", "Name": "Otaru", "NameWoDiac": "Otaru", "Status": "AF", "outflows": 78000.0 }, "geometry": { "type": "Point", "coordinates": [ 141.00222, 43.18944 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSMN", "Name": "Sakaiminato", "NameWoDiac": "Sakaiminato", "Status": "AF", "outflows": 329679.99997 }, "geometry": { "type": "Point", "coordinates": [ 133.23094, 35.53774 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSKT", "Name": "Sakata", "NameWoDiac": "Sakata", "Status": "AF", "outflows": 421338.66667000001 }, "geometry": { "type": "Point", "coordinates": [ 139.855, 38.91667 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSBS", "Name": "Shibushi", "NameWoDiac": "Shibushi", "Status": "AF", "outflows": 490971.0 }, "geometry": { "type": "Point", "coordinates": [ 131.10114, 31.476 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPSMZ", "Name": "Shimizu", "NameWoDiac": "Shimizu", "Status": "AF", "outflows": 5351577.999760001 }, "geometry": { "type": "Point", "coordinates": [ 142.88472, 43.00611 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTAK", "Name": "Takamatsu", "NameWoDiac": "Takamatsu", "Status": "AF", "outflows": 188292.0 }, "geometry": { "type": "Point", "coordinates": [ 134.05, 34.33333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTKS", "Name": "Tokushima", "NameWoDiac": "Tokushima", "Status": "AF", "outflows": 148044.0 }, "geometry": { "type": "Point", "coordinates": [ 134.56667, 34.06667 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTKY", "Name": "Tokuyama", "NameWoDiac": "Tokuyama", "Status": "AF", "outflows": 456888.25 }, "geometry": { "type": "Point", "coordinates": [ 131.81667, 34.05 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPTMK", "Name": "Tomakomai", "NameWoDiac": "Tomakomai", "Status": "AF", "outflows": 929244.33331999998 }, "geometry": { "type": "Point", "coordinates": [ 141.60333, 42.63694 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTHS", "Name": "Toyohashi", "NameWoDiac": "Toyohashi", "Status": "AF", "outflows": 181584.0 }, "geometry": { "type": "Point", "coordinates": [ 137.38333, 34.76667 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPTRG", "Name": "Tsuruga", "NameWoDiac": "Tsuruga", "Status": "AF", "outflows": 121550.0 }, "geometry": { "type": "Point", "coordinates": [ 136.0558, 35.64547 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1--4----", "LOCODE": "JPUBJ", "Name": "Ube", "NameWoDiac": "Ube", "Status": "AF", "outflows": 22490.0 }, "geometry": { "type": "Point", "coordinates": [ 131.25111, 33.94306 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPWAK", "Name": "Wakayama", "NameWoDiac": "Wakayama", "Status": "AF", "outflows": 63765.0 }, "geometry": { "type": "Point", "coordinates": [ 135.16667, 34.23333 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPYAT", "Name": "Yatsushiro", "NameWoDiac": "Yatsushiro", "Status": "AF", "outflows": 61100.0 }, "geometry": { "type": "Point", "coordinates": [ 130.59952, 32.50439 ] } },
{ "type": "Feature", "properties": { "Country": "Japan", "Function": "1-------", "LOCODE": "JPYKK", "Name": "Yokkaichi", "NameWoDiac": "Yokkaichi", "Status": "AF", "outflows": 3523652.1667400002 }, "geometry": { "type": "Point", "coordinates": [ 136.61667, 34.96667 ] } },
{ "type": "Feature", "properties": { "Country": "Kenya", "Function": "1--45---", "LOCODE": "KEMBA", "Name": "Mombasa", "NameWoDiac": "Mombasa", "Status": "AI", "outflows": 2290456.6388300001 }, "geometry": { "type": "Point", "coordinates": [ 39.66359, -4.05466 ] } },
{ "type": "Feature", "properties": { "Country": "Kiribati", "Function": "1--4----", "LOCODE": "KITRW", "Name": "Tarawa", "NameWoDiac": "Tarawa", "Status": "AI", "outflows": 136326.0 }, "geometry": { "type": "Point", "coordinates": [ 172.97696, 1.3278 ] } },
{ "type": "Feature", "properties": { "Country": "Comoros", "Function": "1--45---", "LOCODE": "KMYVA", "Name": "Moroni", "NameWoDiac": "Moroni", "Status": "AI", "outflows": 131275.33335 }, "geometry": { "type": "Point", "coordinates": [ 43.25506, -11.70216 ] } },
{ "type": "Feature", "properties": { "Country": "Lebanon", "Function": "1--4----", "LOCODE": "LBKYE", "Name": "Tripoli", "NameWoDiac": "Tripoli", "Status": "AI", "outflows": 2038156.25 }, "geometry": { "type": "Point", "coordinates": [ 35.84415, 34.43352 ] } },
{ "type": "Feature", "properties": { "Country": "Lithuania", "Function": "1--4----", "LOCODE": "LTKLJ", "Name": "Klaipeda", "NameWoDiac": "Klaipeda", "Status": "AI", "outflows": 1242325.5 }, "geometry": { "type": "Point", "coordinates": [ 21.13912, 55.7068 ] } },
{ "type": "Feature", "properties": { "Country": "Latvia", "Function": "1--45---", "LOCODE": "LVRIX", "Name": "Riga", "NameWoDiac": "Riga", "Status": "AI", "outflows": 944970.0 }, "geometry": { "type": "Point", "coordinates": [ 24.10589, 56.946 ] } },
{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--45---", "LOCODE": "LYBEN", "Name": "Bingazi (Benghazi)", "NameWoDiac": "Bingazi (Benghazi)", "Status": "AI", "outflows": 296981.0 }, "geometry": { "type": "Point", "coordinates": [ 20.06859, 32.11486 ] } },
{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--4----", "LOCODE": "LYMRA", "Name": "Misurata", "NameWoDiac": "Misurata", "Status": "AI", "outflows": 757750.00001000008 }, "geometry": { "type": "Point", "coordinates": [ 15.09254, 32.37535 ] } },
{ "type": "Feature", "properties": { "Country": "Libya", "Function": "1--4----", "LOCODE": "LYTIP", "Name": "Tripoli", "NameWoDiac": "Tripoli", "Status": "AI", "outflows": 281045.0 }, "geometry": { "type": "Point", "coordinates": [ 13.18733, 32.88743 ] } },
{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1--4----", "LOCODE": "MAAGA", "Name": "Agadir", "NameWoDiac": "Agadir", "Status": "AI", "outflows": 593660.57139000006 }, "geometry": { "type": "Point", "coordinates": [ -9.59815, 30.42018 ] } },
{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "1-------", "LOCODE": "MANDR", "Name": "Nador", "NameWoDiac": "Nador", "Status": "AI", "outflows": 45500.0 }, "geometry": { "type": "Point", "coordinates": [ -2.93352, 35.16813 ] } },
{ "type": "Feature", "properties": { "Country": "Morocco", "Function": "123-----", "LOCODE": "MAPTM", "Name": "Tanger Med", "NameWoDiac": "Tanger Med", "Status": "AI", "outflows": 29213268.307420008 }, "geometry": { "type": "Point", "coordinates": [ -5.56323, 35.82674 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGDIE", "Name": "Antsiranana", "NameWoDiac": "Antsiranana", "Status": "AI", "outflows": 113468.0 }, "geometry": { "type": "Point", "coordinates": [ 49.29188, -12.31732 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGMJN", "Name": "Majunga (Mahajanga)", "NameWoDiac": "Majunga (Mahajanga)", "Status": "AI", "outflows": 125324.0 }, "geometry": { "type": "Point", "coordinates": [ 46.31667, -15.71667 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--45---", "LOCODE": "MGTMM", "Name": "Tamatave (Toamasina)", "NameWoDiac": "Tamatave (Toamasina)", "Status": "AI", "outflows": 396084.0 }, "geometry": { "type": "Point", "coordinates": [ 49.40234, -18.1492 ] } },
{ "type": "Feature", "properties": { "Country": "Madagascar", "Function": "1--4----", "LOCODE": "MGTLE", "Name": "Tulear (Toliara)", "NameWoDiac": "Tulear (Toliara)", "Status": "AI", "outflows": 19864.0 }, "geometry": { "type": "Point", "coordinates": [ 43.66667, -23.35 ] } },
{ "type": "Feature", "properties": { "Country": "Marshall Islands", "Function": "---4----", "LOCODE": "MHKWA", "Name": "Kwajalein", "NameWoDiac": "Kwajalein", "Status": "AI", "outflows": 48316.66667 }, "geometry": { "type": "Point", "coordinates": [ 167.73919, 8.77479 ] } },
{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "1--45---", "LOCODE": "MMRGN", "Name": "Yangon", "NameWoDiac": "Yangon", "Status": "AI", "outflows": 937558.00004999992 }, "geometry": { "type": "Point", "coordinates": [ 96.15611, 16.80528 ] } },
{ "type": "Feature", "properties": { "Country": "Myanmar", "Function": "1--45---", "LOCODE": "MMRGN", "Name": "Yangon", "NameWoDiac": "Yangon", "Status": "AI", "outflows": 937558.00004999992 }, "geometry": { "type": "Point", "coordinates": [ 96.15611, 16.80528 ] } },
{ "type": "Feature", "properties": { "Country": "Martinique", "Function": "1-345---", "LOCODE": "MQFDF", "Name": "Fort-de-France", "NameWoDiac": "Fort-de-France", "Status": "AI", "outflows": 1924423.5832689998 }, "geometry": { "type": "Point", "coordinates": [ -61.07418, 14.60365 ] } },
{ "type": "Feature", "properties": { "Country": "Mauritania", "Function": "1--4----", "LOCODE": "MRNDB", "Name": "Nouadhibou", "NameWoDiac": "Nouadhibou", "Status": "AI", "outflows": 197029.5 }, "geometry": { "type": "Point", "coordinates": [ -17.03842, 20.94188 ] } },
{ "type": "Feature", "properties": { "Country": "Mauritania", "Function": "1--45---", "LOCODE": "MRNKC", "Name": "Nouakchott", "NameWoDiac": "Nouakchott", "Status": "AI", "outflows": 334524.0 }, "geometry": { "type": "Point", "coordinates": [ -15.9785, 18.08581 ] } },
{ "type": "Feature", "properties": { "Country": "Montserrat", "Function": "1---5---", "LOCODE": "MSPLY", "Name": "Plymouth", "NameWoDiac": "Plymouth", "Status": "RQ", "outflows": 230958.0 }, "geometry": { "type": "Point", "coordinates": [ -62.21292, 16.70555 ] } },
{ "type": "Feature", "properties": { "Country": "Mauritius", "Function": "1--4----", "LOCODE": "MUPLU", "Name": "Port Louis", "NameWoDiac": "Port Louis", "Status": "QQ", "outflows": 7415942.3854999971 }, "geometry": { "type": "Point", "coordinates": [ 57.49889, -20.16194 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-------", "LOCODE": "MYBTU", "Name": "Bintulu, Sarawak", "NameWoDiac": "Bintulu, Sarawak", "Status": "AI", "outflows": 670234.5 }, "geometry": { "type": "Point", "coordinates": [ 113.03333, 3.16667 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-345---", "LOCODE": "MYBKI", "Name": "Kota Kinabalu, Sabah", "NameWoDiac": "Kota Kinabalu, Sabah", "Status": "AI", "outflows": 710049.1667 }, "geometry": { "type": "Point", "coordinates": [ 116.0724, 5.9749 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--45---", "LOCODE": "MYKCH", "Name": "Kuching, Sarawak", "NameWoDiac": "Kuching, Sarawak", "Status": "AI", "outflows": 276603.6 }, "geometry": { "type": "Point", "coordinates": [ 110.33333, 1.55 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYLBU", "Name": "Labuan, Sabah", "NameWoDiac": "Labuan, Sabah", "Status": "AI", "outflows": 68835.0 }, "geometry": { "type": "Point", "coordinates": [ 115.26924, 5.28883 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYMKZ", "Name": "Malacca", "NameWoDiac": "Malacca", "Status": "AI", "outflows": 2862.0 }, "geometry": { "type": "Point", "coordinates": [ 102.2405, 2.196 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1-------", "LOCODE": "MYPGU", "Name": "Pasir Gudang, Johor", "NameWoDiac": "Pasir Gudang, Johor", "Status": "QQ", "outflows": 3893274.6667500003 }, "geometry": { "type": "Point", "coordinates": [ 103.878, 1.4726 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYSDK", "Name": "Sandakan, Sabah", "NameWoDiac": "Sandakan, Sabah", "Status": "AI", "outflows": 18720.0 }, "geometry": { "type": "Point", "coordinates": [ 118.1179, 5.8402 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYSBW", "Name": "Sibu, Sarawak", "NameWoDiac": "Sibu, Sarawak", "Status": "AI", "outflows": 2250.0 }, "geometry": { "type": "Point", "coordinates": [ 111.81667, 2.3 ] } },
{ "type": "Feature", "properties": { "Country": "Malaysia", "Function": "1--4----", "LOCODE": "MYTWU", "Name": "Tawau, Sabah", "NameWoDiac": "Tawau, Sabah", "Status": "AI", "outflows": 241236.6667 }, "geometry": { "type": "Point", "coordinates": [ 117.89115, 4.24482 ] } },
{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--45---", "LOCODE": "MZBEW", "Name": "Beira", "NameWoDiac": "Beira", "Status": "AI", "outflows": 862537.00003 }, "geometry": { "type": "Point", "coordinates": [ 34.83889, -19.84361 ] } },
{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--45---", "LOCODE": "MZMPM", "Name": "Maputo", "NameWoDiac": "Maputo", "Status": "AI", "outflows": 871116.20004999987 }, "geometry": { "type": "Point", "coordinates": [ 32.58322, -25.96553 ] } },
{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--4----", "LOCODE": "MZMNC", "Name": "Nacala", "NameWoDiac": "Nacala", "Status": "AI", "outflows": 668056.99998000008 }, "geometry": { "type": "Point", "coordinates": [ 40.68538, -14.56257 ] } },
{ "type": "Feature", "properties": { "Country": "Mozambique", "Function": "1--4----", "LOCODE": "MZUEL", "Name": "Quelimane", "NameWoDiac": "Quelimane", "Status": "AI", "outflows": 8034.0 }, "geometry": { "type": "Point", "coordinates": [ 36.88833, -17.87861 ] } },
{ "type": "Feature", "properties": { "Country": "Namibia", "Function": "1-------", "LOCODE": "NAWVB", "Name": "Walvis Bay", "NameWoDiac": "Walvis Bay", "Status": "QQ", "outflows": 2144542.8666100004 }, "geometry": { "type": "Point", "coordinates": [ 14.50528, -22.9575 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1-------", "LOCODE": "NGAPP", "Name": "Apapa", "NameWoDiac": "Apapa", "Status": "QQ", "outflows": 1959193.7340199992 }, "geometry": { "type": "Point", "coordinates": [ 3.35901, 6.4488 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--4----", "LOCODE": "NGCBQ", "Name": "Calabar", "NameWoDiac": "Calabar", "Status": "AI", "outflows": 7150.0 }, "geometry": { "type": "Point", "coordinates": [ 8.32695, 4.95893 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--45---", "LOCODE": "NGLOS", "Name": "Lagos", "NameWoDiac": "Lagos", "Status": "AI", "outflows": 1767326.6668199997 }, "geometry": { "type": "Point", "coordinates": [ 3.39467, 6.45407 ] } },
{ "type": "Feature", "properties": { "Country": "Nigeria", "Function": "1--4----", "LOCODE": "NGPHC", "Name": "Port Harcourt", "NameWoDiac": "Port Harcourt", "Status": "AI", "outflows": 46634.9 }, "geometry": { "type": "Point", "coordinates": [ 7.0134, 4.77742 ] } },
{ "type": "Feature", "properties": { "Country": "Nicaragua", "Function": "1---5---", "LOCODE": "NICIO", "Name": "Corinto", "NameWoDiac": "Corinto", "Status": "AI", "outflows": 510767.4 }, "geometry": { "type": "Point", "coordinates": [ -87.17304, 12.4825 ] } },
{ "type": "Feature", "properties": { "Country": "Norway", "Function": "1-------", "LOCODE": "NOGJM", "Name": "Gjemnes", "NameWoDiac": "Gjemnes", "Status": "AI", "outflows": 135486.0 }, "geometry": { "type": "Point", "coordinates": [ 8.08604, 62.89225 ] } },
{ "type": "Feature", "properties": { "Country": "Oman", "Function": "1--4----", "LOCODE": "OMSLL", "Name": "Salalah", "NameWoDiac": "Salalah", "Status": "AI", "outflows": 20488113.65606999 }, "geometry": { "type": "Point", "coordinates": [ 54.09237, 17.01505 ] } },
{ "type": "Feature", "properties": { "Country": "Oman", "Function": "1-------", "LOCODE": "OMSOH", "Name": "Sohar", "NameWoDiac": "Sohar", "Status": "QQ", "outflows": 5253518.9085 }, "geometry": { "type": "Point", "coordinates": [ 56.70937, 24.34745 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PAPAM", "Name": "Almirante", "NameWoDiac": "Almirante", "Status": "AI", "outflows": 265850.0 }, "geometry": { "type": "Point", "coordinates": [ -82.4018, 9.30091 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "1-------", "LOCODE": "PABLB", "Name": "Balboa", "NameWoDiac": "Balboa", "Status": "AI", "outflows": 13017890.895410001 }, "geometry": { "type": "Point", "coordinates": [ -79.56672, 8.94814 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "--3-----", "LOCODE": "PACSO", "Name": "Coco Solo", "NameWoDiac": "Coco Solo", "Status": "RQ", "outflows": 340795.0 }, "geometry": { "type": "Point", "coordinates": [ -79.88168, 9.37091 ] } },
{ "type": "Feature", "properties": { "Country": "Panama", "Function": "123-----", "LOCODE": "PAMIT", "Name": "Manzanillo", "NameWoDiac": "Manzanillo", "Status": "AI", "outflows": 13509667.606659999 }, "geometry": { "type": "Point", "coordinates": [ -81.16667, 7.53667 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PECLL", "Name": "Callao", "NameWoDiac": "Callao", "Status": "AI", "outflows": 15247664.791890001 }, "geometry": { "type": "Point", "coordinates": [ -77.11814, -12.05659 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEILQ", "Name": "Ilo", "NameWoDiac": "Ilo", "Status": "AI", "outflows": 83616.0 }, "geometry": { "type": "Point", "coordinates": [ -71.34108, -17.63185 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEIQT", "Name": "Iquitos", "NameWoDiac": "Iquitos", "Status": "AI", "outflows": 9675.0 }, "geometry": { "type": "Point", "coordinates": [ -73.25383, -3.74912 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PEMRI", "Name": "Matarani", "NameWoDiac": "Matarani", "Status": "AI", "outflows": 98962.5 }, "geometry": { "type": "Point", "coordinates": [ -72.10563, -16.99639 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1-------", "LOCODE": "PEPAI", "Name": "Paita", "NameWoDiac": "Paita", "Status": "AI", "outflows": 1763103.4120800004 }, "geometry": { "type": "Point", "coordinates": [ -81.11444, -5.08917 ] } },
{ "type": "Feature", "properties": { "Country": "Peru", "Function": "1--4----", "LOCODE": "PEPIO", "Name": "Pisco", "NameWoDiac": "Pisco", "Status": "AI", "outflows": 121628.0 }, "geometry": { "type": "Point", "coordinates": [ -76.20538, -13.71029 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGGUR", "Name": "Alotau", "NameWoDiac": "Alotau", "Status": "AI", "outflows": 15808.0 }, "geometry": { "type": "Point", "coordinates": [ 150.45742, -10.31509 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGBUA", "Name": "Buka", "NameWoDiac": "Buka", "Status": "AI", "outflows": 15808.0 }, "geometry": { "type": "Point", "coordinates": [ 154.67098, -5.43261 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1-------", "LOCODE": "PGKIM", "Name": "Kimbe", "NameWoDiac": "Kimbe", "Status": "QQ", "outflows": 99364.0 }, "geometry": { "type": "Point", "coordinates": [ 150.13766, -5.55085 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGLAE", "Name": "Lae", "NameWoDiac": "Lae", "Status": "AI", "outflows": 836183.91665300005 }, "geometry": { "type": "Point", "coordinates": [ 146.99611, -6.72333 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGPOM", "Name": "Port Moresby", "NameWoDiac": "Port Moresby", "Status": "AI", "outflows": 402247.08331199997 }, "geometry": { "type": "Point", "coordinates": [ 147.15089, -9.47723 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGRAB", "Name": "Rabaul", "NameWoDiac": "Rabaul", "Status": "AI", "outflows": 115172.0 }, "geometry": { "type": "Point", "coordinates": [ 152.16297, -4.20037 ] } },
{ "type": "Feature", "properties": { "Country": "Papua New Guinea", "Function": "1--4----", "LOCODE": "PGWWK", "Name": "Wewak", "NameWoDiac": "Wewak", "Status": "AI", "outflows": 43795.0 }, "geometry": { "type": "Point", "coordinates": [ 143.63229, -3.54964 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHBCD", "Name": "Bacolod, Negros", "NameWoDiac": "Bacolod, Negros", "Status": "AI", "outflows": 18806.0 }, "geometry": { "type": "Point", "coordinates": [ 122.95, 10.66667 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCGY", "Name": "Cagayan de Oro, Mindanao", "NameWoDiac": "Cagayan de Oro, Mindanao", "Status": "AI", "outflows": 1437089.1667599997 }, "geometry": { "type": "Point", "coordinates": [ 124.64722, 8.48222 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCEB", "Name": "Cebu", "NameWoDiac": "Cebu", "Status": "AI", "outflows": 1378464.0 }, "geometry": { "type": "Point", "coordinates": [ 123.89071, 10.31672 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHCBO", "Name": "Cotabato, Mindanao", "NameWoDiac": "Cotabato, Mindanao", "Status": "AI", "outflows": 29328.0 }, "geometry": { "type": "Point", "coordinates": [ 124.24639, 7.22361 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHDGT", "Name": "Dumaguete", "NameWoDiac": "Dumaguete", "Status": "AI", "outflows": 27546.0 }, "geometry": { "type": "Point", "coordinates": [ 123.30261, 9.30722 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--45---", "LOCODE": "PHMNL", "Name": "Manila", "NameWoDiac": "Manila", "Status": "AI", "outflows": 7135131.1431800006 }, "geometry": { "type": "Point", "coordinates": [ 120.9822, 14.6042 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHOZC", "Name": "Ozamis, Mindanao", "NameWoDiac": "Ozamis, Mindanao", "Status": "AI", "outflows": 10976.0 }, "geometry": { "type": "Point", "coordinates": [ 123.8405, 8.1481 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1-3-----", "LOCODE": "PHPLC", "Name": "Polloc", "NameWoDiac": "Polloc", "Status": "RQ", "outflows": 11193.0 }, "geometry": { "type": "Point", "coordinates": [ 124.22088, 7.3534 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHPPS", "Name": "Puerto Princesa, Palawan", "NameWoDiac": "Puerto Princesa, Palawan", "Status": "AI", "outflows": 9100.0 }, "geometry": { "type": "Point", "coordinates": [ 118.73528, 9.73917 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHSFS", "Name": "Subic Bay", "NameWoDiac": "Subic Bay", "Status": "AI", "outflows": 1621178.0 }, "geometry": { "type": "Point", "coordinates": [ 120.27987, 14.78899 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHTAG", "Name": "Tagbilaran, Bohol", "NameWoDiac": "Tagbilaran, Bohol", "Status": "AI", "outflows": 4320.0 }, "geometry": { "type": "Point", "coordinates": [ 123.85219, 9.65556 ] } },
{ "type": "Feature", "properties": { "Country": "Philippines", "Function": "1--4----", "LOCODE": "PHZAM", "Name": "Zamboanga", "NameWoDiac": "Zamboanga", "Status": "AI", "outflows": 67509.0 }, "geometry": { "type": "Point", "coordinates": [ 122.07389, 6.91028 ] } },
{ "type": "Feature", "properties": { "Country": "Pakistan", "Function": "1-34----", "LOCODE": "PKGWD", "Name": "Gwadar", "NameWoDiac": "Gwadar", "Status": "AI", "outflows": 145535.0 }, "geometry": { "type": "Point", "coordinates": [ 62.32541, 25.12163 ] } },
{ "type": "Feature", "properties": { "Country": "Pakistan", "Function": "12345---", "LOCODE": "PKKHI", "Name": "Karachi", "NameWoDiac": "Karachi", "Status": "AI", "outflows": 11738106.441340001 }, "geometry": { "type": "Point", "coordinates": [ 67.0104, 24.8608 ] } },
{ "type": "Feature", "properties": { "Country": "Poland", "Function": "1--4----", "LOCODE": "PLGDN", "Name": "Gdansk", "NameWoDiac": "Gdansk", "Status": "AI", "outflows": 6373121.0499060033 }, "geometry": { "type": "Point", "coordinates": [ 18.64912, 54.35227 ] } },
{ "type": "Feature", "properties": { "Country": "Poland", "Function": "1--45---", "LOCODE": "PLSZZ", "Name": "Szczecin", "NameWoDiac": "Szczecin", "Status": "AI", "outflows": 101530.0 }, "geometry": { "type": "Point", "coordinates": [ 14.55302, 53.42894 ] } },
{ "type": "Feature", "properties": { "Country": "Palau", "Function": "1--4----", "LOCODE": "PWROR", "Name": "Koror", "NameWoDiac": "Koror", "Status": "AI", "outflows": 30420.0 }, "geometry": { "type": "Point", "coordinates": [ 134.47326, 7.33978 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUARH", "Name": "Arkhangelsk", "NameWoDiac": "Arkhangelsk", "Status": "AI", "outflows": 390.0 }, "geometry": { "type": "Point", "coordinates": [ 40.5433, 64.5401 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUDUD", "Name": "Dudinka", "NameWoDiac": "Dudinka", "Status": "QQ", "outflows": 16796.0 }, "geometry": { "type": "Point", "coordinates": [ 86.17778, 69.40583 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUKGD", "Name": "Kaliningrad", "NameWoDiac": "Kaliningrad", "Status": "AI", "outflows": 133061.5 }, "geometry": { "type": "Point", "coordinates": [ 20.51095, 54.70649 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1-------", "LOCODE": "RUKOR", "Name": "Korsakov", "NameWoDiac": "Korsakov", "Status": "QQ", "outflows": 19067.0 }, "geometry": { "type": "Point", "coordinates": [ 142.77722, 46.6342 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "---4----", "LOCODE": "RUGDX", "Name": "Magadan", "NameWoDiac": "Magadan", "Status": "AI", "outflows": 27664.0 }, "geometry": { "type": "Point", "coordinates": [ 150.80347, 59.5638 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUPKC", "Name": "Petropavlovsk-Kamchatskiy", "NameWoDiac": "Petropavlovsk-Kamchatskiy", "Status": "AI", "outflows": 10478.0 }, "geometry": { "type": "Point", "coordinates": [ 158.65076, 53.04444 ] } },
{ "type": "Feature", "properties": { "Country": "Russian Federation", "Function": "1--4----", "LOCODE": "RUVVO", "Name": "Vladivostok", "NameWoDiac": "Vladivostok", "Status": "AI", "outflows": 1273681.4999099998 }, "geometry": { "type": "Point", "coordinates": [ 131.87353, 43.10562 ] } },
{ "type": "Feature", "properties": { "Country": "Saudi Arabia", "Function": "1-------", "LOCODE": "SAJUB", "Name": "Jubail", "NameWoDiac": "Jubail", "Status": "QQ", "outflows": 6234394.5950499978 }, "geometry": { "type": "Point", "coordinates": [ 49.62251, 27.0174 ] } },
{ "type": "Feature", "properties": { "Country": "Seychelles", "Function": "1-------", "LOCODE": "SCPOV", "Name": "Port Victoria", "NameWoDiac": "Port Victoria", "Status": "QQ", "outflows": 611771.76191000012 }, "geometry": { "type": "Point", "coordinates": [ 55.45501, -4.62001 ] } },
{ "type": "Feature", "properties": { "Country": "Sudan", "Function": "1--45---", "LOCODE": "SDPZU", "Name": "Port Sudan", "NameWoDiac": "Port Sudan", "Status": "AI", "outflows": 308535.0 }, "geometry": { "type": "Point", "coordinates": [ 37.21644, 19.61745 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "12-4----", "LOCODE": "SEHEL", "Name": "Helsingborg", "NameWoDiac": "Helsingborg", "Status": "AI", "outflows": 634088.0 }, "geometry": { "type": "Point", "coordinates": [ 12.69437, 56.04673 ] } },
{ "type": "Feature", "properties": { "Country": "Sweden", "Function": "123-----", "LOCODE": "SEVAG", "Name": "Varberg", "NameWoDiac": "Varberg", "Status": "AA", "outflows": 82628.0 }, "geometry": { "type": "Point", "coordinates": [ 12.25078, 57.10557 ] } },
{ "type": "Feature", "properties": { "Country": "Singapore", "Function": "1--45---", "LOCODE": "SGSIN", "Name": "Singapore", "NameWoDiac": "Singapore", "Status": "AI", "outflows": 126673817.40886995 }, "geometry": { "type": "Point", "coordinates": [ 103.85007, 1.28967 ] } },
{ "type": "Feature", "properties": { "Country": "Slovenia", "Function": "1-------", "LOCODE": "SIKOP", "Name": "Koper", "NameWoDiac": "Koper", "Status": "RL", "outflows": 4814941.1666899994 }, "geometry": { "type": "Point", "coordinates": [ 13.72944, 45.54694 ] } },
{ "type": "Feature", "properties": { "Country": "Sierra Leone", "Function": "1--45---", "LOCODE": "SLFNA", "Name": "Freetown", "NameWoDiac": "Freetown", "Status": "AI", "outflows": 292305.0 }, "geometry": { "type": "Point", "coordinates": [ -13.2356, 8.48714 ] } },
{ "type": "Feature", "properties": { "Country": "Senegal", "Function": "1--45---", "LOCODE": "SNDKR", "Name": "Dakar", "NameWoDiac": "Dakar", "Status": "AI", "outflows": 2417263.262 }, "geometry": { "type": "Point", "coordinates": [ -17.44406, 14.6937 ] } },
{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--4----", "LOCODE": "SOBBO", "Name": "Berbera", "NameWoDiac": "Berbera", "Status": "AI", "outflows": 215094.5 }, "geometry": { "type": "Point", "coordinates": [ 45.01432, 10.43959 ] } },
{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--4----", "LOCODE": "SOKMU", "Name": "Kismayu", "NameWoDiac": "Kismayu", "Status": "AI", "outflows": 188773.0 }, "geometry": { "type": "Point", "coordinates": [ 42.54536, -0.35817 ] } },
{ "type": "Feature", "properties": { "Country": "Somalia", "Function": "1--45---", "LOCODE": "SOMGQ", "Name": "Mogadishu", "NameWoDiac": "Mogadishu", "Status": "AI", "outflows": 437501.99997999996 }, "geometry": { "type": "Point", "coordinates": [ 45.34375, 2.03711 ] } },
{ "type": "Feature", "properties": { "Country": "Suriname", "Function": "1--45---", "LOCODE": "SRPBM", "Name": "Paramaribo", "NameWoDiac": "Paramaribo", "Status": "AI", "outflows": 538931.33332199999 }, "geometry": { "type": "Point", "coordinates": [ -55.16682, 5.86638 ] } },
{ "type": "Feature", "properties": { "Country": "Suriname", "Function": "1--45---", "LOCODE": "SRPBM", "Name": "Paramaribo", "NameWoDiac": "Paramaribo", "Status": "AI", "outflows": 538931.33332199999 }, "geometry": { "type": "Point", "coordinates": [ -55.16682, 5.86638 ] } },
{ "type": "Feature", "properties": { "Country": "El Salvador", "Function": "1-3-----", "LOCODE": "SVAQJ", "Name": "Acajutla", "NameWoDiac": "Acajutla", "Status": "AI", "outflows": 495947.4 }, "geometry": { "type": "Point", "coordinates": [ -89.8275, 13.59278 ] } },
{ "type": "Feature", "properties": { "Country": "El Salvador", "Function": "1--45---", "LOCODE": "SVSAL", "Name": "San Salvador", "NameWoDiac": "San Salvador", "Status": "AI", "outflows": 388752.0 }, "geometry": { "type": "Point", "coordinates": [ -89.18718, 13.68935 ] } },
{ "type": "Feature", "properties": { "Country": "Togo", "Function": "1--45---", "LOCODE": "TGLFW", "Name": "Lome", "NameWoDiac": "Lome", "Status": "AI", "outflows": 6445382.4134400021 }, "geometry": { "type": "Point", "coordinates": [ 1.22154, 6.12874 ] } },
{ "type": "Feature", "properties": { "Country": "Thailand", "Function": "1-------", "LOCODE": "THSRI", "Name": "Sriracha", "NameWoDiac": "Sriracha", "Status": "QQ", "outflows": 58522.5 }, "geometry": { "type": "Point", "coordinates": [ 100.93111, 13.17372 ] } },
{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNBIZ", "Name": "Bizerte", "NameWoDiac": "Bizerte", "Status": "QQ", "outflows": 106117.5 }, "geometry": { "type": "Point", "coordinates": [ 9.87391, 37.27442 ] } },
{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNSFA", "Name": "Sfax", "NameWoDiac": "Sfax", "Status": "AI", "outflows": 72212.33334 }, "geometry": { "type": "Point", "coordinates": [ 10.76028, 34.74056 ] } },
{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "1234----", "LOCODE": "TNSUS", "Name": "Sousse", "NameWoDiac": "Sousse", "Status": "QQ", "outflows": 43545.0 }, "geometry": { "type": "Point", "coordinates": [ 10.63699, 35.82539 ] } },
{ "type": "Feature", "properties": { "Country": "Tunisia", "Function": "12345---", "LOCODE": "TNTUN", "Name": "Tunis", "NameWoDiac": "Tunis", "Status": "AI", "outflows": 59748.0 }, "geometry": { "type": "Point", "coordinates": [ 10.16579, 36.81897 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRALI", "Name": "Aliaga", "NameWoDiac": "Aliaga", "Status": "RL", "outflows": 8740753.932889998 }, "geometry": { "type": "Point", "coordinates": [ 26.97203, 38.79975 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRDRC", "Name": "Derince", "NameWoDiac": "Derince", "Status": "QQ", "outflows": 303927.0 }, "geometry": { "type": "Point", "coordinates": [ 29.81472, 40.75694 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-3-----", "LOCODE": "TRHAY", "Name": "Haydarpasa", "NameWoDiac": "Haydarpasa", "Status": "QQ", "outflows": 220592.66669000004 }, "geometry": { "type": "Point", "coordinates": [ 29.02459, 40.99596 ] } },
{ "type": "Feature", "properties": { "Country": "Turkey", "Function": "1-------", "LOCODE": "TRYAR", "Name": "Yarimca", "NameWoDiac": "Yarimca", "Status": "QQ", "outflows": 895813.99998000008 }, "geometry": { "type": "Point", "coordinates": [ 31.14194, 39.08361 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USANC", "Name": "Anchorage", "NameWoDiac": "Anchorage", "Status": "AI", "outflows": 61671.99999 }, "geometry": { "type": "Point", "coordinates": [ -149.90028, 61.21806 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USBPT", "Name": "Beaumont", "NameWoDiac": "Beaumont", "Status": "AI", "outflows": 34041.0 }, "geometry": { "type": "Point", "coordinates": [ -94.10185, 30.08605 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USBOS", "Name": "Boston", "NameWoDiac": "Boston", "Status": "AI", "outflows": 1565893.3335999998 }, "geometry": { "type": "Point", "coordinates": [ -71.05977, 42.35843 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USBCK", "Name": "Brunswick", "NameWoDiac": "Brunswick", "Status": "RL", "outflows": 48681.0 }, "geometry": { "type": "Point", "coordinates": [ -74.45182, 40.48622 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USCAT", "Name": "Camden", "NameWoDiac": "Camden", "Status": "RQ", "outflows": 176498.0 }, "geometry": { "type": "Point", "coordinates": [ -75.11962, 39.92595 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USCHS", "Name": "Charleston", "NameWoDiac": "Charleston", "Status": "AI", "outflows": 23192728.69687001 }, "geometry": { "type": "Point", "coordinates": [ -79.924426675273111, 32.785017342562952 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "--3-----", "LOCODE": "USCAV", "Name": "Cleveland", "NameWoDiac": "Cleveland", "Status": "RQ", "outflows": 1974.0 }, "geometry": { "type": "Point", "coordinates": [ -81.69541, 41.4995 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USCRP", "Name": "Corpus Christi", "NameWoDiac": "Corpus Christi", "Status": "AI", "outflows": 53712.0 }, "geometry": { "type": "Point", "coordinates": [ -97.39638, 27.80058 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USDUT", "Name": "Dutch Harbor", "NameWoDiac": "Dutch Harbor", "Status": "AI", "outflows": 378795.99998999998 }, "geometry": { "type": "Point", "coordinates": [ -166.5422, 53.8898 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-34----", "LOCODE": "USPAE", "Name": "Everett", "NameWoDiac": "Everett", "Status": "AI", "outflows": 152295.00003000002 }, "geometry": { "type": "Point", "coordinates": [ -122.20208, 47.97898 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USFEP", "Name": "Freeport", "NameWoDiac": "Freeport", "Status": "AI", "outflows": 751787.11118999997 }, "geometry": { "type": "Point", "coordinates": [ -70.10311, 43.85702 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USGLS", "Name": "Galveston", "NameWoDiac": "Galveston", "Status": "AI", "outflows": 47326.5 }, "geometry": { "type": "Point", "coordinates": [ -94.7977, 29.30135 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USGLC", "Name": "Gloucester City", "NameWoDiac": "Gloucester City", "Status": "RN", "outflows": 59686.5 }, "geometry": { "type": "Point", "coordinates": [ -70.66313, 42.61405 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USIJX", "Name": "Jacksonville", "NameWoDiac": "Jacksonville", "Status": "AI", "outflows": 5087986.3044199999 }, "geometry": { "type": "Point", "coordinates": [ -81.65565, 30.33218 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "---4----", "LOCODE": "USADQ", "Name": "Kodiak", "NameWoDiac": "Kodiak", "Status": "AI", "outflows": 61671.99999 }, "geometry": { "type": "Point", "coordinates": [ -152.40533, 57.78852 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USLAX", "Name": "Los Angeles", "NameWoDiac": "Los Angeles", "Status": "AI", "outflows": 12755714.048839999 }, "geometry": { "type": "Point", "coordinates": [ -118.24368, 34.05223 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USMIA", "Name": "Miami", "NameWoDiac": "Miami", "Status": "AI", "outflows": 6651073.40288 }, "geometry": { "type": "Point", "coordinates": [ -80.19366, 25.77427 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USMOB", "Name": "Mobile", "NameWoDiac": "Mobile", "Status": "AI", "outflows": 3378854.4003 }, "geometry": { "type": "Point", "coordinates": [ -88.04305, 30.69436 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USMRH", "Name": "Morehead City", "NameWoDiac": "Morehead City", "Status": "RN", "outflows": 44898.75 }, "geometry": { "type": "Point", "coordinates": [ -76.72604, 34.72294 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "12345---", "LOCODE": "USMSY", "Name": "New Orleans", "NameWoDiac": "New Orleans", "Status": "AI", "outflows": 8818359.6138159968 }, "geometry": { "type": "Point", "coordinates": [ -90.07507, 29.95465 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPFN", "Name": "Panama City", "NameWoDiac": "Panama City", "Status": "AI", "outflows": 82722.0 }, "geometry": { "type": "Point", "coordinates": [ -85.65983, 30.15946 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPWM", "Name": "Portland", "NameWoDiac": "Portland", "Status": "AI", "outflows": 27248.000001 }, "geometry": { "type": "Point", "coordinates": [ -122.67621, 45.52345 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPDX", "Name": "Portland", "NameWoDiac": "Portland", "Status": "AI", "outflows": 336570.0 }, "geometry": { "type": "Point", "coordinates": [ -122.67621, 45.52345 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USSAV", "Name": "Savannah", "NameWoDiac": "Savannah", "Status": "AI", "outflows": 26558703.755599998 }, "geometry": { "type": "Point", "coordinates": [ -81.09983, 32.08354 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USSEA", "Name": "Seattle", "NameWoDiac": "Seattle", "Status": "AI", "outflows": 10283805.920580002 }, "geometry": { "type": "Point", "coordinates": [ -122.33207, 47.60621 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USTIW", "Name": "Tacoma", "NameWoDiac": "Tacoma", "Status": "AI", "outflows": 4139226.6189899999 }, "geometry": { "type": "Point", "coordinates": [ -122.44429, 47.25288 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--45---", "LOCODE": "USTPA", "Name": "Tampa", "NameWoDiac": "Tampa", "Status": "AI", "outflows": 1911998.4003 }, "geometry": { "type": "Point", "coordinates": [ -82.45843, 27.94752 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1-3-----", "LOCODE": "USVAN", "Name": "Vancouver", "NameWoDiac": "Vancouver", "Status": "RN", "outflows": 65700.0 }, "geometry": { "type": "Point", "coordinates": [ -122.66149, 45.63873 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USPBI", "Name": "West Palm Beach", "NameWoDiac": "West Palm Beach", "Status": "AI", "outflows": 222144.0 }, "geometry": { "type": "Point", "coordinates": [ -80.05337, 26.71534 ] } },
{ "type": "Feature", "properties": { "Country": "United States", "Function": "1--4----", "LOCODE": "USILG", "Name": "Wilmington", "NameWoDiac": "Wilmington", "Status": "AI", "outflows": 290589.0 }, "geometry": { "type": "Point", "coordinates": [ -75.54659, 39.74595 ] } },
{ "type": "Feature", "properties": { "Country": "Uruguay", "Function": "1--45---", "LOCODE": "UYMVD", "Name": "Montevideo", "NameWoDiac": "Montevideo", "Status": "AF", "outflows": 11543641.215 }, "geometry": { "type": "Point", "coordinates": [ -56.18816, -34.90328 ] } },
{ "type": "Feature", "properties": { "Country": "Virgin Islands, U.S.", "Function": "1-------", "LOCODE": "VICHA", "Name": "Charlotte Amalie, Saint Thomas", "NameWoDiac": "Charlotte Amalie, Saint Thomas", "Status": "AI", "outflows": 307918.0 }, "geometry": { "type": "Point", "coordinates": [ -64.9307, 18.3419 ] } },
{ "type": "Feature", "properties": { "Country": "Viet Nam", "Function": "1-------", "LOCODE": "VNHPH", "Name": "Haiphong", "NameWoDiac": "Haiphong", "Status": "AI", "outflows": 10072807.932540001 }, "geometry": { "type": "Point", "coordinates": [ 106.68345, 20.86481 ] } },
{ "type": "Feature", "properties": { "Country": "Vanuatu", "Function": "1--45---", "LOCODE": "VUVLI", "Name": "Port Vila", "NameWoDiac": "Port Vila", "Status": "AI", "outflows": 453739.0 }, "geometry": { "type": "Point", "coordinates": [ 168.31366, -17.73648 ] } },
{ "type": "Feature", "properties": { "Country": "Vanuatu", "Function": "1-------", "LOCODE": "VUSAN", "Name": "Santo", "NameWoDiac": "Santo", "Status": "RQ", "outflows": 206498.5 }, "geometry": { "type": "Point", "coordinates": [ 167.16235, -15.51989 ] } },
{ "type": "Feature", "properties": { "Country": "Samoa", "Function": "1--45---", "LOCODE": "WSAPW", "Name": "Apia", "NameWoDiac": "Apia", "Status": "AI", "outflows": 339021.5 }, "geometry": { "type": "Point", "coordinates": [ -171.76666, -13.83333 ] } },
{ "type": "Feature", "properties": { "Country": "Yemen", "Function": "1--45---", "LOCODE": "YEADE", "Name": "Aden", "NameWoDiac": "Aden", "Status": "AI", "outflows": 126082.5 }, "geometry": { "type": "Point", "coordinates": [ 45.03667, 12.77944 ] } },
{ "type": "Feature", "properties": { "Country": "Yemen", "Function": "1--4----", "LOCODE": "YEMKX", "Name": "Mukalla", "NameWoDiac": "Mukalla", "Status": "AI", "outflows": 30745.0 }, "geometry": { "type": "Point", "coordinates": [ 49.12424, 14.54248 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1234----", "LOCODE": "ZAELS", "Name": "East London", "NameWoDiac": "East London", "Status": "AF", "outflows": 15600.0 }, "geometry": { "type": "Point", "coordinates": [ 27.91162, -33.01529 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1--45---", "LOCODE": "ZAPLZ", "Name": "Port Elizabeth", "NameWoDiac": "Port Elizabeth", "Status": "AF", "outflows": 2557154.4621100002 }, "geometry": { "type": "Point", "coordinates": [ 25.61494, -33.96109 ] } },
{ "type": "Feature", "properties": { "Country": "South Africa", "Function": "1--4----", "LOCODE": "ZARCB", "Name": "Richards Bay", "NameWoDiac": "Richards Bay", "Status": "AF", "outflows": 164538.86664000002 }, "geometry": { "type": "Point", "coordinates": [ 32.03768, -28.78301 ] } }
]
}

View File

@ -0,0 +1,34 @@
country,share to satisfy heat demand (residential) in percent,capacity[MWth]
AT,14,11200
BG,16,6162
BA,8,
HR,6.3,2221
CZ,40,
DK,65,
FI,38,23390
FR,5,
DE,13.8,
HU,7.92875588637399,8549
IS,90,8079000
IE,0.8,
IT,3,8727
LV,73,2254
LT,56,
MK,23.7745607009008,636
NO,4,3400
PL,42,54912
PT,0.070754716981132,34
RS,25,5821
SI,8.86,1739
ES,0.251589260787732,1273
SE,50.4,
UK,2,
BY,70,
EE,52,5406
KO,3,207
RO,23,9962
SK,54,15000
NL,4,9800
CH,4,2792
AL,0,
ME,0,
1 country share to satisfy heat demand (residential) in percent capacity[MWth]
2 AT 14 11200
3 BG 16 6162
4 BA 8
5 HR 6.3 2221
6 CZ 40
7 DK 65
8 FI 38 23390
9 FR 5
10 DE 13.8
11 HU 7.92875588637399 8549
12 IS 90 8079000
13 IE 0.8
14 IT 3 8727
15 LV 73 2254
16 LT 56
17 MK 23.7745607009008 636
18 NO 4 3400
19 PL 42 54912
20 PT 0.070754716981132 34
21 RS 25 5821
22 SI 8.86 1739
23 ES 0.251589260787732 1273
24 SE 50.4
25 UK 2
26 BY 70
27 EE 52 5406
28 KO 3 207
29 RO 23 9962
30 SK 54 15000
31 NL 4 9800
32 CH 4 2792
33 AL 0
34 ME 0

View File

@ -0,0 +1,31 @@
,gas boiler,coal boiler,oil boiler,resistive heater,air heat pump,ground heat pump
Austria,9.32,0.4,15.42,0,0.72,1.077
Belgium,28.39,1.19,19.53,3.14,0.17,0.061
Bulgaria,0.16,3.68,0.04,3.46,1.01,0.045
Croatia,8.39,0.03,2.88,1.53,0,0
Czech Republic,9.26,1.02,0.1,2.73,0.35,0.263
Denmark,4.82,0,3.67,2.19,1.9,0.381
Estonia,0.22,0.02,0.12,0.27,0.33,0.1
Finland,0,0.04,3.79,10.3,1.98,0.58
France,76.85,1.03,46.03,87.24,26.14,1.97
Germany,131.09,0.44,132.04,0,2.38,3.29
Greece,2.17,0.03,18.13,5.91,0,0
Hungary,21.21,1.3,0.04,0.06,0.03,0.035
Ireland,4.32,0.8,4.85,1.03,0.03,0.03
Italy,112.68,1.89,3.33,6.61,54.98,0.6
Latvia,1.53,0.4,0,0.03,0,0
Lithuania,0,0,0,0,0.01,0.02
Luxembourg,0.79,0,0.77,0.09,0.01,0.001
Netherlands,81.41,0,0.1,0.1,1.82,0.849
Poland,8.25,24.75,9.04,5.96,0.01,0.04
Portugal,4.79,0,0.2,21.26,1.58,0.064
Romania,16.56,0.32,0.03,0.72,0,0
Slovakia,8.05,0.19,0.01,0.55,0.06,0.015
Slovenia,0.4,0,1.08,0.4,0.03,0.056
Spain,48.99,0.51,17.95,56.58,1.15,0.016
Sweden,1.01,0,0.77,3.76,3.42,4.813
United Kingdom,160.49,1.26,7.39,13.81,0.81,0.21
Norway,,,,,2.91,0.334
Switzerland,,,,,1,0.849
Serbia,,,,,,
Bosnia Herzegovina,,,,,,
1 gas boiler coal boiler oil boiler resistive heater air heat pump ground heat pump
2 Austria 9.32 0.4 15.42 0 0.72 1.077
3 Belgium 28.39 1.19 19.53 3.14 0.17 0.061
4 Bulgaria 0.16 3.68 0.04 3.46 1.01 0.045
5 Croatia 8.39 0.03 2.88 1.53 0 0
6 Czech Republic 9.26 1.02 0.1 2.73 0.35 0.263
7 Denmark 4.82 0 3.67 2.19 1.9 0.381
8 Estonia 0.22 0.02 0.12 0.27 0.33 0.1
9 Finland 0 0.04 3.79 10.3 1.98 0.58
10 France 76.85 1.03 46.03 87.24 26.14 1.97
11 Germany 131.09 0.44 132.04 0 2.38 3.29
12 Greece 2.17 0.03 18.13 5.91 0 0
13 Hungary 21.21 1.3 0.04 0.06 0.03 0.035
14 Ireland 4.32 0.8 4.85 1.03 0.03 0.03
15 Italy 112.68 1.89 3.33 6.61 54.98 0.6
16 Latvia 1.53 0.4 0 0.03 0 0
17 Lithuania 0 0 0 0 0.01 0.02
18 Luxembourg 0.79 0 0.77 0.09 0.01 0.001
19 Netherlands 81.41 0 0.1 0.1 1.82 0.849
20 Poland 8.25 24.75 9.04 5.96 0.01 0.04
21 Portugal 4.79 0 0.2 21.26 1.58 0.064
22 Romania 16.56 0.32 0.03 0.72 0 0
23 Slovakia 8.05 0.19 0.01 0.55 0.06 0.015
24 Slovenia 0.4 0 1.08 0.4 0.03 0.056
25 Spain 48.99 0.51 17.95 56.58 1.15 0.016
26 Sweden 1.01 0 0.77 3.76 3.42 4.813
27 United Kingdom 160.49 1.26 7.39 13.81 0.81 0.21
28 Norway 2.91 0.334
29 Switzerland 1 0.849
30 Serbia
31 Bosnia Herzegovina

View File

@ -0,0 +1,34 @@
Country/area,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
Albania,,,,,,,,,,,,,,,,,,,
Austria,,,,,,,,,,,,,,,,,,,
Belgium,,,,,,,,,,31.5,196.5,196.5,381,707.7,707.7,712,712.2,877.2,1185.9
Bosnia Herzg,,,,,,,,,,,,,,,,,,,
Bulgaria,,,,,,,,,,,,,,,,,,,
Croatia,,,,,,,,,,,,,,,,,,,
Czechia,,,,,,,,,,,,,,,,,,,
Denmark,50,50,214,423.4,423.4,423.4,423.4,423.4,423.4,660.9,867.9,871.5,921.9,1271.1,1271.1,1271.1,1271.1,1263.8,1700.8
Estonia,,,,,,,,,,,,,,,,,,,
Finland,,,,,,,,,24,24,26.3,26.3,26.3,26.3,26.3,32,32,72.7,72.7
France,,,,,,,,,,,,,,,,,,2,2
Germany,,,,,,,,,,35,80,188,268,508,994,3283,4132,5406,6396
Greece,,,,,,,,,,,,,,,,,,,
Hungary,,,,,,,,,,,,,,,,,,,
Ireland,,,,,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2,25.2
Italy,,,,,,,,,,,,,,,,,,,
Latvia,,,,,,,,,,,,,,,,,,,
Lithuania,,,,,,,,,,,,,,,,,,,
Luxembourg,,,,,,,,,,,,,,,,,,,
Montenegro,,,,,,,,,,,,,,,,,,,
Netherlands,,,,,,,108,108,228,228,228,228,228,228,228,357,957,957,957
North Macedonia,,,,,,,,,,,,,,,,,,,
Norway,,,,,,,,,,2.3,2.3,2.3,2.3,2.3,2.3,2.3,2.3,2.3,2.3
Poland,,,,,,,,,,,,,,,,,,,
Portugal,,,,,,,,,,,,1.9,2,2,2,2,,,
Romania,,,,,,,,,,,,,,,,,,,
Serbia,,,,,,,,,,,,,,,,,,,
Slovakia,,,,,,,,,,,,,,,,,,,
Slovenia,,,,,,,,,,,,,,,,,,,
Spain,,,,,,,,,,,,,,5,5,5,5,5,5
Sweden,13,22,22,22,22,22,22,131,133,163,163,163,163,212,213,213,203,203,203
Switzerland,,,,,,,,,,,,,,,,,,,
UK,3.8,3.8,3.8,63.8,123.8,213.8,303.8,393.8,596.2,951.2,1341.5,1838.3,2995.5,3696,4501.3,5093.4,5293.4,6987.9,8216.5
1 Country/area 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
2 Albania
3 Austria
4 Belgium 31.5 196.5 196.5 381 707.7 707.7 712 712.2 877.2 1185.9
5 Bosnia Herzg
6 Bulgaria
7 Croatia
8 Czechia
9 Denmark 50 50 214 423.4 423.4 423.4 423.4 423.4 423.4 660.9 867.9 871.5 921.9 1271.1 1271.1 1271.1 1271.1 1263.8 1700.8
10 Estonia
11 Finland 24 24 26.3 26.3 26.3 26.3 26.3 32 32 72.7 72.7
12 France 2 2
13 Germany 35 80 188 268 508 994 3283 4132 5406 6396
14 Greece
15 Hungary
16 Ireland 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2 25.2
17 Italy
18 Latvia
19 Lithuania
20 Luxembourg
21 Montenegro
22 Netherlands 108 108 228 228 228 228 228 228 228 357 957 957 957
23 North Macedonia
24 Norway 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3 2.3
25 Poland
26 Portugal 1.9 2 2 2 2
27 Romania
28 Serbia
29 Slovakia
30 Slovenia
31 Spain 5 5 5 5 5 5
32 Sweden 13 22 22 22 22 22 22 131 133 163 163 163 163 212 213 213 203 203 203
33 Switzerland
34 UK 3.8 3.8 3.8 63.8 123.8 213.8 303.8 393.8 596.2 951.2 1341.5 1838.3 2995.5 3696 4501.3 5093.4 5293.4 6987.9 8216.5

View File

@ -0,0 +1,34 @@
Country/area,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
Albania,,,,,,,,,,,,,,,,,,,
Austria,50,67,109,322,581,825.2,968.3,991.2,992,1001,1015.8,1106,1337.2,1674.5,2110.3,2488.7,2730,2886.7,3132.7
Belgium,14,26,31,67,96,167,212,276,324,576.5,715.5,872.5,989,1072.3,1236.3,1464,1657.8,1919.3,2074.8
Bosnia Herzg,,,,,,,,,,,,0.3,0.3,0.3,0.3,0.3,0.3,0.3,50.9
Bulgaria,,,,,1,8,27,30,114,333,488,541,677,683,699,699,699,698.4,698.9
Croatia,,,,,6,6,17,17,17,70,79,130,180,254,339,418,483,576.1,586.3
Czechia,2,,6.4,10.6,16.5,22,43.5,113.8,150,193,213,213,258,262,278,281,282,308.2,316.2
Denmark,2340.1,2447.2,2680.6,2696.6,2700.4,2704.5,2712.3,2700.9,2739.5,2821.2,2934,3080.5,3240.1,3547.9,3615.4,3805.9,3974.5,4225.8,4419.8
Estonia,,,1,3,7,31,31,50,77,104,108,180,266,248,275,300,310,311.8,310
Finland,38,39,43,52,82,82,86,110,119,123,170.7,172.7,230.7,420.7,600.7,973,1533,1971.3,1968.3
France,38,66,138,218,358,690,1412,2223,3403,4582,5912,6758,7607.5,8156,9201.4,10298.2,11566.6,13497.4,14898.1
Germany,6095,8754,12001,14381,16419,18248,20474,22116,22794,25697,26823,28524,30711,32969,37620,41297,45303,50174,52447
Greece,226,270,287,371,470,491,749,846,1022,1171,1298,1640,1753,1809,1978,2091,2370,2624,2877.5
Hungary,,1,1,3,3,17,33,61,134,203,293,331,325,329,329,329,329,329,329
Ireland,116.5,122.9,134.8,210.3,311.2,468.1,651.3,715.3,917.1,1226.1,1365.2,1559.4,1679.2,1983,2258.1,2426,2760.8,3292.8,3650.9
Italy,363,664,780,874,1127,1635,1902,2702,3525,4879,5794,6918,8102,8542,8683,9137,9384,9736.6,10230.2
Latvia,2,2,22,26,26,26,26,26,28,29,30,36,59,65.9,68.9,68.2,69.9,77.1,78.2
Lithuania,,,,,1,1,31,47,54,98,133,202,275,279,288,436,509,518,533
Luxembourg,14,13.9,13.9,20.5,34.9,34.9,34.9,34.9,42.9,42.9,43.7,44.5,58.3,58.3,58.3,63.8,119.7,119.7,122.9
Montenegro,,,,,,,,,,,,,,,,,,72,118
Netherlands,447,486,672,905,1075,1224,1453,1641,1921,1994,2009,2088,2205,2485,2637,3034,3300,3245,3436
North Macedonia,,,,,,,,,,,,,,,37,37,37,37,37
Norway,13,13,97,97,152,265,284,348,395,420.7,422.7,509.7,702.7,815.7,856.7,864.7,880.7,1204.7,1708
Poland,4,19,32,35,40,121,172,306,526,709,1108,1800,2564,3429,3836,4886,5747,5759.4,5766.1
Portugal,83,125,190,268,553,1064,1681,2201,2857,3326,3796,4254.4,4409.6,4607.9,4854.6,4934.8,5124.1,5124.1,5172.4
Romania,,,,,,1,1,3,5,15,389,988,1822,2773,3244,3130,3025,3029.8,3032.3
Serbia,,,,,,,,,,,,,0.5,0.5,0.5,10.4,17,25,25
Slovakia,,,,3,3,5,5,5,5,3,3,3,3,5,3,3,3,4,3
Slovenia,,,,,,,,,,,,,,4,4,5,5,5,5.2
Spain,2206,3397,4891,5945,8317,9918,11722,14820,16555,19176,20693,21529,22789,22953,22920,22938,22985,23119.5,23400.1
Sweden,196,273,335,395,453,500,563,692,956,1312,1854,2601,3443,3982,4875,5606,6232,6408,7097
Switzerland,3,5,5,5,9,12,12,12,14,18,42,46,49,60,60,60,75,75,75
UK,408.2,489.2,530.2,678.2,809.2,1351.2,1651.2,2083.2,2849.8,3470.8,4079.8,4758,6035,7586.3,8572.7,9212.2,10832.3,12596.9,13553.9
1 Country/area 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
2 Albania
3 Austria 50 67 109 322 581 825.2 968.3 991.2 992 1001 1015.8 1106 1337.2 1674.5 2110.3 2488.7 2730 2886.7 3132.7
4 Belgium 14 26 31 67 96 167 212 276 324 576.5 715.5 872.5 989 1072.3 1236.3 1464 1657.8 1919.3 2074.8
5 Bosnia Herzg 0.3 0.3 0.3 0.3 0.3 0.3 0.3 50.9
6 Bulgaria 1 8 27 30 114 333 488 541 677 683 699 699 699 698.4 698.9
7 Croatia 6 6 17 17 17 70 79 130 180 254 339 418 483 576.1 586.3
8 Czechia 2 6.4 10.6 16.5 22 43.5 113.8 150 193 213 213 258 262 278 281 282 308.2 316.2
9 Denmark 2340.1 2447.2 2680.6 2696.6 2700.4 2704.5 2712.3 2700.9 2739.5 2821.2 2934 3080.5 3240.1 3547.9 3615.4 3805.9 3974.5 4225.8 4419.8
10 Estonia 1 3 7 31 31 50 77 104 108 180 266 248 275 300 310 311.8 310
11 Finland 38 39 43 52 82 82 86 110 119 123 170.7 172.7 230.7 420.7 600.7 973 1533 1971.3 1968.3
12 France 38 66 138 218 358 690 1412 2223 3403 4582 5912 6758 7607.5 8156 9201.4 10298.2 11566.6 13497.4 14898.1
13 Germany 6095 8754 12001 14381 16419 18248 20474 22116 22794 25697 26823 28524 30711 32969 37620 41297 45303 50174 52447
14 Greece 226 270 287 371 470 491 749 846 1022 1171 1298 1640 1753 1809 1978 2091 2370 2624 2877.5
15 Hungary 1 1 3 3 17 33 61 134 203 293 331 325 329 329 329 329 329 329
16 Ireland 116.5 122.9 134.8 210.3 311.2 468.1 651.3 715.3 917.1 1226.1 1365.2 1559.4 1679.2 1983 2258.1 2426 2760.8 3292.8 3650.9
17 Italy 363 664 780 874 1127 1635 1902 2702 3525 4879 5794 6918 8102 8542 8683 9137 9384 9736.6 10230.2
18 Latvia 2 2 22 26 26 26 26 26 28 29 30 36 59 65.9 68.9 68.2 69.9 77.1 78.2
19 Lithuania 1 1 31 47 54 98 133 202 275 279 288 436 509 518 533
20 Luxembourg 14 13.9 13.9 20.5 34.9 34.9 34.9 34.9 42.9 42.9 43.7 44.5 58.3 58.3 58.3 63.8 119.7 119.7 122.9
21 Montenegro 72 118
22 Netherlands 447 486 672 905 1075 1224 1453 1641 1921 1994 2009 2088 2205 2485 2637 3034 3300 3245 3436
23 North Macedonia 37 37 37 37 37
24 Norway 13 13 97 97 152 265 284 348 395 420.7 422.7 509.7 702.7 815.7 856.7 864.7 880.7 1204.7 1708
25 Poland 4 19 32 35 40 121 172 306 526 709 1108 1800 2564 3429 3836 4886 5747 5759.4 5766.1
26 Portugal 83 125 190 268 553 1064 1681 2201 2857 3326 3796 4254.4 4409.6 4607.9 4854.6 4934.8 5124.1 5124.1 5172.4
27 Romania 1 1 3 5 15 389 988 1822 2773 3244 3130 3025 3029.8 3032.3
28 Serbia 0.5 0.5 0.5 10.4 17 25 25
29 Slovakia 3 3 5 5 5 5 3 3 3 3 5 3 3 3 4 3
30 Slovenia 4 4 5 5 5 5.2
31 Spain 2206 3397 4891 5945 8317 9918 11722 14820 16555 19176 20693 21529 22789 22953 22920 22938 22985 23119.5 23400.1
32 Sweden 196 273 335 395 453 500 563 692 956 1312 1854 2601 3443 3982 4875 5606 6232 6408 7097
33 Switzerland 3 5 5 5 9 12 12 12 14 18 42 46 49 60 60 60 75 75 75
34 UK 408.2 489.2 530.2 678.2 809.2 1351.2 1651.2 2083.2 2849.8 3470.8 4079.8 4758 6035 7586.3 8572.7 9212.2 10832.3 12596.9 13553.9

View File

@ -0,0 +1,34 @@
Country/area,2000,2001,2002,2003,2004,2005,2006,2007,2008,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
Albania,,0.1,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.3,0.4,0.6,0.7,0.8,0.9,1.1,1,1,1
Austria,5,7,9,23,27,21,22.4,24.2,30.1,48.9,88.8,174.1,337.5,626,785.2,937.1,1096,1269,1437.6
Belgium,,,1,1,1,2,2,20,62,386,1007,1979,2647,2902,3015.2,3131.7,3327,3616.2,3986.5
Bosnia Herzg,,,,0.1,0.2,0.3,0.3,0.3,0.3,0.3,0.3,0.3,0.3,1.3,7.2,8.2,14.1,16,18.2
Bulgaria,,,,,,,,0,0.1,2,25,154,1013,1020,1026,1029,1028,1035.6,1032.7
Croatia,,,,,,,,,,0.3,0.3,0.3,4,19,33,47.8,55.8,60,67.7
Czechia,0.1,0.1,0.2,0.3,0.4,0.6,0.8,4,39.5,464.6,1727,1913,2022,2063.5,2067.4,2074.9,2067.9,2069.5,2075.1
Denmark,1,1,2,2,2,3,3,3,3,5,7,17,402,571,607,782.1,851,906.4,998
Estonia,,,,,,,,,,0.1,0.1,0.2,0.4,1.5,3.3,6.5,10,15,31.9
Finland,2,3,3,3,4,4,5,5,6,6,7,7,8,9,11,17,39,82,140
France,7,7,8,9,11,13,15,26,80,277,1044,3003.6,4358.8,5277.3,6034.4,7137.5,7702.1,8610.4,9617
Germany,114,195,260,435,1105,2056,2899,4170,6120,10564,18004,25914,34075,36708,37898,39222,40677,42291,45179
Greece,,1,1,1,1,1,5,9,12,46,202,612,1536,2579,2596,2604,2604,2605.5,2651.6
Hungary,,,,,,,,0.4,1,1,2,4,12,35,89,172,235,344,726
Ireland,,,,,,,,,,0.6,0.7,0.8,0.9,1,1.6,2.4,5.9,15.7,24.2
Italy,19,20,22,26,31,34,45,110,483,1264,3592,13131,16785,18185,18594,18901,19283,19682.3,20107.6
Latvia,,,,,,,,,,,,,0.2,0.2,0.2,0.2,0.7,0.7,2
Lithuania,,,,,,,,,0.1,0.1,0.1,0.3,7,68,69,69,70,73.8,82
Luxembourg,,0.2,1.6,14.2,23.6,23.6,23.7,23.9,24.6,26.4,29.5,40.7,74.7,95,109.9,116.3,121.9,128.1,130.6
Montenegro,,,,,,,0,0.2,0.4,0.4,0.6,0.8,0.9,1.1,2.1,2.7,3.1,3.4,3.4
Netherlands,13,21,26,46,50,51,53,54,59,69,90,149,369,746,1048,1515,2049,2903,4522
North Macedonia,,,,,,,,,,,0,2,4,7,15,17,16.7,16.7,20.6
Norway,6,6,6,7,7,7,8,8,8.3,8.7,9.1,9.5,10,11,13,15,26.7,44.9,68.4
Poland,,,,,,,,,,,,1.1,1.3,2.4,27.2,107.8,187.2,287.1,562
Portugal,1,1,1,2,2,2,3,24,59,115,134,172,238,296,415,447,512.8,579.2,667.4
Romania,,,,,,,,,0.1,0.1,0.1,1,41,761,1293,1326,1372,1374.1,1385.8
Serbia,,,,,,0.1,0.2,0.4,0.9,1.2,1.3,1.5,3.1,4.7,6,9,11,10,10
Slovakia,,,,,,,,,,,19,496,513,533,533,533,533,528,472
Slovenia,,,0,0,0,0,0.2,0.6,1,4,12,57,142,187,223,238,233,246.8,221.3
Spain,10,13,17,22,33,52,130,494,3384,3423,3873,4283,4569,4690,4697,4704,4713,4723,4763.5
Sweden,3,3,3,4,4,4,5,6,8,9,11,12,24,43,60,104,153,402,492
Switzerland,16,18,20,22,24,28,30,37,49,79,125,223,437,756,1061,1394,1664,1906,2171
UK,2,3,4,6,8,11,14,18,23,27,95,1000,1753,2937,5528,9601.2,11930.5,12781.8,13118.3
1 Country/area 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
2 Albania 0.1 0.2 0.2 0.2 0.2 0.2 0.2 0.2 0.3 0.4 0.6 0.7 0.8 0.9 1.1 1 1 1
3 Austria 5 7 9 23 27 21 22.4 24.2 30.1 48.9 88.8 174.1 337.5 626 785.2 937.1 1096 1269 1437.6
4 Belgium 1 1 1 2 2 20 62 386 1007 1979 2647 2902 3015.2 3131.7 3327 3616.2 3986.5
5 Bosnia Herzg 0.1 0.2 0.3 0.3 0.3 0.3 0.3 0.3 0.3 0.3 1.3 7.2 8.2 14.1 16 18.2
6 Bulgaria 0 0.1 2 25 154 1013 1020 1026 1029 1028 1035.6 1032.7
7 Croatia 0.3 0.3 0.3 4 19 33 47.8 55.8 60 67.7
8 Czechia 0.1 0.1 0.2 0.3 0.4 0.6 0.8 4 39.5 464.6 1727 1913 2022 2063.5 2067.4 2074.9 2067.9 2069.5 2075.1
9 Denmark 1 1 2 2 2 3 3 3 3 5 7 17 402 571 607 782.1 851 906.4 998
10 Estonia 0.1 0.1 0.2 0.4 1.5 3.3 6.5 10 15 31.9
11 Finland 2 3 3 3 4 4 5 5 6 6 7 7 8 9 11 17 39 82 140
12 France 7 7 8 9 11 13 15 26 80 277 1044 3003.6 4358.8 5277.3 6034.4 7137.5 7702.1 8610.4 9617
13 Germany 114 195 260 435 1105 2056 2899 4170 6120 10564 18004 25914 34075 36708 37898 39222 40677 42291 45179
14 Greece 1 1 1 1 1 5 9 12 46 202 612 1536 2579 2596 2604 2604 2605.5 2651.6
15 Hungary 0.4 1 1 2 4 12 35 89 172 235 344 726
16 Ireland 0.6 0.7 0.8 0.9 1 1.6 2.4 5.9 15.7 24.2
17 Italy 19 20 22 26 31 34 45 110 483 1264 3592 13131 16785 18185 18594 18901 19283 19682.3 20107.6
18 Latvia 0.2 0.2 0.2 0.2 0.7 0.7 2
19 Lithuania 0.1 0.1 0.1 0.3 7 68 69 69 70 73.8 82
20 Luxembourg 0.2 1.6 14.2 23.6 23.6 23.7 23.9 24.6 26.4 29.5 40.7 74.7 95 109.9 116.3 121.9 128.1 130.6
21 Montenegro 0 0.2 0.4 0.4 0.6 0.8 0.9 1.1 2.1 2.7 3.1 3.4 3.4
22 Netherlands 13 21 26 46 50 51 53 54 59 69 90 149 369 746 1048 1515 2049 2903 4522
23 North Macedonia 0 2 4 7 15 17 16.7 16.7 20.6
24 Norway 6 6 6 7 7 7 8 8 8.3 8.7 9.1 9.5 10 11 13 15 26.7 44.9 68.4
25 Poland 1.1 1.3 2.4 27.2 107.8 187.2 287.1 562
26 Portugal 1 1 1 2 2 2 3 24 59 115 134 172 238 296 415 447 512.8 579.2 667.4
27 Romania 0.1 0.1 0.1 1 41 761 1293 1326 1372 1374.1 1385.8
28 Serbia 0.1 0.2 0.4 0.9 1.2 1.3 1.5 3.1 4.7 6 9 11 10 10
29 Slovakia 19 496 513 533 533 533 533 528 472
30 Slovenia 0 0 0 0 0.2 0.6 1 4 12 57 142 187 223 238 233 246.8 221.3
31 Spain 10 13 17 22 33 52 130 494 3384 3423 3873 4283 4569 4690 4697 4704 4713 4723 4763.5
32 Sweden 3 3 3 4 4 4 5 6 8 9 11 12 24 43 60 104 153 402 492
33 Switzerland 16 18 20 22 24 28 30 37 49 79 125 223 437 756 1061 1394 1664 1906 2171
34 UK 2 3 4 6 8 11 14 18 23 27 95 1000 1753 2937 5528 9601.2 11930.5 12781.8 13118.3

View File

@ -0,0 +1,25 @@
hour,residential space weekday,residential space weekend,residential water weekday,residential water weekend,services space weekday,services space weekend,services water weekday,services water weekend
0,0.9181438689,0.9421512708,1,1,0.9181438689,0.9421512708,1,1
1,0.9172359071,0.9400891069,1,1,0.9172359071,0.9400891069,1,1
2,0.9269464481,0.9461062015,1,1,0.9269464481,0.9461062015,1,1
3,0.9415047932,0.9535084941,1,1,0.9415047932,0.9535084941,1,1
4,0.9656299507,0.9651094993,1,1,0.9656299507,0.9651094993,1,1
5,1.0221166443,0.9834676747,1,1,1.0221166443,0.9834676747,1,1
6,1.1553090493,1.0124171051,1,1,1.1553090493,1.0124171051,1,1
7,1.2093411031,1.0446615927,1,1,1.2093411031,1.0446615927,1,1
8,1.1470295942,1.088203419,1,1,1.1470295942,1.088203419,1,1
9,1.0877191341,1.1110334576,1,1,1.0877191341,1.1110334576,1,1
10,1.0418327372,1.0926752822,1,1,1.0418327372,1.0926752822,1,1
11,1.0062977133,1.055488209,1,1,1.0062977133,1.055488209,1,1
12,0.9837030359,1.0251266112,1,1,0.9837030359,1.0251266112,1,1
13,0.9667570278,0.9990015154,1,1,0.9667570278,0.9990015154,1,1
14,0.9548320932,0.9782897278,1,1,0.9548320932,0.9782897278,1,1
15,0.9509232061,0.9698167237,1,1,0.9509232061,0.9698167237,1,1
16,0.9636973319,0.974288587,1,1,0.9636973319,0.974288587,1,1
17,0.9799372563,0.9886456216,1,1,0.9799372563,0.9886456216,1,1
18,1.0046501848,1.0084159643,1,1,1.0046501848,1.0084159643,1,1
19,1.0079452419,1.0171243296,1,1,1.0079452419,1.0171243296,1,1
20,0.9860566481,0.9994722379,1,1,0.9860566481,0.9994722379,1,1
21,0.9705228074,0.982761591,1,1,0.9705228074,0.982761591,1,1
22,0.9586485819,0.9698167237,1,1,0.9586485819,0.9698167237,1,1
23,0.9335023778,0.9515079292,1,1,0.9335023778,0.9515079292,1,1
1 hour residential space weekday residential space weekend residential water weekday residential water weekend services space weekday services space weekend services water weekday services water weekend
2 0 0.9181438689 0.9421512708 1 1 0.9181438689 0.9421512708 1 1
3 1 0.9172359071 0.9400891069 1 1 0.9172359071 0.9400891069 1 1
4 2 0.9269464481 0.9461062015 1 1 0.9269464481 0.9461062015 1 1
5 3 0.9415047932 0.9535084941 1 1 0.9415047932 0.9535084941 1 1
6 4 0.9656299507 0.9651094993 1 1 0.9656299507 0.9651094993 1 1
7 5 1.0221166443 0.9834676747 1 1 1.0221166443 0.9834676747 1 1
8 6 1.1553090493 1.0124171051 1 1 1.1553090493 1.0124171051 1 1
9 7 1.2093411031 1.0446615927 1 1 1.2093411031 1.0446615927 1 1
10 8 1.1470295942 1.088203419 1 1 1.1470295942 1.088203419 1 1
11 9 1.0877191341 1.1110334576 1 1 1.0877191341 1.1110334576 1 1
12 10 1.0418327372 1.0926752822 1 1 1.0418327372 1.0926752822 1 1
13 11 1.0062977133 1.055488209 1 1 1.0062977133 1.055488209 1 1
14 12 0.9837030359 1.0251266112 1 1 0.9837030359 1.0251266112 1 1
15 13 0.9667570278 0.9990015154 1 1 0.9667570278 0.9990015154 1 1
16 14 0.9548320932 0.9782897278 1 1 0.9548320932 0.9782897278 1 1
17 15 0.9509232061 0.9698167237 1 1 0.9509232061 0.9698167237 1 1
18 16 0.9636973319 0.974288587 1 1 0.9636973319 0.974288587 1 1
19 17 0.9799372563 0.9886456216 1 1 0.9799372563 0.9886456216 1 1
20 18 1.0046501848 1.0084159643 1 1 1.0046501848 1.0084159643 1 1
21 19 1.0079452419 1.0171243296 1 1 1.0079452419 1.0171243296 1 1
22 20 0.9860566481 0.9994722379 1 1 0.9860566481 0.9994722379 1 1
23 21 0.9705228074 0.982761591 1 1 0.9705228074 0.982761591 1 1
24 22 0.9586485819 0.9698167237 1 1 0.9586485819 0.9698167237 1 1
25 23 0.9335023778 0.9515079292 1 1 0.9335023778 0.9515079292 1 1

View File

@ -0,0 +1,25 @@
,residential space weekday,residential space weekend,services space weekday,services space weekend,residential water weekday,residential water weekend,services water weekday,services water weekend
0,0.5437843306385036,0.5391846410003029,0.740230434593118,0.7918173557545402,1.0,1.0,1.0,1.0
1,0.5690496225400243,0.5641534370440313,0.7642025524842398,0.7929627291950984,1.0,1.0,1.0,1.0
2,0.5624023211873742,0.5575494117194042,0.8264420882344785,0.8961602364492307,1.0,1.0,1.0,1.0
3,0.6120351867307156,0.6074588966300298,0.9338477492552973,1.066547622880321,1.0,1.0,1.0,1.0
4,0.8210089232467712,0.8188451841881503,1.1288089786462463,1.2779268432155158,1.0,1.0,1.0,1.0
5,1.2287073985428116,1.2315677844536332,1.3311522394966053,1.2808129834243316,1.0,1.0,1.0,1.0
6,1.327953505819319,1.3349874311629708,1.3976491755316236,1.3076676145167292,1.0,1.0,1.0,1.0
7,1.2533048874868005,1.2584095945395426,1.3529869654334066,1.239881414312941,1.0,1.0,1.0,1.0
8,1.204661538907097,1.206562127967529,1.2631870820835946,1.157513929299677,1.0,1.0,1.0,1.0
9,1.1511425365003825,1.152931252109671,1.183486516733693,1.1001631309844286,1.0,1.0,1.0,1.0
10,1.0982914366923946,1.0987739728887453,1.1056637898031139,1.0553379006911972,1.0,1.0,1.0,1.0
11,1.0602079991199889,1.0598534287519163,1.0536117591812475,0.9953570175561463,1.0,1.0,1.0,1.0
12,1.0430483470403709,1.042552786631541,1.0075511014823457,0.9238971341830102,1.0,1.0,1.0,1.0
13,1.023765876994618,1.0234573235486537,0.983633820661761,0.928978159404834,1.0,1.0,1.0,1.0
14,1.0250355817085612,1.0241187665206792,0.973887563496691,0.9277637088455348,1.0,1.0,1.0,1.0
15,1.0419068035344277,1.0407369052119213,0.968639109712126,0.940383626933661,1.0,1.0,1.0,1.0
16,1.0886607269753739,1.0871365340901091,0.9776106671510321,0.9762628252848075,1.0,1.0,1.0,1.0
17,1.1391891744979068,1.1377875788466947,0.9713068946564802,0.9923707220696051,1.0,1.0,1.0,1.0
18,1.1813708458227477,1.1815796155786216,0.97710710371407,0.9822063279944322,1.0,1.0,1.0,1.0
19,1.2048721952031847,1.2066686818939167,0.9620977486617706,0.9872726025741575,1.0,1.0,1.0,1.0
20,1.1883594612741015,1.1911629803333679,0.9096499832485738,0.9736368622053816,1.0,1.0,1.0,1.0
21,1.0841006081889941,1.0875548281900813,0.7954827338259405,0.8733383541170725,1.0,1.0,1.0,1.0
22,0.8887378869444746,0.8893062174837649,0.7007233800713178,0.7753100551108082,1.0,1.0,1.0,1.0
23,0.6584028044030574,0.6576606192147261,0.6910405618412271,0.756430842996538,1.0,1.0,1.0,1.0
1 residential space weekday residential space weekend services space weekday services space weekend residential water weekday residential water weekend services water weekday services water weekend
2 0 0.5437843306385036 0.5391846410003029 0.740230434593118 0.7918173557545402 1.0 1.0 1.0 1.0
3 1 0.5690496225400243 0.5641534370440313 0.7642025524842398 0.7929627291950984 1.0 1.0 1.0 1.0
4 2 0.5624023211873742 0.5575494117194042 0.8264420882344785 0.8961602364492307 1.0 1.0 1.0 1.0
5 3 0.6120351867307156 0.6074588966300298 0.9338477492552973 1.066547622880321 1.0 1.0 1.0 1.0
6 4 0.8210089232467712 0.8188451841881503 1.1288089786462463 1.2779268432155158 1.0 1.0 1.0 1.0
7 5 1.2287073985428116 1.2315677844536332 1.3311522394966053 1.2808129834243316 1.0 1.0 1.0 1.0
8 6 1.327953505819319 1.3349874311629708 1.3976491755316236 1.3076676145167292 1.0 1.0 1.0 1.0
9 7 1.2533048874868005 1.2584095945395426 1.3529869654334066 1.239881414312941 1.0 1.0 1.0 1.0
10 8 1.204661538907097 1.206562127967529 1.2631870820835946 1.157513929299677 1.0 1.0 1.0 1.0
11 9 1.1511425365003825 1.152931252109671 1.183486516733693 1.1001631309844286 1.0 1.0 1.0 1.0
12 10 1.0982914366923946 1.0987739728887453 1.1056637898031139 1.0553379006911972 1.0 1.0 1.0 1.0
13 11 1.0602079991199889 1.0598534287519163 1.0536117591812475 0.9953570175561463 1.0 1.0 1.0 1.0
14 12 1.0430483470403709 1.042552786631541 1.0075511014823457 0.9238971341830102 1.0 1.0 1.0 1.0
15 13 1.023765876994618 1.0234573235486537 0.983633820661761 0.928978159404834 1.0 1.0 1.0 1.0
16 14 1.0250355817085612 1.0241187665206792 0.973887563496691 0.9277637088455348 1.0 1.0 1.0 1.0
17 15 1.0419068035344277 1.0407369052119213 0.968639109712126 0.940383626933661 1.0 1.0 1.0 1.0
18 16 1.0886607269753739 1.0871365340901091 0.9776106671510321 0.9762628252848075 1.0 1.0 1.0 1.0
19 17 1.1391891744979068 1.1377875788466947 0.9713068946564802 0.9923707220696051 1.0 1.0 1.0 1.0
20 18 1.1813708458227477 1.1815796155786216 0.97710710371407 0.9822063279944322 1.0 1.0 1.0 1.0
21 19 1.2048721952031847 1.2066686818939167 0.9620977486617706 0.9872726025741575 1.0 1.0 1.0 1.0
22 20 1.1883594612741015 1.1911629803333679 0.9096499832485738 0.9736368622053816 1.0 1.0 1.0 1.0
23 21 1.0841006081889941 1.0875548281900813 0.7954827338259405 0.8733383541170725 1.0 1.0 1.0 1.0
24 22 0.8887378869444746 0.8893062174837649 0.7007233800713178 0.7753100551108082 1.0 1.0 1.0 1.0
25 23 0.6584028044030574 0.6576606192147261 0.6910405618412271 0.756430842996538 1.0 1.0 1.0 1.0

View File

@ -0,0 +1,25 @@
hour,weekday,weekend
0,0.9181438689,0.9421512708
1,0.9172359071,0.9400891069
2,0.9269464481,0.9461062015
3,0.9415047932,0.9535084941
4,0.9656299507,0.9651094993
5,1.0221166443,0.9834676747
6,1.1553090493,1.0124171051
7,1.2093411031,1.0446615927
8,1.1470295942,1.088203419
9,1.0877191341,1.1110334576
10,1.0418327372,1.0926752822
11,1.0062977133,1.055488209
12,0.9837030359,1.0251266112
13,0.9667570278,0.9990015154
14,0.9548320932,0.9782897278
15,0.9509232061,0.9698167237
16,0.9636973319,0.974288587
17,0.9799372563,0.9886456216
18,1.0046501848,1.0084159643
19,1.0079452419,1.0171243296
20,0.9860566481,0.9994722379
21,0.9705228074,0.982761591
22,0.9586485819,0.9698167237
23,0.9335023778,0.9515079292
1 hour weekday weekend
2 0 0.9181438689 0.9421512708
3 1 0.9172359071 0.9400891069
4 2 0.9269464481 0.9461062015
5 3 0.9415047932 0.9535084941
6 4 0.9656299507 0.9651094993
7 5 1.0221166443 0.9834676747
8 6 1.1553090493 1.0124171051
9 7 1.2093411031 1.0446615927
10 8 1.1470295942 1.088203419
11 9 1.0877191341 1.1110334576
12 10 1.0418327372 1.0926752822
13 11 1.0062977133 1.055488209
14 12 0.9837030359 1.0251266112
15 13 0.9667570278 0.9990015154
16 14 0.9548320932 0.9782897278
17 15 0.9509232061 0.9698167237
18 16 0.9636973319 0.974288587
19 17 0.9799372563 0.9886456216
20 18 1.0046501848 1.0084159643
21 19 1.0079452419 1.0171243296
22 20 0.9860566481 0.9994722379
23 21 0.9705228074 0.982761591
24 22 0.9586485819 0.9698167237
25 23 0.9335023778 0.9515079292

View File

@ -0,0 +1,31 @@
ct,TWh
AT,
BA,
BE,
BG,
CH,
CZ,
DE,4500
DK,700
EE,
ES,350
FI,
FR,
GB,1050
GR,120
HR,
HU,
IE,
IT,
LT,
LU,
LV,
NL,150
NO,
PL,120
PT,400
RO,
RS,
SE,
SI,
SK,
1 ct TWh
2 AT
3 BA
4 BE
5 BG
6 CH
7 CZ
8 DE 4500
9 DK 700
10 EE
11 ES 350
12 FI
13 FR
14 GB 1050
15 GR 120
16 HR
17 HU
18 IE
19 IT
20 LT
21 LU
22 LV
23 NL 150
24 NO
25 PL 120
26 PT 400
27 RO
28 RS
29 SE
30 SI
31 SK

View File

@ -0,0 +1,3 @@
attribute,type,unit,default,description,status
location,string,n/a,n/a,Reference to original electricity bus,Input (optional)
unit,string,n/a,MWh,Unit of the bus (descriptive only), Input (optional)
1 attribute type unit default description status
2 location string n/a n/a Reference to original electricity bus Input (optional)
3 unit string n/a MWh Unit of the bus (descriptive only) Input (optional)

View File

@ -0,0 +1,4 @@
attribute,type,unit,default,description,status
carrier,string,n/a,n/a,carrier,Input (optional)
lifetime,float,years,inf,lifetime,Input (optional)
build_year,int,year ,0,build year,Input (optional)
1 attribute type unit default description status
2 carrier string n/a n/a carrier Input (optional)
3 lifetime float years inf lifetime Input (optional)
4 build_year int year 0 build year Input (optional)

View File

@ -0,0 +1,13 @@
attribute,type,unit,default,description,status
bus2,string,n/a,n/a,2nd bus,Input (optional)
bus3,string,n/a,n/a,3rd bus,Input (optional)
bus4,string,n/a,n/a,4th bus,Input (optional)
efficiency2,static or series,per unit,1,2nd bus efficiency,Input (optional)
efficiency3,static or series,per unit,1,3rd bus efficiency,Input (optional)
efficiency4,static or series,per unit,1,4th bus efficiency,Input (optional)
p2,series,MW,0,2nd bus output,Output
p3,series,MW,0,3rd bus output,Output
p4,series,MW,0,4th bus output,Output
carrier,string,n/a,n/a,carrier,Input (optional)
lifetime,float,years,inf,lifetime,Input (optional)
build_year,int,year ,0,build year,Input (optional)
1 attribute type unit default description status
2 bus2 string n/a n/a 2nd bus Input (optional)
3 bus3 string n/a n/a 3rd bus Input (optional)
4 bus4 string n/a n/a 4th bus Input (optional)
5 efficiency2 static or series per unit 1 2nd bus efficiency Input (optional)
6 efficiency3 static or series per unit 1 3rd bus efficiency Input (optional)
7 efficiency4 static or series per unit 1 4th bus efficiency Input (optional)
8 p2 series MW 0 2nd bus output Output
9 p3 series MW 0 3rd bus output Output
10 p4 series MW 0 4th bus output Output
11 carrier string n/a n/a carrier Input (optional)
12 lifetime float years inf lifetime Input (optional)
13 build_year int year 0 build year Input (optional)

View File

@ -0,0 +1,2 @@
attribute,type,unit,default,description,status
carrier,string,n/a,n/a,carrier,Input (optional)
1 attribute type unit default description status
2 carrier string n/a n/a carrier Input (optional)

View File

@ -0,0 +1,4 @@
attribute,type,unit,default,description,status
carrier,string,n/a,n/a,carrier,Input (optional)
lifetime,float,years,inf,lifetime,Input (optional)
build_year,int,year ,0,build year,Input (optional)
1 attribute type unit default description status
2 carrier string n/a n/a carrier Input (optional)
3 lifetime float years inf lifetime Input (optional)
4 build_year int year 0 build year Input (optional)

View File

@ -0,0 +1,49 @@
NA_ITEM,Price level indices (EU28=100),,,,,,,,,
PPP_CAT,Actual individual consumption,,,,,,,,,
,,,,,,,,,,
GEO/TIME,2009,2010,2011,2012,2013,2014,2015,2016,2017,2018
European Union - 28 countries,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0,100.0
Belgium,113.6,111.9,112.4,111.5,111.0,108.9,106.3,110.3,112.3,112.5
Bulgaria,47.1,45.7,45.5,45.0,44.2,42.6,42.2,43.2,45.1,46.3
Czech Republic,64.5,66.6,68.9,66.9,63.3,58.3,58.4,60.5,62.4,65.0
Denmark,141.7,140.0,139.9,140.0,139.3,138.5,135.0,140.0,138.9,138.1
Germany,104.6,103.1,102.2,101.1,102.5,101.5,100.4,102.6,103.7,104.1
Estonia,67.5,66.0,67.2,67.6,69.9,69.9,68.9,71.0,73.9,76.3
Ireland,129.9,122.7,122.5,120.5,123.2,124.9,122.2,126.5,129.1,129.2
Greece,93.6,95.4,94.9,91.9,87.8,83.8,81.0,82.3,83.0,81.8
Spain,97.5,98.7,98.5,95.8,95.1,92.7,90.0,92.7,93.7,93.7
France,111.2,109.9,109.6,108.7,107.0,106.0,104.0,105.8,107.1,107.4
Croatia,70.2,70.1,68.1,65.5,64.5,62.5,60.7,61.3,63.0,64.0
Italy,103.6,100.4,101.5,101.1,102.3,102.6,100.3,101.1,101.6,101.4
Cyprus,92.0,94.6,95.8,96.0,95.2,92.0,88.5,89.8,91.2,90.6
Latvia,68.1,62.3,65.5,65.9,66.0,66.0,64.2,66.9,68.3,69.5
Lithuania,60.3,57.8,58.3,58.0,57.8,56.9,55.9,58.3,60.0,61.4
Luxembourg,130.0,136.5,136.0,135.8,135.1,135.7,132.1,137.0,139.9,141.6
Hungary,58.2,57.4,56.4,54.9,54.4,53.4,53.3,56.2,59.4,59.0
Malta,75.8,76.6,78.0,78.0,80.8,80.5,79.8,81.4,81.9,83.4
Netherlands,108.5,112.3,112.7,111.3,111.9,111.9,109.6,113.8,114.6,114.8
Austria,109.9,109.2,110.1,108.9,109.1,109.1,107.2,110.2,112.8,113.7
Poland,53.1,55.2,53.7,52.1,52.4,52.5,51.1,50.9,53.5,54.3
Portugal,85.2,85.0,85.3,82.7,81.1,80.4,78.7,81.6,83.5,84.6
Romania,49.1,46.9,47.7,45.6,47.8,47.6,47.2,46.8,48.0,48.6
Slovenia,85.3,84.3,83.7,81.8,82.1,81.5,79.8,82.3,82.7,83.8
Slovakia,66.6,62.5,63.4,63.4,63.4,63.3,62.3,63.6,65.4,66.1
Finland,121.0,120.3,121.6,121.8,124.0,122.9,119.6,122.8,123.3,123.4
Sweden,109.5,124.6,131.7,134.3,140.5,133.6,128.8,135.3,134.5,126.9
United Kingdom,107.5,111.4,111.3,118.6,117.0,123.6,134.7,123.5,117.6,117.7
Iceland,94.9,107.6,109.6,111.6,116.0,123.4,132.5,154.5,172.3,163.7
Norway,142.4,158.8,165.3,172.5,166.9,157.2,152.2,155.0,157.3,155.4
Switzerland,131.6,146.4,161.7,160.6,155.1,153.0,167.0,169.8,167.1,159.1
Candidate and potential candidate countries except Turkey and Kosovo (under United Nations Security Council Resolution 1244/99),48.0,45.6,47.1,44.8,46.4,45.2,43.4,44.4,46.0,47.5
Montenegro,52.3,49.5,49.3,50.1,50.5,49.3,48.0,48.7,50.5,51.1
North Macedonia,41.4,41.3,42.7,42.1,42.5,41.9,40.9,41.7,43.2,43.3
Albania,46.2,42.8,42.1,40.6,41.9,41.5,39.8,43.0,43.5,46.6
Serbia,48.3,45.0,48.0,44.5,47.3,45.5,43.1,43.8,46.1,47.9
Turkey,55.4,61.2,54.7,58.5,57.7,51.6,50.5,50.2,45.4,37.0
Bosnia and Herzegovina,51.6,50.7,50.6,49.2,49.1,48.4,47.0,47.5,48.2,48.9
Kosovo (under United Nations Security Council Resolution 1244/99),:,:,:,:,:,:,:,:,:,:
United States,92.4,98,93.3,101.2,100.3,99,115.9,121.1,120.8,115.2
Japan,115.1,126.1,127.8,133.8,101.7,94.8,96.5,113,109.4,103.9
,,,,,,,,,,
"Source: Eurostat Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates (2019)",,,,,,,,,,
https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Comparative_price_levels_for_investment,,,,,,,,,,
1 NA_ITEM Price level indices (EU28=100)
2 PPP_CAT Actual individual consumption
3
4 GEO/TIME 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018
5 European Union - 28 countries 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0 100.0
6 Belgium 113.6 111.9 112.4 111.5 111.0 108.9 106.3 110.3 112.3 112.5
7 Bulgaria 47.1 45.7 45.5 45.0 44.2 42.6 42.2 43.2 45.1 46.3
8 Czech Republic 64.5 66.6 68.9 66.9 63.3 58.3 58.4 60.5 62.4 65.0
9 Denmark 141.7 140.0 139.9 140.0 139.3 138.5 135.0 140.0 138.9 138.1
10 Germany 104.6 103.1 102.2 101.1 102.5 101.5 100.4 102.6 103.7 104.1
11 Estonia 67.5 66.0 67.2 67.6 69.9 69.9 68.9 71.0 73.9 76.3
12 Ireland 129.9 122.7 122.5 120.5 123.2 124.9 122.2 126.5 129.1 129.2
13 Greece 93.6 95.4 94.9 91.9 87.8 83.8 81.0 82.3 83.0 81.8
14 Spain 97.5 98.7 98.5 95.8 95.1 92.7 90.0 92.7 93.7 93.7
15 France 111.2 109.9 109.6 108.7 107.0 106.0 104.0 105.8 107.1 107.4
16 Croatia 70.2 70.1 68.1 65.5 64.5 62.5 60.7 61.3 63.0 64.0
17 Italy 103.6 100.4 101.5 101.1 102.3 102.6 100.3 101.1 101.6 101.4
18 Cyprus 92.0 94.6 95.8 96.0 95.2 92.0 88.5 89.8 91.2 90.6
19 Latvia 68.1 62.3 65.5 65.9 66.0 66.0 64.2 66.9 68.3 69.5
20 Lithuania 60.3 57.8 58.3 58.0 57.8 56.9 55.9 58.3 60.0 61.4
21 Luxembourg 130.0 136.5 136.0 135.8 135.1 135.7 132.1 137.0 139.9 141.6
22 Hungary 58.2 57.4 56.4 54.9 54.4 53.4 53.3 56.2 59.4 59.0
23 Malta 75.8 76.6 78.0 78.0 80.8 80.5 79.8 81.4 81.9 83.4
24 Netherlands 108.5 112.3 112.7 111.3 111.9 111.9 109.6 113.8 114.6 114.8
25 Austria 109.9 109.2 110.1 108.9 109.1 109.1 107.2 110.2 112.8 113.7
26 Poland 53.1 55.2 53.7 52.1 52.4 52.5 51.1 50.9 53.5 54.3
27 Portugal 85.2 85.0 85.3 82.7 81.1 80.4 78.7 81.6 83.5 84.6
28 Romania 49.1 46.9 47.7 45.6 47.8 47.6 47.2 46.8 48.0 48.6
29 Slovenia 85.3 84.3 83.7 81.8 82.1 81.5 79.8 82.3 82.7 83.8
30 Slovakia 66.6 62.5 63.4 63.4 63.4 63.3 62.3 63.6 65.4 66.1
31 Finland 121.0 120.3 121.6 121.8 124.0 122.9 119.6 122.8 123.3 123.4
32 Sweden 109.5 124.6 131.7 134.3 140.5 133.6 128.8 135.3 134.5 126.9
33 United Kingdom 107.5 111.4 111.3 118.6 117.0 123.6 134.7 123.5 117.6 117.7
34 Iceland 94.9 107.6 109.6 111.6 116.0 123.4 132.5 154.5 172.3 163.7
35 Norway 142.4 158.8 165.3 172.5 166.9 157.2 152.2 155.0 157.3 155.4
36 Switzerland 131.6 146.4 161.7 160.6 155.1 153.0 167.0 169.8 167.1 159.1
37 Candidate and potential candidate countries except Turkey and Kosovo (under United Nations Security Council Resolution 1244/99) 48.0 45.6 47.1 44.8 46.4 45.2 43.4 44.4 46.0 47.5
38 Montenegro 52.3 49.5 49.3 50.1 50.5 49.3 48.0 48.7 50.5 51.1
39 North Macedonia 41.4 41.3 42.7 42.1 42.5 41.9 40.9 41.7 43.2 43.3
40 Albania 46.2 42.8 42.1 40.6 41.9 41.5 39.8 43.0 43.5 46.6
41 Serbia 48.3 45.0 48.0 44.5 47.3 45.5 43.1 43.8 46.1 47.9
42 Turkey 55.4 61.2 54.7 58.5 57.7 51.6 50.5 50.2 45.4 37.0
43 Bosnia and Herzegovina 51.6 50.7 50.6 49.2 49.1 48.4 47.0 47.5 48.2 48.9
44 Kosovo (under United Nations Security Council Resolution 1244/99) : : : : : : : : : :
45 United States 92.4 98 93.3 101.2 100.3 99 115.9 121.1 120.8 115.2
46 Japan 115.1 126.1 127.8 133.8 101.7 94.8 96.5 113 109.4 103.9
47
48 Source: Eurostat Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates (2019)
49 https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Comparative_price_levels_for_investment

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,164 @@
Electricity prices for household consumers - bi-annual data (from 2007 onwards) [nrg_pc_204],,,,
,,,,
Last update,30.10.19,,,
Extracted on,14.11.19,,,
Source of data,Eurostat,,,
,,,,
PRODUCT,Electrical energy,,,
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
UNIT,Kilowatt-hour,,,
TIME,2018S1,,,
,,,,
CURRENCY,Euro,Euro,Euro,
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,% cost without taxes
European Union - 28 countries,0.1285,0.1756,0.2052,0.626218323586745
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1331,0.1855,0.2188,0.608318098720293
Belgium,0.1903,0.2279,0.2733,0.696304427369191
Bulgaria,0.0816,0.0816,0.0979,0.833503575076609
Czech Republic,0.1286,0.1298,0.1573,0.817546090273363
Denmark,0.1011,0.2501,0.3126,0.32341650671785
Germany,0.1379,0.2510,0.2987,0.461667224640107
Estonia,0.0989,0.1123,0.1348,0.733679525222552
Ireland,0.1846,0.2087,0.2369,0.779231743351625
Greece,0.1132,0.1482,0.1672,0.677033492822967
Spain,0.1873,0.1969,0.2383,0.785984053713806
France,0.1134,0.1492,0.1748,0.648741418764302
Croatia,0.1020,0.1160,0.1311,0.778032036613272
Italy,0.1285,0.1873,0.2067,0.621673923560716
Cyprus,0.1445,0.1606,0.1893,0.763338615953513
Latvia,0.1035,0.1266,0.1531,0.676028739386022
Lithuania,0.0771,0.0906,0.1097,0.702825888787603
Luxembourg,0.1283,0.1547,0.1671,0.767803710353082
Hungary,0.0885,0.0885,0.1123,0.78806767586821
Malta,0.1209,0.1224,0.1285,0.940856031128405
Netherlands,0.1187,0.1410,0.1706,0.6957796014068
Austria,0.1232,0.1638,0.1966,0.626653102746694
Poland,0.0906,0.1146,0.1410,0.642553191489362
Portugal,0.1007,0.1826,0.2246,0.448352626892253
Romania,0.0990,0.1120,0.1333,0.742685671417854
Slovenia,0.1108,0.1322,0.1613,0.686918784872908
Slovakia,0.0942,0.1305,0.1566,0.601532567049808
Finland,0.1074,0.1300,0.1612,0.666253101736973
Sweden,0.1202,0.1513,0.1891,0.635642517186674
United Kingdom,0.1347,0.1797,0.1887,0.713831478537361
Iceland,0.1222,0.1246,0.1545,0.790938511326861
Liechtenstein,:,:,:,#VALUE!
Norway,0.1254,0.1434,0.1751,0.716162193032553
Montenegro,0.0828,0.0844,0.1024,0.80859375
North Macedonia,0.0662,0.0662,0.0781,0.847631241997439
Albania,:,:,:,#VALUE!
Serbia,0.0539,0.0587,0.0705,0.764539007092199
Turkey,0.0727,0.0766,0.0904,0.804203539823009
Bosnia and Herzegovina,0.0722,0.0738,0.0864,0.835648148148148
Kosovo (under United Nations Security Council Resolution 1244/99),0.0569,0.0586,0.0633,0.898894154818325
Moldova,0.1020,0.1020,0.1020,1
Ukraine,0.0342,0.0342,0.0410,0.834146341463415
,,,0.157271052631579,
Special value:,,,,
:,not available,,,
,,,,
PRODUCT,Electrical energy,,,
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
UNIT,Kilowatt-hour,,,
TIME,2018S2,,,
,,,,
CURRENCY,Euro,Euro,Euro,
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,
European Union - 28 countries,0.1329,0.1810,0.2113,
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1376,0.1902,0.2242,
Belgium,0.1998,0.2429,0.2937,
Bulgaria,0.0838,0.0838,0.1005,
Czechia,0.1299,0.1311,0.1586,
Denmark,0.1116,0.2499,0.3123,
Germany (until 1990 former territory of the FRG),0.1378,0.2521,0.3000,
Estonia,0.1048,0.1182,0.1418,
Ireland,0.2006,0.2237,0.2539,
Greece,0.1125,0.1458,0.1646,
Spain,0.1947,0.2047,0.2477,
France,0.1168,0.1537,0.1799,
Croatia,0.1028,0.1169,0.1321,
Italy,0.1416,0.1964,0.2161,
Cyprus,0.1745,0.1850,0.2183,
Latvia,0.1041,0.1249,0.1511,
Lithuania,0.0771,0.0906,0.1097,
Luxembourg,0.1302,0.1566,0.1691,
Hungary,0.0880,0.0880,0.1118,
Malta,0.1229,0.1244,0.1306,
Netherlands,0.1212,0.1420,0.1707,
Austria,0.1265,0.1676,0.2012,
Poland,0.0889,0.1135,0.1396,
Portugal,0.1028,0.1864,0.2293,
Romania,0.0964,0.1107,0.1317,
Slovenia,0.1125,0.1342,0.1638,
Slovakia,0.0849,0.1218,0.1462,
Finland,0.1144,0.1369,0.1698,
Sweden,0.1287,0.1592,0.1990,
United Kingdom,0.1401,0.1927,0.2024,
Iceland,0.1152,0.1175,0.1457,
Liechtenstein,:,:,:,
Norway,0.1382,0.1562,0.1907,
Montenegro,0.0829,0.0848,0.1030,
North Macedonia,0.0667,0.0667,0.0787,
Albania,0.0759,0.0759,0.0910,
Serbia,0.0542,0.0591,0.0709,
Turkey,0.0688,0.0726,0.0857,
Bosnia and Herzegovina,0.0729,0.0744,0.0871,
Kosovo (under United Nations Security Council Resolution 1244/99),0.0579,0.0591,0.0638,
Moldova,0.0960,0.0960,0.1029,
Ukraine,0.0342,0.0342,0.0410,
,,,,
Special value:,,,,
:,not available,,,
,,,,
PRODUCT,Electrical energy,,,
CONSOM,Band DC : 2 500 kWh < Consumption < 5 000 kWh,,,
UNIT,Kilowatt-hour,,,
TIME,2019S1,,,
,,,,
CURRENCY,Euro,Euro,Euro,
GEO/TAX,Excluding taxes and levies,Excluding VAT and other recoverable taxes and levies,All taxes and levies included,
European Union - 28 countries,0.1351,0.1841,0.2147,
"Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19)",0.1396,0.1928,0.2270,
Belgium,0.1965,0.2355,0.2839,
Bulgaria,0.0831,0.0831,0.0997,
Czechia,0.1433,0.1444,0.1748,
Denmark,0.1084,0.2387,0.2984,
Germany (until 1990 former territory of the FRG),0.1473,0.2595,0.3088,
Estonia,0.0982,0.1131,0.1357,
Ireland,0.2027,0.2134,0.2423,
Greece,0.1139,0.1482,0.1650,
Spain,0.1889,0.1986,0.2403,
France,0.1138,0.1508,0.1765,
Croatia,0.1028,0.1169,0.1321,
Italy,0.1432,0.2090,0.2301,
Cyprus,0.1762,0.1867,0.2203,
Latvia,0.1136,0.1347,0.1629,
Lithuania,0.0947,0.1037,0.1255,
Luxembourg,0.1326,0.1666,0.1798,
Hungary,0.0882,0.0882,0.1120,
Malta,0.1228,0.1243,0.1305,
Netherlands,0.1357,0.1708,0.2052,
Austria,0.1316,0.1695,0.2034,
Poland,0.0884,0.1092,0.1343,
Portugal,0.1103,0.1751,0.2154,
Romania,0.0983,0.1141,0.1358,
Slovenia,0.1125,0.1339,0.1634,
Slovakia,0.0962,0.1314,0.1577,
Finland,0.1173,0.1398,0.1734,
Sweden,0.1297,0.1612,0.2015,
United Kingdom,0.1450,0.2021,0.2122,
Iceland,0.1112,0.1134,0.1406,
Liechtenstein,:,:,:,
Norway,0.1360,0.1529,0.1867,
Montenegro,0.0834,0.0850,0.1032,
North Macedonia,:,:,:,
Albania,:,:,:,
Serbia,0.0541,0.0589,0.0706,
Turkey,0.0684,0.0718,0.0847,
Bosnia and Herzegovina,0.0729,0.0746,0.0873,
Kosovo (under United Nations Security Council Resolution 1244/99),0.0537,0.0556,0.0600,
Moldova,0.0936,0.0936,0.0936,
Ukraine,0.0369,0.0369,0.0442,
,,,,
Special value:,,,,
:,not available,,,
1 Electricity prices for household consumers - bi-annual data (from 2007 onwards) [nrg_pc_204]
2
3 Last update 30.10.19
4 Extracted on 14.11.19
5 Source of data Eurostat
6
7 PRODUCT Electrical energy
8 CONSOM Band DC : 2 500 kWh < Consumption < 5 000 kWh
9 UNIT Kilowatt-hour
10 TIME 2018S1
11
12 CURRENCY Euro Euro Euro
13 GEO/TAX Excluding taxes and levies Excluding VAT and other recoverable taxes and levies All taxes and levies included % cost without taxes
14 European Union - 28 countries 0.1285 0.1756 0.2052 0.626218323586745
15 Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19) 0.1331 0.1855 0.2188 0.608318098720293
16 Belgium 0.1903 0.2279 0.2733 0.696304427369191
17 Bulgaria 0.0816 0.0816 0.0979 0.833503575076609
18 Czech Republic 0.1286 0.1298 0.1573 0.817546090273363
19 Denmark 0.1011 0.2501 0.3126 0.32341650671785
20 Germany 0.1379 0.2510 0.2987 0.461667224640107
21 Estonia 0.0989 0.1123 0.1348 0.733679525222552
22 Ireland 0.1846 0.2087 0.2369 0.779231743351625
23 Greece 0.1132 0.1482 0.1672 0.677033492822967
24 Spain 0.1873 0.1969 0.2383 0.785984053713806
25 France 0.1134 0.1492 0.1748 0.648741418764302
26 Croatia 0.1020 0.1160 0.1311 0.778032036613272
27 Italy 0.1285 0.1873 0.2067 0.621673923560716
28 Cyprus 0.1445 0.1606 0.1893 0.763338615953513
29 Latvia 0.1035 0.1266 0.1531 0.676028739386022
30 Lithuania 0.0771 0.0906 0.1097 0.702825888787603
31 Luxembourg 0.1283 0.1547 0.1671 0.767803710353082
32 Hungary 0.0885 0.0885 0.1123 0.78806767586821
33 Malta 0.1209 0.1224 0.1285 0.940856031128405
34 Netherlands 0.1187 0.1410 0.1706 0.6957796014068
35 Austria 0.1232 0.1638 0.1966 0.626653102746694
36 Poland 0.0906 0.1146 0.1410 0.642553191489362
37 Portugal 0.1007 0.1826 0.2246 0.448352626892253
38 Romania 0.0990 0.1120 0.1333 0.742685671417854
39 Slovenia 0.1108 0.1322 0.1613 0.686918784872908
40 Slovakia 0.0942 0.1305 0.1566 0.601532567049808
41 Finland 0.1074 0.1300 0.1612 0.666253101736973
42 Sweden 0.1202 0.1513 0.1891 0.635642517186674
43 United Kingdom 0.1347 0.1797 0.1887 0.713831478537361
44 Iceland 0.1222 0.1246 0.1545 0.790938511326861
45 Liechtenstein : : : #VALUE!
46 Norway 0.1254 0.1434 0.1751 0.716162193032553
47 Montenegro 0.0828 0.0844 0.1024 0.80859375
48 North Macedonia 0.0662 0.0662 0.0781 0.847631241997439
49 Albania : : : #VALUE!
50 Serbia 0.0539 0.0587 0.0705 0.764539007092199
51 Turkey 0.0727 0.0766 0.0904 0.804203539823009
52 Bosnia and Herzegovina 0.0722 0.0738 0.0864 0.835648148148148
53 Kosovo (under United Nations Security Council Resolution 1244/99) 0.0569 0.0586 0.0633 0.898894154818325
54 Moldova 0.1020 0.1020 0.1020 1
55 Ukraine 0.0342 0.0342 0.0410 0.834146341463415
56 0.157271052631579
57 Special value:
58 : not available
59
60 PRODUCT Electrical energy
61 CONSOM Band DC : 2 500 kWh < Consumption < 5 000 kWh
62 UNIT Kilowatt-hour
63 TIME 2018S2
64
65 CURRENCY Euro Euro Euro
66 GEO/TAX Excluding taxes and levies Excluding VAT and other recoverable taxes and levies All taxes and levies included
67 European Union - 28 countries 0.1329 0.1810 0.2113
68 Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19) 0.1376 0.1902 0.2242
69 Belgium 0.1998 0.2429 0.2937
70 Bulgaria 0.0838 0.0838 0.1005
71 Czechia 0.1299 0.1311 0.1586
72 Denmark 0.1116 0.2499 0.3123
73 Germany (until 1990 former territory of the FRG) 0.1378 0.2521 0.3000
74 Estonia 0.1048 0.1182 0.1418
75 Ireland 0.2006 0.2237 0.2539
76 Greece 0.1125 0.1458 0.1646
77 Spain 0.1947 0.2047 0.2477
78 France 0.1168 0.1537 0.1799
79 Croatia 0.1028 0.1169 0.1321
80 Italy 0.1416 0.1964 0.2161
81 Cyprus 0.1745 0.1850 0.2183
82 Latvia 0.1041 0.1249 0.1511
83 Lithuania 0.0771 0.0906 0.1097
84 Luxembourg 0.1302 0.1566 0.1691
85 Hungary 0.0880 0.0880 0.1118
86 Malta 0.1229 0.1244 0.1306
87 Netherlands 0.1212 0.1420 0.1707
88 Austria 0.1265 0.1676 0.2012
89 Poland 0.0889 0.1135 0.1396
90 Portugal 0.1028 0.1864 0.2293
91 Romania 0.0964 0.1107 0.1317
92 Slovenia 0.1125 0.1342 0.1638
93 Slovakia 0.0849 0.1218 0.1462
94 Finland 0.1144 0.1369 0.1698
95 Sweden 0.1287 0.1592 0.1990
96 United Kingdom 0.1401 0.1927 0.2024
97 Iceland 0.1152 0.1175 0.1457
98 Liechtenstein : : :
99 Norway 0.1382 0.1562 0.1907
100 Montenegro 0.0829 0.0848 0.1030
101 North Macedonia 0.0667 0.0667 0.0787
102 Albania 0.0759 0.0759 0.0910
103 Serbia 0.0542 0.0591 0.0709
104 Turkey 0.0688 0.0726 0.0857
105 Bosnia and Herzegovina 0.0729 0.0744 0.0871
106 Kosovo (under United Nations Security Council Resolution 1244/99) 0.0579 0.0591 0.0638
107 Moldova 0.0960 0.0960 0.1029
108 Ukraine 0.0342 0.0342 0.0410
109
110 Special value:
111 : not available
112
113 PRODUCT Electrical energy
114 CONSOM Band DC : 2 500 kWh < Consumption < 5 000 kWh
115 UNIT Kilowatt-hour
116 TIME 2019S1
117
118 CURRENCY Euro Euro Euro
119 GEO/TAX Excluding taxes and levies Excluding VAT and other recoverable taxes and levies All taxes and levies included
120 European Union - 28 countries 0.1351 0.1841 0.2147
121 Euro area (EA11-2000, EA12-2006, EA13-2007, EA15-2008, EA16-2010, EA17-2013, EA18-2014, EA19) 0.1396 0.1928 0.2270
122 Belgium 0.1965 0.2355 0.2839
123 Bulgaria 0.0831 0.0831 0.0997
124 Czechia 0.1433 0.1444 0.1748
125 Denmark 0.1084 0.2387 0.2984
126 Germany (until 1990 former territory of the FRG) 0.1473 0.2595 0.3088
127 Estonia 0.0982 0.1131 0.1357
128 Ireland 0.2027 0.2134 0.2423
129 Greece 0.1139 0.1482 0.1650
130 Spain 0.1889 0.1986 0.2403
131 France 0.1138 0.1508 0.1765
132 Croatia 0.1028 0.1169 0.1321
133 Italy 0.1432 0.2090 0.2301
134 Cyprus 0.1762 0.1867 0.2203
135 Latvia 0.1136 0.1347 0.1629
136 Lithuania 0.0947 0.1037 0.1255
137 Luxembourg 0.1326 0.1666 0.1798
138 Hungary 0.0882 0.0882 0.1120
139 Malta 0.1228 0.1243 0.1305
140 Netherlands 0.1357 0.1708 0.2052
141 Austria 0.1316 0.1695 0.2034
142 Poland 0.0884 0.1092 0.1343
143 Portugal 0.1103 0.1751 0.2154
144 Romania 0.0983 0.1141 0.1358
145 Slovenia 0.1125 0.1339 0.1634
146 Slovakia 0.0962 0.1314 0.1577
147 Finland 0.1173 0.1398 0.1734
148 Sweden 0.1297 0.1612 0.2015
149 United Kingdom 0.1450 0.2021 0.2122
150 Iceland 0.1112 0.1134 0.1406
151 Liechtenstein : : :
152 Norway 0.1360 0.1529 0.1867
153 Montenegro 0.0834 0.0850 0.1032
154 North Macedonia : : :
155 Albania : : :
156 Serbia 0.0541 0.0589 0.0706
157 Turkey 0.0684 0.0718 0.0847
158 Bosnia and Herzegovina 0.0729 0.0746 0.0873
159 Kosovo (under United Nations Security Council Resolution 1244/99) 0.0537 0.0556 0.0600
160 Moldova 0.0936 0.0936 0.0936
161 Ukraine 0.0369 0.0369 0.0442
162
163 Special value:
164 : not available

View File

@ -0,0 +1,17 @@
country,sector,estimated,value,source,,comments,population [in Million],
AL,residential,0,64,p.13 1.6 million m² = 2.5% of total floor area,https://www.buildup.eu/sites/default/files/content/sled_albania_residential_building_eng.pdf,,,
AL,services,0,,,,,,
BA,residential,0,125.89,Tabula,https://episcope.eu/building-typology/country/ba/,strong differences ? other source claims more than 300 Million m²,,https://www.buildup.eu/sites/default/files/content/sled_serbia_building_eng.pdf
BA,services,0,,,,,,
RS,residential,0,72.3,Odyssee(2011),https://odyssee.enerdata.net/database/,,,
RS,services,0,,,,,,
MK,residential,0,,"Worldbank p.7 Skopje 75% residential, 25% commercial",http://documents.albankaldawli.org/curated/ar/838951574180734318/pdf/Project-Information-Document-North-Macedonia-Public-Sector-Energy-Efficiency-Project-P149990.pdf,15 % live in illegal constructed buildings ? not part of the statistics,2.1,
MK,services,0,,,,,,
ME,residential,0,19.625,p.13 0.314 million m² = 1.6% of total floor area,buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf,Only 50 % of the floor area is heated p.12,,buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf
ME,services,0,,,,,,
CH,residential,0,99.45,Odyssee(2015),,,,
CH,services,1,78.1392857142857,p.8 44%floor area is services,https://bta.climate-kic.org/wp-content/uploads/2018/04/171123-CK-BTA-DEF-BMB_SWITZERLAND_.pdf,,,
NO,residential,0,121.55,Odyssee(2015),,,,
NO,services,0,115.21,Odyssee(2015),,,,
PL,residential,0,1028.41,EU Building Database,,,,
PL,services,0,498.84,EU Building Database,,,,
1 country sector estimated value source comments population [in Million]
2 AL residential 0 64 p.13 1.6 million m² = 2.5% of total floor area https://www.buildup.eu/sites/default/files/content/sled_albania_residential_building_eng.pdf
3 AL services 0
4 BA residential 0 125.89 Tabula https://episcope.eu/building-typology/country/ba/ strong differences ? other source claims more than 300 Million m² https://www.buildup.eu/sites/default/files/content/sled_serbia_building_eng.pdf
5 BA services 0
6 RS residential 0 72.3 Odyssee(2011) https://odyssee.enerdata.net/database/
7 RS services 0
8 MK residential 0 Worldbank p.7 Skopje 75% residential, 25% commercial http://documents.albankaldawli.org/curated/ar/838951574180734318/pdf/Project-Information-Document-North-Macedonia-Public-Sector-Energy-Efficiency-Project-P149990.pdf 15 % live in illegal constructed buildings ? not part of the statistics 2.1
9 MK services 0
10 ME residential 0 19.625 p.13 0.314 million m² = 1.6% of total floor area buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf Only 50 % of the floor area is heated p.12 buildup.eu/sites/default/files/content/sled_montenegro_building_eng.pdf
11 ME services 0
12 CH residential 0 99.45 Odyssee(2015)
13 CH services 1 78.1392857142857 p.8 44%floor area is services https://bta.climate-kic.org/wp-content/uploads/2018/04/171123-CK-BTA-DEF-BMB_SWITZERLAND_.pdf
14 NO residential 0 121.55 Odyssee(2015)
15 NO services 0 115.21 Odyssee(2015)
16 PL residential 0 1028.41 EU Building Database
17 PL services 0 498.84 EU Building Database

View File

@ -0,0 +1,7 @@
component,cost_fix,cost_var,life_time,comment,additional source
wall,70.34,2.36,40,Agora Energiewende p.110,
floor,39.39,1.3,40,Agora Energiewende p.110,
roof,75.61,1.3,40,Agora Energiewende p.110,https://www.baulinks.de/webplugin/2018/1524.php4
window,nan,nan,35,,
source: p.37 https://www.umweltbundesamt.de/sites/default/files/medien/1410/publikationen/2019-10-29_texte_132-2019_energieaufwand-gebaeudekonzepte.pdf,,,https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/,,
,,,p.115,,
1 component cost_fix cost_var life_time comment additional source
2 wall 70.34 2.36 40 Agora Energiewende p.110
3 floor 39.39 1.3 40 Agora Energiewende p.110
4 roof 75.61 1.3 40 Agora Energiewende p.110 https://www.baulinks.de/webplugin/2018/1524.php4
5 window nan nan 35
6 source: p.37 https://www.umweltbundesamt.de/sites/default/files/medien/1410/publikationen/2019-10-29_texte_132-2019_energieaufwand-gebaeudekonzepte.pdf https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/
7 p.115

View File

@ -0,0 +1,9 @@
component,Before 1945,1945 - 1969,1970 - 1979,1980 - 1989,1990 - 1999,2000 - 2010,Post 2010,sector
Walls,1.7,1.4,0.9,0.9,0.6,0.4,1.7,residential
Windows,4.6,3.6,2.6,2.6,2.1,2.1,2.1,residential
Roof,0.8,0.7,0.6,0.6,0.6,0.4,0.33,residential
Floor,1.9,1.4,1.2,1.1,0.9,0.6,0.45,residential
Walls,1.3,1.3,1.3,0.8,0.6,0.6,0.6,services
Windows,4.7,3.7,2.6,2.6,2.3,2.1,2.1,services
Roof,1,0.9,0.7,0.5,0.3,0.3,0.3,services
Floor,1.6,1.2,1.2,1.1,1,0.7,0.7,services
1 component Before 1945 1945 - 1969 1970 - 1979 1980 - 1989 1990 - 1999 2000 - 2010 Post 2010 sector
2 Walls 1.7 1.4 0.9 0.9 0.6 0.4 1.7 residential
3 Windows 4.6 3.6 2.6 2.6 2.1 2.1 2.1 residential
4 Roof 0.8 0.7 0.6 0.6 0.6 0.4 0.33 residential
5 Floor 1.9 1.4 1.2 1.1 0.9 0.6 0.45 residential
6 Walls 1.3 1.3 1.3 0.8 0.6 0.6 0.6 services
7 Windows 4.7 3.7 2.6 2.6 2.3 2.1 2.1 services
8 Roof 1 0.9 0.7 0.5 0.3 0.3 0.3 services
9 Floor 1.6 1.2 1.2 1.1 1 0.7 0.7 services

View File

@ -0,0 +1,8 @@
strength,u_value,cost,u_limit,comment
[m],[W/m^2K],EUR/m^2,[W/m^2K],
0.076,1.34,180.08,3.5,Double-glazing
0.197,0.8,225,1.3,Triple-glazing
,,,,
"source: https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/
p.115
",,,,
1 strength u_value cost u_limit comment
2 [m] [W/m^2K] EUR/m^2 [W/m^2K]
3 0.076 1.34 180.08 3.5 Double-glazing
4 0.197 0.8 225 1.3 Triple-glazing
5
6 source: https://www.agora-energiewende.de/en/publications/building-sector-efficiency-a-crucial-component-of-the-energy-transition/ p.115

30
data/urban_percent.csv Normal file
View File

@ -0,0 +1,30 @@
AT,66
BA,40
BE,98
BG,74
CH,74
CZ,73
DE,75
DK,88
EE,68
ES,80
FI,84
FR,80
GB,83
GR,78
HR,59
HU,71
IE,63
IT,69
LT,67
LU,90
LV,67
NL,90
NO,80
PL,61
PT,63
RO,55
RS,56
SE,86
SI,50
SK,54
1 AT 66
2 BA 40
3 BE 98
4 BG 74
5 CH 74
6 CZ 73
7 DE 75
8 DK 88
9 EE 68
10 ES 80
11 FI 84
12 FR 80
13 GB 83
14 GR 78
15 HR 59
16 HU 71
17 IE 63
18 IT 69
19 LT 67
20 LU 90
21 LV 67
22 NL 90
23 NO 80
24 PL 61
25 PT 63
26 RO 55
27 RS 56
28 SE 86
29 SI 50
30 SK 54

View File

@ -1,4 +1,4 @@
# SPDX-FileCopyrightText: 2017-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: 2017-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: MIT

View File

@ -1,74 +0,0 @@
/* SPDX-FileCopyrightText: 2017-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: MIT
*/
.wy-side-nav-search {
background-color: #eeeeee;
}
.wy-side-nav-search .wy-dropdown>a,
.wy-side-nav-search>a {
color: rgb(34, 97, 156)
}
.wy-side-nav-search>div.version {
color: rgb(34, 97, 156)
}
.wy-menu-vertical header,
.wy-menu-vertical p.caption,
.rst-versions a {
color: #999999;
}
.wy-menu-vertical a.reference:hover,
.wy-menu-vertical a.reference.internal:hover {
background: #dddddd;
color: #fff;
}
.wy-nav-side {
background: #efefef;
}
.wy-menu-vertical a.reference {
color: #000;
}
.rst-versions .rst-current-version,
.wy-nav-top,
.wy-menu-vertical li.toctree-l2.current li.toctree-l3>a:hover {
background: #002221;
}
.wy-nav-content .highlight {
background: #ffffff;
}
.rst-content code.literal,
.rst-content tt.literal {
color: rgb(34, 97, 156)
}
.wy-nav-content a.reference {
color: rgb(34, 97, 156);
}
/* override table width restrictions */
@media screen and (min-width: 767px) {
.wy-table-responsive table td {
/* !important prevents the common CSS stylesheets from overriding
this as on RTD they are loaded after this stylesheet */
white-space: normal !important;
background: rgb(250, 250, 250) !important;
}
.wy-table-responsive {
max-width: 100%;
overflow: visible !important;
}
.wy-nav-content {
max-width: 910px !important;
}
}

View File

@ -1,130 +0,0 @@
..
SPDX-FileCopyrightText: 2020 Maximilian Parzen and Emmanuel Paez
SPDX-License-Identifier: CC-BY-4.0
.. _cloudcomputing:
###########################
Cloud Computing
###########################
Google Cloud Platform (GCP)
===========================
.. note::
This set of instructions is partially Windows specific.
We are happy to take pull requests explaining where the procedures deviate from the descriptions below for other operating systems.
Likewise, tutorials for other cloud computing solutions are also highly welcome.
The Google Cloud Platform (GCP) is a cloud computing service you can use to run PyPSA-Eur calculations, especially if
- you do not have immediate access to high-performance computating facilities,
- you have problems with the Windows operating system and want a quick run on a linux-based system,
- you want to model whole of Europe in sufficient spatial and temporal resolution,
- you need quick results (trial version includes 32 vCPU cores and up to 800 GB of memory).
With the Google Cloud Platform you set up a virtual machine in the cloud which can store and operate data.
Like on your local computer, you have to install all software and solvers, and create paths on the virtual machine to set up the required environment.
The 300$ free trial budget is offered which equals roughly 10-20 simulations with 180 nodes at hourly basis.
The following steps are required:
- `Google Cloud Platform registration <https://console.cloud.google.com>`_, to receive 300$ free budget.
- `Creating an Virtual Machine (VM) instance <https://www.ibm.com/products/ilog-cplex-optimization-studio>`_, which is practically a virtual computer with Linux as OS.
- `Installation of Cloud SDK <https://cloud.google.com/sdk/>`_, to create a communication channel between your computer and the cloud virtual machine (VM).
- `Installation of WinSCP (Windows) <https://winscp.net/eng/download.php>`_ (or alternative), to handle or transfer files between the VM and you local computer.
Step 1 - Google Cloud Platform registration
-------------------------------------------
First, register at the `Google Cloud Platform <https://console.cloud.google.com>`_ (GCP).
Ann active bank account is required, which will not be charged unless you exceed the trial budget.
Step 2 - Create your Virtual Machine instance
---------------------------------------------
With the following steps we create a Virtual Machine (VM) on Google Cloud.
- Click on the `GCP Dashboard <https://console.cloud.google.com/home/dashboard>`_.
- Click on the "COMPUTE" header, on the "Compute Engine" and then on the "VM instance".
- Click on create.
- Click on new VM instance.
Now a window with the machine details will open. You have to configure the following things:
- Name: Set a name for your VM. Cannot be changed after creation.
- Region: You can keep the default us-central1 (Iowa), since it is a cheap computational region. Sometimes your machine is limited in a specific region. Just pick another region in that case.
- Machine configuration: The machine configuration sets how powerful your VM is.
You can start with a 1 vCPU and 3.75 GB memory, N1 series machine as every operating second cost money.
You can edit your machine configuration later. So use a cheap machine type configuration to transfer data and
only when everything is ready and tested, your expensive machine type, for instance a custom 8 vCPU with 160 GB memory.
Solvers do not parallelise well, so we recommend not to choose more than 8 vCPU.
Check ``snakemake -n -j 1 solve_all_networks`` as a dry run to see how much memory is required.
The memory requirements will vary depending on the spatial and temporal resoulution of your optimisation.
Example: for an hourly, 181 node full European network, set 8 vCPU and 150 GB memory since the dry-run calculated a 135 GB memory requirement.)
- Boot disk: As default, your VM is created with 10 GB. Depending on how much you want to handle on one VM you should increase the disk size.
We recommend a disk size of 100 GB for a safe start (cost roughly 8$ per month), the disk can be resized at any later stage with an additional disk.
- Click on create and celebrate your first VM on GCP.
Step 3 - Installation of Cloud SDK
----------------------------------
- Download Google Cloud SDK `SDK <https://cloud.google.com/sdk>`_. Check that you are logged in in your Google account. The link should lead you to the Windows installation of Google Cloud SDK.
- Follow the "Quickstart for Windows - Before you begin" steps.
- After the successful installation and initialization, close the Google Cloud SDK reopen it again. Type the following command into the "Google Cloud SDK Shell":
.. code:: bash
gcloud compute ssh <your VM instance name> -- -L 8888:localhost:8888
- This command above will open a PuTTy command window that is connected to your Virtual Machine. Time to celebrate if it works!
- Now install all necessary tools. As little help, the first steps:
.. code:: bash
sudo apt-get update
sudo apt-get install bzip2 libxml2-dev
sudo apt-get install wget
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
ls (to see what anaconda file to bash)
bash Anaconda3-2020.07-Linux-x86_64.sh
source ~/.bashrc
- Close and reopen the PuTTy file (-> open Google Cloud SDK -> initialize again with the command above to open the PuTTY command window). Now ``conda`` can be listed with ``conda list``.
Noq you can follow the standard installation instructions to finalize your machine (don't forget the solvers - for bigger simulations use commercial solvers such as Gurobi).
Step 4 - Installation of WinSCP
-------------------------------
For smooth data exchange between the VM and your local computer you may use WinSCP on Windows.
Make sure that your instance is operating for the next steps.
- Download `WinSCP <https://winscp.net/eng/download.php>`_ and follow the default installation steps.
- Open WinSCP after the installation. A login window will open.
- Keep SFTP as file protocol.
- As host name insert the External IP of your VM (click in your internet browser on your GCP VM instance to see the external IP)
- Set the User name in WinSCP to the name you see in your PuTTy window (check step 3 - for instance [username]@[VM-name]:~$)
- Click on the advanced setting. SSH -> Authentication.
- Option 1. Click on the Tools button and "Install Public Key into Server..". Somewhere in your folder structure must be a public key. I found it with the following folder syntax on my local windows computer -> :\Users\...\.ssh (there should be a PKK file).
- Option 2. Click on the Tools button and "Generate new key pair...". Save the private key at a folder you remember and add it to the "private key file" field in WinSCP. Upload the public key to the metadeta of your instance.
- Click ok and save. Then click Login. If successful WinSCP will open on the left side your local computer folder structure and on the right side the folder structure of your VM. (If you followed Option 2 and its not initially working. Stop your instance, refresh the website, reopen the WinSCP field. Afterwards your your Login should be successful)
If you had struggle with the above steps, you could also try `this video <https://www.youtube.com/watch?v=lYx1oQkEF0E>`_.
.. note::
Double check the External IP of your VM before you try to login with WinSCP. It's often a cause for an error.
Step 5 - Extra. Copying your instance with all its data and paths included
--------------------------------------------------------------------------
Especially if you think about operating several instance for quicker simulations, you can create a so called `"image" <https://console.cloud.google.com/compute/images?authuser=1&project=exalted-country-284917>`_ of the virtual machine.
The "image" includes all the data and software set-ups from your VM. Afterwards you can create a VM from an image and avoid all the installation steps above.
Important points when to solve networks in PyPSA
------------------------------------------------
If you use the GCP with the default PyPSA-Eur settings, your budget will be used up very quickly. The following tips should help you to make the most of your budget:
- Always test using low resolution networks; i.e. a single country at 5 nodes and 24h resolution for 2 month of weather data.
- Adjust your solver in the ``config.yaml`` file. Set ``solving: skip_iterations: true``.
This will lead to a single solver iteration which is often precise enough.

View File

@ -18,7 +18,6 @@
# serve to show the default.
import os
import shlex
import sys
# If extensions (or modules to document with autodoc) are in another directory,
@ -37,11 +36,13 @@ sys.path.insert(0, os.path.abspath("../scripts"))
extensions = [
#'sphinx.ext.autodoc',
#'sphinx.ext.autosummary',
"sphinx.ext.autosectionlabel",
"sphinx.ext.intersphinx",
"sphinx.ext.todo",
"sphinx.ext.mathjax",
"sphinx.ext.napoleon",
"sphinx.ext.graphviz",
"sphinxcontrib.bibtex",
#'sphinx.ext.pngmath',
#'sphinxcontrib.tikz',
#'rinoh.frontend.sphinx',
@ -51,6 +52,9 @@ extensions = [
autodoc_default_flags = ["members"]
autosummary_generate = True
bibtex_bibfiles = ["publications.bib"]
bibtex_default_style = "unsrt"
# Add any paths that contain templates here, relative to this directory.
templates_path = ["_templates"]
@ -67,24 +71,24 @@ master_doc = "index"
# General information about the project.
project = "PyPSA-Eur"
copyright = "2017-2022 Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS); 2019-2022 Fabian Neumann (TUB, KIT)"
author = "Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), David Schlachtberger (FIAS), Tom Brown (TUB, KIT, FIAS), Fabian Neumann (TUB, KIT)"
copyright = "2017-2023 Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), Fabian Neumann (TUB, KIT), Marta Victoria (Aarhus University), Lisa Zeyen (KIT, TUB)"
author = "Tom Brown (KIT, TUB, FIAS), Jonas Hoersch (KIT, FIAS), Fabian Hofmann (TUB, FIAS), Fabian Neumann (TUB, KIT), Marta Victoria (Aarhus University), Lisa Zeyen (KIT, TUB)"
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = "0.6"
version = "0.8"
# The full version, including alpha/beta/rc tags.
release = "0.6.1"
release = "0.8.0"
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
language = "en"
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
@ -128,14 +132,15 @@ todo_include_todos = True
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
html_theme = "sphinx_rtd_theme"
html_theme = "sphinx_book_theme"
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
html_theme_options = {
"display_version": True,
"sticky_navigation": True,
"repository_url": "https://github.com/pypsa/pypsa-eur",
"use_repository_button": True,
"show_navbar_depth": 1,
}
@ -144,14 +149,14 @@ html_theme_options = {
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
# html_title = None
html_title = "PyPSA-Eur"
# A shorter title for the navigation bar. Default is the same as html_title.
# html_short_title = None
html_short_title = "PyPSA-Eur"
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
# html_logo = None
html_logo = "img/pypsa-logo.png"
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
@ -159,11 +164,11 @@ html_theme_options = {
# html_favicon = None
# These folders are copied to the documentation's HTML output
html_static_path = ["_static"]
# html_static_path = ["_static"]
# These paths are either relative to html_static_path
# or fully qualified paths (eg. https://...)
html_css_files = ["theme_overrides.css"]
# html_css_files = ["theme_overrides.css"]
# Add any extra paths that contain custom files (such as robots.txt or
# .htaccess) here, relative to this directory. These files are copied

View File

@ -1,9 +1,13 @@
,Unit,Values,Description
default_cutout,--,str,"Defines a default cutout."
nprocesses,--,int,"Number of parallel processes in cutout preparation"
show_progress,bool,true/false,"Whether progressbar for atlite conversion processes should be shown. False saves time."
cutouts,,,
-- {name},--,"Convention is to name cutouts like ``<region>-<year>-<source>`` (e.g. ``europe-2013-era5``).","Name of the cutout netcdf file. The user may specify multiple cutouts under configuration ``atlite: cutouts:``. Reference is used in configuration ``renewable: {technology}: cutout:``. The cutout ``base`` may be used to automatically calculate temporal and spatial bounds of the network."
-- -- module,--,"Subset of {'era5','sarah'}","Source of the reanalysis weather dataset (e.g. `ERA5 <https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5>`_ or `SARAH-2 <https://wui.cmsaf.eu/safira/action/viewDoiDetails?acronym=SARAH_V002>`_)"
-- -- x,°,"Float interval within [-180, 180]","Range of longitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes."
-- -- y,°,"Float interval within [-90, 90]","Range of latitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes."
-- -- dx,°,"Larger than 0.25","Grid resolution for longitude"
-- -- dy,°,"Larger than 0.25","Grid resolution for latitude"
-- -- time,,"Time interval within ['1979', '2018'] (with valid pandas date time strings)","Time span to download weather data for. If not defined, it defaults to the time interval spanned by the snapshots."
-- -- features,,"String or list of strings with valid cutout features ('inlfux', 'wind').","When freshly building a cutout, retrieve data only for those features. If not defined, it defaults to all available features."

1 Unit Values Description
2 default_cutout -- str Defines a default cutout.
3 nprocesses -- int Number of parallel processes in cutout preparation
4 show_progress bool true/false Whether progressbar for atlite conversion processes should be shown. False saves time.
5 cutouts
6 -- {name} -- Convention is to name cutouts like ``<region>-<year>-<source>`` (e.g. ``europe-2013-era5``). Name of the cutout netcdf file. The user may specify multiple cutouts under configuration ``atlite: cutouts:``. Reference is used in configuration ``renewable: {technology}: cutout:``. The cutout ``base`` may be used to automatically calculate temporal and spatial bounds of the network.
7 -- -- module -- Subset of {'era5','sarah'} Source of the reanalysis weather dataset (e.g. `ERA5 <https://www.ecmwf.int/en/forecasts/datasets/reanalysis-datasets/era5>`_ or `SARAH-2 <https://wui.cmsaf.eu/safira/action/viewDoiDetails?acronym=SARAH_V002>`_)
8 -- -- x ° Float interval within [-180, 180] Range of longitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes.
9 -- -- y ° Float interval within [-90, 90] Range of latitudes to download weather data for. If not defined, it defaults to the spatial bounds of all bus shapes.
10 -- -- dx ° Larger than 0.25 Grid resolution for longitude
11 -- -- dy ° Larger than 0.25 Grid resolution for latitude
12 -- -- time Time interval within ['1979', '2018'] (with valid pandas date time strings) Time span to download weather data for. If not defined, it defaults to the time interval spanned by the snapshots.
13 -- -- features String or list of strings with valid cutout features ('inlfux', 'wind'). When freshly building a cutout, retrieve data only for those features. If not defined, it defaults to all available features.

View File

@ -4,6 +4,8 @@ simplify_network,,,
-- algorithm,str,"One of {kmeans, hac, modularity}",
-- feature,str,"Str in the format carrier1+carrier2+...+carrierN-X, where CarrierI can be from {solar, onwind, offwind, ror} and X is one of {cap, time}.",
-- exclude_carriers,list,"List of Str like [ 'solar', 'onwind'] or empy list []","List of carriers which will not be aggregated. If empty, all carriers will be aggregated."
-- remove stubs,bool,"true/false","Controls whether radial parts of the network should be recursively aggregated. Defaults to true."
-- remove_stubs_across_borders,bool,"true/false","Controls whether radial parts of the network should be recursively aggregated across borders. Defaults to true."
cluster_network,,,
-- algorithm,str,"One of {kmeans, hac}",
-- feature,str,"Str in the format carrier1+carrier2+...+carrierN-X, where CarrierI can be from {solar, onwind, offwind, ror} and X is one of {cap, time}.",

1 Unit Values Description
4 -- algorithm str One of {‘kmeans’, ‘hac’, ‘modularity‘}
5 -- feature str Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.
6 -- exclude_carriers list List of Str like [ 'solar', 'onwind'] or empy list [] List of carriers which will not be aggregated. If empty, all carriers will be aggregated.
7 -- remove stubs bool true/false Controls whether radial parts of the network should be recursively aggregated. Defaults to true.
8 -- remove_stubs_across_borders bool true/false Controls whether radial parts of the network should be recursively aggregated across borders. Defaults to true.
9 cluster_network
10 -- algorithm str One of {‘kmeans’, ‘hac’}
11 -- feature str Str in the format ‘carrier1+carrier2+...+carrierN-X’, where CarrierI can be from {‘solar’, ‘onwind’, ‘offwind’, ‘ror’} and X is one of {‘cap’, ‘time’}.

View File

@ -0,0 +1,3 @@
,Unit,Values,Description
{name},--,"string","For any carrier/technology overwrite attributes as listed below."
-- {attribute},--,"string or float","For any attribute, can specify a float or reference to a file path to a CSV file giving floats for each country (2-letter code)."
1 Unit Values Description
2 {name} -- string For any carrier/technology overwrite attributes as listed below.
3 -- {attribute} -- string or float For any attribute, can specify a float or reference to a file path to a CSV file giving floats for each country (2-letter code).

View File

@ -1,6 +1,6 @@
,Unit,Values,Description
year,--,"YYYY; e.g. '2030'","Year for which to retrieve cost assumptions of ``resources/costs.csv``."
version,--,"vX.X.X; e.g. 'v0.1.0'","Version of ``technology-data`` repository to use."
version,--,"vX.X.X; e.g. 'v0.5.0'","Version of ``technology-data`` repository to use."
rooftop_share,--,float,"Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV)."
fill_values,--,float,"Default values if not specified for a technology in ``resources/costs.csv``."
capital_cost,EUR/MW,"Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float.","For the given technologies, assumptions about their capital investment costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``."

1 Unit Values Description
2 year -- YYYY; e.g. '2030' Year for which to retrieve cost assumptions of ``resources/costs.csv``.
3 version -- vX.X.X; e.g. 'v0.1.0' vX.X.X; e.g. 'v0.5.0' Version of ``technology-data`` repository to use.
4 rooftop_share -- float Share of rooftop PV when calculating capital cost of solar (joint rooftop and utility-scale PV).
5 fill_values -- float Default values if not specified for a technology in ``resources/costs.csv``.
6 capital_cost EUR/MW Keys should be in the 'technology' column of ``resources/costs.csv``. Values can be any float. For the given technologies, assumptions about their capital investment costs are set to the corresponding value. Optional; overwrites cost assumptions from ``resources/costs.csv``.

View File

@ -0,0 +1,10 @@
,Unit,Values,Description
prepare_links_p_nom,bool,"{true, false}","Switch to retrieve current HVDC projects from `Wikipedia <https://en.wikipedia.org/wiki/List_of_HVDC_projects>`_"
retrieve_databundle,bool,"{true, false}","Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder."
retrieve_sector_databundle,bool,"{true, false}","Switch to retrieve sector databundle from zenodo via the rule :mod:`retrieve_sector_databundle` or whether to keep a custom databundle located in the corresponding folder."
retrieve_cost_data,bool,"{true, false}","Switch to retrieve technology cost data from `technology-data repository <https://github.com/PyPSA/technology-data>`_."
build_cutout,bool,"{true, false}","Switch to enable the building of cutouts via the rule :mod:`build_cutout`."
retrieve_cutout,bool,"{true, false}","Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`."
build_natura_raster,bool,"{true, false}","Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`."
retrieve_natura_raster,bool,"{true, false}","Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`."
custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``."
1 Unit Values Description
2 prepare_links_p_nom bool {true, false} Switch to retrieve current HVDC projects from `Wikipedia <https://en.wikipedia.org/wiki/List_of_HVDC_projects>`_
3 retrieve_databundle bool {true, false} Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder.
4 retrieve_sector_databundle bool {true, false} Switch to retrieve sector databundle from zenodo via the rule :mod:`retrieve_sector_databundle` or whether to keep a custom databundle located in the corresponding folder.
5 retrieve_cost_data bool {true, false} Switch to retrieve technology cost data from `technology-data repository <https://github.com/PyPSA/technology-data>`_.
6 build_cutout bool {true, false} Switch to enable the building of cutouts via the rule :mod:`build_cutout`.
7 retrieve_cutout bool {true, false} Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`.
8 build_natura_raster bool {true, false} Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`.
9 retrieve_natura_raster bool {true, false} Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`.
10 custom_busmap bool {true, false} Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``.

View File

@ -0,0 +1,28 @@
description,file/folder,licence,source
JRC IDEES database,jrc-idees-2015/,CC BY 4.0,https://ec.europa.eu/jrc/en/potencia/jrc-idees
urban/rural fraction,urban_percent.csv,unknown,unknown
JRC biomass potentials,biomass/,unknown,https://doi.org/10.2790/39014
JRC ENSPRESO biomass potentials,remote,CC BY 4.0,https://data.jrc.ec.europa.eu/dataset/74ed5a04-7d74-4807-9eab-b94774309d9f
EEA emission statistics,eea/UNFCCC_v23.csv,EEA standard re-use policy,https://www.eea.europa.eu/data-and-maps/data/national-emissions-reported-to-the-unfccc-and-to-the-eu-greenhouse-gas-monitoring-mechanism-16
Eurostat Energy Balances,eurostat-energy_balances-*/,Eurostat,https://ec.europa.eu/eurostat/web/energy/data/energy-balances
Swiss energy statistics from Swiss Federal Office of Energy,switzerland-sfoe/,unknown,http://www.bfe.admin.ch/themen/00526/00541/00542/02167/index.html?dossier_id=02169
BASt emobility statistics,emobility/,unknown,http://www.bast.de/DE/Verkehrstechnik/Fachthemen/v2-verkehrszaehlung/Stundenwerte.html?nn=626916
BDEW heating profile,heat_load_profile_BDEW.csv,unknown,https://github.com/oemof/demandlib
heating profiles for Aarhus,heat_load_profile_DK_AdamJensen.csv,unknown,Adam Jensen MA thesis at Aarhus University
George Lavidas wind/wave costs,WindWaveWEC_GLTB.xlsx,unknown,George Lavidas
co2 budgets,co2_budget.csv,CC BY 4.0,https://arxiv.org/abs/2004.11009
existing heating potentials,existing_infrastructure/existing_heating_raw.csv,unknown,https://ec.europa.eu/energy/studies/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment_en?redir=1
IRENA existing VRE capacities,existing_infrastructure/{solar|onwind|offwind}_capcity_IRENA.csv,unknown,https://www.irena.org/Statistics/Download-Data
USGS ammonia production,myb1-2017-nitro.xls,unknown,https://www.usgs.gov/centers/nmic/nitrogen-statistics-and-information
hydrogen salt cavern potentials,h2_salt_caverns_GWh_per_sqkm.geojson,CC BY 4.0,https://doi.org/10.1016/j.ijhydene.2019.12.161 https://doi.org/10.20944/preprints201910.0187.v1
international port trade volumes,attributed_ports.json,CC BY 4.0,https://datacatalog.worldbank.org/search/dataset/0038118/Global---International-Ports
hotmaps industrial site database,Industrial_Database.csv,CC BY 4.0,https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database
Hotmaps building stock data,data_building_stock.csv,CC BY 4.0,https://gitlab.com/hotmaps/building-stock
U-values Poland,u_values_poland.csv,unknown,https://data.europa.eu/euodp/de/data/dataset/building-stock-observatory
Floor area missing in hotmaps building stock data,floor_area_missing.csv,unknown,https://data.europa.eu/euodp/de/data/dataset/building-stock-observatory
Comparative level investment,comparative_level_investment.csv,Eurostat,https://ec.europa.eu/eurostat/statistics-explained/index.php?title=Comparative_price_levels_for_investment
Electricity taxes,electricity_taxes_eu.csv,Eurostat,https://appsso.eurostat.ec.europa.eu/nui/show.do?dataset=nrg_pc_204&lang=en
Building topologies and corresponding standard values,tabula-calculator-calcsetbuilding.csv,unknown,https://episcope.eu/fileadmin/tabula/public/calc/tabula-calculator.xlsx
Retrofitting thermal envelope costs for Germany,retro_cost_germany.csv,unknown,https://www.iwu.de/forschung/handlungslogiken/kosten-energierelevanter-bau-und-anlagenteile-bei-modernisierung/
District heating most countries,jrc-idees-2015/,CC BY 4.0,https://ec.europa.eu/jrc/en/potencia/jrc-idees,,
District heating missing countries,district_heat_share.csv,unknown,https://www.euroheat.org/knowledge-hub/country-profiles,,
Can't render this file because it has a wrong number of fields in line 27.

View File

@ -1,5 +1,4 @@
,Unit,Values,Description
url,--,string,"Link to open power system data time series data."
power_statistics,bool,"{true, false}",Whether to load the electricity consumption data of the ENTSOE power statistics (only for files from 2019 and before) or from the ENTSOE transparency data (only has load data from 2015 onwards).
interpolate_limit,hours,integer,"Maximum gap size (consecutive nans) which interpolated linearly."
time_shift_for_large_gaps,string,string,"Periods which are used for copying time-slices in order to fill large gaps of nans. Have to be valid ``pandas`` period strings."

1 Unit Values Description
url -- string Link to open power system data time series data.
2 power_statistics bool {true, false} Whether to load the electricity consumption data of the ENTSOE power statistics (only for files from 2019 and before) or from the ENTSOE transparency data (only has load data from 2015 onwards).
3 interpolate_limit hours integer Maximum gap size (consecutive nans) which interpolated linearly.
4 time_shift_for_large_gaps string string Periods which are used for copying time-slices in order to fill large gaps of nans. Have to be valid ``pandas`` period strings.

View File

@ -4,10 +4,13 @@ resource,,,
-- method,--,"Must be 'wind'","A superordinate technology type."
-- turbine,--,"One of turbine types included in `atlite <https://github.com/PyPSA/atlite/tree/master/atlite/resources/windturbine>`_","Specifies the turbine type and its characteristic power curve."
capacity_per_sqkm,:math:`MW/km^2`,float,"Allowable density of wind turbine placement."
correction_factor,--,float,"Correction factor for capacity factor time series."
excluder_resolution,m,float,"Resolution on which to perform geographical elibility analysis."
corine,--,"Any *realistic* subset of the `CORINE Land Cover code list <http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-1/corine-land-cover-classes-and/clc_legend.csv/at_download/file>`_","Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement."
natura,bool,"{true, false}","Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``."
ship_threshold,--,float,"Ship density threshold from which areas are excluded."
max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential."
min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential."
max_shore_distance,m,float,"Maximum distance to the shore above which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential."
potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`"
clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."

1 Unit Values Description
4 -- method -- Must be 'wind' A superordinate technology type.
5 -- turbine -- One of turbine types included in `atlite <https://github.com/PyPSA/atlite/tree/master/atlite/resources/windturbine>`_ Specifies the turbine type and its characteristic power curve.
6 capacity_per_sqkm :math:`MW/km^2` float Allowable density of wind turbine placement.
7 correction_factor -- float Correction factor for capacity factor time series.
8 excluder_resolution m float Resolution on which to perform geographical elibility analysis.
9 corine -- Any *realistic* subset of the `CORINE Land Cover code list <http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-1/corine-land-cover-classes-and/clc_legend.csv/at_download/file>`_ Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement.
10 natura bool {true, false} Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``.
11 ship_threshold -- float Ship density threshold from which areas are excluded.
12 max_depth m float Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential.
13 min_shore_distance m float Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential.
14 max_shore_distance m float Maximum distance to the shore above which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential.
15 potential -- One of {'simple', 'conservative'} Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`
16 clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.

View File

@ -4,10 +4,13 @@ resource,,,
-- method,--,"Must be 'wind'","A superordinate technology type."
-- turbine,--,"One of turbine types included in `atlite <https://github.com/PyPSA/atlite/tree/master/atlite/resources/windturbine>`__","Specifies the turbine type and its characteristic power curve."
capacity_per_sqkm,:math:`MW/km^2`,float,"Allowable density of wind turbine placement."
correction_factor,--,float,"Correction factor for capacity factor time series."
excluder_resolution,m,float,"Resolution on which to perform geographical elibility analysis."
corine,--,"Any *realistic* subset of the `CORINE Land Cover code list <http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-1/corine-land-cover-classes-and/clc_legend.csv/at_download/file>`_","Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement."
natura,bool,"{true, false}","Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``."
ship_threshold,--,float,"Ship density threshold from which areas are excluded."
max_depth,m,float,"Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential."
min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential."
min_shore_distance,m,float,"Minimum distance to the shore below which wind turbines cannot be build."
max_shore_distance,m,float,"Maximum distance to the shore above which wind turbines cannot be build."
potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`"
clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."

1 Unit Values Description
4 -- method -- Must be 'wind' A superordinate technology type.
5 -- turbine -- One of turbine types included in `atlite <https://github.com/PyPSA/atlite/tree/master/atlite/resources/windturbine>`__ Specifies the turbine type and its characteristic power curve.
6 capacity_per_sqkm :math:`MW/km^2` float Allowable density of wind turbine placement.
7 correction_factor -- float Correction factor for capacity factor time series.
8 excluder_resolution m float Resolution on which to perform geographical elibility analysis.
9 corine -- Any *realistic* subset of the `CORINE Land Cover code list <http://www.eea.europa.eu/data-and-maps/data/corine-land-cover-2006-raster-1/corine-land-cover-classes-and/clc_legend.csv/at_download/file>`_ Specifies areas according to CORINE Land Cover codes which are generally eligible for AC-connected offshore wind turbine placement.
10 natura bool {true, false} Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``.
11 ship_threshold -- float Ship density threshold from which areas are excluded.
12 max_depth m float Maximum sea water depth at which wind turbines can be build. Maritime areas with deeper waters are excluded in the process of calculating the AC-connected offshore wind potential.
13 min_shore_distance m float Minimum distance to the shore below which wind turbines cannot be build. Such areas close to the shore are excluded in the process of calculating the AC-connected offshore wind potential. Minimum distance to the shore below which wind turbines cannot be build.
14 max_shore_distance m float Maximum distance to the shore above which wind turbines cannot be build.
15 potential -- One of {'simple', 'conservative'} Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`
16 clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.

View File

@ -11,3 +11,5 @@ corine,,,
natura,bool,"{true, false}","Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``."
potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`"
clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."
correction_factor,--,float,"Correction factor for capacity factor time series."
excluder_resolution,m,float,"Resolution on which to perform geographical elibility analysis."

1 Unit Values Description
11 natura bool {true, false} Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``.
12 potential -- One of {'simple', 'conservative'} Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`
13 clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.
14 correction_factor -- float Correction factor for capacity factor time series.
15 excluder_resolution m float Resolution on which to perform geographical elibility analysis.

View File

@ -1,10 +1,6 @@
,Unit,Values,Description
map,,,
-- figsize,--,"[width, height]; e.g. [7,7]","Figure size in inches."
-- boundaries,°,"[x1,x2,y1,y2]","Boundaries of the map plots in degrees latitude (y) and longitude (x)"
-- p_nom,,,
-- -- bus_size_factor,--,float,"Factor by which values determining bus sizes are scaled to fit well in the plot."
-- -- linewidth_factor,--,float,"Factor by which values determining bus sizes are scaled to fit well in the plot."
costs_max,bn Euro,float,"Upper y-axis limit in cost bar plots."
costs_threshold,bn Euro,float,"Threshold below which technologies will not be shown in cost bar plots."
energy_max,TWh,float,"Upper y-axis limit in energy bar plots."

1 Unit Values Description
2 map
-- figsize -- [width, height]; e.g. [7,7] Figure size in inches.
3 -- boundaries ° [x1,x2,y1,y2] Boundaries of the map plots in degrees latitude (y) and longitude (x)
-- p_nom
-- -- bus_size_factor -- float Factor by which values determining bus sizes are scaled to fit well in the plot.
-- -- linewidth_factor -- float Factor by which values determining bus sizes are scaled to fit well in the plot.
4 costs_max bn Euro float Upper y-axis limit in cost bar plots.
5 costs_threshold bn Euro float Threshold below which technologies will not be shown in cost bar plots.
6 energy_max TWh float Upper y-axis limit in energy bar plots.

5
doc/configtables/run.csv Normal file
View File

@ -0,0 +1,5 @@
,Unit,Values,Description
name,--,"any string","Specify a name for your run. Results will be stored under this name."
disable_progrssbar,bool,"{true, false}","Switch to select whether progressbar should be disabled."
shared_resources,bool,"{true, false}","Switch to select whether resources should be shared across runs."
shared_cutouts,bool,"{true, false}","Switch to select whether cutouts should be shared across runs."
1 Unit Values Description
2 name -- any string Specify a name for your run. Results will be stored under this name.
3 disable_progrssbar bool {true, false} Switch to select whether progressbar should be disabled.
4 shared_resources bool {true, false} Switch to select whether resources should be shared across runs.
5 shared_cutouts bool {true, false} Switch to select whether cutouts should be shared across runs.

View File

@ -3,3 +3,5 @@ simpl,--,cf. :ref:`simpl`,"List of ``{simpl}`` wildcards to run."
clusters,--,cf. :ref:`clusters`,"List of ``{clusters}`` wildcards to run."
ll,--,cf. :ref:`ll`,"List of ``{ll}`` wildcards to run."
opts,--,cf. :ref:`opts`,"List of ``{opts}`` wildcards to run."
sector_opts,--,cf. :ref:`sector_opts`,"List of ``{sector_opts}`` wildcards to run."
planning_horizons,--,cf. :ref:`planning_horizons`,"List of ``{planning_horizon}`` wildcards to run."

1 Unit Values Description
3 clusters -- cf. :ref:`clusters` List of ``{clusters}`` wildcards to run.
4 ll -- cf. :ref:`ll` List of ``{ll}`` wildcards to run.
5 opts -- cf. :ref:`opts` List of ``{opts}`` wildcards to run.
6 sector_opts -- cf. :ref:`sector_opts` List of ``{sector_opts}`` wildcards to run.
7 planning_horizons -- cf. :ref:`planning_horizons` List of ``{planning_horizon}`` wildcards to run.

View File

@ -0,0 +1,11 @@
Trigger, Description, Definition, Status
``nH``, i.e. ``2H``-``6H``, Resample the time-resolution by averaging over every ``n`` snapshots, ``prepare_network``: `average_every_nhours() <https://github.com/PyPSA/pypsa-eur/blob/6b964540ed39d44079cdabddee8333f486d0cd63/scripts/prepare_network.py#L110>`_ and its `caller <https://github.com/PyPSA/pypsa-eur/blob/6b964540ed39d44079cdabddee8333f486d0cd63/scripts/prepare_network.py#L146>`__), In active use
``Co2L``, Add an overall absolute carbon-dioxide emissions limit configured in ``electricity: co2limit``. If a float is appended an overall emission limit relative to the emission level given in ``electricity: co2base`` is added (e.g. ``Co2L0.05`` limits emissisions to 5% of what is given in ``electricity: co2base``), ``prepare_network``: `add_co2limit() <https://github.com/PyPSA/pypsa-eur/blob/6b964540ed39d44079cdabddee8333f486d0cd63/scripts/prepare_network.py#L19>`_ and its `caller <https://github.com/PyPSA/pypsa-eur/blob/6b964540ed39d44079cdabddee8333f486d0cd63/scripts/prepare_network.py#L154>`__, In active use
``carrier+{c|p|m}factor``,"Alter the capital cost (``c``), installable potential (``p``) or marginal costs (``m``) of a carrier by a factor. Example: ``solar+c0.5`` reduces the capital cost of solar to 50\% of original values.", ``prepare_network``, In active use
``T``,Add land transport sector,,In active use
``H``,Add heating sector,,In active use
``B``,Add biomass,,In active use
``I``,Add industry sector,,In active use
``A``,Add agriculture sector,,In active use
``dist``+``n``,Add distribution grid with investment costs of ``n`` times costs in ``data/costs_{cost_year}.csv``,,In active use
``seq``+``n``,Sets the CO2 sequestration potential to ``n`` Mt CO2 per year,,In active use
Can't render this file because it has a wrong number of fields in line 2.

View File

@ -1,4 +1,4 @@
,Unit,Values,Description
start,--,"str or datetime-like; e.g. YYYY-MM-DD","Left bound of date range"
end,--,"str or datetime-like; e.g. YYYY-MM-DD","Right bound of date range"
closed,--,"One of {None, left, right}","Make the time interval closed to the ``left``, ``right``, or open on both sides ``None``."
inclusive,--,"One of {'neither', 'both', left, right}","Make the time interval closed to the ``left``, ``right``, or both sides ``both`` or neither side ``None``."

1 Unit Values Description
2 start -- str or datetime-like; e.g. YYYY-MM-DD Left bound of date range
3 end -- str or datetime-like; e.g. YYYY-MM-DD Right bound of date range
4 closed inclusive -- One of {None, ‘left’, ‘right’} One of {'neither', 'both', ‘left’, ‘right’} Make the time interval closed to the ``left``, ``right``, or open on both sides ``None``. Make the time interval closed to the ``left``, ``right``, or both sides ``both`` or neither side ``None``.

View File

@ -12,3 +12,4 @@ corine,--,"Any subset of the `CORINE Land Cover code list <http://www.eea.europa
natura,bool,"{true, false}","Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``."
potential,--,"One of {'simple', 'conservative'}","Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`"
clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."
excluder_resolution,m,float,"Resolution on which to perform geographical elibility analysis."

1 Unit Values Description
12 natura bool {true, false} Switch to exclude `Natura 2000 <https://en.wikipedia.org/wiki/Natura_2000>`_ natural protection areas. Area is excluded if ``true``.
13 potential -- One of {'simple', 'conservative'} Method to compute the maximal installable potential for a node; confer :ref:`renewableprofiles`
14 clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.
15 excluder_resolution m float Resolution on which to perform geographical elibility analysis.

View File

@ -1,10 +0,0 @@
,Unit,Values,Description
formulation,--,"Any of {'angles', 'kirchhoff', 'cycles', 'ptdf'}","Specifies which variant of linearized power flow formulations to use in the optimisation problem. Recommended is 'kirchhoff'. Explained in `this article <https://arxiv.org/abs/1704.01881>`_."
load_shedding,bool,"{'true','false'}","Add generators with a prohibitively high marginal cost to simulate load shedding and avoid problem infeasibilities."
noisy_costs,bool,"{'true','false'}","Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`."
min_iterations,--,int,"Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run."
max_iterations,--,int,"Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run."
nhours,--,int,"Specifies the :math:`n` first snapshots to take into account. Must be less than the total number of snapshots. Rather recommended only for debugging."
clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."
skip_iterations,bool,"{'true','false'}","Skip iterating, do not update impedances of branches."
track_iterations,bool,"{'true','false'}","Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration)"
1 Unit Values Description
2 formulation -- Any of {'angles', 'kirchhoff', 'cycles', 'ptdf'} Specifies which variant of linearized power flow formulations to use in the optimisation problem. Recommended is 'kirchhoff'. Explained in `this article <https://arxiv.org/abs/1704.01881>`_.
3 load_shedding bool {'true','false'} Add generators with a prohibitively high marginal cost to simulate load shedding and avoid problem infeasibilities.
4 noisy_costs bool {'true','false'} Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`.
5 min_iterations -- int Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run.
6 max_iterations -- int Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run.
7 nhours -- int Specifies the :math:`n` first snapshots to take into account. Must be less than the total number of snapshots. Rather recommended only for debugging.
8 clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.
9 skip_iterations bool {'true','false'} Skip iterating, do not update impedances of branches.
10 track_iterations bool {'true','false'} Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration)

View File

@ -1,3 +0,0 @@
,Unit,Values,Description
name,--,"One of {'gurobi', 'cplex', 'cbc', 'glpk', 'ipopt'}; potentially more possible","Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow."
opts,--,"Parameter list for `Gurobi <https://www.gurobi.com/documentation/8.1/refman/parameters.html>`_ and `CPLEX <https://www.ibm.com/docs/en/icos/20.1.0?topic=cplex-topical-list-parameters>`_","Solver specific parameter settings."
1 Unit Values Description
2 name -- One of {'gurobi', 'cplex', 'cbc', 'glpk', 'ipopt'}; potentially more possible Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow.
3 opts -- Parameter list for `Gurobi <https://www.gurobi.com/documentation/8.1/refman/parameters.html>`_ and `CPLEX <https://www.ibm.com/docs/en/icos/20.1.0?topic=cplex-topical-list-parameters>`_ Solver specific parameter settings.

View File

@ -0,0 +1,17 @@
,Unit,Values,Description
options,,,
-- formulation,--,"Any of {'angles', 'kirchhoff', 'cycles', 'ptdf'}","Specifies which variant of linearized power flow formulations to use in the optimisation problem. Recommended is 'kirchhoff'. Explained in `this article <https://arxiv.org/abs/1704.01881>`_."
-- load_shedding,bool,"{'true','false'}","Add generators with a prohibitively high marginal cost to simulate load shedding and avoid problem infeasibilities."
-- noisy_costs,bool,"{'true','false'}","Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`."
-- min_iterations,--,int,"Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run."
-- max_iterations,--,int,"Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run."
-- nhours,--,int,"Specifies the :math:`n` first snapshots to take into account. Must be less than the total number of snapshots. Rather recommended only for debugging."
-- clip_p_max_pu,p.u.,float,"To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero."
-- skip_iterations,bool,"{'true','false'}","Skip iterating, do not update impedances of branches. Defaults to true."
-- track_iterations,bool,"{'true','false'}","Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration)"
-- seed,--,int,"Random seed for increased deterministic behaviour."
solver,,,
-- name,--,"One of {'gurobi', 'cplex', 'cbc', 'glpk', 'ipopt'}; potentially more possible","Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow."
-- options,--,"Key listed under ``solver_options``.","Link to specific parameter settings."
solver_options,,"dict","Dictionaries with solver-specific parameter settings."
mem,MB,"int","Estimated maximum memory requirement for solving networks."
1 Unit Values Description
2 options
3 -- formulation -- Any of {'angles', 'kirchhoff', 'cycles', 'ptdf'} Specifies which variant of linearized power flow formulations to use in the optimisation problem. Recommended is 'kirchhoff'. Explained in `this article <https://arxiv.org/abs/1704.01881>`_.
4 -- load_shedding bool {'true','false'} Add generators with a prohibitively high marginal cost to simulate load shedding and avoid problem infeasibilities.
5 -- noisy_costs bool {'true','false'} Add random noise to marginal cost of generators by :math:`\mathcal{U}(0.009,0,011)` and capital cost of lines and links by :math:`\mathcal{U}(0.09,0,11)`.
6 -- min_iterations -- int Minimum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run.
7 -- max_iterations -- int Maximum number of solving iterations in between which resistance and reactence (``x/r``) are updated for branches according to ``s_nom_opt`` of the previous run.
8 -- nhours -- int Specifies the :math:`n` first snapshots to take into account. Must be less than the total number of snapshots. Rather recommended only for debugging.
9 -- clip_p_max_pu p.u. float To avoid too small values in the renewables` per-unit availability time series values below this threshold are set to zero.
10 -- skip_iterations bool {'true','false'} Skip iterating, do not update impedances of branches. Defaults to true.
11 -- track_iterations bool {'true','false'} Flag whether to store the intermediate branch capacities and objective function values are recorded for each iteration in ``network.lines['s_nom_opt_X']`` (where ``X`` labels the iteration)
12 -- seed -- int Random seed for increased deterministic behaviour.
13 solver
14 -- name -- One of {'gurobi', 'cplex', 'cbc', 'glpk', 'ipopt'}; potentially more possible Solver to use for optimisation problems in the workflow; e.g. clustering and linear optimal power flow.
15 -- options -- Key listed under ``solver_options``. Link to specific parameter settings.
16 solver_options dict Dictionaries with solver-specific parameter settings.
17 mem MB int Estimated maximum memory requirement for solving networks.

View File

@ -1,17 +1,10 @@
,Unit,Values,Description
version,--,0.x.x,"Version of PyPSA-Eur"
version,--,0.x.x,"Version of PyPSA-Eur. Descriptive only."
tutorial,bool,"{true, false}","Switch to retrieve the tutorial data set instead of the full data set."
logging,,,
-- level,--,"Any of {'INFO', 'WARNING', 'ERROR'}","Restrict console outputs to all infos, warning or errors only"
-- format,--,"","Custom format for log messages. See `LogRecord <https://docs.python.org/3/library/logging.html#logging.LogRecord>`_ attributes."
summary_dir,--,"e.g. 'results'","Directory into which results are written."
foresight,string,"{overnight, myopic, perfect}","Defaults to overnight scenarios."
countries,--,"Subset of {'AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'}","European countries defined by their `Two-letter country codes (ISO 3166-1) <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_ which should be included in the energy system model."
focus_weights,--,"Keys should be two-digit country codes (e.g. DE) and values should range between 0 and 1","Ratio of total clusters for particular countries. the remaining weight is distributed according to mean load. An example: ``focus_weights: 'DE': 0.6 'FR': 0.2``."
enable,,,
-- prepare_links_p_nom,bool,"{true, false}","Switch to retrieve current HVDC projects from `Wikipedia <https://en.wikipedia.org/wiki/List_of_HVDC_projects>`_"
-- retrieve_databundle,bool,"{true, false}","Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder."
-- build_cutout,bool,"{true, false}","Switch to enable the building of cutouts via the rule :mod:`build_cutout`."
-- retrieve_cutout,bool,"{true, false}","Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`."
-- build_natura_raster,bool,"{true, false}","Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`."
-- retrieve_natura_raster,bool,"{true, false}","Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`."
-- custom_busmap,bool,"{true, false}","Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``."
co2_budget,--,"Dictionary with planning horizons as keys.","CO2 budget as a fraction of 1990 emissions. Overwritten if ``CO2Lx`` or ``cb`` are set in ``{sector_opts}`` wildcard"

1 Unit Values Description
2 version -- 0.x.x Version of PyPSA-Eur Version of PyPSA-Eur. Descriptive only.
3 tutorial bool {true, false} Switch to retrieve the tutorial data set instead of the full data set.
4 logging
5 -- level -- Any of {'INFO', 'WARNING', 'ERROR'} Restrict console outputs to all infos, warning or errors only
6 -- format -- Custom format for log messages. See `LogRecord <https://docs.python.org/3/library/logging.html#logging.LogRecord>`_ attributes.
7 summary_dir foresight -- string e.g. 'results' {overnight, myopic, perfect} Directory into which results are written. Defaults to overnight scenarios.
8 countries -- Subset of {'AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK'} European countries defined by their `Two-letter country codes (ISO 3166-1) <https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2>`_ which should be included in the energy system model.
9 focus_weights -- Keys should be two-digit country codes (e.g. DE) and values should range between 0 and 1 Ratio of total clusters for particular countries. the remaining weight is distributed according to mean load. An example: ``focus_weights: 'DE': 0.6 'FR': 0.2``.
10 enable co2_budget -- Dictionary with planning horizons as keys. CO2 budget as a fraction of 1990 emissions. Overwritten if ``CO2Lx`` or ``cb`` are set in ``{sector_opts}`` wildcard
-- prepare_links_p_nom bool {true, false} Switch to retrieve current HVDC projects from `Wikipedia <https://en.wikipedia.org/wiki/List_of_HVDC_projects>`_
-- retrieve_databundle bool {true, false} Switch to retrieve databundle from zenodo via the rule :mod:`retrieve_databundle` or whether to keep a custom databundle located in the corresponding folder.
-- build_cutout bool {true, false} Switch to enable the building of cutouts via the rule :mod:`build_cutout`.
-- retrieve_cutout bool {true, false} Switch to enable the retrieval of cutouts from zenodo with :mod:`retrieve_cutout`.
-- build_natura_raster bool {true, false} Switch to enable the creation of the raster ``natura.tiff`` via the rule :mod:`build_natura_raster`.
-- retrieve_natura_raster bool {true, false} Switch to enable the retrieval of ``natura.tiff`` from zenodo with :mod:`retrieve_natura_raster`.
-- custom_busmap bool {true, false} Switch to enable the use of custom busmaps in rule :mod:`cluster_network`. If activated the rule looks for provided busmaps at ``data/custom_busmap_elec_s{simpl}_{clusters}.csv`` which should have the same format as ``resources/busmap_elec_s{simpl}_{clusters}.csv``, i.e. the index should contain the buses of ``networks/elec_s{simpl}.nc``.

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -18,7 +18,7 @@ Top-level configuration
.. literalinclude:: ../config.default.yaml
:language: yaml
:lines: 5-12,20,31-38
:lines: 5-11,18-19,62,80-90
.. csv-table::
@ -40,8 +40,12 @@ The ``run`` section is used for running and storing scenarios with different con
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: run:
:end-before: scenario:
:end-before: foresight:
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/run.csv
``scenario``
============
@ -52,9 +56,21 @@ facilitate running multiple scenarios through a single command
.. code:: bash
snakemake -j 1 solve_all_networks
# for electricity-only studies
snakemake -call solve_elec_networks
For each wildcard, a **list of values** is provided. The rule ``solve_all_networks`` will trigger the rules for creating ``results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc`` for **all combinations** of the provided wildcard values as defined by Python's `itertools.product(...) <https://docs.python.org/2/library/itertools.html#itertools.product>`_ function that snakemake's `expand(...) function <https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#targets>`_ uses.
# for sector-coupling studies
snakemake -call solve_sector_networks
For each wildcard, a **list of values** is provided. The rule
``solve_all_elec_networks`` will trigger the rules for creating
``results/networks/elec_s{simpl}_{clusters}_ec_l{ll}_{opts}.nc`` for **all
combinations** of the provided wildcard values as defined by Python's
`itertools.product(...)
<https://docs.python.org/2/library/itertools.html#itertools.product>`_ function
that snakemake's `expand(...) function
<https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#targets>`_
uses.
An exemplary dependency graph (starting from the simplification rules) then looks like this:
@ -87,6 +103,23 @@ Specifies the temporal range to build an energy system model for as arguments to
:widths: 25,7,22,30
:file: configtables/snapshots.csv
.. _enable_cf:
``enable``
==========
Switches for some rules and optional features.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: enable:
:end-before: co2_budget:
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/enable.csv
.. _electricity_cf:
``electricity``
@ -192,15 +225,24 @@ Define and specify the ``atlite.Cutout`` used for calculating renewable potentia
.. _lines_cf:
``conventional``
=============
================
Define additional generator attribute for conventional carrier types. If a scalar value is given it is applied to all generators. However if a string starting with "data/" is given, the value is interpreted as a path to a csv file with country specific values. Then, the values are read in and applied to all generators of the given carrier in the given country. Note that the value(s) overwrite the existing values in the corresponding section of the ``generators`` dataframe.
Define additional generator attribute for conventional carrier types. If a
scalar value is given it is applied to all generators. However if a string
starting with "data/" is given, the value is interpreted as a path to a csv file
with country specific values. Then, the values are read in and applied to all
generators of the given carrier in the given country. Note that the value(s)
overwrite the existing values.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: conventional:
:end-before: lines:
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/conventional.csv
``lines``
=============
@ -252,7 +294,8 @@ Define additional generator attribute for conventional carrier types. If a scala
.. literalinclude:: ../config.default.yaml
:language: yaml
:lines: 212-217
:start-after: type:
:end-at: scaling_factor:
.. csv-table::
:header-rows: 1
@ -266,7 +309,7 @@ Define additional generator attribute for conventional carrier types. If a scala
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-after: scaling_factor:
:start-at: costs:
:end-before: clustering:
.. csv-table::
@ -274,10 +317,6 @@ Define additional generator attribute for conventional carrier types. If a scala
:widths: 25,7,22,30
:file: configtables/costs.csv
.. note::
To change cost assumptions in more detail (i.e. other than ``marginal_cost`` and ``capital_cost``), consider modifying cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file.
You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``.
.. _clustering_cf:
@ -286,7 +325,7 @@ Define additional generator attribute for conventional carrier types. If a scala
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-after: co2:
:start-at: clustering:
:end-before: solving:
.. csv-table::
@ -295,42 +334,131 @@ Define additional generator attribute for conventional carrier types. If a scala
:file: configtables/clustering.csv
.. _energy_cf:
``energy``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: energy:
:end-before: biomass:
.. _biomass_cf:
``biomass``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: biomass:
:end-before: solar_thermal:
.. _solar_thermal_cf:
``solar_thermal``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: solar_thermal:
:end-before: existing_capacities:
.. _existing_capacities_cf:
``existing_capacities``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: existing_capacities:
:end-before: sector:
.. _sector_cf:
``sector``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: sector:
:end-before: industry:
.. _industry_cf:
``industry``
=======================
.. note::
Only used for sector-coupling studies.
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: industry:
:end-before: costs:
.. _solving_cf:
``solving``
=============
``options``
-----------
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: solving:
:end-before: solver:
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/solving-options.csv
``solver``
----------
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: solver:
:end-before: plotting:
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/solving-solver.csv
:file: configtables/solving.csv
.. csv-table::
:header-rows: 1
:widths: 25,7,22,30
:file: configtables/solving.csv
.. _plotting_cf:
``plotting``
=============
.. warning::
More comprehensive documentation for this segment will be released soon.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: plotting:

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -7,9 +7,9 @@
Contributing
#######################
We happily welcome anyone interested in contributing to this project,
be it with new ideas, suggestions, by filing bug reports or contributing code
to our `GitHub repository <https://github.com/PyPSA/PyPSA-Eur>`_.
We welcome anyone interested in contributing to this project, be it with new
ideas, suggestions, by filing bug reports or contributing code to our `GitHub
repository <https://github.com/PyPSA/PyPSA-Eur>`_.
* If you already have some code changes, you can submit them directly as a `pull request <https://github.com/PyPSA/pypsa-eur/pulls>`_.
* If you are wondering where we would greatly appreciate your efforts, check out the ``help wanted`` tag in the `issues list <https://github.com/PyPSA/pypsa-eur/issues>`_ and initiate a discussion there.
@ -21,16 +21,17 @@ For linting, formatting and checking your code contributions
against our guidelines (e.g. we use `Black <https://github.com/psf/black>`_ as code style
use `pre-commit <https://pre-commit.com/index.html>`_:
1. Installation ``conda install -c conda-forge pre-commit`` or ``pip install pre-commit``
1. Installation ``mamba install -c conda-forge pre-commit`` or ``pip install pre-commit``
2. Usage:
* To automatically activate ``pre-commit`` on every ``git commit``: Run ``pre-commit install``
* To manually run it: ``pre-commit run --all``
Note that installing `pre-commit` locally is not strictly necessary. If you create a Pull Request the `pre-commit CI` will be triggered automatically and take care of the checks.
.. note::
Note that installing ``pre-commit`` locally is not strictly necessary. If you create a Pull Request the ``pre-commit CI`` will be triggered automatically and take care of the checks.
For all code contributions we follow the four eyes principle (two person principle), i.e. all suggested code
including our own are reviewed by a second person before they are incorporated into our repository.
If you are unfamiliar with pull requests, the GitHub help pages have a nice `guide <https://help.github.com/en/articles/about-pull-requests>`_.
To ask and answer general usage questions, join the `PyPSA and PyPSA-Eur mailing list <https://groups.google.com/forum/#!forum/pypsa>`_.
To ask and answer general usage questions, join the `PyPSA mailing list <https://groups.google.com/forum/#!forum/pypsa>`_.

View File

@ -1,22 +1,24 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##################
Cost Assumptions
##################
############################
Techno-Economic Assumptions
############################
The database of cost assumptions is retrieved from the repository
`PyPSA/technology-data <https://github.com/pypsa/technology-data>`_ and then
saved to ``resources/costs.csv``. Cost assumptions of previous PyPSA-Eur
versions can be restored by setting in the ``Snakefile``:
``COSTS="data/costs.csv"``.
saved to a file ``data/costs_{year}.csv``. The ``config.yaml`` provides options
to choose a reference year and use a specific version of the repository.
The ``config.yaml`` provides options to choose a reference year (``costs: year:``) and use a specific version of the repository ``costs: version:``.
.. literalinclude:: ../config.default.yaml
:language: yaml
:start-at: costs:
:end-at: version:
It includes cost assumptions for all included technologies for specific
years from various sources, namely for
The file includes cost assumptions for all included technologies for specific
years compiled from various sources, namely for
- discount rate,
- lifetime,
@ -27,6 +29,10 @@ years from various sources, namely for
- efficiency, and
- carbon-dioxide intensity.
Many values are taken from a database published by the Danish Energy Agency (`DEA
<https://ens.dk/en/our-services/projections-and-models/technology-data>`_).
The given overnight capital costs are annualised to net present costs
with a discount rate of :math:`r` over the economic lifetime :math:`n` using the annuity factor
@ -34,14 +40,18 @@ with a discount rate of :math:`r` over the economic lifetime :math:`n` using the
a = \frac{1-(1+r)^{-n}}{r}.
Based on the parameters above the ``marginal_cost`` and ``capital_cost`` of the system components are calculated.
Based on the parameters above the ``marginal_cost`` and ``capital_cost`` of the
system components are automatically calculated.
Modifying Cost Assumptions
==========================
Modifying Assumptions
=====================
Some cost assumptions (e.g. marginal cost and capital cost) can be directly overwritten in the ``config.yaml`` (cf. Section :ref:`costs_cf` in :ref:`config`).
Some cost assumptions (e.g. marginal cost and capital cost) can be directly
set in the ``config.yaml`` (cf. Section :ref:`costs_cf` in
:ref:`config`). To change cost assumptions in more detail, make a copy of
``data/costs_{year}.csv`` and reference the new cost file in the ``Snakefile``:
To change cost assumptions in more detail, modify cost assumptions directly in ``resources/costs.csv`` as this is not yet supported through the config file.
You can also build multiple different cost databases. Make a renamed copy of ``resources/costs.csv`` (e.g. ``data/costs-optimistic.csv``) and set the variable ``COSTS=data/costs-optimistic.csv`` in the ``Snakefile``.
.. literalinclude:: ../Snakefile
:start-at: COSTS
:end-at: COSTS

271
doc/foresight.rst Normal file
View File

@ -0,0 +1,271 @@
..
SPDX-FileCopyrightText: 2021-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _foresight:
#####################
Foresight Options
#####################
.. _overnight:
Overnight (greenfield) scenarios
================================
The default is to calculate a rebuilding of the energy system to meet demand, a so-called overnight or greenfield approach.
In this case, the ``planning_horizons`` parameter specifies the reference year for exogenously given transition paths (e.g. the level of steel recycling).
It does not affect the year for cost and technology assumptions, which is set separately in the config.
.. code:: yaml
scenario:
planning_horizons:
- 2050
costs:
year: 2030
For running overnight scenarios, use in the ``config.yaml``:
.. code:: yaml
foresight: overnight
.. _perfect:
Perfect foresight scenarios
===========================
.. warning::
Perfect foresight is currently under development and not yet implemented.
For running perfect foresight scenarios, in future versions you will be able to
set in the ``config.yaml``:
.. code:: yaml
foresight: perfect
.. _myopic:
Myopic foresight scenarios
=============================
The myopic code can be used to investigate progressive changes in a network, for
instance, those taking place throughout a transition path. The capacities
installed in a certain time step are maintained in the network until their
operational lifetime expires.
The myopic approach was initially developed and used in the paper `Early
decarbonisation of the European Energy system pays off (2020)
<https://www.nature.com/articles/s41467-020-20015-4>`__ and later further
extended in `Speed of technological transformations required in Europe to
achieve different climate goals (2022)
<https://doi.org/10.1016/j.joule.2022.04.016>`__. The current implementation
complies with the PyPSA-Eur-Sec standard working flow and is compatible with
using the higher resolution electricity transmission model `PyPSA-Eur
<https://github.com/PyPSA/pypsa-eur>`__ rather than a one-node-per-country
model.
The current code applies the myopic approach to generators, storage technologies
and links in the power sector. It furthermore applies it to the space and water
heating sector (e.g., the share of district heating and reduced space heat
demand), industry processes (e.g., steel, direct reduced iron, and aluminum
production via primary route), the share of fuel cell and battery electric
vehicles in land transport, and the hydrogen share in shipping (see
:doc:`supply_demand` for further information).
The following subjects within the land transport and biomass currently do not
evolve with the myopic approach:
- The percentage of electric vehicles that allow demand-side management and
vehicle-to-grid services.
- The annual biomass potential (default year and scenario for which potential is
taken is 2030, defined `here
<https://github.com/PyPSA/pypsa-eur-sec/blob/413254e241fb37f55b41caba7264644805ad8e97/config.default.yaml#L109>`_)
Configuration
--------------
For running myopic foresight transition scenarios, set in ``config.yaml``:
.. code:: yaml
foresight: myopic
The following options included in the config.yaml file are relevant for the
myopic code.
The ``{planning_horizons}`` wildcard indicates the year in which the network is
optimized. For a myopic optimization, this is equivalent to the investment year.
To set the investment years which are sequentially simulated for the myopic
investment planning, select for example:
.. literalinclude:: ../test/config.myopic.yaml
:language: yaml
:start-at: planning_horizons:
:end-before: countries:
**existing capacities**
Grouping years indicates the bins limits for grouping the existing capacities of
different technologies. Note that separate bins are defined for the power and
heating plants due to different data sources.
``grouping_years_power: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2020,
2025, 2030]``
``grouping_years_heat: [1980, 1985, 1990, 1995, 2000, 2005, 2010, 2015, 2019]``
**threshold capacity**
If for a technology, node, and grouping bin, the capacity is lower than
threshold_capacity, it is ignored.
``threshold_capacity: 10``
**conventional carriers**
Conventional carriers indicate carriers used in the existing conventional
technologies.
conventional_carriers:
\- lignite
\- coal
\- oil
\- uranium
Options
--------------
The total carbon budget for the entire transition path can be indicated in the
`sector_opts
<https://github.com/PyPSA/pypsa-eur-sec/blob/f13902510010b734c510c38c4cae99356f683058/config.default.yaml#L25>`_
in ``config.yaml``. The carbon budget can be split among the
``planning_horizons`` following an exponential or beta decay. E.g. ``'cb40ex0'``
splits a carbon budget equal to 40 Gt :math:`_{CO_2}` following an exponential
decay whose initial linear growth rate r is zero. They can also follow some
user-specified path, if defined `here
<https://github.com/PyPSA/pypsa-eur-sec/blob/413254e241fb37f55b41caba7264644805ad8e97/config.default.yaml#L56>`_.
The paper `Speed of technological transformations required in Europe to achieve
different climate goals (2022) <https://doi.org/10.1016/j.joule.2022.04.016>`__
defines CO_2 budgets corresponding to global temperature increases (1.5C 2C)
as response to the emissions. Here, global carbon budgets are converted to
European budgets assuming equal-per capita distribution which translates into a
6.43% share for Europe. The carbon budgets are in this paper distributed
throughout the transition paths assuming an exponential decay. Emissions e(t) in
every year t are limited by
.. math::
e(t) = e_0 (1+ (r+m)t) e^{-mt}
where r is the initial linear growth rate, which here is assumed to be r=0, and
the decay parameter m is determined by imposing the integral of the path to be
equal to the budget for Europe. Following this approach, the CO_2 budget is
defined. Following the same approach as in this paper, add the following to the
``scenario.sector_opts`` E.g. ``-cb25.7ex0`` (1.5C increase) Or ``cb73.9ex0``
(2C increase). See details in Supplemental Note S1 `Speed of technological
transformations required in Europe to achieve different climate goals (2022)
<https://doi.org/10.1016/j.joule.2022.04.016>`__.
General myopic code structure
---------------------------------
The myopic code solves the network for the time steps included in
``planning_horizons`` in a recursive loop, so that:
1. The existing capacities (those installed before the base year are added as
fixed capacities with p_nom=value, p_nom_extendable=False). E.g. for
baseyear=2020, capacities installed before 2020 are added. In addition, the
network comprises additional generator, storage, and link capacities with
p_nom_extendable=True. The non-solved network is saved in
``results/run_name/networks/prenetworks-brownfield``.
The base year is the first element in ``planning_horizons``. Step 1 is
implemented with the rule add_baseyear for the base year and with the rule
add_brownfield for the remaining planning_horizons.
2. The 2020 network is optimized. The solved network is saved in
``results/run_name/networks/postnetworks``
3. For the next planning horizon, e.g. 2030, the capacities from a previous time
step are added if they are still in operation (i.e., if they fulfil planning
horizon <= commissioned year + lifetime). In addition, the network comprises
additional generator, storage, and link capacities with
p_nom_extendable=True. The non-solved network is saved in
``results/run_name/networks/prenetworks-brownfield``.
Steps 2 and 3 are solved recursively for all the planning_horizons included in
``config.yaml``.
Rule overview
--------------
- rule add_existing baseyear
The rule add_existing_baseyear loads the network in
results/run_name/networks/prenetworks and performs the following operations:
1. Add the conventional, wind and solar power generators that were installed
before the base year.
2. Add the heating capacities that were installed before the base year.
The existing conventional generators are retrieved from the `powerplants.csv
file
<https://pypsa-eur.readthedocs.io/en/latest/preparation/build_powerplants.html?highlight=powerplants>`__
generated by pypsa-eur which, in turn, is based on the `powerplantmatching
<https://github.com/FRESNA/powerplantmatching>`__ database.
Existing wind and solar capacities are retrieved from `IRENA annual statistics
<https://www.irena.org/Statistics/Download-Data>`__ and distributed among the
nodes in a country proportional to capacity factor. (This will be updated to
include capacity distributions closer to reality.)
Existing heating capacities are retrieved from the report `Mapping and
analyses of the current and future (2020 - 2030) heating/cooling fuel
deployment (fossil/renewables)
<https://ec.europa.eu/energy/studies/mapping-and-analyses-current-and-future-2020-2030-heatingcooling-fuel-deployment_en?redir=1>`__.
The heating capacities are assumed to have a lifetime indicated by the
parameter lifetime in the configuration file, e.g 25 years. They are assumed
to be decommissioned linearly starting on the base year, e.g., from 2020 to
2045.
Then, the resulting network is saved in
``results/run_name/networks/prenetworks-brownfield``.
- rule add_brownfield
The rule add_brownfield loads the network in
``results/run_name/networks/prenetworks`` and performs the following
operation:
1. Read the capacities optimized in the previous time step and add them to the
network if they are still in operation (i.e., if they fulfill planning
horizon < commissioned year + lifetime)
Then, the resulting network is saved in
``results/run_name/networks/prenetworks_brownfield``.

BIN
doc/img/intro-workflow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 KiB

BIN
doc/img/pypsa-logo.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 KiB

View File

@ -1,10 +1,11 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
PyPSA-Eur: An Open Optimisation Model of the European Transmission System
=========================================================================
##################################################################################
PyPSA-Eur: A Sector-Coupled Open Optimisation Model of the European Energy System
##################################################################################
.. image:: https://img.shields.io/github/v/release/pypsa/pypsa-eur?include_prereleases
:alt: GitHub release (latest by date including pre-releases)
@ -14,7 +15,7 @@ PyPSA-Eur: An Open Optimisation Model of the European Transmission System
.. image:: https://readthedocs.org/projects/pypsa-eur/badge/?version=latest
:target: https://pypsa-eur.readthedocs.io/en/latest/?badge=latest
:alt: Documentation Status
:alt: Documentation
.. image:: https://img.shields.io/github/repo-size/pypsa/pypsa-eur
:alt: GitHub repo size
@ -22,35 +23,103 @@ PyPSA-Eur: An Open Optimisation Model of the European Transmission System
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg
:target: https://doi.org/10.5281/zenodo.3520874
.. image:: https://img.shields.io/badge/snakemake-≥5.0.0-brightgreen.svg?style=flat
.. image:: https://img.shields.io/badge/snakemake-≥7.19-brightgreen.svg?style=flat
:target: https://snakemake.readthedocs.io
:alt: Snakemake
.. image:: https://api.reuse.software/badge/github.com/pypsa/pypsa-eur
:target: https://api.reuse.software/info/github.com/pypsa/pypsa-eur
:alt: REUSE status
:alt: REUSE
PyPSA-Eur is an open model dataset of the European power system at the
transmission network level that covers the full ENTSO-E area.
|
It contains alternating current lines at and above 220 kV voltage level and all high voltage direct current lines, substations, an open database of conventional power plants, time series for electrical demand and variable renewable generator availability, and geographic potentials for the expansion of wind and solar power.
PyPSA-Eur is an open model dataset of the European energy system at the
transmission network level that covers the full ENTSO-E area. It covers demand
and supply for all energy sectors. From version v0.8.0, PyPSA-Eur includes all
the features from PyPSA-Eur-Sec, which is now deprecated.
The model is suitable both for operational studies and generation and transmission expansion planning studies. The continental scope and highly resolved spatial scale enables a proper description of the long-range smoothing effects for renewable power generation and their varying resource availability.
Electricity System
==================
The electricity system representation contains alternating current lines at
and above 220 kV voltage level and all high voltage direct current lines,
substations, an open database of conventional power plants, time series for
electrical demand and variable renewable generator availability, geographic
potentials for the expansion of wind and solar power.
The model is suitable both for operational studies and generation and
transmission expansion planning studies. The continental scope and highly
resolved spatial scale enables a proper description of the long-range smoothing
effects for renewable power generation and their varying resource availability.
.. image:: img/elec.png
:width: 50%
:width: 70%
:align: center
The restriction to freely available and open data encourages the open exchange of model data developments and eases the comparison of model results. It provides a full, automated software pipeline to assemble the load-flow-ready model from the original datasets, which enables easy replacement and improvement of the individual parts.
|
PyPSA-Eur is designed to be imported into the open toolbox `PyPSA <https://www.pypsa.org>`_ for which `documentation <https://pypsa.org/doc>`_ is available as well.
Sector-Coupled Energy System
============================
A sector-coupled extension (previously known as **PyPSA-Eur-Sec**, which is now
deprecated) adds demand and supply for the following sectors: transport, space
and water heating, biomass, energy consumption in the agriculture, industry and
industrial feedstocks, carbon management, carbon capture and
usage/sequestration. This completes the energy system and includes all
greenhouse gas emitters except waste management, agriculture, forestry and land
use. The diagram below gives an overview of the sectors and the links between
them:
.. image:: ../graphics/multisector_figure.png
:width: 70%
:align: center
.. note::
You can find showcases of the model's capabilities in the Supplementary Materials of the
preprint `Benefits of a Hydrogen Network in Europe
<https://arxiv.org/abs/2207.05816>`_, the Supplementary Materials of the `paper in Joule with a
description of the industry sector
<https://arxiv.org/abs/2109.09563>`_, or in `a 2021 presentation
at EMP-E <https://nworbmot.org/energy/brown-empe.pdf>`_.
The sector-coupled extension of PyPSA-Eur was
initially described in the paper `Synergies of sector coupling and transmission
reinforcement in a cost-optimised, highly renewable European energy system
<https://arxiv.org/abs/1801.05290>`_ (2018) but it differs by being based on the
higher resolution electricity transmission model `PyPSA-Eur
<https://github.com/PyPSA/pypsa-eur>`_ rather than a one-node-per-country model,
and by including biomass, industry, industrial feedstocks, aviation, shipping,
better carbon management, carbon capture and usage/sequestration, and gas
networks.
About
=====
PyPSA-Eur is designed to be imported into the open energy system modelling
framework `PyPSA <https://www.pypsa.org>`_ for which `documentation
<https://pypsa.readthedocs.io>`_ is available as well. However, since the
workflow is modular, it should be easy to adapt the data workflow to other
modelling frameworks.
The restriction to freely available and open data encourages the open exchange
of model data developments and eases the comparison of model results. It
provides a full, automated software pipeline to assemble the load-flow-ready
model from the original datasets, which enables easy replacement and improvement
of the individual parts.
.. warning::
PyPSA-Eur is under active development and has several
:doc:`limitations` which
you should understand before using the model. The Github repository
`issues <https://github.com/PyPSA/pypsa-eur/issues>`_ collect known
topics we are working on. Please feel free to help or make suggestions.
This project is currently maintained by the `Department of Digital
Transformation in Energy Systems <https:/www.ensys.tu-berlin.de>`_ at the
`Technische Universität Berlin <https://www.tu.berlin>`_. Previous versions were
developed within the `IAI <http://www.iai.kit.edu>`_ at the `Karlsruhe Institute of
Technology (KIT) <http://www.kit.edu/english/index.php>`_ and by the `Renewable
Energy Group
developed within the `IAI <http://www.iai.kit.edu>`_ at the `Karlsruhe Institute
of Technology (KIT) <http://www.kit.edu/english/index.php>`_ which was funded by
the `Helmholtz Association <https://www.helmholtz.de/en/>`_, and by the
`Renewable Energy Group
<https://fias.uni-frankfurt.de/physics/schramm/renewable-energy-system-and-network-analysis/>`_
at `FIAS <https://fias.uni-frankfurt.de/>`_ to carry out simulations for the
`CoNDyNet project <http://condynet.de/>`_, financed by the `German Federal
@ -58,129 +127,83 @@ Ministry for Education and Research (BMBF) <https://www.bmbf.de/en/index.html>`_
as part of the `Stromnetze Research Initiative
<http://forschung-stromnetze.info/projekte/grundlagen-und-konzepte-fuer-effiziente-dezentrale-stromnetze/>`_.
A version of the model that adds building heating, transport and industry sectors to the model,
as well as gas networks, is currently being developed in the `PyPSA-Eur-Sec repository <https://github.com/pypsa/pypsa-eur-sec>`_.
Documentation
=============
**Getting Started**
* :doc:`introduction`
* :doc:`installation`
* :doc:`tutorial`
.. toctree::
:hidden:
:maxdepth: 1
:caption: Getting Started
introduction
installation
tutorial
**Configuration**
* :doc:`wildcards`
* :doc:`configuration`
* :doc:`costs`
.. toctree::
:hidden:
:maxdepth: 1
:caption: Configuration
wildcards
configuration
costs
**Rules Overview**
* :doc:`preparation`
* :doc:`simplification`
* :doc:`solving`
* :doc:`plotting`
.. toctree::
:hidden:
:maxdepth: 1
:caption: Rules Overview
preparation
simplification
solving
plotting
**References**
* :doc:`release_notes`
* :doc:`limitations`
* :doc:`contributing`
* :doc:`cloudcomputing`
.. toctree::
:hidden:
:maxdepth: 1
:caption: References
release_notes
limitations
contributing
cloudcomputing
Warnings
Workflow
========
Please read the `limitations <https://pypsa-eur.readthedocs.io/en/latest/limitations.html>`_ section of the
documentation and paper carefully before using the model. We do not
recommend to use the full resolution network model for simulations. At
high granularity the assignment of loads and generators to the nearest
network node may not be a correct assumption, depending on the topology of the underlying distribution grid,
and local grid
bottlenecks may cause unrealistic load-shedding or generator
curtailment. We recommend to cluster the network to a couple of
hundred nodes to remove these local inconsistencies.
.. image:: ../graphics/workflow.png
:class: full-width
:align: center
.. note::
The graph above was generated using
``snakemake --rulegraph -F | sed -n "/digraph/,/}/p" | dot -Tpng -o workflow.png``
Learning Energy System Modelling
================================
If you are (relatively) new to energy system modelling and optimisation
and plan to use PyPSA-Eur, the following resources are *one way* to get started
in addition to reading this documentation.
If you are (relatively) new to energy system modelling and optimisation and plan
to use PyPSA-Eur, the following resources are one way to get started in addition
to reading this documentation.
- Documentation of `PyPSA <https://pypsa.readthedocs.io>`__, the package for
simulating and optimising modern power systems which PyPSA-Eur uses under the hood.
- Course on `Energy System Modelling <https://nworbmot.org/courses/esm-2019/>`_,
Karlsruhe Institute of Technology (KIT), `Dr. Tom Brown <https://nworbmot.org>`_
modelling energy systems which PyPSA-Eur uses under the hood.
- Course on `Energy Systems <https://nworbmot.org/courses/es-22/>`_ given at
Technical University of Berlin by `Prof. Dr. Tom Brown <https://nworbmot.org>`_.
- Course on `Data Science for Energy System Modelling <https://fneum.github.io/data-science-for-esm/intro.html>`_
given at Technical University of Berlin by `Dr. Fabian Neumann <https://neumann.fyi>`_.
Citing PyPSA-Eur
================
If you use PyPSA-Eur for your research, we would appreciate it if you would cite the following paper:
If you use PyPSA-Eur for your research, we would appreciate it if you would cite one of the following papers:
- Jonas Hörsch, Fabian Hofmann, David Schlachtberger, and Tom Brown. `PyPSA-Eur: An open optimisation model of the European transmission system <https://arxiv.org/abs/1806.01613>`_. Energy Strategy Reviews, 22:207-215, 2018. `arXiv:1806.01613 <https://arxiv.org/abs/1806.01613>`_, `doi:10.1016/j.esr.2018.08.012 <https://doi.org/10.1016/j.esr.2018.08.012>`_.
Please use the following BibTeX: ::
For electricity-only studies: ::
@article{PyPSAEur,
author = "Jonas Hoersch and Fabian Hofmann and David Schlachtberger and Tom Brown",
title = "PyPSA-Eur: An open optimisation model of the European transmission system",
journal = "Energy Strategy Reviews",
volume = "22",
pages = "207 - 215",
pages = "207--215",
year = "2018",
issn = "2211-467X",
doi = "10.1016/j.esr.2018.08.012",
eprint = "1806.01613"
}
For sector-coupling studies: ::
If you want to cite a specific PyPSA-Eur version, each release of PyPSA-Eur is stored on Zenodo with a release-specific DOI.
This can be found linked from the overall PyPSA-Eur Zenodo DOI:
@misc{PyPSAEurSec,
author = "Fabian Neumann and Elisabeth Zeyen and Marta Victoria and Tom Brown",
title = "The Potential Role of a Hydrogen Network in Europe",
year = "2022",
eprint = "2207.05816",
url = "https://arxiv.org/abs/2207.05816",
}
For sector-coupling studies with pathway optimisation: ::
@article{SpeedTechnological2022,
title = "Speed of technological transformations required in {Europe} to achieve different climate goals",
author = "Marta Victoria and Elisabeth Zeyen and Tom Brown",
journal = "Joule",
volume = "6",
number = "5",
pages = "1066--1086",
year = "2022",
doi = "10.1016/j.joule.2022.04.016",
eprint = "2109.09563",
}
If you want to cite a specific PyPSA-Eur version, each release of PyPSA-Eur is stored on Zenodo with a release-specific DOI:
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3520874.svg
:target: https://doi.org/10.5281/zenodo.3520874
Pre-Built Networks as a Dataset
===============================
@ -198,26 +221,57 @@ The included ``.nc`` files are PyPSA network files which can be imported with Py
filename = "elec_s_1024_ec.nc" # example
n = pypsa.Network(filename)
Licence
=======
PyPSA-Eur work is released under multiple licenses:
* All original source code is licensed as free software under `MIT <LICENSES/MIT.txt>`_.
* The documentation is licensed under `CC-BY-4.0 <LICENSES/CC-BY-4.0.txt>`_.
* Configuration files are mostly licensed under `CC0-1.0 <LICENSES/CC0-1.0.txt>`_.
* Data files are licensed under `CC-BY-4.0 <LICENSES/CC-BY-4.0.txt>`_.
See the individual files and the `dep5 <.reuse/dep5>`_ file for license details.
Additionally, different licenses and terms of use also apply to the various input data, which are summarised below.
More details are included in
`the description of the data bundles on zenodo <https://zenodo.org/record/3517935#.XbGeXvzRZGo>`_.
.. toctree::
:hidden:
:maxdepth: 1
:caption: Getting Started
.. csv-table::
:header-rows: 1
:file: configtables/licenses.csv
introduction
installation
tutorial
tutorial_sector
* *BY: Attribute Source*
* *NC: Non-Commercial Use Only*
* *SA: Share Alike*
.. toctree::
:hidden:
:maxdepth: 1
:caption: Configuration
wildcards
configuration
foresight
costs
.. toctree::
:hidden:
:maxdepth: 1
:caption: Rules Overview
retrieve
preparation
simplification
sector
solving
plotting
.. toctree::
:hidden:
:maxdepth: 1
:caption: Implementation details for sector-coupled systems
spatial_resolution
supply_demand
.. toctree::
:hidden:
:maxdepth: 1
:caption: References
release_notes
licenses
limitations
contributing
publications

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -15,15 +15,13 @@ directory in which the commands following the ``%`` should be entered.
Clone the Repository
====================
First of all, clone the `PyPSA-Eur repository <https://github.com/PyPSA/pypsa-eur>`_ using the version control system ``git``.
The path to the directory into which the ``git repository`` is cloned, must **not** have any spaces!
If you do not have ``git`` installed, follow installation instructions `here <https://git-scm.com/book/en/v2/Getting-Started-Installing-Git>`_.
First of all, clone the `PyPSA-Eur repository <https://github.com/PyPSA/pypsa-eur>`_ using the version control system ``git`` in the command line.
.. code:: bash
/some/other/path % cd /some/path/without/spaces
/some/other/path % cd /some/path
/some/path/without/spaces % git clone https://github.com/PyPSA/pypsa-eur.git
/some/path % git clone https://github.com/PyPSA/pypsa-eur.git
.. _deps:
@ -32,102 +30,108 @@ Install Python Dependencies
===============================
PyPSA-Eur relies on a set of other Python packages to function.
We recommend using the package manager and environment management system ``conda`` to install them.
Install `miniconda <https://docs.conda.io/en/latest/miniconda.html>`_, which is a mini version of `Anaconda <https://www.anaconda.com/>`_ that includes only ``conda`` and its dependencies or make sure ``conda`` is already installed on your system.
For instructions for your operating system follow the ``conda`` `installation guide <https://docs.conda.io/projects/conda/en/latest/user-guide/install/>`_.
We recommend using the package manager `mamba <https://mamba.readthedocs.io/en/latest/>`_ to install them and manage your environments.
For instructions for your operating system follow the ``mamba`` `installation guide <https://mamba.readthedocs.io/en/latest/installation.html>`_.
You can also use ``conda`` equivalently.
The python package requirements are curated in the `envs/environment.yaml <https://github.com/PyPSA/pypsa-eur/blob/master/envs/environment.yaml>`_ file.
The package requirements are curated in the `envs/environment.yaml <https://github.com/PyPSA/pypsa-eur/blob/master/envs/environment.yaml>`_ file.
The environment can be installed and activated using
.. code:: bash
.../pypsa-eur % mamba create -f envs/environment.yaml
.../pypsa-eur % mamba activate pypsa-eur
.. note::
The equivalent commands for ``conda`` would be
.. code:: bash
.../pypsa-eur % conda env create -f envs/environment.yaml
.../pypsa-eur % conda activate pypsa-eur
Note that activation is local to the currently open shell!
After opening a new terminal window, one needs to reissue the second command!
.. note::
If you have troubles with a slow ``conda`` installation, we recommend to install
`mamba <https://github.com/QuantStack/mamba>`_ as a fast drop-in replacement via
.. code:: bash
conda install -c conda-forge mamba
and then install the environment with
.. code:: bash
mamba env create -f envs/environment.yaml
Install a Solver
================
PyPSA passes the PyPSA-Eur network model to an external solver for performing a total annual system cost minimization with optimal power flow.
PyPSA passes the PyPSA-Eur network model to an external solver for performing the optimisation.
PyPSA is known to work with the free software
- `Ipopt <https://coin-or.github.io/Ipopt/INSTALL.html>`_
- `HiGHS <https://highs.dev/>`_
- `Cbc <https://projects.coin-or.org/Cbc#DownloadandInstall>`_
- `GLPK <https://www.gnu.org/software/glpk/>`_ (`WinGLKP <http://winglpk.sourceforge.net/>`_)
- `HiGHS <https://highs.dev/>`_
- `Ipopt <https://coin-or.github.io/Ipopt/INSTALL.html>`_
and the non-free, commercial software (for some of which free academic licenses are available)
- `Gurobi <https://www.gurobi.com/documentation/quickstart.html>`_
- `CPLEX <https://www.ibm.com/products/ilog-cplex-optimization-studio>`_
- `FICO® Xpress Solver <https://www.fico.com/de/products/fico-xpress-solver>`_
- `FICO Xpress Solver <https://www.fico.com/de/products/fico-xpress-solver>`_
For installation instructions of these solvers for your operating system, follow the links above.
Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems.
It might be the case that you can only retrieve solutions by using a commercial solver.
Commercial solvers such as Gurobi and CPLEX currently significantly outperform open-source solvers for large-scale problems, and
it might be the case that you can only retrieve solutions by using a commercial solver.
Nevertheless, you can still use open-source solvers for smaller problems.
.. seealso::
`Getting a solver in the PyPSA documentation <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation>`_
`Instructions how to install a solver in the documentation of PyPSA <https://pypsa.readthedocs.io/en/latest/installation.html#getting-a-solver-for-linear-optimisation>`_
.. note::
The rules :mod:`cluster_network` and :mod:`simplify_network` solve a quadratic optimisation problem for clustering.
The open-source solvers Cbc and GlPK cannot handle this. A fallback to Ipopt is implemented in this case, but requires
also Ipopt to be installed. For an open-source solver setup install in your ``conda`` environment on OSX/Linux
it to be installed. For an open-source solver setup install in your ``conda`` environment on OSX/Linux
.. code:: bash
conda activate pypsa-eur
conda install -c conda-forge ipopt coincbc
mamba activate pypsa-eur
mamba install -c conda-forge ipopt coincbc
and on Windows
.. code:: bash
conda activate pypsa-eur
conda install -c conda-forge ipopt glpk
mamba activate pypsa-eur
mamba install -c conda-forge ipopt glpk
For HiGHS, run
.. code:: bash
mamba activate pypsa-eur
mamba install -c conda-forge ipopt
pip install highspy
For Gurobi, run
.. code:: bash
mamba activate pypsa-eur
mamba install -c gurobi gurobi
Additionally, you need to setup your `Gurobi license <https://www.gurobi.com/solutions/licensing/>`_.
.. warning::
On Windows, new versions of ``ipopt`` have caused problems. Consider downgrading to version 3.11.1.
.. _defaultconfig:
Set Up the Default Configuration
================================
Handling Configuration Files
============================
PyPSA-Eur has several configuration options that must be specified in a ``config.yaml`` file located in the root directory.
An example configuration ``config.default.yaml`` is maintained in the repository.
More details on the configuration options are in :ref:`config`.
PyPSA-Eur has several configuration options that must be specified in a
``config.yaml`` file located in the root directory. An example configuration
``config.default.yaml`` is maintained in the repository, which will be used to
automatically create your customisable ``config.yaml`` on first use. More
details on the configuration options are in :ref:`config`.
Before first use, create a ``config.yaml`` by copying the example.
You can also use ``snakemake`` to specify another file, e.g.
``config.mymodifications.yaml``, to update the settings of the ``config.yaml``.
.. code:: bash
.../pypsa-eur % cp config.default.yaml config.yaml
.../pypsa-eur % snakemake -call --configfile config.mymodifications.yaml
Users are advised to regularly check their own ``config.yaml`` against changes in the ``config.default.yaml``
when pulling a new version from the remote repository.
.. Using PyPSA-Eur with Docker Images
.. ==================================
.. If docker. Optional.
.. To run on cloud computing.
.. Gurobi license - floating token server - license must not be tied to a particular machine
.. Provide ``Dockerfile``.
.. warning::
Users are advised to regularly check their own ``config.yaml`` against changes
in the ``config.default.yaml`` when pulling a new version from the remote
repository.

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -13,57 +13,89 @@
<iframe width="832" height="468" src="https://www.youtube.com/embed/ty47YU1_eeQ" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
Find the introductory slides `here <https://docs.google.com/presentation/d/e/2PACX-1vQGQZD7KIVdocRZzRVu8Uk-JC_ltEow5zjtIarhyws46IMJpaqGuux695yincmJA_i5bVEibEs7z2eo/pub?start=false&loop=true&delayms=3000>`_.
.. note::
Find the introductory slides `here <https://docs.google.com/presentation/d/e/2PACX-1vQGQZD7KIVdocRZzRVu8Uk-JC_ltEow5zjtIarhyws46IMJpaqGuux695yincmJA_i5bVEibEs7z2eo/pub?start=false&loop=true&delayms=3000>`_.
.. warning::
The video only introduces the electricity-only part of PyPSA-Eur.
Workflow
=========
The generation of the model is controlled by the workflow management system
`Snakemake <https://snakemake.bitbucket.io/>`_.
In a nutshell, the ``Snakefile`` declares for each python script in the ``scripts`` directory a rule which describes which files the scripts consume and produce (their corresponding input and output files).
The ``snakemake`` tool then runs the scripts in the correct order according to the rules' input/output dependencies.
Moreover, it is able to track, what parts of the workflow have to be regenerated, when a data file or a script is modified/updated.
The generation of the model is controlled by the open workflow management system
`Snakemake <https://snakemake.github.io/>`_. In a nutshell, the ``Snakefile``
declares for each script in the ``scripts`` directory a rule which describes
which files the scripts consume and produce (their corresponding input and
output files). The ``snakemake`` tool then runs the scripts in the correct order
according to the rules' input and output dependencies. Moreover, ``snakemake``
will track what parts of the workflow have to be regenerated when files or
scripts were modified.
For instance an invocation to
For instance, an invocation to
.. code:: bash
.../pypsa-eur % snakemake -j 1 networks/elec_s_128.nc
.../pypsa-eur % snakemake -call results/networks/elec_s_128_ec_lvopt_Co2L-3H.nc
follows this dependency graph:
follows this dependency graph
.. image:: img/workflow.png
.. image:: img/intro-workflow.png
:class: full-width
The **blocks** represent the individual rules which are required to create the file ``networks/elec_s_128.nc``. The **arrows** indicate the outputs from preceding rules which a particular rule takes as input data.
to solve an electricity system model.
The **blocks** represent the individual rules which are required to create the
file referenced in the command above. The **arrows** indicate the outputs from
preceding rules which another rule takes as input data.
.. note::
The dependency graph shown above was generated using
``snakemake --dag networks/elec_s_128.nc | dot -Tpng > workflow.png``
The dependency graph was generated using
``snakemake --dag results/networks/elec_s_128_ec_lvopt_Co2L-3H.nc -F | sed -n "/digraph/,/}/p" | dot -Tpng -o doc/img/intro-workflow.png``
For the use of ``snakemake``, it makes sense to familiarize oneself quickly with its `basic tutorial <https://snakemake.readthedocs.io/en/stable/tutorial/basics.html>`_ and then read carefully through the section `Executing Snakemake <https://snakemake.readthedocs.io/en/stable/executable.html>`_, noting the arguments ``-j``, ``-n``, ``-r``, but also ``--dag``, ``-R`` and ``-t``.
For the use of ``snakemake``, it makes sense to familiarize yourself quickly
with the `basic tutorial
<https://snakemake.readthedocs.io/en/stable/tutorial/basics.html>`_ and then
read carefully through the documentation of the `command line interface
<https://snakemake.readthedocs.io/en/stable/executing/cli.html>`_, noting the
arguments ``-j``, ``-c``, ``-f``, ``-F``, ``-n``, ``-r``, ``--dag`` and ``-t``
in particular.
Scenarios, Configuration and Modification
=========================================
It is easy to run PyPSA-Eur for multiple scenarios using the `wildcards feature <https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#wildcards>`_ of ``snakemake``. Wildcards allow to generalise a rule to produce all files that follow a `regular expression <https://en.wikipedia.org/wiki/Regular_expression>`_ pattern, which e.g. defines one particular scenario. One can think of a wildcard as a parameter that shows up in the input/output file names and thereby determines which rules to run, what data to retrieve and what files to produce. **Details are explained in** :ref:`wildcards` **and** :ref:`scenario`.
It is easy to run PyPSA-Eur for multiple scenarios using the `wildcards feature
<https://snakemake.readthedocs.io/en/stable/snakefiles/rules.html#wildcards>`_
of ``snakemake``. Wildcards allow to generalise a rule to produce all files that
follow a `regular expression
<https://en.wikipedia.org/wiki/Regular_expression>`_ pattern, which defines
a particular scenario. One can think of a wildcard as a parameter that shows
up in the input/output file names and thereby determines which rules to run,
what data to retrieve and what files to produce. Details are explained in
:ref:`wildcards` and :ref:`scenario`.
The model also has several further configuration options collected in the ``config.yaml`` file
located in the root directory, which that are not part of the scenarios. **All options are explained in detail in** :ref:`config`.
The model also has several further configuration options collected in the
``config.yaml`` file located in the root directory, which that are not part of
the scenarios. Options are explained in :ref:`config`.
Folder Structure
================
- ``data``: Includes input data that is not produced by any ``snakemake`` rule.
- ``scripts``: Includes all the Python scripts executed by the ``snakemake`` rules.
- ``rules``: Includes all the ``snakemake`` rules loaded in the ``Snakefile``.
- ``envs``: Includes all the ``conda`` environment specifications to run the workflow.
- ``data``: Includes input data that is not produced by any ``snakemake`` rule.
- ``cutouts``: Stores raw weather data cutouts from ``atlite``.
- ``resources``: Stores intermediate results of the workflow which can be picked up again by subsequent rules.
- ``networks``: Stores intermediate, unsolved stages of the PyPSA network that describes the energy system model.
- ``results``: Stores the solved PyPSA network data, summary files and plots.
- ``logs``: Stores log files.
- ``benchmarks``: Stores ``snakemake`` benchmarks.
- ``logs``: Stores log files about solving, including the solver output, console output and the output of a memory logger.
- ``test``: Includes the test configuration files used for continuous integration.
- ``doc``: Includes the documentation of PyPSA-Eur.
System Requirements
===================
Building the model with the scripts in this repository runs on a normal computer.
But computing optimal investment and operation scenarios requires a strong interior-point solver
Building the model with the scripts in this repository runs on a regular computer.
But optimising for investment and operation decisions across many scenarios requires a strong interior-point solver
like `Gurobi <http://www.gurobi.com/>`_ or `CPLEX <https://www.ibm.com/analytics/cplex-optimizer>`_ with more memory.
Open-source solvers like `HiGHS <https://highs.dev>` can also be used for smaller problems.

44
doc/licenses.rst Normal file
View File

@ -0,0 +1,44 @@
..
SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Licenses
##########################################
PyPSA-Eur is released under multiple licenses:
* All original source code is licensed as free software under `MIT <LICENSES/MIT.txt>`_.
* The documentation is licensed under `CC-BY-4.0 <LICENSES/CC-BY-4.0.txt>`_.
* Configuration files are mostly licensed under `CC0-1.0 <LICENSES/CC0-1.0.txt>`_.
* Data files are licensed under `CC-BY-4.0 <LICENSES/CC-BY-4.0.txt>`_.
See the individual files and the `dep5 <.reuse/dep5>`_ file for license details.
Additionally, different licenses and terms of use also apply to the various
input data for both electricity-only and sector-coupled modelling exercises,
which are summarised below.
Electricity Systems Databundle
==============================
.. note::
More details are included in `the description of the
data bundles on zenodo <https://zenodo.org/record/3517935#.XbGeXvzRZGo>`_.
.. csv-table::
:header-rows: 1
:file: configtables/licenses.csv
* BY: Attribute Source
* NC: Non-Commercial Use Only
* SA: Share Alike
Sector-Coupled Systems Databundle
=================================
.. csv-table::
:header-rows: 1
:file: configtables/licenses-sector.csv

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -7,15 +7,21 @@
Limitations
##########################################
While the benefit of an openly available, functional and partially validated
model of the European transmission system is high, many approximations have
model of the European energy system is high, many approximations have
been made due to missing data.
The limitations of the dataset are listed below,
both as a warning to the user and as an encouragement to assist in
improving the approximations.
- **Network topology:**
.. warning::
This list of limitations is incomplete and will be added to over time.
.. seealso::
See also the `GitHub repository issues <https://github.com/PyPSA/pypsa-eur/issues>`_.
- **Electricity transmission network topology:**
The grid data is based on a map of the ENTSO-E area that is known
to contain small distortions to improve readability. Since the exact impedances
of the lines are unknown, approximations based on line lengths and standard
@ -23,14 +29,27 @@ improving the approximations.
particular lines. There is no openly available data on busbar configurations, switch
locations, transformers or reactive power compensation assets.
- **Distribution networks:**
- **Assignment of electricity demand to transmission nodes:**
Using Voronoi cells to aggregate load and generator data to transmission
network substations ignores the topology of the underlying distribution network,
meaning that assets may be connected to the wrong substation.
- **Power Demand:**
- **Incomplete information on existing assets:** Approximations have
been made for missing data, including: existing distribution grid
capacities and costs, existing space and water heating supply,
existing industry facilities, existing transport vehicle fleets.
- **Exogenous pathways for transformation of transport and industry:**
To avoid penny-switching the transformation of transport and
industry away from fossil fuels is determined exogenously.
- **Industry materials production constant and inelastic:**
For industry, the production of different materials per country is
assumed to remain constant and no industry demand elasticity is included in the modelled.
- **Energy demand distribution within countries:**
Assumptions
have been made about the distribution of load in each country proportional to
have been made about the distribution of demand in each country proportional to
population and GDP that may not reflect local circumstances.
Openly available
data on load time series may not correspond to the true vertical load and is
@ -56,3 +75,6 @@ improving the approximations.
Belarus, Ukraine, Turkey and Morocco have not been taken into account;
islands which are not connected to the main European system, such as Malta,
Crete and Cyprus, are also excluded from the model.
- **Demand sufficiency:** Further measures of demand reduction may be
possible beyond the assumptions made here.

View File

@ -1,4 +1,4 @@
REM SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
REM SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
REM SPDX-License-Identifier: MIT
@ECHO OFF

View File

@ -1,82 +1,16 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Plotting and Summary
Plotting and Summaries
##########################################
.. warning:: The corresponding code is currently under revision and has only minimal documentation.
.. _plot_potentials:
Rule ``plot_p_nom_max``
==========================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
0 [color="0.42 0.6 0.85",
fillcolor=gray,
label=plot_p_nom_max,
style=filled];
1 [color="0.58 0.6 0.85",
label=cluster_network];
1 -> 0;
}
|
.. automodule:: plot_p_nom_max
.. _summary:
Rule ``make_summary``
========================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
0 [color="0.47 0.6 0.85",
fillcolor=gray,
label=make_summary,
style=filled];
1 [color="0.11 0.6 0.85",
label=solve_network];
1 -> 0;
}
|
.. automodule:: make_summary
.. _summary_plot:
@ -84,13 +18,6 @@ Rule ``make_summary``
Rule ``plot_summary``
========================
.. .. graphviz::
.. :align: center
|
.. automodule:: plot_summary
.. _map_plot:
@ -98,35 +25,4 @@ Rule ``plot_summary``
Rule ``plot_network``
========================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
0 [color="0.00 0.6 0.85",
fillcolor=gray,
label=plot_network,
style=filled];
1 [color="0.50 0.6 0.85",
label=solve_network];
1 -> 0;
}
|
.. automodule:: plot_network
.. image:: img/tech-colors.png
:align: center

View File

@ -1,10 +1,10 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Preparing Networks
Building Electricity Networks
##########################################
The preparation process of the PyPSA-Eur energy system model consists of a group of ``snakemake``
@ -28,24 +28,99 @@ Then the process continues by calculating conventional power plant capacities, p
- :mod:`build_powerplants` for today's thermal power plant capacities using `powerplantmatching <https://github.com/FRESNA/powerplantmatching>`_ allocating these to the closest substation for each powerplant,
- :mod:`build_natura_raster` for rasterising NATURA2000 natural protection areas,
- :mod:`build_ship_raster` for building shipping traffic density,
- :mod:`build_renewable_profiles` for the hourly capacity factors and installation potentials constrained by land-use in each substation's Voronoi cell for PV, onshore and offshore wind, and
- :mod:`build_hydro_profile` for the hourly per-unit hydro power availability time series.
The central rule :mod:`add_electricity` then ties all the different data inputs
together into a detailed PyPSA network stored in ``networks/elec.nc``.
.. toctree::
:caption: Overview
.. _busregions:
preparation/retrieve
preparation/build_shapes
preparation/build_load_data
preparation/build_cutout
preparation/build_natura_raster
preparation/prepare_links_p_nom
preparation/base_network
preparation/build_bus_regions
preparation/build_powerplants
preparation/build_renewable_profiles
preparation/build_hydro_profile
preparation/add_electricity
Rule ``build_bus_regions``
=============================
.. automodule:: build_bus_regions
.. _cutout:
Rule ``build_cutout``
=============================
.. automodule:: build_cutout
Rule ``prepare_links_p_nom``
===============================
.. automodule:: prepare_links_p_nom
.. _natura:
Rule ``build_natura_raster``
===============================
.. automodule:: build_natura_raster
.. _base:
Rule ``base_network``
=============================
.. automodule:: base_network
.. _shapes:
Rule ``build_shapes``
=============================
.. automodule:: build_shapes
.. _powerplants:
Rule ``build_powerplants``
=============================
.. automodule:: build_powerplants
.. _electricity_demand:
Rule ``build_electricity_demand``
=============================
.. automodule:: build_electricity_demand
.. _ship:
Rule ``build_ship_raster``
===============================
.. automodule:: build_ship_raster
.. _renewableprofiles:
Rule ``build_renewable_profiles``
====================================
.. automodule:: build_renewable_profiles
.. _hydroprofiles:
Rule ``build_hydro_profile``
===============================
.. automodule:: build_hydro_profile
.. _electricity:
Rule ``add_electricity``
=============================
.. automodule:: add_electricity

View File

@ -1,57 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _electricity:
Rule ``add_electricity``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
3 [color="0.25 0.6 0.85",
label=simplify_network];
4 [color="0.50 0.6 0.85",
fillcolor=gray,
label=add_electricity,
style=filled];
4 -> 3;
5 [color="0.36 0.6 0.85",
label=build_bus_regions];
5 -> 4;
6 [color="0.58 0.6 0.85",
label=base_network];
6 -> 4;
7 [color="0.31 0.6 0.85",
label=build_powerplants];
7 -> 4;
8 [color="0.28 0.6 0.85",
label=build_shapes];
8 -> 4;
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
9 -> 4;
10 [color="0.44 0.6 0.85",
label=build_hydro_profile];
10 -> 4;
}
|
.. automodule:: add_electricity

View File

@ -1,54 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _base:
Rule ``base_network``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
4 [color="0.50 0.6 0.85",
label=add_electricity];
5 [color="0.36 0.6 0.85",
label=build_bus_regions];
6 [color="0.58 0.6 0.85",
fillcolor=gray,
label=base_network,
style=filled];
6 -> 4;
6 -> 5;
7 [color="0.31 0.6 0.85",
label=build_powerplants];
6 -> 7;
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
6 -> 9;
8 [color="0.28 0.6 0.85",
label=build_shapes];
8 -> 6;
11 [color="0.03 0.6 0.85",
label=prepare_links_p_nom];
11 -> 6;
}
|
.. automodule:: base_network

View File

@ -1,51 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _busregions:
Rule ``build_bus_regions``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
3 [color="0.25 0.6 0.85",
label=simplify_network];
4 [color="0.50 0.6 0.85",
label=add_electricity];
5 [color="0.36 0.6 0.85",
fillcolor=gray,
label=build_bus_regions,
style=filled];
5 -> 3;
5 -> 4;
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
5 -> 9;
6 [color="0.58 0.6 0.85",
label=base_network];
6 -> 5;
8 [color="0.28 0.6 0.85",
label=build_shapes];
8 -> 5;
}
|
.. automodule:: build_bus_regions

View File

@ -1,42 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _cutout:
Rule ``build_cutout``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
10 [color="0.44 0.6 0.85",
label=build_hydro_profile];
13 [color="0.17 0.6 0.85",
fillcolor=gray,
label=build_cutout,
style=filled];
13 -> 9;
13 -> 10;
}
|
.. automodule:: build_cutout

View File

@ -1,45 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _hydroprofiles:
Rule ``build_hydro_profile``
===============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
4 [color="0.61 0.6 0.85",
label=add_electricity];
8 [color="0.00 0.6 0.85",
label=build_shapes];
10 [color="0.11 0.6 0.85",
fillcolor=gray,
label=build_hydro_profile,
style=filled];
8 -> 10;
10 -> 4;
13 [color="0.56 0.6 0.85",
label=build_cutout];
13 -> 10;
}
|
.. automodule:: build_hydro_profile

View File

@ -1,12 +0,0 @@
..
SPDX-FileCopyrightText: 2020-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _load_data:
Rule ``build_load_data``
=============================
.. automodule:: build_load_data

View File

@ -1,39 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _natura:
Rule ``build_natura_raster``
===============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
12 [color="0.31 0.6 0.85",
fillcolor=gray,
label=build_natura_raster,
style=filled];
12 -> 9;
}
|
.. automodule:: build_natura_raster

View File

@ -1,42 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _powerplants:
Rule ``build_powerplants``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
4 [color="0.61 0.6 0.85",
label=add_electricity];
6 [color="0.17 0.6 0.85",
label=base_network];
7 [color="0.58 0.6 0.85",
fillcolor=gray,
label=build_powerplants,
style=filled];
6 -> 7;
7 -> 4;
}
|
.. automodule:: build_powerplants

View File

@ -1,54 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _renewableprofiles:
Rule ``build_renewable_profiles``
====================================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
4 [color="0.61 0.6 0.85",
label=add_electricity];
5 [color="0.19 0.6 0.85",
label=build_bus_regions];
9 [color="0.22 0.6 0.85",
fillcolor=gray,
label=build_renewable_profiles,
style=filled];
5 -> 9;
9 -> 4;
6 [color="0.17 0.6 0.85",
label=base_network];
6 -> 9;
8 [color="0.00 0.6 0.85",
label=build_shapes];
8 -> 9;
12 [color="0.31 0.6 0.85",
label=build_natura_raster];
12 -> 9;
13 [color="0.56 0.6 0.85",
label=build_cutout];
13 -> 9;
}
|
.. automodule:: build_renewable_profiles

View File

@ -1,51 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _shapes:
Rule ``build_shapes``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
4 [color="0.61 0.6 0.85",
label=add_electricity];
5 [color="0.19 0.6 0.85",
label=build_bus_regions];
6 [color="0.17 0.6 0.85",
label=base_network];
8 [color="0.00 0.6 0.85",
fillcolor=gray,
label=build_shapes,
style=filled];
8 -> 4;
8 -> 5;
8 -> 6;
9 [color="0.22 0.6 0.85",
label=build_renewable_profiles];
8 -> 9;
10 [color="0.11 0.6 0.85",
label=build_hydro_profile];
8 -> 10;
}
|
.. automodule:: build_shapes

View File

@ -1,39 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _links:
Rule ``prepare_links_p_nom``
===============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
6 [color="0.17 0.6 0.85",
label=base_network];
11 [color="0.39 0.6 0.85",
fillcolor=gray,
label=prepare_links_p_nom,
style=filled];
11 -> 6;
}
|
.. automodule:: prepare_links_p_nom

261
doc/publications.bib Normal file
View File

@ -0,0 +1,261 @@
@Comment{
SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC0-1.0
}
@article{PyPSAEur,
author = "Jonas Hörsch and Fabian Hofmann and David Schlachtberger and Tom Brown",
title = "PyPSA-Eur: An open optimisation model of the {European} transmission system",
journal = "Energy Strategy Reviews",
volume = "22",
pages = "207--215",
year = "2018",
doi = "10.1016/j.esr.2018.08.012",
eprint = "1806.01613"
}
@misc{PyPSAEurSec,
author = "Fabian Neumann and Elisabeth Zeyen and Marta Victoria and Tom Brown",
title = "The Potential Role of a Hydrogen Network in {Europe}",
year = "2022",
eprint = "2207.05816",
}
@article{brownSynergiesSector2018a,
title = {Synergies of sector coupling and transmission reinforcement in a cost-optimised, highly renewable {European} energy system},
volume = {160},
issn = {03605442},
doi = {10.1016/j.energy.2018.06.222},
journal = {Energy},
author = {Brown, T. and Schlachtberger, D. and Kies, A. and Schramm, S. and Greiner, M.},
year = {2018},
pages = {720--739},
}
@article{SpeedTechnological2022,
title = "Speed of technological transformations required in {Europe} to achieve different climate goals",
author = "Marta Victoria and Elisabeth Zeyen and Tom Brown",
journal = "Joule",
volume = "6",
number = "5",
pages = "1066--1086",
year = "2022",
doi = "10.1016/j.joule.2022.04.016",
eprint = "2109.09563",
}
@article{victoriaEarlyDecarbonisation2020,
title = {Early decarbonisation of the {European} energy system pays off},
volume = {11},
doi = {10.1038/s41467-020-20015-4},
number = {1},
journal = {Nature Communications},
author = {Victoria, Marta and Zhu, Kun and Brown, Tom and Andresen, Gorm B. and Greiner, Martin},
year = {2020},
pages = {6223},
}
@article{schlachtbergerCostOptimal2018,
title = {Cost optimal scenarios of a future highly renewable {European} electricity system: {Exploring} the influence of weather data, cost parameters and policy constraints},
volume = {163},
eprint = {http://arxiv.org/abs/1803.09711},
doi = {10/gfk5cj},
journal = {Energy},
author = {Schlachtberger, David P. and Brown, Tom and Schäfer, Mirko and Schramm, Stefan and Greiner, Martin},
year = {2018},
pages = {100--114},
}
@article{zeyenMitigatingHeat2021,
title = {Mitigating heat demand peaks in buildings in a highly renewable {European} energy system},
volume = {231},
url = {http://arxiv.org/abs/2012.01831},
doi = {10.1016/j.energy.2021.120784},
journal = {Energy},
author = {Zeyen, Elisabeth and Hagenmeyer, Veit and Brown, Tom},
year = {2021},
pages = {120784},
}
@misc{zeyenEndogenousLearning2022,
title = {Endogenous learning for green hydrogen in a sector-coupled energy model for {Europe}},
url = {http://arxiv.org/abs/2205.11901},
author = {Zeyen, Elisabeth and Victoria, Marta and Brown, Tom},
year = {2022},
}
@article{MILLINGER2022120016,
title = {Are biofuel mandates cost-effective? - An analysis of transport fuels and biomass usage to achieve emissions targets in the European energy system},
journal = {Applied Energy},
volume = {326},
pages = {120016},
year = {2022},
doi = {https://doi.org/10.1016/j.apenergy.2022.120016},
author = {M. Millinger and L. Reichenberg and F. Hedenus and G. Berndes and E. Zeyen and T. Brown},
}
@misc{frysztackiInverseMethods2022,
title = {Inverse methods: {How} feasible are spatially low-resolved capacity expansion modeling results when dis-aggregated at high resolution?},
url = {http://arxiv.org/abs/2209.02364},
author = {Frysztacki, Martha Maria and Hagenmeyer, Veit and Brown, Tom},
year = {2022},
}
@article{frysztackiStrongEffect2021a,
title = {The strong effect of network resolution on electricity system models with high shares of wind and solar},
volume = {291},
issn = {03062619},
doi = {10.1016/j.apenergy.2021.116726},
journal = {Applied Energy},
author = {Frysztacki, Martha Maria and Hörsch, Jonas and Hagenmeyer, Veit and Brown, Tom},
year = {2021},
pages = {116726},
}
@inproceedings{frysztackiModelingCurtailment2020a,
title = {Modeling {Curtailment} in {Germany}: {How} {Spatial} {Resolution} {Impacts} {Line} {Congestion}},
shorttitle = {Modeling {Curtailment} in {Germany}},
doi = {10.1109/EEM49802.2020.9221886},
booktitle = {2020 17th {International} {Conference} on the {European} {Energy} {Market} ({EEM})},
publisher = {IEEE},
author = {Frysztacki, Martha and Brown, Tom},
year = {2020},
pages = {1--7},
}
@article{frysztackiComparisonClustering2022,
title = {A comparison of clustering methods for the spatial reduction of renewable electricity optimisation models of {Europe}},
volume = {5},
url = {https://energyinformatics.springeropen.com/articles/10.1186/s42162-022-00187-7},
doi = {10.1186/s42162-022-00187-7},
number = {1},
journal = {Energy Informatics},
author = {Frysztacki, Martha Maria and Recht, Gereon and Brown, Tom},
year = {2022},
pages = {4},
}
@article{neumannNearoptimalFeasible2021,
title = {The near-optimal feasible space of a renewable power system model},
volume = {190},
doi = {10.1016/j.epsr.2020.106690},
journal = {Electric Power Systems Research},
author = {Neumann, Fabian and Brown, Tom},
year = {2021},
pages = {106690},
}
@article{neumannAssessmentsLinear2022,
title = {Assessments of linear power flow and transmission loss approximations in coordinated capacity expansion problems},
volume = {314},
doi = {10.1016/j.apenergy.2022.118859},
journal = {Applied Energy},
author = {Neumann, Fabian and Hagenmeyer, Veit and Brown, Tom},
year = {2022},
}
@article{neumannCostsRegional2021,
title = {Costs of regional equity and autarky in a renewable {European} power system},
volume = {35},
doi = {10.1016/j.esr.2021.100652},
journal = {Energy Strategy Reviews},
author = {Neumann, Fabian},
year = {2021},
}
@article{roseHydrogenRefueling2020,
title = {Hydrogen refueling station networks for heavy-duty vehicles in future power systems},
volume = {83},
issn = {13619209},
doi = {10.1016/j.trd.2020.102358},
journal = {Transportation Research Part D: Transport and Environment},
author = {Rose, Philipp K. and Neumann, Fabian},
year = {2020},
pages = {102358},
}
@inproceedings{neumannHeuristicsTransmission2019a,
title = {Heuristics for {Transmission} {Expansion} {Planning} in {Low}-{Carbon} {Energy} {System} {Models}},
doi = {10.1109/EEM.2019.8916411},
booktitle = {2019 16th {International} {Conference} on the {European} {Energy} {Market} ({EEM})},
publisher = {IEEE},
author = {Neumann, Fabian and Brown, Tom},
year = {2019},
pages = {1--8},
}
@misc{neumannBroadRanges2021,
title = {Broad {Ranges} of {Investment} {Configurations} for {Renewable} {Power} {Systems}, {Robust} to {Cost} {Uncertainty} and {Near}-{Optimality}},
url = {http://arxiv.org/abs/2111.14443},
author = {Neumann, Fabian and Brown, Tom},
year = {2021},
}
@misc{gazafroudiLongTermBenefits2021,
title = {Long-{Term} {Benefits} for {Renewables} {Integration} of {Network} {Boosters} for {Corrective} {Grid} {Security}},
url = {http://arxiv.org/abs/2112.06667},
author = {Gazafroudi, Amin Shokri and Zeyen, Elisabeth and Frysztacki, Martha and Neumann, Fabian and Brown, Tom},
year = {2021},
}
@article{shokrigazafroudiTopologybasedApproximations2022,
title = {Topology-based approximations for {N} - 1 contingency constraints in power transmission networks},
volume = {137},
doi = {10.1016/j.ijepes.2021.107702},
journal = {International Journal of Electrical Power \& Energy Systems},
author = {Shokri Gazafroudi, Amin and Neumann, Fabian and Brown, Tom},
year = {2022},
pages = {107702},
}
@inproceedings{horschRoleSpatial2017,
title = {The role of spatial scale in joint optimisations of generation and transmission for {European} highly renewable scenarios},
doi = {10.1109/EEM.2017.7982024},
booktitle = {2017 14th {International} {Conference} on the {European} {Energy} {Market} ({EEM})},
publisher = {IEEE},
author = {Horsch, Jonas and Brown, Tom},
year = {2017},
pages = {1--7},
}
@article{schlachtbergerBenefitsCooperation2017a,
title = {The benefits of cooperation in a highly renewable {European} electricity network},
volume = {134},
issn = {03605442},
doi = {10.1016/j.energy.2017.06.004},
journal = {Energy},
author = {Schlachtberger, D.P. and Brown, T. and Schramm, S. and Greiner, M.},
year = {2017},
pages = {469--481},
}
@misc{glaumEnhancingGerman2022,
title = {Enhancing the {German} {Transmission} {Grid} {Through} {Dynamic} {Line} {Rating}},
url = {http://arxiv.org/abs/2208.04716},
author = {Glaum, Philipp and Hofmann, Fabian},
year = {2022},
}
@misc{parzenPyPSAEarthNew2022,
title = {{PyPSA}-{Earth}. {A} {New} {Global} {Open} {Energy} {System} {Optimization} {Model} {Demonstrated} in {Africa}},
url = {http://arxiv.org/abs/2209.04663},
author = {Parzen, Maximilian and Abdel-Khalek, Hazem and Fedorova, Ekaterina and Mahmood, Matin and Frysztacki, Martha Maria and Hampp, Johannes and Franken, Lukas and Schumm, Leon and Neumann, Fabian and Poli, Davide and Kiprakis, Aristides and Fioriti, Davide},
year = {2022},
}

11
doc/publications.rst Normal file
View File

@ -0,0 +1,11 @@
..
SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Publications
##########################################
.. bibliography::
:all:

View File

@ -1,5 +1,5 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
@ -10,14 +10,175 @@ Release Notes
Upcoming Release
================
* Carriers of generators can now be excluded from aggregation in clustering network and simplify network.
* Bugfix: Correct typo in the CPLEX solver configuration in ``config.default.yaml``.
* Renamed script file from PyPSA-EUR ``build_load_data`` to ``build_electricity_demand``.
PyPSA-Eur 0.8.0 (18th March 2023)
=================================
.. note::
This is the first release of PyPSA-Eur which incorporates its sector-coupled extension PyPSA-Eur-Sec (v0.7.0).
PyPSA-Eur can now directly be used for high-resolution energy system modelling with sector-coupling
including industry, transport, buildings, biomass, and detailed carbon management. The PyPSA-Eur-Sec repository is now deprecated.
* The :mod:`solve_network` script now uses the ``linopy`` backend of PyPSA and is applied for both electricity-only and sector-coupled models. This
requires an adjustment of custom ``extra_functionality``.
See the `migration guide <https://pypsa.readthedocs.io/en/latest/examples/optimization-with-linopy-migrate-extra-functionalities.html>`_ in the PyPSA documentation.
* The configuration file ``config.default.yaml`` now also includes settings for
sector-coupled models, which will be ignored when the user runs
electricity-only studies. Common settings have been aligned.
* Unified handling of scenario runs. Users can name their scenarios in ``run:
name:``, which will encapsulate results in a correspondingly named folder
under ``results``. Additionally, users can select to encapsulate the ``resources`` folder
in the same way, through the setting ``run: shared_resources:``.
* The solver configurations in ``config.default.yaml`` are now modularized. To
change the set of solver options, change to value in ``solving: solver:
options:`` to one of the keys in ``solving: solver_options:``.
* The ``Snakefile`` has been modularised. Rules are now organised in the
``rules`` directory.
* Unified wildcard for transmission line expansion from ``{lv}`` and ``{ll}`` to
``{ll}``.
* Renamed collection rules to distinguish between sector-coupled and
electricity-only runs: ``cluster_networks``, ``extra_components_networks``,
``prepare_elec_networks``, ``prepare_sector_networks``,
``solve_elec_networks``, ``solve_sector_networks``, ``plot_networks``,
``all``.
* Some rules with a small computational footprint have been declared as ``localrules``.
* Added new utility rules ``purge`` for clearing workflow outputs from the
directory, ``doc`` to build the documentation, and ``dag`` to create a
workflow graph.
* The workflow can now be used with the ``snakemake --use-conda`` directive. In
this way, Snakemake can automatically handle the installation of dependencies.
* Data retrieval rules now retry download twice in case of connection problems.
* The cutouts are now marked as ``protected()`` in the workflow to avoid
accidental recomputation.
* The files contained in ``data/bundle`` are now marked as ``ancient()`` as they
are not expected to be altered by workflow changes.
* Preparation scripts for sector-coupled models have been improved to only run
for the subset of selected countries rather than all European countries.
* Added largely automated country code conversion using ``country_converter``..
* Test coverage extended to an electricity-only run and sector-coupled runs for
overnight and myopic foresight scenarios for Ubuntu, MacOS and Windows.
* Apply ``black`` and ``snakefmt`` code formatting.
* Implemented REUSE compatibility for merged code.
* Merged documentations of PyPSA-Eur and PyPSA-Eur-Sec.
* Added a tutorial for running sector-coupled models to the documentation
(:ref:`tutorial_sector`).
* Deleted ``config.tutorial.yaml``, which is superseded by
``test/config.electricity.yaml``.
* The ``mock_snakemake`` function now also takes configuration files as inputs.
* The helper scripts ``helper.py`` and ``_helpers.py`` have been merged into
``_helpers.py``.
* The unused rule ``plot_p_nom_max`` has been removed.
* The rule ``solve_network`` from PyPSA-Eur-Sec was renamed to
``solve_sector_network``.
* The plotting scripts from PyPSA-Eur (electricity-only) have been removed and
are superseded by those from PyPSA-Eur-Sec (sector-coupled).
PyPSA-Eur Releases (pre-merge)
==============================
PyPSA-Eur 0.7.0 (16th February 2023)
------------------------------------
**New Features**
* Carriers of generators can now be excluded from aggregation in clustering
network and simplify network (see ``exclude_carriers``).
* Added control for removing stubs in :mod:`simplify_network` with options
``remove_stubs`` and ``remove_stubs_across_countries``.
* Add control for showing a progressbar in ``atlite`` processes
(``show_progress``). Disabling the progressbar saves a lot of time.
* Added control for resolution of land eligibility analysis (see
``excluder_resolution``).
**Breaking Changes**
* The config entry ``snapshots: closed:`` was renamed to ``snapshots:
inclusive:`` to address the upstream deprecation with ``pandas=1.4``. The
previous setting ``None`` is no longer supported and replaced by ``both``, see
the `pandas documentation
<https://pandas.pydata.org/docs/reference/api/pandas.date_range.html>`_.
Minimum version is now ``pandas>=1.4``.
* The configuration setting ``summary_dir`` was removed.
**Changes**
* Configuration defaults to new ``technology-data`` version 0.5.0.
* Fixed CRS warnings when projection of datasets was not specified.
* Cleaned shape unary unions.
* Increased resource requirements for some rules.
* Updated documentation.
* The documentation now uses the ``sphinx_book_theme``.
**Bugs and Compatibility**
* Bugfix: Corrected extent of natural protection areas in :mod:`build_natura_raster`.
* Bugfix: Use correct load variables for formulating reserve constraints.
* Bugfix: Use all available energy-to-power ratios for hydropower plants.
* Bugfix: The most recent processing of the ``entsoegridkit`` extract required
further manual corrections. Also, the connection points of TYNDP links were
corrected.
* Bugfix: Handle absence of hydropower inflow in ``EQ`` constraint.
* Compatibility with ``pyomo>=6.4.3`` in :mod:`cluster_network`.
* Upgrade to ``shapely>=2``.
* Updated version of CI cache action to version 3.
*
* Updated dependency constraints in ``environment.yaml``.
* Address various deprecation warnings.
* Fix EQ constraint for the case no hydro inflow is available
* Bugfix in the reserve constraint will increase demand related reserve requirements
PyPSA-Eur 0.6.1 (20th September 2022)
=====================================
-------------------------------------
* Individual commits are now tested against pre-commit hooks. This includes
black style formatting, sorting of package imports, Snakefile formatting and
@ -40,7 +201,7 @@ PyPSA-Eur 0.6.1 (20th September 2022)
efficiency into account where available.
PyPSA-Eur 0.6.0 (10th September 2022)
=====================================
-------------------------------------
* Functionality to consider shipping routes when calculating the available area
for offshore technologies were added. Data for the shipping density comes from
@ -61,30 +222,23 @@ PyPSA-Eur 0.6.0 (10th September 2022)
PyPSA-Eur 0.5.0 (27th July 2022)
=====================================
--------------------------------
**New Features**
* New network topology extracted from the ENTSO-E interactive map.
* Added existing renewable capacities for all countries based on IRENA
statistics (IRENASTAT) using new ``powerplantmatching`` version:
* The corresponding ``config`` entries changed, cf. ``config.default.yaml``:
* old: ``estimate_renewable_capacities_from_capacity_stats``
* new: ``estimate_renewable_capacities``
* The estimation is endabled by setting the subkey ``enable`` to ``True``.
* Configuration of reference year for capacities can be configured (default:
``2020``)
* The list of renewables provided by the OPSD database can be used as a basis,
using the tag ``from_opsd: True``. This adds the renewables from the
database and fills up the missing capacities with the heuristic
distribution.
* Uniform expansion limit of renewable build-up based on existing capacities
* The corresponding ``config`` entries changed from ``estimate_renewable_capacities_from_capacity_stats`` to ``estimate_renewable_capacities``.
* The estimation is endabled by setting the subkey ``enable`` to ``True``.
* Configuration of reference year for capacities can be configured (default: ``2020``)
* The list of renewables provided by the OPSD database can be used as a basis, using the tag ``from_opsd: True``. This adds the renewables from the database and fills up the missing capacities with the heuristic distribution.
* Uniform expansion limit of renewable build-up based on existing capacities
can be configured using ``expansion_limit`` option (default: ``false``;
limited to determined renewable potentials)
* Distribution of country-level capacities proportional to maximum annual
* Distribution of country-level capacities proportional to maximum annual
energy yield for each bus region
* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved
* The config key ``renewable_capacities_from_OPSD`` is deprecated and was moved
under the section, ``estimate_renewable_capacities``. To enable it, set
``from_opsd`` to ``True``.
@ -226,7 +380,7 @@ PyPSA-Eur 0.5.0 (27th July 2022)
Synchronisation Release - Ukraine and Moldova (17th March 2022)
===============================================================
---------------------------------------------------------------
On March 16, 2022, the transmission networks of Ukraine and Moldova have
successfully been `synchronised with the continental European grid <https://www.entsoe.eu/news/2022/03/16/continental-europe-successful-synchronisation-with-ukraine-and-moldova-power-systems/>`_. We have taken
@ -261,7 +415,7 @@ This release is not on the ``master`` branch. It can be used with
PyPSA-Eur 0.4.0 (22th September 2021)
=====================================
-------------------------------------
**New Features and Changes**
@ -376,11 +530,11 @@ PyPSA-Eur 0.4.0 (22th September 2021)
in the Snakemake file [`#247 <https://github.com/PyPSA/pypsa-eur/pull/247>`_]
PyPSA-Eur 0.3.0 (7th December 2020)
===================================
-----------------------------------
**New Features**
Using the ``{opts}`` wildcard for scenarios:
Using the ``{opts}`` wildcard for scenario:
* An option is introduced which adds constraints such that each country or node produces on average a minimal share of its total consumption itself.
For example ``EQ0.5c`` set in the ``{opts}`` wildcard requires each country to produce on average at least 50% of its consumption. Additionally,
@ -406,7 +560,7 @@ More OPSD integration:
This will overwrite the capacities calculated from the heuristic approach in :func:`estimate_renewable_capacities()`
[`#212 <https://github.com/PyPSA/pypsa-eur/pull/212>`_].
* Electricity consumption data is now retrieved directly from the `OPSD website <https://data.open-power-system-data.org/time_series/2019-06-05>`_ using the rule :mod:`build_load_data`.
* Electricity consumption data is now retrieved directly from the `OPSD website <https://data.open-power-system-data.org/time_series/2019-06-05>`_ using the rule :mod:`build_electricity_demand`.
The user can decide whether to take the ENTSO-E power statistics data (default) or the ENTSO-E transparency data
[`#211 <https://github.com/PyPSA/pypsa-eur/pull/211>`_].
@ -476,7 +630,7 @@ Other:
PyPSA-Eur 0.2.0 (8th June 2020)
==================================
-------------------------------
* The optimization is now performed using the ``pyomo=False`` setting in the :func:`pypsa.lopf.network_lopf`. This speeds up the solving process significantly and consumes much less memory. The inclusion of additional constraints were adjusted to the new implementation. They are all passed to the :func:`network_lopf` function via the ``extra_functionality`` argument. The rule ``trace_solve_network`` was integrated into the rule :mod:`solve_network` and can be activated via configuration with ``solving: options: track_iterations: true``. The charging and discharging capacities of batteries modelled as store-link combination are now coupled [`#116 <https://github.com/PyPSA/pypsa-eur/pull/116>`_].
@ -509,7 +663,7 @@ PyPSA-Eur 0.2.0 (8th June 2020)
* Updated ``conda`` environment regarding ``pypsa``, ``pyproj``, ``gurobi``, ``lxml``. This release requires PyPSA v0.17.0.
PyPSA-Eur 0.1.0 (9th January 2020)
==================================
----------------------------------
This is the first release of PyPSA-Eur, a model of the European power system at the transmission network level. Recent changes include:
@ -525,7 +679,7 @@ This is the first release of PyPSA-Eur, a model of the European power system at
* Data dependencies are now retrieved directly from within the snakemake workflow [`#86 <https://github.com/PyPSA/pypsa-eur/pull/86>`_].
* Emission prices can be added to marginal costs of generators through the keyworks ``Ep`` in the ``{opts}`` wildcard [`#100 <https://github.com/PyPSA/pypsa-eur/pull/100>`_].
* Emission prices can be added to marginal costs of generators through the keywords ``Ep`` in the ``{opts}`` wildcard [`#100 <https://github.com/PyPSA/pypsa-eur/pull/100>`_].
* An option is introduced to add extendable nuclear power plants to the network [`#98 <https://github.com/PyPSA/pypsa-eur/pull/98>`_].
@ -539,6 +693,566 @@ This is the first release of PyPSA-Eur, a model of the European power system at
* The new function ``_helpers.mock_snakemake`` creates a ``snakemake`` object which mimics the actual ``snakemake`` object produced by workflow by parsing the ``Snakefile`` and setting all paths for inputs, outputs, and logs. This allows running all scripts within a (I)python terminal (or just by calling ``python <script-name>``) and thereby facilitates developing and debugging scripts significantly [`#107 <https://github.com/PyPSA/pypsa-eur/pull/107>`_].
PyPSA-Eur-Sec Releases (pre-merge)
==================================
PyPSA-Eur-Sec 0.7.0 (16th February 2023)
----------------------------------------
This release includes many new features. Highlights include new gas
infrastructure data with retrofitting options for hydrogen transport, improved
carbon management and infrastructure planning, regionalised potentials for
hydrogen underground storage and carbon sequestration, new applications for
biomass, and explicit modelling of methanol and ammonia as separate energy
carriers.
This release is known to work with `PyPSA-Eur
<https://github.com/PyPSA/pypsa-eur>`_ Version 0.7.0 and `Technology Data
<https://github.com/PyPSA/technology-data>`_ Version 0.5.0.
**Gas Transmission Network**
* New rule ``retrieve_gas_infrastructure_data`` that downloads and extracts the
SciGRID_gas `IGGIELGN <https://zenodo.org/record/4767098>`_ dataset from
zenodo. It includes data on the transmission routes, pipe diameters,
capacities, pressure, and whether the pipeline is bidirectional and carries
H-Gas or L-Gas.
* New rule ``build_gas_network`` processes and cleans the pipeline data from
SciGRID_gas. Missing or uncertain pipeline capacities can be inferred by
diameter.
* New rule ``build_gas_input_locations`` compiles the LNG import capacities
(from the Global Energy Monitor's `Europe Gas Tracker
<https://globalenergymonitor.org/projects/europe-gas-tracker/>`_, pipeline
entry capacities and local production capacities for each region of the model.
These are the regions where fossil gas can eventually enter the model.
* New rule ``cluster_gas_network`` that clusters the gas transmission network
data to the model resolution. Cross-regional pipeline capacities are
aggregated (while pressure and diameter compatibility is ignored),
intra-regional pipelines are dropped. Lengths are recalculated based on the
regions' centroids.
* With the option ``sector: gas_network:``, the existing gas network is added
with a lossless transport model. A length-weighted `k-edge augmentation
algorithm
<https://networkx.org/documentation/stable/reference/algorithms/generated/networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation.html#networkx.algorithms.connectivity.edge_augmentation.k_edge_augmentation>`_
can be run to add new candidate gas pipelines such that all regions of the
model can be connected to the gas network. The number of candidates can be
controlled via the setting ``sector: gas_network_connectivity_upgrade:``. When
the gas network is activated, all the gas demands are regionally disaggregated
as well.
* New constraint allows endogenous retrofitting of gas pipelines to hydrogen
pipelines. This option is activated via the setting ``sector: H2_retrofit:``.
For every unit of gas pipeline capacity dismantled, ``sector:
H2_retrofit_capacity_per_CH4`` units are made available as hydrogen pipeline
capacity in the corresponding corridor. These repurposed hydrogen pipelines
have lower costs than new hydrogen pipelines. Both new and repurposed
pipelines can be built simultaneously. The retrofitting option ``sector:
H2_retrofit:`` also works with a copperplated methane infrastructure, i.e.
when ``sector: gas_network: false``.
* New hydrogen pipelines can now be built where there are already power or gas
transmission routes. Previously, only the electricity transmission routes were
considered.
**Carbon Management and Biomass**
* Add option to spatially resolve carrier representing stored carbon dioxide
(``co2_spatial``). This allows for more detailed modelling of CCUTS, e.g.
regarding the capturing of industrial process emissions, usage as feedstock
for electrofuels, transport of carbon dioxide, and geological sequestration
sites.
* Add option for regionally-resolved geological carbon dioxide sequestration
potentials through new rule ``build_sequestration_potentials`` based on
`CO2StoP <https://setis.ec.europa.eu/european-co2-storage-database_en>`_. This
can be controlled in the section ``regional_co2_sequestration_potential`` of
the ``config.yaml``. It includes options to select the level of conservatism,
whether onshore potentials should be included, the respective upper and lower
limits per region, and an annualisation parameter for the cumulative
potential. The defaults are preliminary and will be validated the next
release.
* Add option to sweep the global CO2 sequestration potentials with keyword
``seq200`` in the ``{sector_opts}`` wildcard (for limit of 200 Mt CO2).
* Add option to include `Allam cycle gas power plants
<https://en.wikipedia.org/wiki/Allam_power_cycle>`_ (``allam_cycle``).
* Add option for planning a new carbon dioxide network (``co2network``).
* Separate option to regionally resolve biomass (``biomass_spatial``) from
option to allow biomass transport (``biomass_transport``).
* Add option for biomass boilers (wood pellets) for decentral heating.
* Add option for BioSNG (methane from biomass) with and without carbon capture.
* Add option for BtL (biomass to liquid fuel/oil) with and without carbon
capture.
**Other new features**
* Add regionalised hydrogen salt cavern storage potentials from `Technical
Potential of Salt Caverns for Hydrogen Storage in Europe
<https://doi.org/10.20944/preprints201910.0187.v1>`_. This data is compiled in
a new rule ``build_salt_cavern_potentials``.
* Add option to resolve ammonia as separate energy carrier with Haber-Bosch
synthesis, ammonia cracking, storage and industrial demand. The ammonia
carrier can be nodally resolved or copperplated across Europe (see
``ammonia``).
* Add methanol as energy carrier, methanolisation as process, and option for
methanol demand in shipping sector.
* Shipping demand now defaults to methanol rather than liquefied hydrogen
until 2050.
* Demand for liquid hydrogen in international shipping is now geographically
distributed by port trade volumes in a new rule ``build_shipping_demand``
using data from the `World Bank Data Catalogue
<https://datacatalog.worldbank.org/search/dataset/0038118/Global---International-Ports>`_.
Domestic shipping remains distributed by population.
* Add option to aggregate network temporally using representative snapshots or
segments (with `tsam <https://github.com/FZJ-IEK3-VSA/tsam>`_).
* Add option for minimum part load for Fischer-Tropsch plants (default: 90%) and
methanolisation plants (default: 50%).
* Add option to use waste heat of electrolysis in district heating networks
(``use_electrolysis_waste_heat``).
* Add option for coal CHPs with carbon capture (see ``coal_cc``).
* In overnight optimisation, it is now possible to specify a year for the
technology cost projections separate from the planning horizon.
* New config options for changing energy demands in aviation
(``aviation_demand_factor``) and HVC industry (``HVC_demand_factor``), as well
as explicit ICE shares for land transport (``land_transport_ice_share``) and
agriculture machinery (``agriculture_machinery_oil_share``).
* It is now possible to merge residential and services heat buses to reduce the
problem size (see ``cluster_heat_nodes``).
* Added option to tweak (almost) any configuration parameter through the
``{sector_opts}`` wildcard. The regional_co2_sequestration_potential is
triggered by the prefix ``CF+`` after which it is possible to pipe to any
setting that does not contain underscores (``_``). Example:
``CF+sector+v2g+false`` disables vehicle-to-grid flexibility.
* Option ``retrieve_sector_databundle`` to automatically retrieve and extract
data bundle.
* Removed the need to clone ``technology-data`` repository in a parallel
directory. The new approach automatically retrieves the technology data from
remote in the rule ``retrieve_cost_data``.
* Improved network plots including better legends, hydrogen retrofitting network
display, and change to EqualEarth projection. A new color scheme for
technologies was also introduced.
* Add two new rules ``build_transport_demand`` and
``build_population_weighted_energy_totals`` using code previously contained in
``prepare_sector_network``.
* Rules that convert weather data with ``atlite`` now largely run separately for
categories residential, rural and total.
* Units are assigned to the buses. These only provide a better understanding.
The specifications of the units are not taken into account in the
optimisation, which means that no automatic conversion of units takes place.
* Configuration file and wildcards are now stored under ``n.meta`` in every
PyPSA network.
* Updated `data bundle
<https://zenodo.org/record/5824485/files/pypsa-eur-sec-data-bundle.tar.gz>`_
that includes the hydrogan salt cavern storage potentials.
* Updated and extended documentation in
<https://pypsa-eur-sec.readthedocs.io/en/latest/>
* Added new rule ``copy_conda_env`` that exports a list of packages with which
the workflow was executed.
* Add basic continuous integration using Github Actions.
* Add basic ``rsync`` setup.
**Bugfixes**
* The CO2 sequestration limit implemented as GlobalConstraint (introduced in the
previous version) caused a failure to read in the shadow prices of other
global constraints.
* Correct capital cost of Fischer-Tropsch according to new units in
``technology-data`` repository.
* Fix unit conversion error for thermal energy storage.
* For myopic pathway optimisation, set optimised capacities of power grid
expansion of previous iteration as minimum capacity for next iteration.
* Further rather minor bugfixes for myopic optimisation code (see `#256
<https://github.com/PyPSA/pypsa-eur-sec/pull/256>`_).
Many thanks to all who contributed to this release!
PyPSA-Eur-Sec 0.6.0 (4 October 2021)
------------------------------------
This release includes
improvements regarding the basic chemical production,
the addition of plastics recycling,
the addition of the agriculture, forestry and fishing sector,
more regionally resolved biomass potentials,
CO2 pipeline transport and storage, and
more options in setting exogenous transition paths,
besides many performance improvements.
This release is known to work with `PyPSA-Eur
<https://github.com/PyPSA/pypsa-eur>`_ Version 0.4.0, `Technology Data
<https://github.com/PyPSA/technology-data>`_ Version 0.3.0 and
`PyPSA <https://github.com/PyPSA/PyPSA>`_ Version 0.18.0.
Please note that the data bundle has also been updated.
**General**
* With this release, we change the license from copyleft GPLv3 to the more
liberal MIT license with the consent of all contributors.
**New features and functionality**
* Distinguish costs for home battery storage and inverter from utility-scale
battery costs.
* Separate basic chemicals into HVC (high-value chemicals), chlorine, methanol and ammonia
[`#166 <https://github.com/PyPSA/PyPSA-Eur-Sec/pull/166>`_].
* Add option to specify reuse, primary production, and mechanical and chemical
recycling fraction of platics
[`#166 <https://github.com/PyPSA/PyPSA-Eur-Sec/pull/166>`_].
* Include energy demands and CO2 emissions for the agriculture, forestry and fishing sector.
It is included by default through the option ``A`` in the ``sector_opts`` wildcard.
Part of the emissions (1.A.4.c) was previously assigned to "industry non-elec" in the ``co2_totals.csv``.
Hence, excluding the agriculture sector will now lead to a tighter CO2 limit.
Energy demands are taken from the JRC IDEES database (missing countries filled with eurostat data)
and are split into
electricity (lighting, ventilation, specific electricity uses, pumping devices (electric)),
heat (specific heat uses, low enthalpy heat)
machinery oil (motor drives, farming machine drives, pumping devices (diesel)).
Heat demand is assigned at "services rural heat" buses.
Electricity demands are added to low-voltage buses.
Time series for demands are constant and distributed inside countries by population
[`#147 <https://github.com/PyPSA/PyPSA-Eur-Sec/pull/147>`_].
* Include today's district heating shares in myopic optimisation and add option
to specify exogenous path for district heating share increase under ``sector:
district_heating:`` [`#149 <https://github.com/PyPSA/PyPSA-Eur-Sec/pull/149>`_].
* Added option for hydrogen liquefaction costs for hydrogen demand in shipping.
This introduces a new ``H2 liquid`` bus at each location. It is activated via
``sector: shipping_hydrogen_liquefaction: true``.
* The share of shipping transformed into hydrogen fuel cell can be now defined
for different years in the ``config.yaml`` file. The carbon emission from the
remaining share is treated as a negative load on the atmospheric carbon dioxide
bus, just like aviation and land transport emissions.
* The transformation of the Steel and Aluminium production can be now defined
for different years in the ``config.yaml`` file.
* Include the option to alter the maximum energy capacity of a store via the
``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for
sensitivity analyses. Example: ``co2 stored+e2`` multiplies the ``e_nom_max`` by
factor 2. In this example, ``e_nom_max`` represents the CO2 sequestration
potential in Europe.
* Use `JRC ENSPRESO database <https://data.jrc.ec.europa.eu/dataset/74ed5a04-7d74-4807-9eab-b94774309d9f>`_ to
spatially disaggregate biomass potentials to PyPSA-Eur regions based on
overlaps with NUTS2 regions from ENSPRESO (proportional to area) (`#151
<https://github.com/PyPSA/pypsa-eur-sec/pull/151>`_).
* Add option to regionally disaggregate biomass potential to individual nodes
(previously given per country, then distributed by population density within)
and allow the transport of solid biomass. The transport costs are determined
based on the `JRC-EU-Times Bioenergy report
<http://dx.doi.org/10.2790/01017>`_ in the new optional rule
``build_biomass_transport_costs``. Biomass transport can be activated with the
setting ``sector: biomass_transport: true``.
* Add option to regionally resolve CO2 storage and add CO2 pipeline transport
because geological storage potential,
CO2 utilisation sites and CO2 capture sites may be separated. The CO2 network
is built from zero based on the topology of the electricity grid (greenfield).
Pipelines are assumed to be bidirectional and lossless. Furthermore, neither
retrofitting of natural gas pipelines (required pressures are too high, 80-160
bar vs <80 bar) nor other modes of CO2 transport (by ship, road or rail) are
considered. The regional representation of CO2 is activated with the config
setting ``sector: co2_network: true`` but is deactivated by default. The
global limit for CO2 sequestration now applies to the sum of all CO2 stores
via an ``extra_functionality`` constraint.
* The myopic option can now be used together with different clustering for the
generators and the network. The existing renewable capacities are split evenly
among the regions in every country [`#144 <https://github.com/PyPSA/PyPSA-Eur-Sec/pull/144>`_].
* Add optional function to use ``geopy`` to locate entries of the Hotmaps
database of industrial sites with missing location based on city and country,
which reduces missing entries by half. It can be activated by setting
``industry: hotmaps_locate_missing: true``, takes a few minutes longer, and
should only be used if spatial resolution is coarser than city level.
**Performance and Structure**
* Extended use of ``multiprocessing`` for much better performance
(from up to 20 minutes to less than one minute).
* Handle most input files (or base directories) via ``snakemake.input``.
* Use of ``mock_snakemake`` from PyPSA-Eur.
* Update ``solve_network`` rule to match implementation in PyPSA-Eur by using
``n.ilopf()`` and remove outdated code using ``pyomo``.
Allows the new setting to skip iterated impedance updates with ``solving:
options: skip_iterations: true``.
* The component attributes that are to be overridden are now stored in the folder
``data/override_component_attrs`` analogous to ``pypsa/component_attrs``.
This reduces verbosity and also allows circumventing the ``n.madd()`` hack
for individual components with non-default attributes.
This data is also tracked in the Snakefile.
A function ``helper.override_component_attrs`` was added that loads this data
and can pass the overridden component attributes into ``pypsa.Network()``.
* Add various parameters to ``config.default.yaml`` which were previously hardcoded inside the scripts
(e.g. energy reference years, BEV settings, solar thermal collector models, geomap colours).
* Removed stale industry demand rules ``build_industrial_energy_demand_per_country``
and ``build_industrial_demand``. These are superseded with more regionally resolved rules.
* Use simpler and shorter ``gdf.sjoin()`` function to allocate industrial sites
from the Hotmaps database to onshore regions.
This change also fixes a bug:
The previous version allocated sites to the closest bus,
but at country borders (where Voronoi cells are distorted by the borders),
this had resulted in e.g. a Spanish site close to the French border
being wrongly allocated to the French bus if the bus center was closer.
* Retrofitting rule is now only triggered if endogeneously optimised.
* Show progress in build rules with ``tqdm`` progress bars.
* Reduced verbosity of ``Snakefile`` through directory prefixes.
* Improve legibility of ``config.default.yaml`` and remove unused options.
* Use the country-specific time zone mappings from ``pytz`` rather than a manual mapping.
* A function ``add_carrier_buses()`` was added to the ``prepare_network`` rule to reduce code duplication.
* In the ``prepare_network`` rule the cost and potential adjustment was moved into an
own function ``maybe_adjust_costs_and_potentials()``.
* Use ``matplotlibrc`` to set the default plotting style and backend.
* Added benchmark files for each rule.
* Consistent use of ``__main__`` block and further unspecific code cleaning.
* Updated data bundle and moved data bundle to zenodo.org (`10.5281/zenodo.5546517 <https://doi.org/10.5281/zenodo.5546517>`_).
**Bugfixes and Compatibility**
* Compatibility with ``atlite>=0.2``. Older versions of ``atlite`` will no longer work.
* Corrected calculation of "gas for industry" carbon capture efficiency.
* Implemented changes to ``n.snapshot_weightings`` in PyPSA v0.18.0.
* Compatibility with ``xarray`` version 0.19.
* New dependencies: ``tqdm``, ``atlite>=0.2.4``, ``pytz`` and ``geopy`` (optional).
These are included in the environment specifications of PyPSA-Eur v0.4.0.
Many thanks to all who contributed to this release!
PyPSA-Eur-Sec 0.5.0 (21st May 2021)
-----------------------------------
This release includes improvements to the cost database for building retrofits, carbon budget management and wildcard settings, as well as an important bugfix for the emissions from land transport.
This release is known to work with `PyPSA-Eur <https://github.com/PyPSA/pypsa-eur>`_ Version 0.3.0 and `Technology Data <https://github.com/PyPSA/technology-data>`_ Version 0.2.0.
Please note that the data bundle has also been updated.
New features and bugfixes:
* The cost database for retrofitting of the thermal envelope of buildings has been updated. Now, for calculating the space heat savings of a building, losses by thermal bridges and ventilation are included as well as heat gains (internal and by solar radiation). See the section :ref:`retro` for more details on the retrofitting module.
* For the myopic investment option, a carbon budget and a type of decay (exponential or beta) can be selected in the ``config.yaml`` file to distribute the budget across the ``planning_horizons``. For example, ``cb40ex0`` in the ``{sector_opts}`` wildcard will distribute a carbon budget of 40 GtCO2 following an exponential decay with initial growth rate 0.
* Added an option to alter the capital cost or maximum capacity of carriers by a factor via ``carrier+factor`` in the ``{sector_opts}`` wildcard. This can be useful for exploring uncertain cost parameters. Example: ``solar+c0.5`` reduces the ``capital_cost`` of solar to 50\% of original values. Similarly ``solar+p3`` multiplies the ``p_nom_max`` by 3.
* Rename the bus for European liquid hydrocarbons from ``Fischer-Tropsch`` to ``EU oil``, since it can be supplied not just with the Fischer-Tropsch process, but also with fossil oil.
* Bugfix: The new separation of land transport by carrier in Version 0.4.0 failed to account for the carbon dioxide emissions from internal combustion engines in land transport. This is now treated as a negative load on the atmospheric carbon dioxide bus, just like aviation emissions.
* Bugfix: Fix reading in of ``pypsa-eur/resources/powerplants.csv`` to PyPSA-Eur Version 0.3.0 (use column attribute name ``DateIn`` instead of old ``YearDecommissioned``).
* Bugfix: Make sure that ``Store`` components (battery and H2) are also removed from PyPSA-Eur, so they can be added later by PyPSA-Eur-Sec.
Thanks to Lisa Zeyen (KIT) for the retrofitting improvements and Marta Victoria (Aarhus University) for the carbon budget and wildcard management.
PyPSA-Eur-Sec 0.4.0 (11th December 2020)
----------------------------------------
This release includes a more accurate nodal disaggregation of industry demand within each country, fixes to CHP and CCS representations, as well as changes to some configuration settings.
It has been released to coincide with `PyPSA-Eur <https://github.com/PyPSA/pypsa-eur>`_ Version 0.3.0 and `Technology Data <https://github.com/PyPSA/technology-data>`_ Version 0.2.0, and is known to work with these releases.
New features:
* The `Hotmaps Industrial Database <https://gitlab.com/hotmaps/industrial_sites/industrial_sites_Industrial_Database>`_ is used to disaggregate the industrial demand spatially to the nodes inside each country (previously it was distributed by population density).
* Electricity demand from industry is now separated from the regular electricity demand and distributed according to the industry demand. Only the remaining regular electricity demand for households and services is distributed according to GDP and population.
* A cost database for the retrofitting of the thermal envelope of residential and services buildings has been integrated, as well as endogenous optimisation of the level of retrofitting. This is described in the paper `Mitigating heat demand peaks in buildings in a highly renewable European energy system <https://arxiv.org/abs/2012.01831>`_. Retrofitting can be activated both exogenously and endogenously from the ``config.yaml``.
* The biomass and gas combined heat and power (CHP) parameters ``c_v`` and ``c_b`` were read in assuming they were extraction plants rather than back pressure plants. The data is now corrected in `Technology Data <https://github.com/PyPSA/technology-data>`_ Version 0.2.0 to the correct DEA back pressure assumptions and they are now implemented as single links with a fixed ratio of electricity to heat output (even as extraction plants, they were always sitting on the backpressure line in simulations, so there was no point in modelling the full heat-electricity feasibility polygon). The old assumptions underestimated the heat output.
* The Danish Energy Agency released `new assumptions for carbon capture <https://ens.dk/en/our-services/projections-and-models/technology-data/technology-data-industrial-process-heat-and>`_ in October 2020, which have now been incorporated in PyPSA-Eur-Sec, including direct air capture (DAC) and post-combustion capture on CHPs, cement kilns and other industrial facilities. The electricity and heat demand for DAC is modelled for each node (with heat coming from district heating), but currently the electricity and heat demand for industrial capture is not modelled very cleanly (for process heat, 10% of the energy is assumed to go to carbon capture) - a new issue will be opened on this.
* Land transport is separated by energy carrier (fossil, hydrogen fuel cell electric vehicle, and electric vehicle), but still needs to be separated into heavy and light vehicles (the data is there, just not the code yet).
* For assumptions that change with the investment year, there is a new time-dependent format in the ``config.yaml`` using a dictionary with keys for each year. Implemented examples include the CO2 budget, exogenous retrofitting share and land transport energy carrier; more parameters will be dynamised like this in future.
* Some assumptions have been moved out of the code and into the ``config.yaml``, including the carbon sequestration potential and cost, the heat pump sink temperature, reductions in demand for high value chemicals, and some BEV DSM parameters and transport efficiencies.
* Documentation on :doc:`supply_demand` options has been added.
Many thanks to Fraunhofer ISI for opening the hotmaps database and to Lisa Zeyen (KIT) for implementing the building retrofitting.
PyPSA-Eur-Sec 0.3.0 (27th September 2020)
-----------------------------------------
This releases focuses on improvements to industry demand and the generation of intermediate files for demand for basic materials. There are still inconsistencies with CCS and waste management that need to be improved.
It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0. Please note that the data bundle has also been updated.
New features:
* In previous version of PyPSA-Eur-Sec the energy demand for industry was calculated directly for each location. Now, instead, the production of each material (steel, cement, aluminium) at each location is calculated as an intermediate data file, before the energy demand is calculated from it. This allows us in future to have competing industrial processes for supplying the same material demand.
* The script ``build_industrial_production_per_country_tomorrow.py`` determines the future industrial production of materials based on today's levels as well as assumed recycling and demand change measures.
* The energy demand for each industry sector and each location in 2015 is also calculated, so that it can be later incorporated in the pathway optimization.
* Ammonia production data is taken from the USGS and deducted from JRC-IDEES's "basic chemicals" so that it ammonia can be handled separately from the others (olefins, aromatics and chlorine).
* Solid biomass is no longer allowed to be used for process heat in cement and basic chemicals, since the wastes and residues cannot be guaranteed to reach the high temperatures required. Instead, solid biomass is used in the paper and pulp as well as food, beverages and tobacco industries, where required temperatures are lower (see `DOI:10.1002/er.3436 <https://doi.org/10.1002/er.3436>`_ and `DOI:10.1007/s12053-017-9571-y <https://doi.org/10.1007/s12053-017-9571-y>`_).
* National installable potentials for salt caverns are now applied.
* When electricity distribution grids are activated, new industry electricity demand, resistive heaters and micro-CHPs are now connected to the lower voltage levels.
* Gas distribution grid costs are included for gas boilers and micro-CHPs.
* Installable potentials for rooftop PV are included with an assumption of 1 kWp per person.
* Some intermediate files produced by scripts have been moved from the folder ``data`` to the folder ``resources``. Now ``data`` only includes input data, while ``resources`` only includes intermediate files necessary for building the network models. Please note that the data bundle has also been updated.
* Biomass potentials for different years and scenarios from the JRC are generated in an intermediate file, so that a selection can be made more explicitly by specifying the biomass types from the ``config.yaml``.
PyPSA-Eur-Sec 0.2.0 (21st August 2020)
--------------------------------------
This release introduces pathway optimization over many years (e.g. 2020, 2030, 2040, 2050) with myopic foresight, as well as outsourcing the technology assumptions to the `technology-data <https://github.com/PyPSA/technology-data>`_ repository.
It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69), PyPSA v0.17.1 and technology-data v0.1.0.
New features:
* Option for pathway optimization with myopic foresight, based on the paper `Early decarbonisation of the European Energy system pays off (2020) <https://arxiv.org/abs/2004.11009>`_. Investments are optimized sequentially for multiple years (e.g. 2020, 2030, 2040, 2050) taking account of existing assets built in previous years and their lifetimes. The script uses data on the existing assets for electricity and building heating technologies, but there are no assumptions yet for existing transport and industry (if you include these, the model will greenfield them). There are also some `outstanding issues <https://github.com/PyPSA/pypsa-eur-sec/issues/19#issuecomment-678194802>`_ on e.g. the distribution of existing wind, solar and heating technologies within each country. To use myopic foresight, set ``foresight : 'myopic'`` in the ``config.yaml`` instead of the default ``foresight : 'overnight'``. An example configuration can be found in ``config.myopic.yaml``. More details on the implementation can be found in :doc:`myopic`.
* Technology assumptions (costs, efficiencies, etc.) are no longer stored in the repository. Instead, you have to install the `technology-data <https://github.com/PyPSA/technology-data>`_ database in a parallel directory. These assumptions are largely based on the `Danish Energy Agency Technology Data <https://ens.dk/en/our-services/projections-and-models/technology-data>`_. More details on the installation can be found in :doc:`installation`.
* Logs and benchmarks are now stored with the other model outputs in ``results/run-name/``.
* All buses now have a ``location`` attribute, e.g. bus ``DE0 3 urban central heat`` has a ``location`` of ``DE0 3``.
* All assets have a ``lifetime`` attribute (integer in years). For the myopic foresight, a ``build_year`` attribute is also stored.
* Costs for solar and onshore and offshore wind are recalculated by PyPSA-Eur-Sec based on the investment year, including the AC or DC connection costs for offshore wind.
Many thanks to Marta Victoria for implementing the myopic foresight, and Marta Victoria, Kun Zhu and Lisa Zeyen for developing the technology assumptions database.
PyPSA-Eur-Sec 0.1.0 (8th July 2020)
-----------------------------------
This is the first proper release of PyPSA-Eur-Sec, a model of the European energy system at the transmission network level that covers the full ENTSO-E area.
It is known to work with PyPSA-Eur v0.1.0 (commit bb3477cd69) and PyPSA v0.17.0.
We are making this release since in version 0.2.0 we will introduce changes to allow myopic investment planning that will require minor changes for users of the overnight investment planning.
PyPSA-Eur-Sec builds on the electricity generation and transmission
model `PyPSA-Eur <https://github.com/PyPSA/pypsa-eur>`_ to add demand
and supply for the following sectors: transport, space and water
heating, biomass, industry and industrial feedstocks. This completes
the energy system and includes all greenhouse gas emitters except
waste management, agriculture, forestry and land use.
PyPSA-Eur-Sec was initially based on the model PyPSA-Eur-Sec-30 (Version 0.0.1 below) described
in the paper `Synergies of sector coupling and transmission
reinforcement in a cost-optimised, highly renewable European energy
system <https://arxiv.org/abs/1801.05290>`_ (2018) but it differs by
being based on the higher resolution electricity transmission model
`PyPSA-Eur <https://github.com/PyPSA/pypsa-eur>`_ rather than a
one-node-per-country model, and by including biomass, industry,
industrial feedstocks, aviation, shipping, better carbon management,
carbon capture and usage/sequestration, and gas networks.
PyPSA-Eur-Sec includes PyPSA-Eur as a
`snakemake <https://snakemake.readthedocs.io/en/stable/index.html>`_
`subworkflow <https://snakemake.readthedocs.io/en/stable/snakefiles/modularization.html#snakefiles-sub-workflows>`_. PyPSA-Eur-Sec
uses PyPSA-Eur to build the clustered transmission model along with
wind, solar PV and hydroelectricity potentials and time series. Then
PyPSA-Eur-Sec adds other conventional generators, storage units and
the additional sectors.
PyPSA-Eur-Sec 0.0.2 (4th September 2020)
----------------------------------------
This version, also called PyPSA-Eur-Sec-30-Path, built on
PyPSA-Eur-Sec 0.0.1 (also called PyPSA-Eur-Sec-30) to include myopic
pathway optimisation for the paper `Early decarbonisation of the
European energy system pays off <https://arxiv.org/abs/2004.11009>`_
(2020). The myopic pathway optimisation was then merged into the main
PyPSA-Eur-Sec codebase in Version 0.2.0 above.
This model has `its own github repository
<https://github.com/martavp/pypsa-eur-sec-30-path>`_ and is `archived
on Zenodo <https://zenodo.org/record/4014807>`_.
PyPSA-Eur-Sec 0.0.1 (12th January 2018)
---------------------------------------
This is the first published version of PyPSA-Eur-Sec, also called
PyPSA-Eur-Sec-30. It was first used in the research paper `Synergies of
sector coupling and transmission reinforcement in a cost-optimised,
highly renewable European energy system
<https://arxiv.org/abs/1801.05290>`_ (2018). The model covers 30
European countries with one node per country. It includes demand and
supply for electricity, space and water heating in buildings, and land
transport.
It is `archived on Zenodo <https://zenodo.org/record/1146666>`_.
Release Process
===============
@ -548,19 +1262,21 @@ Release Process
* Update ``envs/environment.fixed.yaml`` via
``conda env export -n pypsa-eur -f envs/environment.fixed.yaml --no-builds``
from an up-to-date `pypsa-eur` environment.
from an up-to-date ``pypsa-eur`` environment.
* Update version number in ``doc/conf.py``, ``CITATION.cff`` and ``*config.*.yaml``.
* Make a ``git commit``.
* Open, review and merge pull request for branch ``release-v0.x.x``.
Make sure to close issues and PRs or the release milestone with it (e.g. closes #X).
* Tag a release on Github via ``git tag v0.x.x``, ``git push``, ``git push --tags``. Include release notes in the tag message.
* Upload code to `zenodo code repository <https://doi.org/10.5281/zenodo.3520874>`_ with `MIT license <https://opensource.org/licenses/MIT>`_.
* Make a `GitHub release <https://github.com/PyPSA/pypsa-eur-sec/releases>`_, which automatically triggers archiving to the `zenodo code repository <https://doi.org/10.5281/zenodo.3520874>`_ with `MIT license <https://opensource.org/licenses/MIT>`_.
* Create pre-built networks for ``config.default.yaml`` by running ``snakemake -j 1 extra_components_all_networks``.
* Create pre-built networks for ``config.default.yaml`` by running ``snakemake -call prepare_sector_networks``.
* Upload pre-built networks to `zenodo data repository <https://doi.org/10.5281/zenodo.3601881>`_ with `CC BY 4.0 <https://creativecommons.org/licenses/by/4.0/>`_ license.
* Send announcement on the `PyPSA and PyPSA-Eur mailing list <https://groups.google.com/forum/#!forum/pypsa>`_.
* Send announcement on the `PyPSA mailing list <https://groups.google.com/forum/#!forum/pypsa>`_.

View File

@ -1,15 +1,18 @@
# SPDX-FileCopyrightText: : 2019-2022 The PyPSA-Eur Authors
# SPDX-FileCopyrightText: : 2019-2023 The PyPSA-Eur Authors
#
# SPDX-License-Identifier: CC0-1.0
sphinx
sphinx_rtd_theme
sphinx_book_theme
sphinxcontrib-bibtex
pypsa
vresutils>=0.3.1
powerplantmatching>=0.4.8
atlite>=0.2.2
dask<=2021.3.1
powerplantmatching>=0.5.5
atlite>=0.2.9
dask[distributed]
matplotlib>3.5.1,<3.6
tabula-py
# cartopy
scikit-learn

View File

@ -1,12 +1,13 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _data:
Rules ``retrieve*``
=============================
###############
Retrieving Data
###############
Not all data dependencies are shipped with the git repository,
since git is not suited for handling large changing files.
@ -14,12 +15,12 @@ Instead we provide separate data bundles which can be obtained
using the ``retrieve*`` rules.
Rule ``retrieve_databundle``
----------------------------
============================
.. automodule:: retrieve_databundle
Rule ``retrieve_cutout``
------------------------
============================
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.3517949.svg
:target: https://doi.org/10.5281/zenodo.3517949
@ -53,7 +54,7 @@ The :ref:`tutorial` uses a smaller cutout than required for the full model (30 M
Rule ``retrieve_natura_raster``
-------------------------------
================================
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.4706686.svg
:target: https://doi.org/10.5281/zenodo.4706686
@ -77,3 +78,66 @@ This rule, as a substitute for :mod:`build_natura_raster`, downloads an already
.. seealso::
For details see :mod:`build_natura_raster`.
Rule ``retrieve_load_data``
================================
This rule downloads hourly electric load data for each country from the `OPSD platform <data.open-power-system-data.org/time_series/2019-06-05/time_series_60min_singleindex.csv>`_.
**Relevant Settings**
None.
**Outputs**
- ``data/load_raw.csv``
Rule ``retrieve_cost_data``
================================
This rule downloads techno-economic assumptions from the `technology-data repository <https://github.com/pypsa/technology-data>`_.
**Relevant Settings**
.. code:: yaml
enable:
retrieve_cost_data:
costs:
year:
version:
.. seealso::
Documentation of the configuration file ``config.yaml`` at
:ref:`costs_cf`
**Outputs**
- ``resources/costs.csv``
Rule ``retrieve_ship_raster``
================================
This rule downloads data on global shipping traffic density from the `World Bank Data Catalogue <https://datacatalog.worldbank.org/search/dataset/0037580/Global-Shipping-Traffic-Density>`_.
**Relevant Settings**
None.
**Outputs**
- ``data/shipdensity_global.zip``
Rule ``retrieve_sector_databundle``
====================================
.. image:: https://zenodo.org/badge/DOI/10.5281/zenodo.5546516.svg
:target: https://doi.org/10.5281/zenodo.5546516
In addition to the databundle required for electricity-only studies,
another databundle is required for modelling sector-coupled systems.
The size of this data bundle is around 640 MB.

166
doc/sector.rst Normal file
View File

@ -0,0 +1,166 @@
..
SPDX-FileCopyrightText: 2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Building Sector-Coupled Networks
##########################################
.. warning::
This part of the documentation is under development.
Rule ``add_brownfield``
==============================================================================
.. automodule:: add_brownfield
Rule ``add_existing_baseyear``
==============================================================================
.. automodule:: add_existing_baseyear
Rule ``build_ammonia_production``
==============================================================================
.. automodule:: build_ammonia_production
Rule ``build_biomass_potentials``
==============================================================================
.. automodule:: build_biomass_potentials
Rule ``build_biomass_transport_costs``
==============================================================================
.. automodule:: build_biomass_transport_costs
Rule ``build_clustered_population_layouts``
==============================================================================
.. automodule:: build_clustered_population_layouts
Rule ``build_cop_profiles``
==============================================================================
.. automodule:: build_cop_profiles
Rule ``build_energy_totals``
==============================================================================
.. automodule:: build_energy_totals
Rule ``build_gas_input_locations``
==============================================================================
.. automodule:: build_gas_input_locations
Rule ``build_gas_network``
==============================================================================
.. automodule:: build_gas_network
Rule ``build_heat_demand``
==============================================================================
.. automodule:: build_heat_demand
Rule ``build_industrial_distribution_key``
==============================================================================
.. automodule:: build_industrial_distribution_key
Rule ``build_industrial_energy_demand_per_country_today``
==============================================================================
.. automodule:: build_industrial_energy_demand_per_country_today
Rule ``build_industrial_energy_demand_per_node_today``
==============================================================================
.. automodule:: build_industrial_energy_demand_per_node_today
Rule ``build_industrial_energy_demand_per_node``
==============================================================================
.. automodule:: build_industrial_energy_demand_per_node
Rule ``build_industrial_production_per_country_tomorrow``
==============================================================================
.. automodule:: build_industrial_production_per_country_tomorrow
Rule ``build_industrial_production_per_country``
==============================================================================
.. automodule:: build_industrial_production_per_country
Rule ``build_industrial_production_per_node``
==============================================================================
.. automodule:: build_industrial_production_per_node
Rule ``build_industry_sector_ratios``
==============================================================================
.. automodule:: build_industry_sector_ratios
Rule ``build_population_layouts``
==============================================================================
.. automodule:: build_population_layouts
Rule ``build_population_weighted_energy_totals``
==============================================================================
.. automodule:: build_population_weighted_energy_totals
Rule ``build_retro_cost``
==============================================================================
.. automodule:: build_retro_cost
Rule ``build_salt_cavern_potentials``
==============================================================================
.. automodule:: build_salt_cavern_potentials
Rule ``build_sequestration_potentials``
==============================================================================
.. automodule:: build_sequestration_potentials
Rule ``build_shipping_demand``
==============================================================================
.. automodule:: build_shipping_demand
Rule ``build_solar_thermal_profiles``
==============================================================================
.. automodule:: build_solar_thermal_profiles
Rule ``build_temperature_profiles``
==============================================================================
.. automodule:: build_temperature_profiles
Rule ``build_transport_demand``
==============================================================================
.. automodule:: build_transport_demand
Rule ``cluster_gas_network``
==============================================================================
.. automodule:: cluster_gas_network
Rule ``copy_config``
==============================================================================
.. automodule:: copy_config
Rule ``prepare_sector_network``
==============================================================================
.. automodule:: prepare_sector_network

View File

@ -1,12 +1,12 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-FileCopyrightText: 2019-2023 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
##########################################
Simplifying Networks
Simplifying Electricity Networks
##########################################
The simplification ``snakemake`` rules prepare **approximations** of the full model, for which it is computationally viable to co-optimize generation, storage and transmission capacities.
@ -20,10 +20,31 @@ The simplification and clustering steps are described in detail in the paper
After simplification and clustering of the network, additional components may be appended in the rule :mod:`add_extra_components` and the network is prepared for solving in :mod:`prepare_network`.
.. toctree::
:caption: Overview
.. _simplify:
simplification/simplify_network
simplification/cluster_network
simplification/add_extra_components
simplification/prepare_network
Rule ``simplify_network``
============================
.. automodule:: simplify_network
.. _cluster:
Rule ``cluster_network``
===========================
.. automodule:: cluster_network
.. _extra_components:
Rule ``add_extra_components``
=============================
.. automodule:: add_extra_components
.. _prepare:
Rule ``prepare_network``
===========================
.. automodule:: prepare_network

View File

@ -1,42 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _extra_components:
Rule ``add_extra_components``
=============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
1 [color="0.56 0.6 0.85",
label=prepare_network];
2 [color="0.47 0.6 0.85",
fillcolor=gray,
label=add_extra_components,
style=filled];
2 -> 1;
3 [color="0.03 0.6 0.85",
label=cluster_network];
3 -> 2;
}
|
.. automodule:: add_extra_components

View File

@ -1,43 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _cluster:
Rule ``cluster_network``
===========================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
1 [color="0.50 0.6 0.85",
label=prepare_network];
2 [color="0.36 0.6 0.85",
fillcolor=gray,
label=cluster_network,
style=filled];
2 -> 1;
3 [color="0.14 0.6 0.85",
label=simplify_network];
3 -> 2;
}
|
.. automodule:: cluster_network

View File

@ -1,42 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _prepare:
Rule ``prepare_network``
===========================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
0 [color="0.53 0.6 0.85",
label=solve_network];
1 [color="0.50 0.6 0.85",
fillcolor=gray,
label=prepare_network,
style=filled];
1 -> 0;
2 [color="0.36 0.6 0.85",
label=cluster_network];
2 -> 1;
}
|
.. automodule:: prepare_network

View File

@ -1,45 +0,0 @@
..
SPDX-FileCopyrightText: 2019-2022 The PyPSA-Eur Authors
SPDX-License-Identifier: CC-BY-4.0
.. _simplify:
Rule ``simplify_network``
============================
.. graphviz::
:align: center
digraph snakemake_dag {
graph [bgcolor=white,
margin=0,
size="8,5"
];
node [fontname=sans,
fontsize=10,
penwidth=2,
shape=box,
style=rounded
];
edge [color=grey,
penwidth=2
];
2 [color="0.36 0.6 0.85",
label=cluster_network];
3 [color="0.14 0.6 0.85",
fillcolor=gray,
label=simplify_network,
style=filled];
3 -> 2;
4 [color="0.61 0.6 0.85",
label=add_electricity];
4 -> 3;
5 [color="0.19 0.6 0.85",
label=build_bus_regions];
5 -> 3;
}
|
.. automodule:: simplify_network

Some files were not shown because too many files have changed in this diff Show More