profile
viewpoint

PyPSA/pypsa-eur-sec 14

PyPSA-Eur-Sec: A Sector-Coupled Open Optimisation Model of the European Energy System

PyPSA/PSA.jl 5

Partial implementation of PyPSA in Julia with main focus on fast optimal power flow calculation

alexfias/ReVietSys 1

ReVietSys project model

FabianHofmann/pypsa-costallocation 1

The repository contains the underlying workflow to the publication in "Tracing Prices: a flow-based cost allocation for optimized power systems"

FabianHofmann/atlite 0

Atlite: Light-weight version of Aarhus RE Atlas for converting weather data to power systems data

FabianHofmann/entsoe-py 0

Python client for the ENTSO-E API (european network of transmission system operators for electricity)

FabianHofmann/entsoe-py-feedstock 0

A conda-smithy repository for entsoe-py.

issue closedPyPSA/whobs-server

Allow upper and lower bounds on capacity for each technology

Would also allow to fix the capacity of particular technologies.

closed time in a day

nworbmot

issue commentPyPSA/whobs-server

Allow upper and lower bounds on capacity for each technology

Done in commit https://github.com/PyPSA/whobs-server/commit/6feaf1a4666ffc1be5bedbb3f1321349dc4bc598.

nworbmot

comment created time in a day

issue commentPyPSA/whobs-server

Real World demand data input

It just needs to be programmed! See https://github.com/PyPSA/whobs-server/issues/8.

freechelmi

comment created time in a day

delete branch conda-forge/atlite-feedstock

delete branch : coroa-patch-1

delete time in a day

CommitCommentEvent

issue commentPyPSA/pypsa-eur-sec

Documentation/advice regarding choice of workflow system (snakemake vs. pachyderm)

@nworbmot Thank you for the response. I decided to move forward with Apache Airflow and PySpark, though I am fascinated with snakemake and may use it on a future project. I decided against pachyderm b/c it looks like a vendor-locked ecosystem, and the most compelling feature, provenance, seems to reinforce that vendor-lock.

ToddG

comment created time in 2 days

PR opened PyPSA/pypsa-eur

simplify: delete bus columns with incorrect entries

dead-end busses with possibly different substation_lv, substation_off and under_construction values are being aggregated, but the dead-end bus is simply removed without updating the respective attribute of the bus it is aggregated to.

since we don't need those attributes (they are non-existent after cluster_network), I suggest to drop them to avoid confusion

+1 -0

0 comment

1 changed file

pr created time in 2 days

create barnchPyPSA/pypsa-eur

branch : substation_lv_bug

created branch time in 2 days

issue closedPyPSA/pypsa-eur-sec

Double inclusion of cost / technology assumption for 'battery (dis-)charger'

Costs and efficiencies for home battery inverters are added here:

https://github.com/PyPSA/pypsa-eur-sec/blob/098281b432c69d51c502a9d515494867059191bf/scripts/prepare_sector_network.py#L734-L752

The technology-data repository based on DEA numbers contains cost and RTE for a bidirectional inverter. For the RTE this is considered by taking the sqrt (**0.5) on the efficiency. For the capital_cost it does not seem to be considered, i.e. shouldn't the capital_cost be half (* 0.5)?

(Same applies for grid batteris)

closed time in 3 days

euronion

issue commentPyPSA/pypsa-eur-sec

Double inclusion of cost / technology assumption for 'battery (dis-)charger'

Yes, answers the question. Thanks!

euronion

comment created time in 3 days

pull request commentPyPSA/PyPSA

FutureWarning

Interesting. Here's the referring issue pandas-dev/pandas#36758. Do not merge yet, as there are many more cases of set operations on pd.Index objects in the code. Can you push them @eb5194? Also, we need to go through PyPSA-Eur and PyPSA-Eur-Sec. Dooh that will make the code verbose.......

I can, but it's hard to detect all of them. I ran the tests, but that only showed one more of this one. However, there are many other DeprecationWarnings. I could try to resolve those as well in the same PR.

eb5194

comment created time in 3 days

created repositoryLukeSmithxyz/scroll

Minor personal tweaks to suckless's scroll (for st)

created time in 3 days

issue openedPyPSA/pypsa-eur-sec

Change deprecated set operations on pd.Index

From pandas v2.0 set operations on pd.Index objects cannot be used like this

first | second | third

but must be used like this

first.union(second).union(third)

Similarly for & and ^. Unfortunately, this will make the PyPSA-Eur-Sec code much more verbose....

https://github.com/pandas-dev/pandas/issues/36758

created time in 3 days

issue openedPyPSA/pypsa-eur

Change deprecated set operations on pd.Index

https://github.com/pandas-dev/pandas/issues/36758

created time in 3 days

pull request commentPyPSA/PyPSA

FutureWarning

Interesting. Here's the referring issue https://github.com/pandas-dev/pandas/issues/36758. Do not merge yet, as there are many more cases of set operations on pd.Index objects in the code. Can you push them @eb5194? Also, we need to go through PyPSA-Eur and PyPSA-Eur-Sec. Dooh that will make the code verbose.......

eb5194

comment created time in 3 days

PR opened PyPSA/PyPSA

FutureWarning

The following FutureWarning affects io.py and linopf.py: Index.__or__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__or__. Use index.union(other) instead & Index.__and__ operating as a set operation is deprecated, in the future this will be a logical operation matching Series.__and__. Use index.intersection(other) instead

As suggested, .union() instead of a logical or/ | and .intersection() instead od a logical and/& should avert the problem

If you find other scripts that print the same Warning, comment or include them into this PR? Thanks

+5 -5

0 comment

2 changed files

pr created time in 3 days

push eventPyPSA/PyPSA

Tom Brown

commit sha 0467360f9b0cdd1c048bb5256f57287b96924bca

doc: Add Agora Energiewende to list of users of PyPSA

view details

push time in 3 days

issue openedPyPSA/pypsa-eur

Operations-Only optimization still expands links

Checklist

  • [x] I am using the current master branch or the latest release. Please indicate.
  • [x] I am running on an up-to-date pypsa-eur environment. Update via conda env update -f envs/environment.yaml.

Describe the Bug

The function set_parameters_from_optimized in solve_operations_network.py does what one would expect for lines, generators and storages: Take the p_nom_opt (or s_nom_opt) value from the optimized network, put it into p_nom (or s_nom) for the network to be optimized, and disallow all expansion.

However, for links, all links with carriers other than DC are ignored. This results in lots of those links being expanded in an operations-only optimization. I doubt that this is intended - and if it is, then I think it should be documented somewhere?

created time in 3 days

PublicEvent

issue commentPyPSA/pypsa-eur-sec

Double inclusion of cost / technology assumption for 'battery (dis-)charger'

We get around this by having the capital cost only on the charger. There is extra_functionality in solve_network.py which forces the charger and discharger to have the same p_nom_opt. Does that answer your question?

euronion

comment created time in 4 days

issue commentPyPSA/pypsa-eur-sec

Documentation/advice regarding choice of workflow system (snakemake vs. pachyderm)

Hi Todd, we've mostly had a very positive experience with snakemake. It feels like we're "self-documenting" the workflow when using it. Our users find the learning curve steep, but worth it. The cluster integration is very good. Other projects in the energy space like calliope also use it.

Downsides: There can be Linux-Windows compatibility problems. The first problem that you list above with sub-workflows we can confirm.

We haven't compared with pachyderm, it's the first I've heard of it. We have sunk costs with snakemake now, and it fulfils all our needs, so we are unlikely to switch.

ToddG

comment created time in 4 days

issue closedPyPSA/pypsa-eur-sec

Change "YearCommissioned" to "DataIn" in add_existing_baseyear

This is solved in this commit. I will create a pull request including this change soon.

closed time in 4 days

martavp

issue commentPyPSA/pypsa-eur-sec

Change "YearCommissioned" to "DataIn" in add_existing_baseyear

Solved in https://github.com/PyPSA/pypsa-eur-sec/pull/88.

martavp

comment created time in 4 days

push eventPyPSA/pypsa-eur-sec

martavp

commit sha 0eb69365ebc61264d49a8380fa6cab2f0c4e27b5

Update Snakefile Allow white space in sector_opts, e.g. to investigate sensitivity to cost of 'H2 Electrolysis'

view details

martavp

commit sha 2555b66ba9854cb70f5d145491aba62243bc7023

allowing a factor to alter the cost or p_nom_max via the config file This substitutes the previous way of doing it. Now, to multiply the reference p_nom_max by 3, one should include in the config file 'solar+p3' (instead of the previous solarx3)

view details

martavp

commit sha fd6239db5c6e5f0a711f8fa99e9048b0d023f3b4

allowing factor to alter the cost or p_nom_max

view details

Tom Brown

commit sha 0dc9196b7665280ceab9a4077cdc3c6c6bf1768c

Merge pull request #90 from martavp/alter-cost-potential Add a factor to alter cost or capacity potential via the config file

view details

push time in 4 days

PR merged PyPSA/pypsa-eur-sec

Add a factor to alter cost or capacity potential via the config file

This pr allows specifying an option to alter the capital cost or maximum capacity of carriers by a factor indicated in the config file. eg: solar+c0.5 multiplies the reference capital cost by 0.5 and e.g. solar+p3 multiplies the reference maximum capacity (p_nom_max) by 3.

This substitutes the previous way of altering maximum capacity via the config file (e.g 'solar3')

This pr should be merged after https://github.com/PyPSA/pypsa-eur-sec/pull/89

+352 -66

1 comment

10 changed files

martavp

pr closed time in 4 days

pull request commentPyPSA/pypsa-eur-sec

Add a factor to alter cost or capacity potential via the config file

Thanks Marta!

martavp

comment created time in 4 days

push eventPyPSA/pypsa-eur-sec

martavp

commit sha ceba265c0a22793f1ee6c6e05d9afc40c1b3b3fd

build_eea_co2() now reads version23 of UNFCCC inventory. **This requires updating to UNFCCC_v23.csv in the data bundle** This enables that the same function is used to read emissions in 2018, which are assumed to remain constant in 2019 and 2020 and subtracted from carbon budget (estimated from 2018 on). I checked and 1990 emissions calculated with UNFCCC_v23 are very similar to those calculated with UNFCCC_v21 (<1% differences in all values at EU level). Some countries show higher deviations, mainly in domestic aviation and navigation. I guess because those values started to be reported later and v23 should include more accurate values.

view details

martavp

commit sha 4a681749d7d0a48ce46af036aa6649819afcfe79

Add function build_carbon_budget() For the myopic method, based on the carbon budget indicated in the config file (sector_opts), a CO2 limit is calculated for every planning_horizon following an exponential or beta decay. A file with CO2 limit in every planning_horizon and a plot showing historical and planned CO2 emissions are saved in the results

view details

martavp

commit sha fcc54bada384dffba008c3515cce6e928a0d1b40

Calculate and save cumulative costs for the myopic approach Creates an additional file in results/csvs including the cumulative costs with different social discount rates

view details

martavp

commit sha d7e9dc2466d3b9808003b6a61a7f1458d3ccfa0d

update documentation and release notes

view details

martavp

commit sha 0d64cf5b3542b368b9e21a2fb49b83a4abc0383c

Allow decimals in sector_opts

view details

martavp

commit sha faebbc493b78b6ec386e19bae2b1b43ef83e0c2a

Add comment to config file explaining carbon budget key

view details

martavp

commit sha e180931ce1aeed2df8a340836cda75ff35f00029

Move ploting of carbon budget distribution to plot_summary.py

view details

martavp

commit sha 1b14c5525c126e9bfe047b6a062fb8af68e297e6

correct spelling mistake

view details

Tom Brown

commit sha b133cd66565c1dcc873d9c89dbfa8fb2891496aa

Merge pull request #89 from martavp/distribute_CO2budget Distribute CO2 budget among the planning horizons for the myopic option

view details

push time in 4 days

PR merged PyPSA/pypsa-eur-sec

Distribute CO2 budget among the planning horizons for the myopic option

For the myopic option, given a carbon budget, this or distributes it across the planning_horizons following an exponential or beta decay.

A file with CO2 limit in every planning horizon and a plot showing historical and planned CO2 emissions are saved in 'results/csvs' and 'results/graphs'.

This pr requires updating to UNFCCC_v23.csv in the data bundle (because emissions in 2018, which are assumed to remain constant in 2019 and 2020, are subtracted from the carbon budget)

Creates an additional file in 'results/csvs' including the cumulative costs with different social discount rate. We could also include the social discount rate in the config file, but I think keeping the results with various discount rates forces the user to think about the implications of this assumption.

+323 -49

2 comments

10 changed files

martavp

pr closed time in 4 days

pull request commentPyPSA/pypsa-eur-sec

include splitting of the carbon budget and calculate the cumulative cost for the myopic approach

No worries. I prefer to keep it tidy already this time.

martavp

comment created time in 7 days

pull request commentPyPSA/pypsa-eur-sec

Distribute CO2 budget among the planning horizons for the myopic option

Yes, ready to merge

martavp

comment created time in 7 days

more