Compare commits
10 Commits
0d1c36ba6e
...
dda58060ed
Author | SHA1 | Date | |
---|---|---|---|
|
dda58060ed | ||
|
f183736b09 | ||
|
0bf72cac6f | ||
|
991916370f | ||
|
d4bad07cf4 | ||
|
24e0ddd5a6 | ||
|
79cea53146 | ||
|
c5ebb66f72 | ||
|
51f8c2935a | ||
|
e65ce91a73 |
145
.github/workflows/test.yaml
vendored
145
.github/workflows/test.yaml
vendored
@ -12,16 +12,19 @@ on:
|
||||
branches:
|
||||
- master
|
||||
schedule:
|
||||
- cron: "0 5 * * TUE"
|
||||
- cron: "0 5 * * *"
|
||||
|
||||
# Cancel any in-progress runs when a new run is triggered
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
env:
|
||||
ENV_FILE: envs/environment.yaml
|
||||
|
||||
jobs:
|
||||
run:
|
||||
name: Run
|
||||
run-tests:
|
||||
name: OS
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
@ -29,14 +32,6 @@ jobs:
|
||||
- macos
|
||||
- windows
|
||||
- ubuntu
|
||||
inhouse:
|
||||
- stable-inhouse-deps
|
||||
- dev-inhouse-deps
|
||||
exclude:
|
||||
- os: macos
|
||||
inhouse: dev-inhouse-deps
|
||||
- os: windows
|
||||
inhouse: dev-inhouse-deps
|
||||
runs-on: ${{ matrix.os }}-latest
|
||||
|
||||
defaults:
|
||||
@ -46,25 +41,20 @@ jobs:
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- name: Setup secrets
|
||||
- name: Setup secrets & cache dates
|
||||
run: |
|
||||
echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc
|
||||
|
||||
- name: Set cache dates
|
||||
run: |
|
||||
echo "week=$(date +'%Y%U')" >> $GITHUB_ENV # data and cutouts
|
||||
echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_ENV # env
|
||||
|
||||
- name: Cache data and cutouts folders
|
||||
uses: actions/cache@v4
|
||||
- uses: actions/cache@v4
|
||||
with:
|
||||
path: |
|
||||
data
|
||||
cutouts
|
||||
key: data-cutouts-${{ env.week }}
|
||||
|
||||
- name: Setup Conda
|
||||
uses: conda-incubator/setup-miniconda@v3
|
||||
- uses: conda-incubator/setup-miniconda@v3
|
||||
with:
|
||||
activate-environment: pypsa-eur
|
||||
|
||||
@ -72,40 +62,105 @@ jobs:
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CONDA }}/envs
|
||||
key: conda-${{ runner.os }}--${{ runner.arch }}--${{ env.today }}-${{ hashFiles('envs/environment.yaml') }}
|
||||
key: conda-${{ runner.os }}-${{ runner.arch }}-${{ env.today }}-${hashFiles('${{ env.ENV_FILE }}')}
|
||||
id: cache-env
|
||||
|
||||
- name: Update environment
|
||||
if: steps.cache-env.outputs.cache-hit != 'true' && matrix.os != 'macos'
|
||||
run: conda env update -n pypsa-eur -f envs/environment.yaml
|
||||
|
||||
# Temporary fix for MacOS, since highspy with pypsa can not be resolved
|
||||
- name: Update environment (macos specific)
|
||||
if: steps.cache-env.outputs.cache-hit != 'true' && matrix.os == 'macos'
|
||||
run: |
|
||||
sed -i '' '/- pypsa/d' envs/environment.yaml # Remove pypsa from environment list
|
||||
conda env update -n pypsa-eur -f envs/environment.yaml
|
||||
pip install highspy
|
||||
conda install -c conda-forge pypsa
|
||||
|
||||
- name: Install inhouse packages from master
|
||||
if: matrix.inhouse == 'dev-inhouse-deps'
|
||||
run: |
|
||||
python -m pip install uv
|
||||
uv pip install git+https://github.com/PyPSA/pypsa.git@master
|
||||
uv pip install git+https://github.com/PyPSA/atlite.git@master
|
||||
uv pip install git+https://github.com/PyPSA/powerplantmatching.git@master
|
||||
uv pip install git+https://github.com/PyPSA/linopy.git@master
|
||||
if: steps.cache-env.outputs.cache-hit != 'true'
|
||||
run: conda env update -n pypsa-eur -f ${{ env.ENV_FILE }}
|
||||
|
||||
- name: Run snakemake test workflows
|
||||
run: |
|
||||
conda activate pypsa-eur
|
||||
make test
|
||||
|
||||
- name: Upload artifacts
|
||||
if: matrix.os == 'ubuntu' && matrix.inhouse == 'stable-inhouse-deps'
|
||||
uses: actions/upload-artifact@v4.4.0
|
||||
uses: actions/upload-artifact@v3.2.1-node20
|
||||
with:
|
||||
name: resources-results
|
||||
name: logs-${{ matrix.inhouse }}
|
||||
path: |
|
||||
results
|
||||
retention-days: 7
|
||||
logs
|
||||
.snakemake/log
|
||||
retention-days: 3
|
||||
|
||||
run-tests-on-dev-deps:
|
||||
name: Inhouse
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
inhouse:
|
||||
- pypsa
|
||||
- atlite
|
||||
- powerplantmatching
|
||||
- linopy
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: bash -l {0}
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
# Only run checks if package is not pinned
|
||||
- name: Check if inhouse package is pinned
|
||||
run: |
|
||||
grep_line=$(grep -- '- ${{ matrix.inhouse }}' ${{ env.ENV_FILE }})
|
||||
if [[ $grep_line == *"<"* || $grep_line == *"=="* ]]; then
|
||||
echo "pinned=true" >> $GITHUB_ENV
|
||||
else
|
||||
echo "pinned=false" >> $GITHUB_ENV
|
||||
fi
|
||||
|
||||
- name: Setup secrets & cache dates
|
||||
if: env.pinned == 'false'
|
||||
run: |
|
||||
echo -ne "url: ${CDSAPI_URL}\nkey: ${CDSAPI_TOKEN}\n" > ~/.cdsapirc
|
||||
echo "week=$(date +'%Y%U')" >> $GITHUB_ENV # data and cutouts
|
||||
echo "today=$(/bin/date -u '+%Y%m%d')" >> $GITHUB_ENV # env
|
||||
|
||||
- uses: actions/cache@v4
|
||||
if: env.pinned == 'false'
|
||||
with:
|
||||
path: |
|
||||
data
|
||||
cutouts
|
||||
key: data-cutouts-${{ env.week }}
|
||||
|
||||
- uses: conda-incubator/setup-miniconda@v3
|
||||
if: env.pinned == 'false'
|
||||
with:
|
||||
activate-environment: pypsa-eur
|
||||
|
||||
- name: Cache Conda env
|
||||
if: env.pinned == 'false'
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ env.CONDA }}/envs
|
||||
key: conda-${{ runner.os }}-${{ runner.arch }}-${{ matrix.inhouse }}-${{ env.today }}-${hashFiles('${{ env.ENV_FILE }}')}
|
||||
id: cache-env
|
||||
|
||||
- name: Update environment
|
||||
if: env.pinned == 'false' && steps.cache-env.outputs.cache-hit != 'true'
|
||||
run: conda env update -n pypsa-eur -f ${{ env.ENV_FILE }}
|
||||
|
||||
- name: Install inhouse packages from master
|
||||
if: env.pinned == 'false'
|
||||
run: |
|
||||
python -m pip install git+https://github.com/PyPSA/${{ matrix.inhouse }}.git@master
|
||||
|
||||
- name: Run snakemake test workflows
|
||||
if: env.pinned == 'false'
|
||||
run: |
|
||||
conda activate pypsa-eur
|
||||
make test
|
||||
|
||||
- name: Upload artifacts
|
||||
if: env.pinned == 'false'
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: logs-${{ matrix.inhouse }}
|
||||
path: |
|
||||
logs
|
||||
.snakemake/log
|
||||
retention-days: 3
|
||||
|
4
.github/workflows/update-fixed-env.yaml
vendored
4
.github/workflows/update-fixed-env.yaml
vendored
@ -18,12 +18,12 @@ jobs:
|
||||
- name: Setup conda
|
||||
uses: conda-incubator/setup-miniconda@v3
|
||||
with:
|
||||
activate-environment: pypsa-eur
|
||||
activate-environment: ${{ github.event.repository.name }}
|
||||
environment-file: envs/environment.yaml
|
||||
|
||||
- name: Update environment.fixed.yaml
|
||||
run: |
|
||||
conda env export --name pypsa-eur-fixed --no-builds > envs/environment.fixed.yaml
|
||||
conda env export --name ${{ github.event.repository.name }} --no-builds | sed 's/^name: ${{ github.event.repository.name }}$/name: ${{ github.event.repository.name }}-fixed/' > envs/environment.fixed.yaml
|
||||
|
||||
- name: Add SPDX header
|
||||
run: |
|
||||
|
4
.github/workflows/validate.yaml
vendored
4
.github/workflows/validate.yaml
vendored
@ -16,7 +16,7 @@ jobs:
|
||||
if: github.event.pull_request.head.repo.full_name == github.repository
|
||||
runs-on: self-hosted
|
||||
steps:
|
||||
- uses: lkstrp/pypsa-validator@v0.2.1
|
||||
- uses: lkstrp/pypsa-validator@v0.2.2
|
||||
with:
|
||||
step: run-self-hosted-validation
|
||||
env_file: envs/environment.yaml
|
||||
@ -30,7 +30,7 @@ jobs:
|
||||
needs: run-validation
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: lkstrp/pypsa-validator@v0.2.1
|
||||
- uses: lkstrp/pypsa-validator@v0.2.2
|
||||
with:
|
||||
step: create-comment
|
||||
snakemake_config: config/test/config.validator.yaml
|
||||
|
20
AT_cross_border_lines.csv
Normal file
20
AT_cross_border_lines.csv
Normal file
@ -0,0 +1,20 @@
|
||||
bus0,bus1,v_nom,num_parallel,length,carrier,dc,type,s_max_pu,s_nom,build_year,i_nom,capital_cost,s_nom_extendable,s_nom_min,s_nom_max,x,r,b,x_pu_eff,r_pu_eff,s_nom_opt,g,s_nom_mod,lifetime,terrain_factor,v_ang_min,v_ang_max,sub_network,x_pu,r_pu,g_pu,b_pu,country,country_bus1
|
||||
AT0 13,DE0 8,380.0,2.0000000000000004,157.45053093038698,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,6629.372251791948,True,3396.2052234810553,23396.205223481054,19.366415304437595,2.361757963955804,0.001365221390318217,0.00013411644947671465,1.6355664570331053e-05,3396.2068736722254,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 14,HU0 0,380.0,2.578947368421053,229.55791108249312,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,4379.31726185715,0,2.58,9666.642911668028,True,4379.31726185715,24379.317261857148,21.897013804072913,2.6703675370820625,0.0025666325772726703,0.00015164136983429995,1.8492849979792677e-05,4855.154737749343,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,HU
|
||||
AT0 18,CH0 0,380.0,1.0000000000000002,217.39731766342632,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,1698.1026117405274,0,2.58,9152.631462812305,True,1698.1026117405277,21698.102611740527,53.47974014520286,6.521919529902788,0.0009425038661925347,0.00037035831125486747,4.516564771400823e-05,1698.1027403269095,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,CH
|
||||
AT0 18,IT0 4,380.0,0.2894736842105263,185.60625574710303,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,491.5560191880474,0,2.58,7815.0467793553935,True,491.5560191880474,20491.556019188047,157.73157079308356,19.235557413790676,0.0002329328054643127,0.0010923238974590275,0.00013321023139744237,972.4465120779723,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,IT
|
||||
AT0 24,CZ0 0,380.0,0.5789473684210527,215.13763514712224,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,9060.587699031481,True,983.1120383760948,20983.112038376094,91.41393697069539,11.148041093987244,0.0005399884040983793,0.0006330605053372257,7.72025006508812e-05,983.1125186560405,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,CZ
|
||||
AT0 25,CZ0 0,380.0,2.000002812856486,221.3505944508742,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2022,2.58,9320.625479458482,True,3396.21,23396.21,27.226084825922886,3.320254247063766,0.0019192884871868346,0.00018854629380833022,2.2993450464430512e-05,3396.2111621523927,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,CZ
|
||||
AT0 28,DE0 8,380.0,0.5789473684210527,134.57561899534758,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5667.366123891289,True,983.1120383760948,20983.112038376094,57.18240392584133,6.973463893395284,0.00033778038734205793,0.0003960000271872668,4.829268624234961e-05,983.112324762667,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 33,DE0 9,380.0,0.5789473684210527,122.53162139094685,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5159.234849165555,True,983.1120383760948,20983.112038376094,52.06479985284414,6.3493658357127005,0.0003075503486000333,0.0003605595557676187,4.397067753263643e-05,983.1123296807943,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 36,DE0 9,380.0,1.2894736842105265,129.15908308628096,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,2189.658630928575,0,2.58,5439.018571044101,True,2189.658630928575,22189.658630928574,24.640389973276616,3.004925606497148,0.0007220485426459299,0.00017063981975953336,2.080973411701626e-05,2189.658993113282,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 37,IT0 4,380.0,0.2894736842105263,133.90111171954197,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,491.5560191880474,0,2.58,5638.982716292362,True,491.5560191880474,20491.556019188047,113.7915993049344,13.877024305479804,0.0001680436981074658,0.0007880304661006537,9.610127635373825e-05,1329.134094253159,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,IT
|
||||
AT0 38,CZ0 0,380.0,2.0000000000000004,205.43760778665506,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,8651.139568100318,True,3396.2052234810553,23396.205223481054,25.268825757758567,3.081564116799825,0.0017813075311263829,0.00017499186812852194,2.134047172299048e-05,3396.206034552547,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,CZ
|
||||
AT0 4,DE0 8,380.0,2.000002812856486,223.77544261761489,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2025,2.58,9422.64896504408,True,3396.21,23396.21,27.524340730956457,3.356626918409324,0.0019403138798727998,0.0001906117779152109,2.3245338770147675e-05,3396.210834256575,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 41,DE0 9,380.0,2.0000000000000004,151.48256413977808,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,6378.983396465203,True,3396.2052234810553,23396.205223481054,18.6323553891927,2.2722384620966705,0.0013134743693897814,0.0001290329320581212,1.5735723421722094e-05,3396.2061848641297,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 46,SI0 0,380.0,0.2894736842105263,73.91544738821291,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,491.5560191880474,0,2.58,3112.6524509275405,True,491.5560191880474,20491.556019188047,62.814691107728564,7.660328183869337,9.276267363932839e-05,0.00043500478606460226,5.3049364154219786e-05,908.305722572386,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,SI
|
||||
AT0 5,CH0 0,380.0,1.4473684210526316,145.78573755765348,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,2457.780095940237,0,2.58,6137.339201523278,True,2457.780095940237,22457.780095940238,24.778274085253535,3.02174074210409,0.0009147935426340895,0.00017159469588125717,2.092618242454356e-05,2457.7802543569946,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,CH
|
||||
AT0 6,DE0 8,380.0,2.0000000000000004,239.2590482188765,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,10076.667483111905,True,3396.2052234810553,23396.205223481054,29.428862930921802,3.5888857232831466,0.002074566332202492,0.00020380098982632826,2.4853779247113204e-05,3396.2053892687763,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 7,SI0 0,380.0,2.0000000000000004,112.34640831718293,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,4731.401288072908,True,3396.2052234810553,23396.205223481054,13.818608223013497,1.6851961247577436,0.000974132756833033,9.569673284635386e-05,1.1670333273945593e-05,3396.205513856847,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,SI
|
||||
AT0 8,DE0 8,380.0,0.5789473684210527,172.75509021901973,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,7275.788961565553,True,983.1120383760948,20983.112038376094,73.40520833488165,8.951854674985569,0.00043360960718679645,0.0005083463181085987,6.19934534278779e-05,983.1123919519246,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 1,DE0 9,380.0,0.5789473684210527,128.18450451317892,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5398.39401856757,True,983.1120383760948,20983.112038376094,54.466761281327116,6.642287961137453,0.0003217388997275072,0.00037719363768232074,4.599922410760009e-05,983.112198118079,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
|
BIN
Cross-Border Transmission Lines for AT.pdf
Normal file
BIN
Cross-Border Transmission Lines for AT.pdf
Normal file
Binary file not shown.
23
DE_cross_border_lines.csv
Normal file
23
DE_cross_border_lines.csv
Normal file
@ -0,0 +1,23 @@
|
||||
bus0,bus1,v_nom,num_parallel,length,carrier,dc,type,s_max_pu,s_nom,build_year,i_nom,capital_cost,s_nom_extendable,s_nom_min,s_nom_max,x,r,b,x_pu_eff,r_pu_eff,s_nom_opt,g,s_nom_mod,lifetime,terrain_factor,v_ang_min,v_ang_max,sub_network,x_pu,r_pu,g_pu,b_pu,country,country_bus1
|
||||
DE0 0,FR0 6,380.0,3.8815789473684217,174.43888402862837,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,6591.319348203363,0,2.58,7346.845803766829,True,6591.319348203365,26591.319348203364,11.055286019658425,1.3482056121534665,0.0029354905214935,7.656015249070931e-05,9.336603962281623e-06,6591.319599695463,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,FR
|
||||
DE0 10,NL0 0,380.0,2.0000000000000004,153.674420802052,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,6471.935411870361,True,3396.2052234810553,23396.205223481054,18.901953758652393,2.3051163120307794,0.001332479510764445,0.00013089995677737114,1.596340936309404e-05,4491.297362138091,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,NL
|
||||
DE0 10,NL0 0,380.0,2.000002812856486,153.674420802052,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2021,2.58,6470.750336789321,True,3396.21,23396.21,18.901927174448172,2.305113070054655,0.001332481384801262,0.0001308997726762339,1.5963386911735838e-05,4491.303678673871,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,NL
|
||||
DE0 2,LU0 0,380.0,1.1578947368421053,219.5468771956082,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,1966.2240767521896,0,2.58,9242.918896999921,True,1966.2240767521896,21966.22407675219,46.643732000557854,5.68826000006803,0.001102110913886051,0.000323017534629902,3.939238227193927e-05,2047.1478403378808,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,LU
|
||||
DE0 2,NL0 0,380.0,6.000000000000002,216.7259596924106,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,10188.615670443165,0,2.58,9127.116248764283,True,10188.615670443167,30188.615670443163,8.885764347388832,1.0836297984620527,0.005637559573682325,6.153576417859302e-05,7.504361485194271e-06,10188.616832322601,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,NL
|
||||
DE0 4,PL0 0,380.0,4.210526315789474,266.61013683024584,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,7149.905733644326,0,2.58,11227.452446474272,True,7149.9057336443275,27149.905733644326,15.57669724430711,1.899597224915501,0.004866783230269847,0.00010787186457276392,1.3155105435702915e-05,7149.906346181274,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,PL
|
||||
DE0 5,FR0 6,380.0,2.4013157894736845,244.82477901889243,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,4077.6806137190297,0,2.58,10309.873303571758,True,4077.6806137190297,24077.68061371903,25.080789416642258,3.05863285568808,0.0025487873722488405,0.00017368967740056965,2.1181667975679224e-05,4077.6812454696696,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,FR
|
||||
DE0 6,DK0 0,380.0,6.000000000000002,284.1050403310735,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,10188.615670443165,0,2.58,11961.187586036096,True,10188.615670443167,30188.615670443163,11.648306653574009,1.420525201655367,0.007390250306530003,8.066694358430753e-05,9.83743214442775e-06,10188.617268647773,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,DK
|
||||
DE0 6,DK0 0,380.0,2.000002812856486,284.1050403310735,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2020,2.58,11964.563725471771,True,3396.21,23396.21,34.94487081326878,4.261569611374242,0.0024634202334622513,0.0002420004903965982,2.9512254926414415e-05,3396.2104830570574,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,DK
|
||||
DE0 6,DK0 0,380.0,2.000002812856486,284.1050403310735,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2022,2.58,11964.749268119427,True,3396.21,23396.21,34.94487081326878,4.261569611374242,0.0024634202334622513,0.0002420004903965982,2.9512254926414415e-05,3396.2104830356975,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,DE,DK
|
||||
AT0 13,DE0 8,380.0,2.0000000000000004,157.45053093038698,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,6629.372251791948,True,3396.2052234810553,23396.205223481054,19.366415304437595,2.361757963955804,0.001365221390318217,0.00013411644947671465,1.6355664570331053e-05,3396.2068736722254,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 28,DE0 8,380.0,0.5789473684210527,134.57561899534758,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5667.366123891289,True,983.1120383760948,20983.112038376094,57.18240392584133,6.973463893395284,0.00033778038734205793,0.0003960000271872668,4.829268624234961e-05,983.112324762667,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 33,DE0 9,380.0,0.5789473684210527,122.53162139094685,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5159.234849165555,True,983.1120383760948,20983.112038376094,52.06479985284414,6.3493658357127005,0.0003075503486000333,0.0003605595557676187,4.397067753263643e-05,983.1123296807943,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 36,DE0 9,380.0,1.2894736842105265,129.15908308628096,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,2189.658630928575,0,2.58,5439.018571044101,True,2189.658630928575,22189.658630928574,24.640389973276616,3.004925606497148,0.0007220485426459299,0.00017063981975953336,2.080973411701626e-05,2189.658993113282,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 4,DE0 8,380.0,2.000002812856486,223.77544261761489,AC,,Al/St 240/40 4-bundle 380.0,0.7,3396.21,2025,2.58,9422.64896504408,True,3396.21,23396.21,27.524340730956457,3.356626918409324,0.0019403138798727998,0.0001906117779152109,2.3245338770147675e-05,3396.210834256575,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 41,DE0 9,380.0,2.0000000000000004,151.48256413977808,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,6378.983396465203,True,3396.2052234810553,23396.205223481054,18.6323553891927,2.2722384620966705,0.0013134743693897814,0.0001290329320581212,1.5735723421722094e-05,3396.2061848641297,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 6,DE0 8,380.0,2.0000000000000004,239.2590482188765,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,10076.667483111905,True,3396.2052234810553,23396.205223481054,29.428862930921802,3.5888857232831466,0.002074566332202492,0.00020380098982632826,2.4853779247113204e-05,3396.2053892687763,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 8,DE0 8,380.0,0.5789473684210527,172.75509021901973,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,7275.788961565553,True,983.1120383760948,20983.112038376094,73.40520833488165,8.951854674985569,0.00043360960718679645,0.0005083463181085987,6.19934534278779e-05,983.1123919519246,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
AT0 1,DE0 9,380.0,0.5789473684210527,128.18450451317892,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,983.1120383760948,0,2.58,5398.39401856757,True,983.1120383760948,20983.112038376094,54.466761281327116,6.642287961137453,0.0003217388997275072,0.00037719363768232074,4.599922410760009e-05,983.112198118079,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,AT,DE
|
||||
CH0 0,DE0 0,380.0,16.18421052631579,242.74584800961327,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,27482.450163695376,0,2.58,10222.023276476782,True,27482.45016369538,47482.45016369538,3.689736889746121,0.4499679133836733,0.017032260414008592,2.555219452732771e-05,3.116121283820452e-06,27482.451693968924,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,CH,DE
|
||||
CZ0 0,DE0 3,380.0,2.0000000000000004,340.01388341039154,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,14317.045825611116,True,3396.2052234810553,23396.205223481054,41.82170765947815,5.100208251155872,0.0029481909263441193,0.0002896240142623141,3.5320001739306596e-05,3528.298078011425,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,CZ,DE
|
||||
CZ0 0,DE0 8,380.0,2.0000000000000004,309.204166880627,AC,0.0,Al/St 240/40 4-bundle 380.0,0.7,3396.205223481055,0,2.58,13020.212850812726,True,3396.2052234810553,23396.205223481054,38.032112526317114,4.638062503209404,0.0026810461680030237,0.0002633802806531656,3.211954642111775e-05,3396.205667343315,0.0,0.0,inf,1.0,-inf,inf,,0.0,0.0,0.0,0.0,CZ,DE
|
|
@ -915,6 +915,7 @@ solving:
|
||||
DC: 0.3
|
||||
H2 pipeline: 0.3
|
||||
gas pipeline: 0.3
|
||||
fractional_last_unit_size: false
|
||||
|
||||
agg_p_nom_limits:
|
||||
agg_offwind: false
|
||||
|
69
config/my_configs/config.128_wAT_entsoe.yaml
Normal file
69
config/my_configs/config.128_wAT_entsoe.yaml
Normal file
@ -0,0 +1,69 @@
|
||||
run:
|
||||
name: 128_wAT_entsoe
|
||||
disable_progressbar: false
|
||||
shared_resources:
|
||||
policy: false
|
||||
shared_cutouts: true
|
||||
scenario:
|
||||
simpl:
|
||||
- ''
|
||||
ll:
|
||||
- vopt
|
||||
clusters:
|
||||
- 128
|
||||
opts:
|
||||
- ''
|
||||
sector_opts:
|
||||
- ''
|
||||
planning_horizons:
|
||||
- ''
|
||||
countries:
|
||||
- AL
|
||||
- AT
|
||||
- BA
|
||||
- BE
|
||||
- BG
|
||||
- CH
|
||||
- CZ
|
||||
- DE
|
||||
- DK
|
||||
- EE
|
||||
- ES
|
||||
- FI
|
||||
- FR
|
||||
- GB
|
||||
- GR
|
||||
- HR
|
||||
- HU
|
||||
- IE
|
||||
- IT
|
||||
- LT
|
||||
- LU
|
||||
- LV
|
||||
- ME
|
||||
- MD
|
||||
- MK
|
||||
- NL
|
||||
- 'NO'
|
||||
- PL
|
||||
- PT
|
||||
- RO
|
||||
- RS
|
||||
- SE
|
||||
- SI
|
||||
- SK
|
||||
- UA
|
||||
electricity:
|
||||
custom_powerplants: true
|
||||
co2limit: 95900000.0
|
||||
co2base: 1918000000.0
|
||||
lines:
|
||||
reconnect_crimea: false
|
||||
enable:
|
||||
retrieve: true
|
||||
retrieve_databundle: true
|
||||
retrieve_cost_data: true
|
||||
retrieve_cutout: true
|
||||
clustering:
|
||||
focus_weights:
|
||||
AT: 0.4
|
39
config/my_configs/config.entsoe_128.yaml
Normal file
39
config/my_configs/config.entsoe_128.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
# SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
run:
|
||||
name: "entsoe-all"
|
||||
disable_progressbar: true
|
||||
shared_resources:
|
||||
policy: false
|
||||
shared_cutouts: true
|
||||
|
||||
scenario:
|
||||
ll:
|
||||
- vopt
|
||||
clusters:
|
||||
- 128
|
||||
opts:
|
||||
- ''
|
||||
sector_opts:
|
||||
- ''
|
||||
planning_horizons:
|
||||
- ''
|
||||
|
||||
# TODO add Turkey (TR)
|
||||
countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MD', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK', 'UA', 'XK']
|
||||
|
||||
electricity:
|
||||
custom_powerplants: true
|
||||
co2limit: 9.59e+7
|
||||
co2base: 1.918e+9
|
||||
|
||||
lines:
|
||||
reconnect_crimea: true
|
||||
|
||||
enable:
|
||||
retrieve: true
|
||||
retrieve_databundle: true
|
||||
retrieve_cost_data: true
|
||||
retrieve_cutout: true
|
43
config/my_configs/config.entsoe_128_wAT.yaml
Normal file
43
config/my_configs/config.entsoe_128_wAT.yaml
Normal file
@ -0,0 +1,43 @@
|
||||
# SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
run:
|
||||
name: "entsoe-all"
|
||||
disable_progressbar: true
|
||||
shared_resources:
|
||||
policy: false
|
||||
shared_cutouts: true
|
||||
|
||||
scenario:
|
||||
ll:
|
||||
- vopt
|
||||
clusters:
|
||||
- 128
|
||||
opts:
|
||||
- ''
|
||||
sector_opts:
|
||||
- ''
|
||||
planning_horizons:
|
||||
- ''
|
||||
|
||||
# TODO add Turkey (TR)
|
||||
countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MD', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK', 'UA', 'XK']
|
||||
|
||||
electricity:
|
||||
custom_powerplants: true
|
||||
co2limit: 9.59e+7
|
||||
co2base: 1.918e+9
|
||||
|
||||
lines:
|
||||
reconnect_crimea: true
|
||||
|
||||
enable:
|
||||
retrieve: true
|
||||
retrieve_databundle: true
|
||||
retrieve_cost_data: true
|
||||
retrieve_cutout: true
|
||||
|
||||
clustering:
|
||||
focus_weights:
|
||||
AT: 0.5 # should be enough
|
39
config/my_configs/config.entsoe_41.yaml
Normal file
39
config/my_configs/config.entsoe_41.yaml
Normal file
@ -0,0 +1,39 @@
|
||||
# SPDX-FileCopyrightText: 2017-2024 The PyPSA-Eur Authors
|
||||
#
|
||||
# SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
run:
|
||||
name: "entsoe-all"
|
||||
disable_progressbar: true
|
||||
shared_resources:
|
||||
policy: false
|
||||
shared_cutouts: true
|
||||
|
||||
scenario:
|
||||
ll:
|
||||
- vopt
|
||||
clusters:
|
||||
- 41
|
||||
opts:
|
||||
- ''
|
||||
sector_opts:
|
||||
- ''
|
||||
planning_horizons:
|
||||
- ''
|
||||
|
||||
# TODO add Turkey (TR)
|
||||
countries: ['AL', 'AT', 'BA', 'BE', 'BG', 'CH', 'CZ', 'DE', 'DK', 'EE', 'ES', 'FI', 'FR', 'GB', 'GR', 'HR', 'HU', 'IE', 'IT', 'LT', 'LU', 'LV', 'ME', 'MD', 'MK', 'NL', 'NO', 'PL', 'PT', 'RO', 'RS', 'SE', 'SI', 'SK', 'UA', 'XK']
|
||||
|
||||
electricity:
|
||||
custom_powerplants: true
|
||||
co2limit: 9.59e+7
|
||||
co2base: 1.918e+9
|
||||
|
||||
lines:
|
||||
reconnect_crimea: true
|
||||
|
||||
enable:
|
||||
retrieve: true
|
||||
retrieve_databundle: true
|
||||
retrieve_cost_data: true
|
||||
retrieve_cutout: true
|
66
config/my_configs/config.min_entsoe.yaml
Normal file
66
config/my_configs/config.min_entsoe.yaml
Normal file
@ -0,0 +1,66 @@
|
||||
run:
|
||||
name: min_entsoe
|
||||
disable_progressbar: false
|
||||
shared_resources:
|
||||
policy: false
|
||||
shared_cutouts: true
|
||||
scenario:
|
||||
simpl:
|
||||
- ''
|
||||
ll:
|
||||
- vopt
|
||||
clusters:
|
||||
- 41
|
||||
opts:
|
||||
- ''
|
||||
sector_opts:
|
||||
- ''
|
||||
planning_horizons:
|
||||
- ''
|
||||
countries:
|
||||
- AL
|
||||
- AT
|
||||
- BA
|
||||
- BE
|
||||
- BG
|
||||
- CH
|
||||
- CZ
|
||||
- DE
|
||||
- DK
|
||||
- EE
|
||||
- ES
|
||||
- FI
|
||||
- FR
|
||||
- GB
|
||||
- GR
|
||||
- HR
|
||||
- HU
|
||||
- IE
|
||||
- IT
|
||||
- LT
|
||||
- LU
|
||||
- LV
|
||||
- ME
|
||||
- MD
|
||||
- MK
|
||||
- NL
|
||||
- 'NO'
|
||||
- PL
|
||||
- PT
|
||||
- RO
|
||||
- RS
|
||||
- SE
|
||||
- SI
|
||||
- SK
|
||||
- UA
|
||||
electricity:
|
||||
custom_powerplants: true
|
||||
co2limit: 95900000.0
|
||||
co2base: 1918000000.0
|
||||
lines:
|
||||
reconnect_crimea: false
|
||||
enable:
|
||||
retrieve: true
|
||||
retrieve_databundle: true
|
||||
retrieve_cost_data: true
|
||||
retrieve_cutout: true
|
@ -79,8 +79,8 @@ lines:
|
||||
|
||||
solving:
|
||||
solver:
|
||||
name: glpk
|
||||
options: "glpk-default"
|
||||
name: highs
|
||||
options: highs-default
|
||||
|
||||
|
||||
plotting:
|
||||
|
@ -86,8 +86,8 @@ industry:
|
||||
|
||||
solving:
|
||||
solver:
|
||||
name: glpk
|
||||
options: glpk-default
|
||||
name: highs
|
||||
options: highs-default
|
||||
mem: 4000
|
||||
|
||||
plotting:
|
||||
|
@ -80,8 +80,8 @@ industry:
|
||||
|
||||
solving:
|
||||
solver:
|
||||
name: glpk
|
||||
options: glpk-default
|
||||
name: highs
|
||||
options: highs-default
|
||||
mem: 4000
|
||||
|
||||
plotting:
|
||||
|
@ -85,8 +85,8 @@ industry:
|
||||
|
||||
solving:
|
||||
solver:
|
||||
name: glpk
|
||||
options: glpk-default
|
||||
name: highs
|
||||
options: highs-default
|
||||
mem: 4000
|
||||
|
||||
plotting:
|
||||
|
@ -57,5 +57,5 @@ renewable:
|
||||
|
||||
solving:
|
||||
solver:
|
||||
name: glpk
|
||||
options: "glpk-default"
|
||||
name: highs
|
||||
options: highs-default
|
||||
|
@ -23,6 +23,7 @@ options,,,
|
||||
-- -- -- {carrier},,,
|
||||
-- -- link_threshold,,float,The threshold relative to the discrete link unit size beyond which to round up to the next unit by carrier (given in dictionary style).
|
||||
-- -- -- {carrier},,,
|
||||
-- -- fractional_last_unit_size,bool,"{'true','false'}",When true, links and lines can be built up to p_nom_max. When false, they can only be built up to a multiple of the unit size.
|
||||
agg_p_nom_limits,,,Configure per carrier generator nominal capacity constraints for individual countries if ``'CCL'`` is in ``{opts}`` wildcard.
|
||||
-- agg_offwind,bool,"{'true','false'}",Aggregate together all the types of offwind when writing the constraint. Default is false.
|
||||
-- include_existing,bool,"{'true','false'}",Take existing capacities into account when writing the constraint. Default is false.
|
||||
|
Can't render this file because it has a wrong number of fields in line 26.
|
@ -19,19 +19,19 @@ dependencies:
|
||||
- atk-1.0=2.38.0
|
||||
- atlite=0.2.14
|
||||
- attrs=24.2.0
|
||||
- aws-c-auth=0.7.30
|
||||
- aws-c-auth=0.7.31
|
||||
- aws-c-cal=0.7.4
|
||||
- aws-c-common=0.9.28
|
||||
- aws-c-compression=0.2.19
|
||||
- aws-c-event-stream=0.4.3
|
||||
- aws-c-http=0.8.9
|
||||
- aws-c-http=0.8.10
|
||||
- aws-c-io=0.14.18
|
||||
- aws-c-mqtt=0.10.5
|
||||
- aws-c-s3=0.6.5
|
||||
- aws-c-mqtt=0.10.6
|
||||
- aws-c-s3=0.6.6
|
||||
- aws-c-sdkutils=0.1.19
|
||||
- aws-checksums=0.1.18
|
||||
- aws-crt-cpp=0.28.2
|
||||
- aws-sdk-cpp=1.11.379
|
||||
- aws-checksums=0.1.20
|
||||
- aws-crt-cpp=0.28.3
|
||||
- aws-sdk-cpp=1.11.407
|
||||
- azure-core-cpp=1.13.0
|
||||
- azure-identity-cpp=1.8.0
|
||||
- azure-storage-blobs-cpp=12.12.0
|
||||
@ -49,7 +49,7 @@ dependencies:
|
||||
- c-ares=1.33.1
|
||||
- c-blosc2=2.15.1
|
||||
- ca-certificates=2024.8.30
|
||||
- cads-api-client=1.3.2
|
||||
- cads-api-client=1.4.2
|
||||
- cairo=1.18.0
|
||||
- cartopy=0.23.0
|
||||
- cdsapi=0.7.3
|
||||
@ -96,8 +96,8 @@ dependencies:
|
||||
- exceptiongroup=1.2.2
|
||||
- executing=2.1.0
|
||||
- expat=2.6.3
|
||||
- filelock=3.16.0
|
||||
- fiona=1.10.0
|
||||
- filelock=3.16.1
|
||||
- fiona=1.10.1
|
||||
- fmt=11.0.2
|
||||
- folium=0.17.0
|
||||
- font-ttf-dejavu-sans-mono=2.37
|
||||
@ -107,7 +107,7 @@ dependencies:
|
||||
- fontconfig=2.14.2
|
||||
- fonts-conda-ecosystem=1
|
||||
- fonts-conda-forge=1
|
||||
- fonttools=4.53.1
|
||||
- fonttools=4.54.1
|
||||
- freetype=2.12.1
|
||||
- freexl=2.0.0
|
||||
- fribidi=1.0.10
|
||||
@ -120,7 +120,7 @@ dependencies:
|
||||
- geopandas=1.0.1
|
||||
- geopandas-base=1.0.1
|
||||
- geopy=2.4.1
|
||||
- geos=3.12.2
|
||||
- geos=3.13.0
|
||||
- geotiff=1.7.3
|
||||
- gflags=2.2.2
|
||||
- giflib=5.2.2
|
||||
@ -137,7 +137,6 @@ dependencies:
|
||||
- harfbuzz=9.0.0
|
||||
- hdf4=4.2.15
|
||||
- hdf5=1.14.3
|
||||
- highspy=1.7.2
|
||||
- hpack=4.0.0
|
||||
- humanfriendly=10.0
|
||||
- hyperframe=6.0.1
|
||||
@ -155,7 +154,7 @@ dependencies:
|
||||
- jinja2=3.1.4
|
||||
- joblib=1.4.2
|
||||
- jpype1=1.5.0
|
||||
- json-c=0.17
|
||||
- json-c=0.18
|
||||
- jsonschema=4.23.0
|
||||
- jsonschema-specifications=2023.12.1
|
||||
- jupyter_core=5.7.2
|
||||
@ -164,7 +163,7 @@ dependencies:
|
||||
- kiwisolver=1.4.7
|
||||
- krb5=1.21.3
|
||||
- lcms2=2.16
|
||||
- ld_impl_linux-64=2.40
|
||||
- ld_impl_linux-64=2.43
|
||||
- lerc=4.0.0
|
||||
- libabseil=20240116.2
|
||||
- libaec=1.1.3
|
||||
@ -178,11 +177,11 @@ dependencies:
|
||||
- libbrotlidec=1.1.0
|
||||
- libbrotlienc=1.1.0
|
||||
- libcblas=3.9.0
|
||||
- libclang-cpp18.1=18.1.8
|
||||
- libclang13=18.1.8
|
||||
- libclang-cpp19.1=19.1.0
|
||||
- libclang13=19.1.0
|
||||
- libcrc32c=1.1.2
|
||||
- libcups=2.3.3
|
||||
- libcurl=8.10.0
|
||||
- libcurl=8.10.1
|
||||
- libdeflate=1.21
|
||||
- libdrm=2.4.123
|
||||
- libedit=3.1.20191231
|
||||
@ -212,7 +211,7 @@ dependencies:
|
||||
- libgfortran-ng=14.1.0
|
||||
- libgfortran5=14.1.0
|
||||
- libgl=1.7.0
|
||||
- libglib=2.80.3
|
||||
- libglib=2.82.1
|
||||
- libglvnd=1.7.0
|
||||
- libglx=1.7.0
|
||||
- libgomp=14.1.0
|
||||
@ -225,11 +224,12 @@ dependencies:
|
||||
- libkml=1.3.0
|
||||
- liblapack=3.9.0
|
||||
- liblapacke=3.9.0
|
||||
- libllvm18=18.1.8
|
||||
- libllvm19=19.1.0
|
||||
- libnetcdf=4.9.2
|
||||
- libnghttp2=1.58.0
|
||||
- libnsl=2.0.1
|
||||
- libopenblas=0.3.27
|
||||
- libopengl=1.7.0
|
||||
- libparquet=17.0.0
|
||||
- libpciaccess=0.18
|
||||
- libpng=1.6.44
|
||||
@ -246,16 +246,16 @@ dependencies:
|
||||
- libstdcxx=14.1.0
|
||||
- libstdcxx-ng=14.1.0
|
||||
- libthrift=0.20.0
|
||||
- libtiff=4.6.0
|
||||
- libtiff=4.7.0
|
||||
- libutf8proc=2.8.0
|
||||
- libuuid=2.38.1
|
||||
- libwebp-base=1.4.0
|
||||
- libxcb=1.16
|
||||
- libxcb=1.17.0
|
||||
- libxcrypt=4.4.36
|
||||
- libxkbcommon=1.7.0
|
||||
- libxml2=2.12.7
|
||||
- libxslt=1.1.39
|
||||
- libzip=1.10.1
|
||||
- libzip=1.11.1
|
||||
- libzlib=1.3.1
|
||||
- linopy=0.3.14
|
||||
- locket=1.0.0
|
||||
@ -263,7 +263,7 @@ dependencies:
|
||||
- lz4=4.3.3
|
||||
- lz4-c=1.9.4
|
||||
- lzo=2.10
|
||||
- mapclassify=2.8.0
|
||||
- mapclassify=2.8.1
|
||||
- markupsafe=2.1.5
|
||||
- matplotlib=3.9.2
|
||||
- matplotlib-base=3.9.2
|
||||
@ -286,7 +286,7 @@ dependencies:
|
||||
- nodeenv=1.9.1
|
||||
- nomkl=1.0
|
||||
- nspr=4.35
|
||||
- nss=3.104
|
||||
- nss=3.105
|
||||
- numexpr=2.10.0
|
||||
- numpy=1.26.4
|
||||
- openjpeg=2.5.2
|
||||
@ -294,7 +294,7 @@ dependencies:
|
||||
- openssl=3.3.2
|
||||
- orc=2.0.2
|
||||
- packaging=24.1
|
||||
- pandas=2.2.2
|
||||
- pandas=2.2.3
|
||||
- pango=1.54.0
|
||||
- parso=0.8.4
|
||||
- partd=1.4.2
|
||||
@ -307,17 +307,17 @@ dependencies:
|
||||
- pixman=0.43.2
|
||||
- pkgutil-resolve-name=1.3.10
|
||||
- plac=1.4.3
|
||||
- platformdirs=4.3.3
|
||||
- platformdirs=4.3.6
|
||||
- pluggy=1.5.0
|
||||
- polars=1.7.1
|
||||
- polars=1.8.2
|
||||
- poppler=24.08.0
|
||||
- poppler-data=0.4.12
|
||||
- postgresql=16.4
|
||||
- powerplantmatching=0.5.17
|
||||
- powerplantmatching=0.5.19
|
||||
- pre-commit=3.8.0
|
||||
- progressbar2=4.5.0
|
||||
- proj=9.4.1
|
||||
- prompt-toolkit=3.0.47
|
||||
- proj=9.5.0
|
||||
- prompt-toolkit=3.0.48
|
||||
- psutil=6.0.0
|
||||
- pthread-stubs=0.4
|
||||
- ptyprocess=0.7.0
|
||||
@ -333,20 +333,20 @@ dependencies:
|
||||
- pyogrio=0.9.0
|
||||
- pyparsing=3.1.4
|
||||
- pyproj=3.6.1
|
||||
- pypsa=0.30.2
|
||||
- pypsa=0.30.3
|
||||
- pyscipopt=5.1.1
|
||||
- pyshp=2.3.1
|
||||
- pyside6=6.7.2
|
||||
- pysocks=1.7.1
|
||||
- pytables=3.10.1
|
||||
- pytest=8.3.3
|
||||
- python=3.12.5
|
||||
- python=3.12.6
|
||||
- python-dateutil=2.9.0
|
||||
- python-fastjsonschema=2.20.0
|
||||
- python-tzdata=2024.1
|
||||
- python-tzdata=2024.2
|
||||
- python-utils=3.8.2
|
||||
- python_abi=3.12
|
||||
- pytz=2024.2
|
||||
- pytz=2024.1
|
||||
- pyxlsb=1.0.10
|
||||
- pyyaml=6.0.2
|
||||
- qhull=2020.2
|
||||
@ -359,13 +359,13 @@ dependencies:
|
||||
- reretry=0.11.8
|
||||
- rioxarray=0.17.0
|
||||
- rpds-py=0.20.0
|
||||
- s2n=1.5.2
|
||||
- s2n=1.5.3
|
||||
- scikit-learn=1.5.2
|
||||
- scip=9.1.0
|
||||
- scipy=1.14.1
|
||||
- seaborn=0.13.2
|
||||
- seaborn-base=0.13.2
|
||||
- setuptools=73.0.1
|
||||
- setuptools=75.1.0
|
||||
- shapely=2.0.6
|
||||
- six=1.16.0
|
||||
- smart_open=7.0.4
|
||||
@ -374,7 +374,7 @@ dependencies:
|
||||
- snakemake-interface-executor-plugins=9.2.0
|
||||
- snakemake-interface-report-plugins=1.0.0
|
||||
- snakemake-interface-storage-plugins=3.3.0
|
||||
- snakemake-minimal=8.20.3
|
||||
- snakemake-minimal=8.20.5
|
||||
- snappy=1.2.1
|
||||
- snuggs=1.4.7
|
||||
- sortedcontainers=2.4.0
|
||||
@ -382,13 +382,13 @@ dependencies:
|
||||
- spdlog=1.14.1
|
||||
- sqlite=3.46.1
|
||||
- stack_data=0.6.2
|
||||
- statsmodels=0.14.2
|
||||
- statsmodels=0.14.3
|
||||
- tabulate=0.9.0
|
||||
- tbb=2021.13.0
|
||||
- tblib=3.0.0
|
||||
- threadpoolctl=3.5.0
|
||||
- throttler=1.2.2
|
||||
- tiledb=2.26.0
|
||||
- tiledb=2.26.1
|
||||
- tk=8.6.13
|
||||
- tomli=2.0.1
|
||||
- toolz=0.12.1
|
||||
@ -404,9 +404,9 @@ dependencies:
|
||||
- unidecode=1.3.8
|
||||
- unixodbc=2.3.12
|
||||
- uriparser=0.9.8
|
||||
- urllib3=2.2.2
|
||||
- urllib3=2.2.3
|
||||
- validators=0.34.0
|
||||
- virtualenv=20.26.4
|
||||
- virtualenv=20.26.5
|
||||
- wayland=1.23.1
|
||||
- wcwidth=0.2.13
|
||||
- wheel=0.44.0
|
||||
@ -423,10 +423,9 @@ dependencies:
|
||||
- xlrd=2.0.1
|
||||
- xorg-fixesproto=5.0
|
||||
- xorg-inputproto=2.3.2
|
||||
- xorg-kbproto=1.0.7
|
||||
- xorg-libice=1.1.1
|
||||
- xorg-libsm=1.2.4
|
||||
- xorg-libx11=1.8.9
|
||||
- xorg-libx11=1.8.10
|
||||
- xorg-libxau=1.0.11
|
||||
- xorg-libxdmcp=1.1.3
|
||||
- xorg-libxext=1.3.4
|
||||
@ -438,7 +437,7 @@ dependencies:
|
||||
- xorg-recordproto=1.14.2
|
||||
- xorg-renderproto=0.11.1
|
||||
- xorg-xextproto=7.3.0
|
||||
- xorg-xproto=7.0.31
|
||||
- xorg-xorgproto=2024.1
|
||||
- xyzservices=2024.9.0
|
||||
- xz=5.2.6
|
||||
- yaml=0.2.5
|
||||
@ -446,10 +445,11 @@ dependencies:
|
||||
- zict=3.0.0
|
||||
- zipp=3.20.2
|
||||
- zlib=1.3.1
|
||||
- zlib-ng=2.2.1
|
||||
- zlib-ng=2.2.2
|
||||
- zstandard=0.23.0
|
||||
- zstd=1.5.6
|
||||
- pip:
|
||||
- highspy==1.7.2
|
||||
- oauthlib==3.2.2
|
||||
- ply==3.11
|
||||
- pyomo==6.8.0
|
||||
@ -458,5 +458,5 @@ dependencies:
|
||||
- snakemake-executor-plugin-slurm==0.10.2
|
||||
- snakemake-executor-plugin-slurm-jobstep==0.2.1
|
||||
- snakemake-storage-plugin-http==0.2.3
|
||||
- tsam==2.3.4
|
||||
- tsam==2.3.5
|
||||
prefix: /usr/share/miniconda/envs/pypsa-eur
|
||||
|
@ -10,8 +10,10 @@ dependencies:
|
||||
- python>=3.8
|
||||
- pip
|
||||
|
||||
- pypsa>=0.30.3
|
||||
- atlite>=0.2.9
|
||||
- linopy
|
||||
|
||||
- dask
|
||||
|
||||
# Dependencies of the workflow itself
|
||||
@ -54,7 +56,7 @@ dependencies:
|
||||
# GIS dependencies:
|
||||
- cartopy
|
||||
- descartes
|
||||
- rasterio!=1.2.10
|
||||
- rasterio<1.4
|
||||
|
||||
- pip:
|
||||
- tsam>=2.3.1
|
||||
@ -62,4 +64,3 @@ dependencies:
|
||||
- snakemake-executor-plugin-slurm
|
||||
- snakemake-executor-plugin-cluster-generic
|
||||
- highspy
|
||||
- pypsa>=0.30.2
|
||||
|
BIN
network_plot_128_entsoe.pdf
Normal file
BIN
network_plot_128_entsoe.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4.pdf
Normal file
BIN
network_plot_a4.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4_lambert.pdf
Normal file
BIN
network_plot_a4_lambert.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4_lambert_Centered.pdf
Normal file
BIN
network_plot_a4_lambert_Centered.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4_wAT.pdf
Normal file
BIN
network_plot_a4_wAT.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4_wAT_new.pdf
Normal file
BIN
network_plot_a4_wAT_new.pdf
Normal file
Binary file not shown.
BIN
network_plot_a4_with_cities.pdf
Normal file
BIN
network_plot_a4_with_cities.pdf
Normal file
Binary file not shown.
BIN
network_plot_with_colored_geomap.pdf
Normal file
BIN
network_plot_with_colored_geomap.pdf
Normal file
Binary file not shown.
BIN
network_plot_with_thin_lines.pdf
Normal file
BIN
network_plot_with_thin_lines.pdf
Normal file
Binary file not shown.
@ -386,6 +386,7 @@ rule build_transmission_projects:
|
||||
params:
|
||||
transmission_projects=config_provider("transmission_projects"),
|
||||
line_factor=config_provider("lines", "length_factor"),
|
||||
s_max_pu=config_provider("lines", "s_max_pu"),
|
||||
input:
|
||||
base_network=resources("networks/base.nc"),
|
||||
offshore_shapes=resources("offshore_shapes.geojson"),
|
||||
|
@ -87,30 +87,48 @@ def add_brownfield(n, n_p, year):
|
||||
n.import_series_from_dataframe(c.pnl[tattr], c.name, tattr)
|
||||
|
||||
# deal with gas network
|
||||
pipe_carrier = ["gas pipeline"]
|
||||
if snakemake.params.H2_retrofit:
|
||||
# subtract the already retrofitted from today's gas grid capacity
|
||||
# subtract the already retrofitted from the maximum capacity
|
||||
h2_retrofitted_fixed_i = n.links[
|
||||
(n.links.carrier == "H2 pipeline retrofitted")
|
||||
& (n.links.build_year != year)
|
||||
].index
|
||||
gas_pipes_i = n.links[n.links.carrier.isin(pipe_carrier)].index
|
||||
CH4_per_H2 = 1 / snakemake.params.H2_retrofit_capacity_per_CH4
|
||||
fr = "H2 pipeline retrofitted"
|
||||
to = "gas pipeline"
|
||||
# today's pipe capacity
|
||||
pipe_capacity = n.links.loc[gas_pipes_i, "p_nom"]
|
||||
h2_retrofitted = n.links[
|
||||
(n.links.carrier == "H2 pipeline retrofitted")
|
||||
& (n.links.build_year == year)
|
||||
].index
|
||||
|
||||
# pipe capacity always set in prepare_sector_network to todays gas grid capacity * H2_per_CH4
|
||||
# and is therefore constant up to this point
|
||||
pipe_capacity = n.links.loc[h2_retrofitted, "p_nom_max"]
|
||||
# already retrofitted capacity from gas -> H2
|
||||
already_retrofitted = (
|
||||
n.links.loc[h2_retrofitted_fixed_i, "p_nom"]
|
||||
.rename(lambda x: x.split("-2")[0].replace(fr, to) + f"-{year}")
|
||||
.rename(lambda x: x.split("-2")[0] + f"-{year}")
|
||||
.groupby(level=0)
|
||||
.sum()
|
||||
)
|
||||
remaining_capacity = pipe_capacity - CH4_per_H2 * already_retrofitted.reindex(
|
||||
remaining_capacity = pipe_capacity - already_retrofitted.reindex(
|
||||
index=pipe_capacity.index
|
||||
).fillna(0)
|
||||
n.links.loc[gas_pipes_i, "p_nom"] = remaining_capacity
|
||||
n.links.loc[h2_retrofitted, "p_nom_max"] = remaining_capacity
|
||||
|
||||
# reduce gas network capacity
|
||||
gas_pipes_i = n.links[n.links.carrier == "gas pipeline"].index
|
||||
if not gas_pipes_i.empty:
|
||||
# subtract the already retrofitted from today's gas grid capacity
|
||||
pipe_capacity = n.links.loc[gas_pipes_i, "p_nom"]
|
||||
fr = "H2 pipeline retrofitted"
|
||||
to = "gas pipeline"
|
||||
CH4_per_H2 = 1 / snakemake.params.H2_retrofit_capacity_per_CH4
|
||||
already_retrofitted.index = already_retrofitted.index.str.replace(fr, to)
|
||||
remaining_capacity = (
|
||||
pipe_capacity
|
||||
- CH4_per_H2
|
||||
* already_retrofitted.reindex(index=pipe_capacity.index).fillna(0)
|
||||
)
|
||||
n.links.loc[gas_pipes_i, "p_nom"] = remaining_capacity
|
||||
n.links.loc[gas_pipes_i, "p_nom_max"] = remaining_capacity
|
||||
|
||||
|
||||
def disable_grid_expansion_if_limit_hit(n):
|
||||
|
@ -482,6 +482,7 @@ if __name__ == "__main__":
|
||||
set_scenario_config(snakemake)
|
||||
|
||||
line_factor = snakemake.params.line_factor
|
||||
s_max_pu = snakemake.params.s_max_pu
|
||||
|
||||
n = pypsa.Network(snakemake.input.base_network)
|
||||
|
||||
@ -543,6 +544,8 @@ if __name__ == "__main__":
|
||||
* new_lines_df["v_nom"]
|
||||
* new_lines_df["num_parallel"]
|
||||
).round(2)
|
||||
# set s_max_pu
|
||||
new_lines_df["s_max_pu"] = s_max_pu
|
||||
if not new_links_df.empty:
|
||||
# Add carrier types of lines and links
|
||||
new_links_df["carrier"] = "DC"
|
||||
|
@ -1269,7 +1269,7 @@ def insert_electricity_distribution_grid(n, costs):
|
||||
bus=n.generators.loc[solar, "bus"] + " low voltage",
|
||||
carrier="solar rooftop",
|
||||
p_nom_extendable=True,
|
||||
p_nom_max=potential,
|
||||
p_nom_max=potential.loc[solar],
|
||||
marginal_cost=n.generators.loc[solar, "marginal_cost"],
|
||||
capital_cost=costs.at["solar-rooftop", "fixed"],
|
||||
efficiency=n.generators.loc[solar, "efficiency"],
|
||||
@ -1821,7 +1821,7 @@ def add_EVs(
|
||||
suffix=" land transport EV",
|
||||
bus=spatial.nodes + " EV battery",
|
||||
carrier="land transport EV",
|
||||
p_set=profile,
|
||||
p_set=profile.loc[n.snapshots],
|
||||
)
|
||||
|
||||
p_nom = number_cars * options["bev_charge_rate"] * electric_share
|
||||
@ -1834,7 +1834,7 @@ def add_EVs(
|
||||
bus1=spatial.nodes + " EV battery",
|
||||
p_nom=p_nom,
|
||||
carrier="BEV charger",
|
||||
p_max_pu=avail_profile[spatial.nodes],
|
||||
p_max_pu=avail_profile.loc[n.snapshots, spatial.nodes],
|
||||
lifetime=1,
|
||||
efficiency=options["bev_charge_efficiency"],
|
||||
)
|
||||
@ -1848,7 +1848,7 @@ def add_EVs(
|
||||
bus0=spatial.nodes + " EV battery",
|
||||
p_nom=p_nom,
|
||||
carrier="V2G",
|
||||
p_max_pu=avail_profile[spatial.nodes],
|
||||
p_max_pu=avail_profile.loc[n.snapshots, spatial.nodes],
|
||||
lifetime=1,
|
||||
efficiency=options["bev_charge_efficiency"],
|
||||
)
|
||||
@ -1870,7 +1870,7 @@ def add_EVs(
|
||||
e_cyclic=True,
|
||||
e_nom=e_nom,
|
||||
e_max_pu=1,
|
||||
e_min_pu=dsm_profile[spatial.nodes],
|
||||
e_min_pu=dsm_profile.loc[n.snapshots, spatial.nodes],
|
||||
)
|
||||
|
||||
|
||||
@ -2152,7 +2152,7 @@ def add_heat(n: pypsa.Network, costs: pd.DataFrame, cop: xr.DataArray):
|
||||
suffix=f" {heat_system} heat",
|
||||
bus=nodes + f" {heat_system} heat",
|
||||
carrier=f"{heat_system} heat",
|
||||
p_set=heat_load,
|
||||
p_set=heat_load.loc[n.snapshots],
|
||||
)
|
||||
|
||||
## Add heat pumps
|
||||
|
Loading…
Reference in New Issue
Block a user