Tom Brown
8538233bba
Fix bug due to invalid cluster bus region geometries
...
These geometries are apparently invalid due to self-crossing or
self-touching polygons.
The geometries are created by pypsa-eur/scripts/cluster_network.py but
appear to be valid before being written to file.
They are only valid after being read back in from file.
This seems to indicate some numerical issue relating to file reading
and writing.
Now the geometries are cleaned after being read in.
2020-05-07 14:45:14 +02:00
Tom Brown
e92558716e
config.yaml: Remove unnecessary settings
...
Adjustments made to scripts to read correct settings.
Documentation of scenario options improved.
2020-04-30 18:38:55 +02:00
Tom Brown
f9952b9aad
Fixed for PyPSA-Eur 0.1.0, PyPSA 0.17.0 and plotting
...
This commit now work with PyPSA-Eur 0.1.0 (tested with commit
bb3477 from 14th April 2020).
Changes to line/link_widths/colors for plotting networks in PyPSA
0.17.0.
Other corrections to plotting code so it works with this version.
Include oil boilers in colors in config.yaml.
2020-04-29 18:23:18 +02:00
Tom Brown
478832f484
Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec
2020-04-29 09:53:11 +02:00
d-fine dev
a4db176458
add new link oil boiler
...
* prepare_sector_network:
- add link for oil boiler in function add_industry()
- add function for partitioning clusters into different heat node types
* config.yaml: add option for oil_boiler
* costs.csv: add costs for oil boiler
2020-04-09 14:58:03 +02:00
Jan Frederick
0adaf2c1b6
cleaned code for better understanding
2020-04-06 16:38:54 +02:00
Jan Frederick
b4c502f901
Updated description
2020-04-03 12:12:27 +02:00
Jan Frederick
b707578bfb
Update build_renewable_profiles.py
2020-04-03 12:09:17 +02:00
Jan Frederick
32248724bd
add if statements for "keep all availble areas"
...
Add possibility to keep all availble areas for the potential area generation.
2020-04-03 12:02:25 +02:00
JanFrederickUnnewehr
22184ebaa7
Find "all" closest links and not only the first entry in the dataframe ( #143 )
...
* find all closest links that are in operation
* update function _find_closest_links
* update _set_electrical_parameters_links
* Update scripts/base_network.py
* cleanup code
Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2020-04-01 00:20:32 +02:00
Fabian Neumann
3c1c604c7e
cluster: skip recalculation of link parameters if empty ( #149 )
2020-03-29 11:39:18 +02:00
Tom Brown
bd85f751ac
Include home battery for low voltage node
2020-03-26 14:54:10 +01:00
Tom Brown
31cad1bd6d
Separate rooftop and utility solar PV
2020-03-26 10:06:59 +01:00
lisazeyen
a239f7efbf
make the script running with pandas 1.0, colors for some network plots, add option to plot the current transmission system in the cost_network plot
2020-03-25 17:14:28 +01:00
Tom Brown
0df8fc50cf
Summaries and plotting: Fix groupby with two bys for pandas 1.0.x
2020-03-25 16:42:38 +01:00
Tom Brown
9b326ba493
Include electricity distribution grid between load and EVs
2020-03-25 12:52:25 +01:00
Fabian Neumann
7688d9ea27
build_bus_regions: fix 'cannot insert name, already exists' in geopandas 0.7.0 ( #145 )
...
* build_bus_regions: fix 'cannot insert name, already exists'
* environment: allow geopandas 0.7.0
* build_bus_regions: ignore index when concatenating
2020-03-18 09:56:47 +01:00
euronion
ccc56ce3c8
Fix: Correctly determine the bus to attatch custom powerplants to. ( #131 )
...
* Add index integrity checks for custom powerplants.
* Update .csv template for custom powerplants.
* Update data/custom_powerplants.csv
* Revert "Merge branch 'master' into fix/custom-powerplants"
This reverts commit 5cd9c1afafd1ab36c31181ffed7635152805ee52, reversing
changes made to 5b1df27b25fdc89acca88395a0ba999f84dce109.
* Update release_notes.rst
* Rephrasing update to release notes.
* Merge with upstream/master (revert reverted merge).
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-03-17 09:50:38 +01:00
Fabian Neumann
d57989c027
scripts: mini code cleanup ( #140 )
2020-03-16 15:55:01 +01:00
Tom Brown
5dc572c35e
solve_network.py: Remove hacked installation of conda libraries
2020-03-04 18:10:57 +01:00
Fabian Neumann
69fd46290f
solve: include {min,max}_iterations parameters ( #130 )
...
* solve: include {min,max}_iteration parameters
* solve: iterations fix defaults
2020-02-25 22:00:36 +01:00
Fabian Neumann
8bed137ca5
unify skip_iterations & skip_iterating to skip_iterations
2020-02-19 17:03:19 +01:00
Fabian Neumann
cd85d61470
helpers: importing networks with override_components ( #128 )
...
* helpers: importing networks with override_components (closes #122 ) [skip travis]
* Update scripts/plot_network.py
Co-Authored-By: FabianHofmann <hofmann@fias.uni-frankfurt.de>
Co-authored-by: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2020-02-13 15:51:24 +01:00
Fabian
543bb95759
small fix for solve_operations_network
2020-02-10 16:47:11 +01:00
FabianHofmann
1ecca802f3
Nomopyomo ( #116 )
...
* play around, add new nomopyomo feature
* fix constraints
* fix constraints
* set solver to cbc due to error with gurobi900
* update environments
shift lv and lc constraints to prepare_network
start modifying opt constraints
* correct BAU
* correct environment
* fix import
* fix SAFE constraint
* fix battery charger ratio constraint
* code cleaning
* restructure solve scripts
* fix CCL constraint
* adjust doc
* solve_network: update doc string
* revert unwanted changes
* update environment.yaml
* update environment.yaml II
* force conda update, revert last commit
* revert last change, use other channel priority
* remove trace_sove_network
* add skip_iterating and track_iterations options to config file
* revert last commit, fix environment to current pypsa master
* line break, trigger CI with updated pypsa
* nomopyomo: PR review
Co-authored-by: Fabian Neumann <fabian.neumann@outlook.de>
2020-02-10 12:06:43 +01:00
FabianHofmann
ef9e64d457
set bus to nan for powerplants not assigned in kdtree ( #123 )
...
* solves #109
* fix substations_i for no-neighbours in kdtree
2020-02-03 15:01:24 +01:00
Tom Brown
ab401907b2
Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec
2020-01-31 19:25:19 +01:00
Tom Brown
d4c6521aaf
For H2 network plotting, introduce dummy MultiIndex to get area
...
Otherwise the area is not consistent with the legend (I'll open a
PyPSA issue).
2020-01-31 19:20:46 +01:00
FabianHofmann
1e9f8717ee
add names to config, add color column to n.carriers
2020-01-29 17:01:57 +01:00
FabianHofmann
af985db802
adjust n.carrier column name 'nice_names' -> 'nice_name'
2020-01-29 16:08:01 +01:00
lisazeyen
36a57222f7
Clip p min pu ( #50 )
...
* changes for retrofitting
* changed Snakefile to work with new pypsa-eur version, change solve_network.py to clip also n.generators_t.p_min_pu
* removed retrofitting data files
2020-01-24 15:31:17 +01:00
Jonas Hörsch
52e4a1b285
environment: Free pyproj from version constraint ( fixes #119 ) ( #120 )
...
* environment: Free pyproj from version constraint (fixes #119 )
proj was constrained to 1.9.6, since cartopy was incompatible with
recent proj versions.
* build_renewable_profiles: Import gdal and geokit after forking
GDAL sets up a shared context on module import which seems to contain a
handle to the PROJ database for coordinate reference systems. By forking
these handles seem to become invalidated or at least are not usable in parallel
anymore.
Instead importing gdal only after setting up the different processes fixes
the database disk image is malformed proj error.
2020-01-23 09:55:59 +01:00
Tom Brown
b6383b37b7
Merge pull request #46 from nworbmot/describe_biomass_categories
...
Describe biomass categories
2020-01-22 16:58:26 +01:00
Tom Brown
e0cf7e0860
Fix transmission map for nomopyomo outputs; plot also H2 network
...
Use s_nom_min for the reference point for the transmission
reinforcement not s_nom, since s_nom is now overwritten for LV > 1.0
(the old pyomo code kept the s_nom variable fixed in the pyomo model
rather than via pypsa setting s_nom_extendable = False, like the
nomopyomo code now does).
The legend scale of the H2 network electrolyzers is wrong. I don't yet
understand why. Possibly the cost scale in the other map is also wrong.
2020-01-21 19:44:36 +01:00
Tom Brown
17e8d114b1
Allow wave costs to be modified
2020-01-14 21:36:35 +01:00
Tom Brown
2278d67687
Add wave with default minimum costs
2020-01-11 09:11:09 +01:00
Tom Brown
9ed2cbffa8
Update code to PyPSA 0.16.1
2020-01-10 18:13:01 +01:00
Fabian Neumann
5934f4f7a1
prepare release v0.1.0 ( #117 )
2020-01-09 14:09:28 +01:00
Tom Brown
0e5dcbbce4
Fix clash of names in creation of candidate network for H2
...
Sometimes Lines and Links have same name, so need MultiIndex to avoid
a clash of names.
2019-12-26 10:21:22 +00:00
Tom Brown
9a5ae01a92
Adjust code to use version 0.16.0 of PyPSA for nomopyomo framework
2019-12-26 10:19:26 +00:00
Tom Brown
ca15750b48
Catch process emissions from feedstock for industry demand script
2019-12-19 17:49:45 +01:00
Tom Brown
ba52bbf5d4
Merge branch 'process'
2019-12-19 14:04:04 +01:00
Tom Brown
180846945f
Fix bug in ordering of MultiIndex in make_summary.py
...
df.loc[idx[a,b,some_list],label] does NOT preserve the ordering of
some_list, but sorts it instead. Therefore the pattern:
df.loc[idx[a,b,s.index],label] = s.values
was mismatching the index and values.
2019-12-19 11:40:17 +01:00
Tom Brown
eb2fa1b24e
Adjust plotting for new CCS scheme
2019-12-19 11:39:38 +01:00
Tom Brown
c525e2a6ae
Install package dependencies nomopyomo branch PyPSA and gurobipy
...
Inelegant - installed by hand in solve_network.py.
Should replace with environment.yaml.
2019-12-19 11:38:43 +01:00
Tom Brown
52581466b6
Account for chemical industry process emissions more carefully
...
Remove emissions from hydrogen production for ammonia (since H2 now
comes from electrolysis).
Allow process emissions from petrochemical production to be captured
(the carbon is not necessarily fossil, but could come from CCU).
2019-12-18 09:45:14 +01:00
Tom Brown
105aeba215
Merge branch 'nomopyomo'
2019-12-13 18:07:06 +01:00
Tom Brown
41f7f44dcf
Make CCS optional for SMR and industry process emissions
2019-12-13 18:06:38 +01:00
Tom Brown
49a68bdd35
Separate CHP gas/solid biomass, with/without CCS
...
Also fix CHP p_nom_ratio constraint, and battery charger/discharger
constraint.
2019-12-12 15:03:51 +01:00
FabianHofmann
eaf30a9b65
Introduce mocksnakemake which acutally parses Snakefile ( #107 )
...
* rewrite mocksnakemake for parsing real Snakefile
* continue add function to scripts
* going through all scripts, setting new mocksnakemake
* fix plotting scripts
* fix build_country_flh
* fix build_country_flh II
* adjust config files
* fix make_summary for tutorial network
* create dir also for output
* incorporate suggestions
* consistent import of mocksnakemake
* consistent import of mocksnakemake II
* Update scripts/_helpers.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/_helpers.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/_helpers.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/_helpers.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/plot_network.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/plot_network.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* Update scripts/retrieve_databundle.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* use pathlib for mocksnakemake
* rename mocksnakemake into mock_snakemake
* revert change in data
* Update scripts/_helpers.py
Co-Authored-By: euronion <42553970+euronion@users.noreply.github.com>
* remove setting logfile in mock_snakemake, use Path in configure_logging
* fix fallback path and base_dir
fix return type of make_io_accessable
* reformulate mock_snakemake
* incorporate suggestion, fix typos
* mock_snakemake: apply absolute paths again, add assertion error
*.py: make hard coded io path accessable for mock_snakemake
* retrieve_natura_raster: use snakemake.output for fn_out
* include suggestion
* Apply suggestions from code review
Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>
* linting, add return ad end of file
* Update scripts/plot_p_nom_max.py
Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>
* Update scripts/plot_p_nom_max.py
fixes #112
Co-Authored-By: Jonas Hörsch <jonas.hoersch@posteo.de>
* plot_p_nom_max: small correction
* config.tutorial.yaml fix snapshots end
* use techs instead of technology
* revert try out from previous commit, complete replacing
* change clusters -> clusts in plot_p_nom_max due to wildcard constraints of clusters
* change clusters -> clusts in plot_p_nom_max due to wildcard constraints of clusters II
2019-12-09 21:29:15 +01:00
Tom Brown
ec9b447949
make_summary: Account for multi-links in supply* summaries
2019-12-06 17:40:20 +01:00
Tom Brown
80642ae9af
Fix post-processing to read nomopyomo nc; fix MultiIndex issue
...
With new pandas:
pd.Index([])|pd.MultiIndex(...)
returns a pd.Index, not a pd.MultiIndex, so just reversed:
pd.MultiIndex(...)|pd.Index([])
This returns a pd.MultiIndex.
2019-12-06 16:56:33 +01:00
Tom Brown
066f1b0bb5
Fix solve_network.py to use nomopyomo for LV > 1.0
2019-12-06 16:55:28 +01:00
martavp
f6d407cc24
Add files via upload
...
describe biomass
2019-12-04 16:38:19 +01:00
martavp
5038faa020
Delete build_biomass_potentials.py
...
describe biomass
2019-12-04 16:37:50 +01:00
FabianHofmann
5143a258ac
build_powerplants: Fix add_custom_powerplants
...
Typo and type instability.
Fixes #109 .
2019-12-03 00:52:52 +01:00
Fabian Neumann
7ddc153bd2
ec: attach hydrogen pipelines ( #108 )
2019-12-02 12:22:30 +01:00
euronion
85c356297a
Add logging to logfiles to all snakemake workflow scripts. ( #102 )
...
* Add logging to logfiles to all snakemake workflow scripts.
* Fix missing quotation marks in Snakefile.
* Apply suggestions from code review
Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>
* Apply suggestions from code review
Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>
* doc: fix _ec_ filenames in docs
* Allow logging message format to be specified in config.yaml.
* Add logging for Snakemake rule 'retrieve_databundle '.
* Add limited logging to STDERR only for retrieve_*.py scripts.
* Import progressbar module only on demand.
* Fix logging to file and enable concurrent printing to STDERR for most scripts.
* Add new 'logging_format' option to Travis CI test config.yaml.
* Add missing parenthesis (bug fix) and cross-os compatible paths.
* Fix typos in messages.
* Use correct log files for logging (bug fix).
* doc: fix line references
* config: logging_format in all configs
* doc: add doc for logging_format
* environment: update to powerplantmatching 0.4.3
* doc: update line references for tutorial.rst
* Change logging configuration scheme for config.yaml.
* Add helper function for doing basic logging configuration.
* Add logpath for prepare_links_p_nom rule.
* Outsource basic logging configuration for all scripts to _helper submodule.
* Update documentation for changed config.yaml structure.
Instead of 'logging_level' and 'logging_format', now 'logging' with subcategories is used.
* _helpers: Change configure_logging signature.
2019-11-28 08:22:52 +01:00
Tom Brown
6cbd3384e4
Merge branch 'master' of github.com:nworbmot/pypsa-eur-sec
2019-11-27 18:36:01 +01:00
Tom Brown
8982147706
Convert code to use PyPSA nomopyomo branch; only works for LV=1.0
...
Will extend to LV > 1.0 soon.
2019-11-27 18:34:53 +01:00
Tom Brown
3fac944e5b
191108: Include a correctly-costed H2 network
...
Offers same topology to optimisation for H2 grid as that of HVAC and
HVDC grid.
2019-11-26 18:00:45 +01:00
Fabian Neumann
a74c15a132
trigger new travis build (skipped through squash)
2019-11-19 19:45:08 +01:00
Fabian Neumann
81d9d2ab4d
battery+H2: option for stores and links instead of storage_units ( #97 )
...
* add_electricity: stores and links instead of storageunits
* move code for attaching in add_extra_stores.py
* Update Snakefile
Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>
* Update Snakefile
Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>
* Update Snakefile
Co-Authored-By: Fabian Neumann <fabian.neumann@outlook.de>
* rename to add_extra_components.py
* incorporate suggestions
* Snakefile: update script name
* extra_components: import _add_missing_carriers_from_costs
* Add '_ec" infix in Snakefile
* Snakefile add infix at missing spot
* remove unintendetely inserted data.bundle, correct import in add_extra_components
* environment: fix pyyaml version
* set powerplantmatching as conda-dependency
* environment fix minimal ppm version
* environment reinsert pyyaml
* environment: carry over changes to environment.docs.yaml
* extra_components: add carriers
* update docstring
* Update scripts/add_extra_components.py
* Update scripts/add_extra_components.py
* tutorial: fix hyperlink [skip travis]
* update release notes
* update documentation
* add_electricity: merge removal of suptech
2019-11-19 19:36:28 +01:00
Fabian Neumann
9517eda1d7
add option for nuclear expansion at current locations ( #98 )
...
* add_electricity: add option for nuclear expansion at current locations
* doc: add documentation on adding nuclear options
2019-11-19 12:26:01 +01:00
Fabian
e59d2c4162
scripts/* revise imports
2019-11-14 17:50:24 +01:00
Fabian
af22261c10
prepare_network: revise imports, add line_break
2019-11-14 16:21:00 +01:00
Fabian Neumann
3370bd3b92
doc: update documentation on Ep option
2019-11-14 15:50:03 +01:00
Fabian Neumann
6a6bae41db
prepare_network: reactivate Ep option ( closes #63 )
2019-11-14 15:41:09 +01:00
Fabian Neumann
a35dbc067c
build_natura: add cutouts as input ( closes #95 )
2019-11-11 16:29:27 +01:00
Fabian Neumann
7cd3b8a42b
solve: undo update line parameter
2019-11-09 13:23:01 +01:00
Fabian Neumann
998b13dc3a
solve: update line parameters if not iterating
2019-11-09 13:16:31 +01:00
Fabian Neumann
3fd5c5d0e1
cluster: add tolerance to country weight sum L
2019-11-09 12:58:04 +01:00
FabianHofmann
0ea5a5c28f
Powerplants ( #94 )
...
* add nice carrier names to n.carriers
* closes #48
* update environment
2019-11-09 09:08:25 +01:00
Fabian Neumann
d32f2105cd
fix deprecation: logger.warn -> logger.warning
2019-11-08 16:46:29 +01:00
Fabian Neumann
a71cb6fc26
build_hydro: fix logger ( closes #91 )
2019-11-07 17:38:08 +01:00
Fabian Neumann
7df2b76f9d
cluster_network: fix focus_weights for mult sync
2019-11-07 16:54:09 +01:00
Fabian Neumann
e54119d878
cluster: add focus weights (in favor of #26 ) ( #87 )
...
* cluster: add focus weights (in favor of #26 )
* clear assert of total focus
Co-Authored-By: FabianHofmann <hofmann@fias.uni-frankfurt.de>
2019-11-07 15:38:25 +01:00
Fabian Neumann
99cb4a4354
Merge pull request #86 from PyPSA/workflow
...
Integrate data retrieving into snakemake workflow
2019-11-06 16:06:11 +01:00
Fabian Neumann
0fb57601bf
doc: document powerplantmatching changes from #84
2019-11-06 15:59:34 +01:00
Fabian Neumann
2ace4f2e94
retrieve*: add documentation
2019-11-06 14:50:59 +01:00
Fabian Neumann
0c537f159f
retrieve*: clean retrieve rules
2019-11-06 12:04:01 +01:00
Fabian Neumann
bf12d25879
Merge pull request #51 from fneum/solve_network
...
Add `extra_functionality` and `extra_postprocessing` to solve_network()
2019-11-06 11:38:15 +01:00
Fabian Neumann
4d9b02ea12
solve_network: add snapshots as required argument
2019-11-06 11:33:57 +01:00
Fabian Neumann
82392c6c07
Merge branch 'co2limit' of https://github.com/fneum/pypsa-eur into fneum-co2limit
2019-11-06 11:19:41 +01:00
Fabian
b1a38229f4
ignore sort warning
2019-11-05 14:29:15 +01:00
Fabian
f6e44d2805
include data retrieving in workflow
2019-11-05 12:53:21 +01:00
Fabian Neumann
67390cc2a9
Update scripts/prepare_network.py
2019-11-05 11:21:33 +01:00
FabianHofmann
d0e2fed4d7
incorporate suggestions
2019-11-01 13:27:42 +01:00
FabianHofmann
bf26ac9445
build_powerplants update docstring
2019-10-31 18:01:33 +01:00
FabianHofmann
324ededa66
fix typo
2019-10-31 14:59:51 +01:00
Fabian Hofmann
4ee18ea9fa
incorporate suggestions of #69
2019-10-31 14:48:10 +01:00
Fabian Hofmann
0d778eaf42
Merge branch 'eb5193-add_own_carriers' into powerplants
2019-10-31 14:30:05 +01:00
Fabian Hofmann
65700000f7
Merge branch 'add_own_carriers' of https://github.com/eb5194/pypsa-eur into eb5194-add_own_carriers
2019-10-31 14:23:43 +01:00
Fabian Hofmann
dee544f56b
fix typo
2019-10-31 13:01:08 +01:00
Fabian Hofmann
296840bac5
Merge branch 'master' into powerplants
2019-10-31 12:16:56 +01:00
FabianHofmann
0c777fc431
Merge pull request #71 from PyPSA/update_link_length
...
[WIP] capital cost and underwater fraction update in clustering
2019-10-31 11:27:58 +01:00
Fabian Hofmann
142434b529
incorporate suggestions
2019-10-31 10:37:49 +01:00
Fabian Hofmann
7a9842eba7
update build and add powerplant with new ppm version
2019-10-30 23:09:41 +01:00
Fabian Neumann
036a90ff6d
Merge pull request #83 from PyPSA/powerplants
...
update powerplants.csv
2019-10-28 17:33:47 +01:00
Fabian Neumann
570e3fc5ab
build_powerplants: download from ppm
2019-10-28 17:12:49 +01:00
Fabian Neumann
05e15de60b
Rename "Macedonia" to "North Macedonia"
...
https://en.wikipedia.org/wiki/Macedonia_naming_dispute
2019-10-28 16:15:06 +01:00
FabianHofmann
7e3ea94a53
Merge pull request #76 from euronion/patch-1
...
Update make_summary for pandas-0.25 compatability.
2019-10-25 15:41:29 +02:00
euronion
da0107478e
Refractor make_summary.py multiindex creation.
...
Outsource the pd.MultiIndex and pd.Index union into dedicated function and remove C&P code snippets.
2019-10-25 14:29:38 +02:00
Fabian Neumann
0fef13ee86
resolve merge conflicts
2019-10-24 16:22:57 +02:00
euronion
a401d80300
Fix more pandas Index issues in make_summary.
2019-10-24 10:53:07 +02:00
euronion
dfc0242a2d
Update make_summary for pandas-0.25 compatability.
...
The pandas Index union operation does no longer produce a MultiIndex but a Index tuple in pandas-0.25.2.
This causes the script to fail. (The problem does not exist with pandas-0.24.0.)
Fix by explicitly checking for this case (only the first loop iteration).
2019-10-24 09:54:50 +02:00
Fabian Hofmann
26453a27bb
build_bus_regions fix index column name to 'name'
2019-10-15 09:58:55 +02:00
martavp
5251ee5e56
Add files via upload
...
Read industry constants from config.yaml
2019-10-07 16:21:14 +02:00
Fabian Neumann
485b66c2c9
add cdsapi installation instructions
2019-10-03 12:38:59 +02:00
Fabian Neumann
5ea60a1ee0
modify to run without GEBCO and without hydro
2019-10-03 12:32:49 +02:00
Fabian Hofmann
16ff2b51bd
fix small issues
2019-09-23 16:44:48 +02:00
Fabian Hofmann
9178dde4a7
partially resolves #70
2019-09-23 14:32:51 +02:00
eb5194
ffef74e9c5
adaptions using query
2019-08-19 18:04:51 +02:00
eb5194
c4fd099cc8
allow usage of own powerplants for selected country
2019-08-17 16:50:57 +02:00
Fabian Neumann
03b51cac18
add rulegraphs
2019-08-14 17:15:07 +02:00
Fabian Neumann
0e5886081e
move rules to own pages and adapt image paths
2019-08-14 15:36:46 +02:00
Fabian Neumann
e7236010dd
add instructions to obtain pietzcker
2019-08-14 11:54:58 +02:00
Fabian Neumann
78f5a940f7
description of prepare_network
2019-08-14 11:08:10 +02:00
Fabian Neumann
63f2e1cd79
description of solve_network
2019-08-14 11:07:52 +02:00
Fabian Neumann
f16a107aea
result sample
2019-08-14 10:35:41 +02:00
Fabian Neumann
0b130b35ef
link rule references to their documentation
2019-08-13 17:52:33 +02:00
Fabian Neumann
630b08fff0
add cutout related descriptions and figures
2019-08-13 15:48:21 +02:00
Jonas Hoersch
ce3b897649
Fix importing plot_p_nom_max module for documentation
2019-08-13 10:53:18 +02:00
Fabian Neumann
3a94d4f5ef
add seealso from module description to config documentatoin
2019-08-13 10:03:46 +02:00
Fabian Neumann
4d3d898430
remove trialed sphinx-bibtex and describe wildcards
2019-08-12 23:48:16 +02:00
Jonas Hoersch
f2afdacb31
build_renewable_profiles: Update documentation
2019-08-12 20:50:50 +02:00
Jonas Hoersch
be8c9798c1
plot_network: Split plotting into several functions to make sphinx happy
...
Also addresses part of issue #50 : plot_map works again with cartopy.
2019-08-12 20:40:36 +02:00
Fabian Neumann
89d89deec0
further improve documentation
2019-08-12 19:01:53 +02:00
Fabian Neumann
a5d9bc9c7c
add input/output descriptions (WIP)
2019-08-11 22:34:18 +02:00
Fabian Neumann
f7159de47f
base_network: return zero underwater fraction if no link geometry given ( closes #53 )
...
fixes #53
2019-08-11 16:59:56 +02:00
Fabian Neumann
67cf28b593
fill in relevant settings sections
2019-08-11 13:17:36 +02:00
Fabian Neumann
1bded0ab9b
add rule section headers
2019-08-11 11:40:47 +02:00
Fabian Neumann
067d259ff6
include description of rule groups
...
* and reduce corresponding sections in readme
* and modify environment docs
* and add bibtex support (tentative)
2019-08-10 14:25:19 +02:00
Fabian Neumann
ea96d499e7
base_network: scale snapshot weightings to sum up to 1 year
...
If the user selects a date range of less than a year in `config.yaml` the snapshot weightings should be scaled to add up to represet 8760 hours (1 year) such that operational expenses and investments are aligned in the objective function.
2019-08-10 12:33:14 +02:00
Jonas Hoersch
fb0d44f64e
Add a summary sentence for each rule taken from scripts
2019-08-08 15:07:08 +02:00
Tom Brown
8d68146e7c
Switch to BDEW-based weekday/end space heating demand profiles
...
These are different for residential and services demand.
Also include Snakefile in config files copied for each run.
Use gurobi settings from gurobi support for speed.
Commented out settings for testing randomness for noise.
2019-08-07 19:08:06 +02:00
Tom Brown
019e2f3f25
Split heat demand into residential and services with diff profiles
...
All urban central (i.e. district heating) is aggregated to the same
profile and bus.
The code is now written to cycle over each heating sector to add
demand and supply technologies, only changing what is necessary to
change, rather than just copying chunks of code and modifying
parameters there. This should make it easier to get an overview of
what's going on.
2019-08-07 11:33:29 +02:00
Fabian Neumann
7a4e9f22d4
configuration table descriptions
2019-08-07 10:56:23 +02:00
Tom Brown
eebac1bfa3
Deduct electric heating from electricity load profile
...
Otherwise it is double-counted in both the heating and the electricity
load profiles. This removes 454 TWh/a from electricity.
2019-08-01 16:16:05 +02:00
Tom Brown
d3a0f7e67d
Diff intraday heat profiles for (res, services) x (water, space)
...
These are specified in data/heat_load_profile.csv.
The resulting heat_demand df has MultiIndex columns, where the first
level is ["sector use"], and the second level level is nodes.
2019-08-01 15:43:04 +02:00
Tom Brown
72b7ea0997
Allow space heating to be linearly reduced (without cost so far)
2019-07-31 14:22:33 +02:00
Tom Brown
886b7c5f48
Include micro-CHP using PEMFC
2019-07-28 13:10:21 +02:00
Jonas Hoersch
07143fb2cd
base_network: Zero s_nom of under_construction lines
2019-07-26 11:43:34 +02:00
Tom Brown
318444e3a4
Include new industry technologies for plotting colours
2019-07-21 12:11:40 +02:00
Tom Brown
7e37dbbd03
Include multi-link outputs in energy balance
2019-07-21 12:11:05 +02:00
Tom Brown
ae1ea81520
Copper plate biogas and solid biomass
...
Because there was insufficient solid biomass in 3-4 countries to
supply industry for it locally, and we need to account for transport
of solid biomass.
Should be replaced by transport cost links between countries.
2019-07-21 12:09:18 +02:00
Tom Brown
32af25df62
Backup config files before solve_network rather than after
...
For debugging cases where solving failed.
2019-07-20 10:55:23 +02:00
Tom Brown
03670c1ab3
Simplify industry load-link-bus to avoid numerical problems
...
Gurobi had numerical problems solving the system.
Trivial load-link-bus combinations to manage CO2 have been replaced
with simple loads.
2019-07-19 12:10:22 +02:00
Tom Brown
06cb526fef
Re-integrate industry, aviation and shipping into model
...
Following plan by Marta and Kun
2019-07-19 10:21:12 +02:00
Tom Brown
990ab035c3
Include light-rail and high-speed-rail in "electricity rail"
...
This then conforms with JRC IDEES totals
2019-07-19 10:19:21 +02:00
Tom Brown
7509d61348
Split industrial demand across nodes by population
2019-07-18 15:55:58 +02:00
Tom Brown
b132193f7f
Read in more sector detail for road, rail, aviation and navigation
2019-07-18 15:38:37 +02:00
Tom Brown
f3b6027cd5
Incorporate Marta and Kun's scripts to build industry demand
...
By country and by energy source.
2019-07-18 11:40:38 +02:00
Tom Brown
ddca9afcc7
Give all loads a carrier; rename heat buses; fix district h losses
...
Heat buses renamed to:
rural (for low-density areas where district heating not possible)
urban decentral (for high-density areas without district heating and
individual heating technologies) (used to be called "urban")
urban central (for high-density areas with district heating) (used to
be called "central")
District heating losses applied only to urban central.
2019-07-16 16:00:21 +02:00
Tom Brown
6cc676d6cf
190516: Try removing H2 network too
2019-07-12 08:51:25 +02:00
Fabian Neumann
2979b89291
Merge remote-tracking branch 'upstream/master' into solve_network
2019-06-18 13:48:52 +02:00
Fabian Neumann
5119a73477
merge upstream/master in co2limit
2019-06-18 13:33:01 +02:00
Fabian Neumann
dc1feadcba
generalize solve_network
...
* skip_iterating flag: solve network only once without updating impedances
* extra_functionality parameter: add function to modify pyomo model
* extra_functionality args: function arguments for extra_functionality
* extra_postprocessing: add function for postprocessing steps depending on n.model
2019-06-18 13:24:29 +02:00
Jeroen Peters
97985e3c52
Fix by changing po.Constraint.Skip into pypsa.opt.Constraint.Skip
2019-06-18 13:18:59 +02:00
Jonas Hörsch
ac32f2cad6
Fix typo introduced in previous commit
2019-06-18 13:18:59 +02:00
Jonas Hörsch
2f728b33c8
solve_network: Move country/carrier constraints to opts as CCL
2019-06-18 13:18:59 +02:00
Jonas Hörsch
d7fcbbba7b
solve_network: Backwards compatibility
...
Make sure not providing a csv-file with capacity limits does not break.
2019-06-18 13:18:59 +02:00
Jeroen Peters
a2c736e2bf
Include config handle
2019-06-18 13:18:59 +02:00
Jeroen Peters
c065cad811
Fix missing code
2019-06-18 13:18:59 +02:00
Jeroen Peters
f68f4c4205
solve_network.py: add minmax constraint per country
2019-06-18 13:18:59 +02:00
Fabian Neumann
c99480e0f3
add co2 emissions reduction factor to wildcard
2019-06-18 11:50:54 +02:00
Jonas Hoersch
5de59fe453
base_network: Replace deprecated yaml.load by yaml.safe_load
...
Refer to https://msg.pyyaml.org/load for details.
2019-06-05 18:07:36 +02:00
Jonas Hoersch
63a6cebab2
build_renewable_profiles: Communicate extent as pickleable tuple ( fixes #42 )
2019-05-28 13:50:42 +02:00
Tom Brown
ae3059f676
Add "central" option to remove electricity grid (HVAC, HVDC, B2B)
2019-05-16 16:08:16 +02:00
Tom Brown
8394dca22c
Rule to save a copy of important config files after each run
2019-05-16 09:39:03 +02:00
Tom Brown
9ad0eb01e2
Use waste heat from FT and fuel cells in district heating
2019-05-14 11:49:32 +02:00
Tom Brown
77bef57c60
Automatic plotting of network maps with costs per node
2019-05-13 17:09:26 +02:00
Tom Brown
52a02bd979
Compute cfs; compute nodal costs, capacities, cfs; fix prices
2019-05-13 16:48:29 +02:00
Tom Brown
71c04909b5
Allow option of underground H2 storage
2019-05-13 16:47:54 +02:00
Tom Brown
3c28e4daba
Include lossless and costless H2 network to examine benefit
...
Agglomerate H2 storage for this case.
Need to replace with separate H2 links and stores.
2019-05-12 11:27:56 +02:00
Tom Brown
a10a7d2b15
Limit sequestration to 200 Mt/a, introduce SMR, vent stored CO2
2019-05-11 15:55:06 +02:00
Tom Brown
38c49ad460
Fix paper_graphics.py maps for cartopy and industrial demands
2019-05-09 17:28:16 +02:00
Tom Brown
1aa9f9e70b
Copy over paper_graphics.py from old pypsa-eur sector branch
2019-05-09 15:22:14 +02:00
Tom Brown
0ab5bd200a
Fix gas and oil stores so that they allow fossil fuel extraction
...
Before both initial SOC and final SOC were set to be zero, which
prevents synthetic fuel transfer over the year boundary, and prevents
the use of fossil fuels for non-zero CO2 scenarios.
Now done properly with cyclic Store (prevents accumulation of fossil
fuels as a form of sequestration) and Generator (to imitate fossil
fuel extraction).
2019-05-08 12:18:18 +02:00
Tom Brown
5357b7b92f
Record total capacities and total costs
2019-05-03 17:11:13 +02:00
Tom Brown
c47ffb8d03
Changes for 190501-256
2019-05-02 08:39:29 +02:00
Tom Brown
82a057791e
Allow storing FT fuels, cost for FT conversion, fossil FT fuels
...
Also include raw data/costs.csv
2019-04-30 12:05:36 +02:00
Tom Brown
952534c5c9
Generalise limitation of tech potentials
...
tech name must only appear, but not be identical to generator
carrier. This allows to use the name "offshore" for both "offshore-ac"
and "offshore-dc", but then "solar" also catches "solar thermal",
which is fine since for solar thermal potentials are np.inf, unless
limit is 0 since np.inf*0 is nan.
2019-04-24 12:17:42 +02:00
Tom Brown
d48d51f765
Cater for AC and DC offshore in plotting
2019-04-23 16:22:09 +02:00
Tom Brown
5157041ee2
Update for compatibility with latest PyPSA-eur master branch
...
Remove non-renewable generator and storage units from electricity-only
base network, since they're added differently here with links.
Remove unncessary cruft from config.yaml which is not used by
PyPSA-Eur-Sec (e.g. renewable configuration parameters).
Rename "naptha" to correct "naphtha".
2019-04-18 15:23:37 +02:00
Tom Brown
3b0e0dfb3a
Changes to make solving and post-processing work
2019-04-18 12:12:38 +02:00
Tom Brown
cfe44ce702
Copy solve_network.py and *_summary.py from pypsa-eur sector branch
2019-04-18 11:39:17 +02:00
Tom Brown
e88b6c850f
Fix prepare_sector_network to reproduce old sector prenetworks
...
from pypsa-eur sector branch
2019-04-17 17:04:33 +02:00
Tom Brown
ad865c18c6
Copy prepare_network.py from pypsa-eur sector commit 95820e57f795
...
...to scripts/prepare_sector_network.py
2019-04-17 14:24:22 +02:00
Tom Brown
ea22a792b7
Fix all data preparation steps up to prepare_network
2019-04-17 11:44:16 +02:00
Tom Brown
1b26c3c737
Copy data preparation scripts from pypsa-eur sector branch
2019-04-16 16:03:51 +02:00
Jonas Hoersch
9ec97bd367
fixup! cluster_network: [compat] Pyomo 5.6.1 removed po.sum
2019-03-09 17:50:28 +01:00
Jonas Hoersch
93119fc86b
cluster_network: [compat] Pyomo 5.6.1 removed po.sum
2019-03-09 17:08:55 +01:00
Jonas Hoersch
3688122aa7
base_network: [compat] read_csv in pandas 0.24 is stricter
...
read_csv now raises a ValueError when it encounters NaN in a boolean column.
2019-03-06 20:40:29 +01:00
Jonas Hoersch
66fe76288c
add_electricity: Assume load scaling factor is 1.0 if omitted
2019-02-22 22:06:03 +01:00
Jeroen Peters
0cafe40bdd
add_electricity.py: Add a simple load scaler ( #21 )
...
* Add simple load scaler
* Add scaler to config
* Update config.yaml
* Update add_electricity.py
2019-02-22 21:47:41 +01:00
Jonas Hoersch
f0a0a2531e
add_electricity: Fix for choices of countries
without any offshore or hydro
...
fixes #22 .
2019-02-22 17:09:52 +01:00
Jeroen Peters
d111cedc03
Add warning for capital costs to 0
2019-02-22 15:03:53 +01:00
Heronimonimo
1c192253bf
Remove capital costs for existing conventional capacity
...
All the existing conventional capacity has sunk capital costs. Therefore these should be put to 0.
2019-02-22 15:03:53 +01:00
Jonas Hoersch
8b819569bc
cluster_network: Fix busmap_for_n_clusters for single country ( fixes #18 )
...
Also update debugging helper.
2019-02-20 21:10:45 +01:00
Heronimonimo
9c78d6591d
Add CCGT to the weight factor for conventional carriers
2019-02-20 19:18:06 +01:00
Jonas Hoersch
9279c7f027
solve_network: Remove hard-coded solver fallback in busmap_for_n_clusters
...
Necessary for when `clustering_for_n_clusters` is used from the simplify_network
rule.
Fixes #12
2019-02-20 19:08:25 +01:00
Heronimonimo
6f1b387804
Add CCGT to plot
2019-02-20 17:31:14 +01:00
Jonas Hörsch
2e02c8366e
fixup! add_electricity: add CCGT to extendable generators
2019-02-18 00:43:09 +01:00
Fabian Neumann
02e1a12667
add_electricity: add CCGT to extendable generators
2019-02-16 12:52:18 +01:00
Jonas Hoersch
33823c9012
build_country_flh: Fix aggregated flh reports for wind
2019-02-15 20:59:42 +01:00
Jonas Hoersch
6bb9cd1025
add_electricity: Refactor extendable generators to provide a OCGT-ext technology
...
Partially adresses #7 .
2019-02-15 18:28:41 +01:00
Jonas Hoersch
50abd6c0c9
build_country_flh: Add rule for per-country full load hours tables and plots
2019-02-15 18:27:04 +01:00
Jonas Hoersch
f49682c61d
build_renewable_profiles: Extend calculate_potential
to optionally save the exclusion map
2019-02-15 11:11:41 +01:00
Jonas Hoersch
c858ed0b0d
build_renewable_profiles: Pass all globals with init_globals
2019-02-15 11:11:31 +01:00
Jonas Hoersch
7f3f096ba6
Fix model for country selections without DC links ( fixes #5 )
2019-02-13 19:03:57 +01:00
Jonas Hoersch
1b6fe5be80
base_network: Fix _add_links_from_tyndp if there are none left ( fixes #5 )
2019-02-12 16:41:07 +01:00
Jonas Hoersch
15e986a0ec
make_summary: Update summary creation for new line volume/cost constraints
...
Fixes #4 .
2019-02-10 16:08:39 +01:00
Jonas Hoersch
448e8c238e
cluster_network: Fall back to using ipopt
in distribute_clusters
...
if the configured solver does not support quadratic objectives.
2019-02-10 15:33:53 +01:00
Jonas Hoersch
6284cf7e8b
add_electicity: Report countries missing from the hydro inflow time-series
2019-02-07 17:41:01 +01:00
Jonas Hoersch
3e11d569d0
build_shapes: Fix pycountry API change ( fixes #1 )
...
See also
72b1927b3c
2019-02-07 13:03:18 +01:00
Jonas Hoersch
d57df6b0c8
Merge branch 'glaes'
2019-02-06 12:06:32 +01:00
Jonas Hoersch
8c9e650feb
fixup! trace_solve_network: Save intermediate line capacities
2019-02-06 11:48:59 +01:00
Jonas Hoersch
2cf8f1374f
add_electricity: Fix for pandas 0.24 breaking change
2019-02-05 23:02:59 +01:00
Jonas Hoersch
5c3fcb642c
add_electricity: Add heuristic for estimating renewable capacities from country totals
...
Split per-country capacity totals reported in entsoe SO&AF 2016 in proportion to
yearly generation potential at each bus, i.e. p_nom_max * mean(p_max_pu)
2019-02-05 23:00:35 +01:00
Jonas Hoersch
b9f1f5a8b5
Fix for pycountry 18.12.8
...
72b1927b3c (chg-HISTORY.txt)
2019-02-05 17:46:51 +01:00
Jonas Hoersch
5dfeb6efbc
trace_solve_network: Save intermediate line capacities
2019-02-04 18:32:56 +01:00
Jonas Hoersch
80d86487de
plot_network: Extend plot title with line volume/cost
2019-02-04 18:31:15 +01:00
Jonas Hoersch
8d3127ff1a
fixup! Include an optional total line cost constraint
2019-02-03 16:06:35 +01:00
Jonas Hoersch
9715c9d42b
fixup! solve_network: Extract line limit duals and radically refactor
2019-02-03 15:44:40 +01:00
Jonas Hoersch
60dda9f909
plot_p_nom_max: Add plots for the cumulative renewable expansion potential
...
The wildcards `clusters` and `technology` accept lists of values separated by ','
2019-02-03 14:22:12 +01:00
Jonas Hoersch
a069bef380
solve_network: Extract line limit duals and radically refactor
...
remove all persistent solver features, rebuild the model every time
2019-02-03 14:18:05 +01:00
Jonas Hoersch
dde0d91168
Include an optional total line cost constraint
...
elec_s_37_lc1.25_... adds a constraint on the total line cost for an extension
by a 25%, compare with elec_s_37_lv1.25_... for the line volume limit.
`ll` is an acronym for line limit.
2019-02-03 13:50:05 +01:00
Jonas Hoersch
d49bea00a8
Remove the heuristic 80% availability factor
2019-02-01 18:34:11 +01:00
Jonas Hoersch
8ee596ae2c
Make the additive potential aggregation the default and call it simple
2019-02-01 18:33:21 +01:00
Jonas Hoersch
aa5525ab41
cluster_network: Remove old distribute_clusters code paths
2019-01-22 11:48:00 +01:00
Jonas Hoersch
7ba6fefd67
simplify_network: Refactor clustering for readability
2019-01-22 11:46:45 +01:00
Jonas Hoersch
39cb17a7a1
cluster_network: Fix distribute_clusters_optim for high numbers of clusters
...
distribute_clusters_optim should never try to assign more clusters to
a (country, sub_network) than there are substations there.
2019-01-22 11:25:01 +01:00
Jonas Hoersch
6feebedc0d
cluster_network, simplify_network: Improve debugging facilities for clustering
2019-01-22 11:24:07 +01:00
Jonas Hoersch
4247051c3c
simplify_network: Include a special case if renewable carriers are skipped
2019-01-22 10:14:05 +01:00
Jonas Hoersch
bfb92a5d29
base_network: Remove unconnected components after removing under_construction branches
2019-01-22 10:11:43 +01:00
Jonas Hoersch
4cba751331
base_network: Warn about TYNDP links which fall outside of the area of interest
...
Happens when countries is only a subset.
2019-01-22 10:10:00 +01:00
Jonas Hoersch
47bc13cf51
add_electricity: OCGT plants don't need to be extendable
2019-01-21 18:45:19 +01:00
Jonas Hoersch
f70e0304e5
Fix plotting settings
2019-01-16 12:08:46 +01:00
Jonas Hoersch
a340e4f1a3
base_network: Remove tyndp links outside of desired countries
2019-01-02 18:13:30 +01:00
Jonas Hoersch
0096b184a0
fixup! cluster_network: Implement 'heuristic' potential clustering
2019-01-02 17:54:07 +01:00
Jonas Hoersch
495b6f8015
cluster_network: Implement 'heuristic' potential clustering
2018-12-31 15:10:35 +01:00
Jonas Hoersch
9c6c89dfad
build_*_profile(s): Make caps on p_nom_max and inflow optional
2018-12-31 14:10:55 +01:00
Jonas Hoersch
77095c3b94
simplify_network: Improve displacement log message
2018-12-21 16:16:54 +01:00
Jonas Hoersch
21b428d841
build_*_profile(s): Move clip_p_min_pu into profile generation
2018-12-21 13:44:59 +01:00
Jonas Hoersch
6b29f34d51
build_shapes: Ensure name of index for offshore_shapes is 'name'
2018-12-19 15:42:03 +01:00
Jonas Hoersch
f60c1fdb41
Rename index column in geojson imports
2018-12-19 15:37:18 +01:00
Jonas Hoersch
aa24686517
build_shapes: Update save_to_geojson to new fiona version
2018-12-19 15:25:39 +01:00
Jonas Hoersch
8f171396cb
build_natura_raster: Fix snakemake specifics
2018-12-19 15:25:03 +01:00
Jonas Hoersch
db073d8daa
Split offshore wind turbines into AC and DC connections
2018-12-19 10:34:25 +01:00
Jonas Hoersch
bddea86b1e
build_renewable_profiles: Move progressbar around atlite calls into atlite
2018-12-19 10:28:35 +01:00
Jonas Hoersch
350af4a273
build_renewable_profiles: Compute potentials in EPSG:3035 to ensure a metric of meters
2018-12-19 10:27:46 +01:00
Jonas Hoersch
135e4ace47
cluster_network: Disable stricter schema enforcement by geopandas
2018-12-19 10:14:41 +01:00
Jonas Hoersch
448ba651a0
build_renewable_profiles: Compute underwater_fraction
2018-12-11 17:30:25 +01:00
Jonas Hoersch
4dc8e8fc35
build_renewable_profiles: Fix incomplete renaming
2018-12-11 17:29:54 +01:00
Jonas Hoersch
eeba4a81d4
Remove build_renewable_potentials
...
Superseded by GLAES in build_renewable_profiles
2018-12-11 16:46:34 +01:00
Jonas Hoersch
a035bee9c6
Merge branch 'windcosts'
2018-12-11 16:09:24 +01:00
Jonas Hoersch
5ed5974e86
Disable stricter schema enforcement of GeoPandas
2018-12-11 15:39:46 +01:00
Jonas Hoersch
802261eedd
Use GLAES library by FZJ-IEK-3 for computing GIS potentials
2018-12-11 15:39:42 +01:00
Jonas Hoersch
04a291b91b
Move from countrycodes to maintained pycountry
2018-12-10 18:34:22 +01:00
Arnaud Leroy
8a7ffbdb4e
add a variable to select the clustering algorithm in busmap_for_country. Default k-manes
2018-11-26 16:10:32 +01:00
Jonas Hörsch
1fa62b9aab
simplify_network: Allow to remove stubs across country borders
2018-11-12 22:00:54 +01:00
Jonas Hörsch
761b1b998f
make_summary: Add summary about capacities and allow single country summaries
2018-11-12 22:00:50 +01:00
Jonas Hörsch
c5e8c9ad25
add_electricity: Extend the assignment of max_hours
2018-11-12 22:00:46 +01:00
Jonas Hörsch
e7d007bc8f
build_powerplants: Assign power plants only within the right country
...
Also update the delivered powerplants snapshots.
2018-11-12 21:40:05 +01:00
Jonas Hörsch
9df54c9530
simplify_network: Refactor compute_distance
2018-10-27 16:42:58 +02:00
Jonas Hörsch
91b83930dd
base_network: Important small fixes
...
- Allow connecting at substations
- Fix offshore shape selection
2018-10-27 03:46:48 +02:00
Jonas Hörsch
cc7d356db0
simplify_network: Set up logger correctly
2018-10-27 03:45:28 +02:00
Jonas Hörsch
9c64034950
simplify_network: Add simplification cost updates
...
Depends on pypsa commit https://github.com/PyPSA/PyPSA/commit/9ec406252add1b6
2018-10-27 03:41:38 +02:00
Jonas Hörsch
f87d7d9f94
base_network: Important small fixes
...
- Allow connecting at substations
- Fix offshore shape selection
2018-10-27 03:34:40 +02:00
Jonas Hörsch
b30f4a2fff
Update technology costs for wind
...
Calculate grid extension costs for offshore based on weighted average distance
from weather cell to substation.
2018-10-26 21:32:04 +02:00
Jonas Hörsch
c0fe95a31d
base_network: Improve assignment of countries
2018-10-26 16:08:50 +02:00
Jonas Hörsch
98b3ef5e20
Add _helpers, used by plot_network
2018-10-26 10:33:58 +02:00
Jonas Hörsch
ddbc02ba35
prepare_network: Fix set_line_s_max_pu
...
- Wrong denominator in linear s_max_pu
- DC lines do not have a security margin
2018-10-26 10:31:44 +02:00
Jonas Hörsch
a012344ca7
prepare_network: Pass Nyears to set_line_volume_limit
...
Sets the transmission capital costs in the optimum line_volume case properly for
multi-year optimizations.
2018-10-26 10:29:44 +02:00
Jonas Hörsch
5b201de7d4
{make,plot}_summary: Add rules to flexibly create summaries and plot them
2018-10-26 10:28:54 +02:00
Jonas Hörsch
0070b1c87c
plot_network: Add functionality to produce a network plot of each solution
2018-10-25 16:43:24 +02:00
Tom Brown
540985164f
Plot summary; take account of snapshot weightings correctly
2018-10-23 17:02:03 +02:00
Tom Brown
f3a12e7aee
Add CSV summaries
2018-10-23 17:00:06 +02:00
Jonas Hörsch
71512c15a5
Copy over make_summary.py from sector branch co2
2018-10-23 16:59:41 +02:00
Jonas Hörsch
1df85468aa
add_electricity, prepare_network: Enable lv='inf' and remove converter link costs
2018-10-22 23:23:51 +02:00
Jonas Hörsch
0b60159575
solve_network: Fix numeric instabilities
...
Measure load shedding in kW and remove the eps_storage_constraint
2018-10-22 23:20:51 +02:00
Jonas Hörsch
c1ae9b16d5
build_shapes: Update debugging helper
2018-10-22 23:20:18 +02:00
Jonas Hörsch
f9012c41e1
add_electricity: Allow extension of OCGT plants
2018-10-09 15:44:46 +02:00
Jonas Hörsch
6f3b44e5e4
fixup! base_network: Don't update the capacity of TYNDP links from links_p_nom
2018-10-09 15:44:20 +02:00
Jonas Hörsch
b74c19e6ba
base_network: Don't update the capacity of TYNDP links from links_p_nom
2018-09-27 18:29:44 +02:00
Jonas Hörsch
07e36a4854
base_network: Some TYNDP links replace existing links and buses
2018-09-27 18:28:52 +02:00
Jonas Hörsch
37d817c70f
base_network: Fix bug in _closest_links and fix SACOI capacity
2018-09-27 18:27:33 +02:00
Jonas Hörsch
72b484dd6b
base_network: Only buses with at least one finished connection may have load
2018-09-27 18:25:41 +02:00
Jonas Hörsch
6635732cb7
Fix HDFStore writing modes
2018-09-27 12:18:47 +02:00
Jonas Hörsch
52e214a3b2
base_network: Add links from TYNDP
...
Manually collected from https://tyndp.entsoe.eu/ . Deactivated by default.
2018-09-24 20:19:47 +02:00
Jonas Hörsch
9c629560db
cluster_network: Adjust n_init, maxiter and tol parameters of KMeans
...
By changing the parameters by several orders of magnitude, we ensure to recover
consistently the same results.
2018-09-24 18:43:24 +02:00
Jonas Hörsch
1678f319d8
prepare_network: Allow lv=inf to designate a fully cost-optimal expansion
2018-09-24 18:43:24 +02:00
Jonas Hörsch
2c06fef22b
prepare_network: Scale security margin from 0.5 at 37 clusters to 0.7 at 200 clusters
2018-09-24 18:43:24 +02:00
Jonas Hörsch
2372bb156d
Prepare Snakefile and scripts for other solvers
2018-09-14 11:22:13 +02:00
Jonas Hörsch
4d99780f6d
simplify_network: Carry underwater_fraction through simplification steps
2018-09-03 23:46:57 +02:00
Jonas Hörsch
265ef27394
fixup! base_network, config: Links do not follow the n-1 constraint
2018-09-03 23:46:30 +02:00
Jonas Hörsch
21267a59e0
costs: Add costs for submarine HVDC based on own analysis
2018-09-03 23:33:06 +02:00
Jonas Hörsch
ba3a008018
add_electricity: Adapt to reverse compatible argument change in timeseries_opsd
2018-09-03 23:20:46 +02:00
Jonas Hörsch
3afacfeacc
base_network, config: Links do not follow the n-1 constraint
2018-09-03 23:20:46 +02:00
Jonas Hörsch
2a8ec7e3db
cluster_network: Introduce minimal clustering weight
2018-08-27 19:14:34 +02:00
Jonas Hörsch
6f98607aec
base_network: Improve treatment of under_construction links
2018-08-27 19:13:41 +02:00
Jonas Hörsch
21fd124d6e
build_shapes: Re-include Corse and Malta
2018-08-27 19:11:36 +02:00
Jonas Hörsch
cd44a92185
base_network: Adds heuristic to replace the B2B converter LT-PL by an HVDC tie-line
2018-08-27 14:20:31 +02:00
Jonas Hörsch
94c10fc72b
base_network: underwater_fraction skips links without a geometry
2018-08-27 14:19:50 +02:00
Jonas Hörsch
64e89bfcc1
prepare_links_p_nom: Fix and update
2018-08-27 14:13:53 +02:00
Jonas Hörsch
900defa07c
fixup! base_network: Add underwater_fraction to links
2018-08-16 22:14:38 +02:00
Jonas Hörsch
4e078002af
base_network: Add underwater_fraction to links
2018-08-14 17:03:13 +02:00
Jonas Hörsch
bc8be23f50
add_electricity: Automatically skip powerplants without buses
2018-08-10 11:21:55 +02:00
Jonas Hörsch
78f77102ad
build_powerplants: Use new powerplantmatching api
2018-08-08 16:29:45 +02:00
Jonas Hörsch
4526fbb4ae
Fix small edge cases when looking at only a subset of the european countries
2018-08-08 16:28:32 +02:00
Jonas Hörsch
92530f370a
Fix attaching of load
2018-08-06 21:38:13 +02:00
Jonas Hörsch
cfa641386e
build_cutout: Fix cutout generation
2018-08-03 12:46:42 +02:00
Jonas Hörsch
c6a4de7469
Generate cutouts on-demand
2018-08-03 11:54:28 +02:00
Jonas Hörsch
6866ce6b06
Integrate bundled landuse and load data instead of relying on vresutils
2018-08-03 11:53:14 +02:00
Jonas Hörsch
8e4abc3fce
build_shapes: Build shapes in separate rule from bundled data
...
- country_shapes
- offshore_shapes
- nuts3_shapes (nuts3 shapes already include population and gdp data)
2018-08-03 11:49:51 +02:00
Tom Brown
9986c381be
add_electricity: Fix bugs when parsing costs
...
pandas has to be provoked to give NaNs for missing values in the sum,
so force min_count=1. Then these NaNs are filled with defaults.
OCGT and CCGT have fuel "gas".
2018-07-26 00:08:14 +02:00
Jonas Hörsch
e2a67d624f
add_electricity: Fix unit mistake, since inflow is in MW instead of pu
2018-07-26 00:08:14 +02:00
Jonas Hörsch
6d680a0262
Allow including lines and links which are still under construction
2018-07-10 16:37:50 +02:00
Jonas Hörsch
b0993c8b52
Minor fix to allow omitting parameter corrections
2018-07-10 16:34:46 +02:00
Jonas Hörsch
f0e6d447e8
Add the potential map to the renewable profile
2018-07-10 16:33:22 +02:00
Jonas Hörsch
fd026f4072
Store the busmaps underlying the simplification process as busmap_s
2018-07-10 16:31:57 +02:00
Jonas Hörsch
21968a5d77
Attach conventional generators to base model
2018-07-10 16:29:11 +02:00
Jonas Hörsch
c5a295a315
add_electricity: Make add_electricity importable as a module
2018-05-18 17:09:18 +02:00
Jonas Hörsch
fed6ff9543
cluster_network: Allow configuring the line_length_factor
2018-05-18 17:06:55 +02:00
Jonas Hörsch
ca70cab40d
solve_network: Only zero lines below 100MW
...
There are 6 links between 250 MW and 500 MW, which are deleted otherwise!
2018-03-14 15:49:15 +01:00
Jonas Hörsch
f698cffe3b
cluster_network: Fix typo
2018-03-14 13:19:44 +01:00
Jonas Hörsch
c3da3f7f6a
base_network: set s_nom from linetypes
2018-03-14 13:18:26 +01:00
Jonas Hörsch
78ab018b60
cluster_network: Save maps from clustering as clustermaps
2018-03-13 11:50:06 +01:00
Jonas Hörsch
8e7e3571bf
cluster_network: Add fast-path for when no clustering is necessary
2018-03-13 11:00:40 +01:00
Jonas Hörsch
77172f18dc
Fix solar capital costs
2018-03-13 10:50:28 +01:00
Jonas Hörsch
81bcf2aad2
Properly set s_nom on lines
2018-03-13 10:48:45 +01:00
Jonas Hörsch
4bde9417dc
Finish solve_operations_network
2018-03-13 10:47:47 +01:00
Jonas Hörsch
e27db0f462
solve_network: Add noise to line and link capital costs
2018-03-09 15:41:46 +01:00
Jonas Hörsch
44d2d950e2
solve_network: Suppress logging noise from pypsa.pf
2018-03-09 15:39:53 +01:00
Jonas Hörsch
8e4f030ec8
solve_network: Fix updating line parameters
2018-03-02 16:20:52 +01:00
Jonas Hörsch
eaef066a89
solve_network: Move memory_logger to vresutils.benchmark
2018-03-02 14:13:12 +01:00
Jonas Hörsch
cd970dad2b
solve_operations_network: Add rule to solve opf with previously optimized capacities
2018-02-19 10:17:49 +01:00
Jonas Hörsch
de7cbd4e27
Several minor fixes
2018-02-19 10:16:29 +01:00
Jonas Hörsch
825c2342fc
solve_network: Kill subprocess in log_memory in the case of an exception
2018-02-19 10:13:48 +01:00
Jonas Hörsch
8d70766e72
{prepare,solve}_network: Don't add a line volume limit for lv1.0
...
lv1.0 signifies lines being non-extendable!
2018-02-19 10:11:58 +01:00
Jonas Hörsch
de5916eb57
Fix co2 emissions by OCGT
2018-02-19 10:09:39 +01:00
Jonas Hörsch
2c0b66c510
{simplify,cluster}_network: Fix two-step clustering and introduce m suffix
...
- a network name like elec_s1000_ now clusters the network down to 1000 buses in
the simplify step.
- an 'm' after the number of clusters as in elec_s1000_181m_ skips the
aggregation of renewable generators and just moves them to the new clustered
bus in the second clustering step.
- to distribute the number of clusters to countries a small quadratic
optimization is now performed to minimize \sum_i (n_i - L_i/\sum_j L_j N)**2,
where n_i >= 1.
2018-02-19 10:03:25 +01:00
Jonas Hörsch
7f3a1a6cd0
build_renewable_{potentials,profiles}: Fix landuse types and introduce linear correction factor
2018-02-19 09:59:29 +01:00
Jonas Hörsch
cb5681df18
Fix cluster use and memory requirements
2018-02-10 17:19:46 +01:00
Jonas Hörsch
6a613ea483
build_powerplants: Separate loading of power plant list into new rule
2018-02-10 17:16:20 +01:00
Jonas Hörsch
3cb57db043
solve_network: Clean up
2018-02-01 12:42:56 +01:00
Jonas Hörsch
b7a1a090f1
Use MockSnakemake and logging.basicConfig everywhere
2018-02-01 12:42:11 +01:00
Jonas Hörsch
2fc2d09ad3
base_network: Buses under construction should not be used as substations
2018-02-01 12:28:21 +01:00
Jonas Hörsch
5723a07f48
Add missing p_nom and introduce MockSnakemake
2018-02-01 12:05:25 +01:00
Jonas Hörsch
ff0d302479
Add all the parts to solve all networks
2018-01-30 23:49:41 +01:00
Jonas Hörsch
abe88c2d18
Fix nans introduced through marginal_cost
2018-01-30 23:12:36 +01:00
Jonas Hörsch
99299564d6
Split simplify_network from cluster_network
2018-01-30 23:11:16 +01:00
Jonas Hörsch
2b05c79e94
Fix solve_network
2018-01-30 23:09:06 +01:00
Jonas Hörsch
5222b7c288
base_network: parameter_corrections respect column type
2018-01-30 16:26:04 +01:00
Jonas Hoersch
a867e245b3
Electricity network, Clustering and Solving
2018-01-29 22:28:33 +01:00
Jonas Hoersch
2c7f013e39
base_network: Remove clean-up code that moved directly into gridkit
2017-12-19 13:28:16 +01:00
Jonas Hoersch
6e1566ac32
snakemake: Add skeletons and add prepare_links_p_nom rule
2017-12-18 20:34:15 +01:00
Jonas Hoersch
5f4dc833b8
scripts: Add first version of base_network and solve_network scripts
2017-12-18 20:31:27 +01:00