Move config.yaml to a static place; "Getting Started" in README.md

config.default.yaml should be copied to config.yaml by new users.

That way config.yaml doesn't change every time the developers use new
settings.

A basic "Getting Started" section is added to the README.

Changes to be committed:
	modified:   .gitignore
	modified:   README.md
	renamed:    config.yaml -> config.default.yaml
This commit is contained in:
Tom Brown 2020-04-30 09:56:24 +02:00
parent f9952b9aad
commit 8cbd3992ff
3 changed files with 46 additions and 13 deletions

4
.gitignore vendored
View File

@ -38,4 +38,6 @@ gurobi.log
/tmp
/pypsa
*.xlsx
*.xlsx
config.yaml

View File

@ -101,9 +101,11 @@ projects % git clone git@github.com:nworbmot/pypsa-eur-sec.git
## Package requirements
The requirements are the same as
[PyPSA-Eur](https://github.com/PyPSA/pypsa-eur), but for
`solve_network.py` in addition you need `gurobipy` and version 0.16.1
or greater of PyPSA in order to use the `nomopyomo` framework.
[PyPSA-Eur](https://github.com/PyPSA/pypsa-eur). For
`solve_network.py` in addition you need `gurobipy`. If you have
xarray version >= 0.15.1, you will need the latest master branch of
atlite version 0.0.2.
## Data requirements
@ -119,3 +121,29 @@ To download and extract it on the command line:
projects/pypsa-eur-sec/data % wget "https://nworbmot.org/pypsa-eur-sec-data-bundle-190719.tar.gz"
projects/pypsa-eur-sec/data % tar xvzf pypsa-eur-sec-data-bundle-190719.tar.gz
```
# Getting started
First make your own copy of the `config.yaml`:
```shell
projects/pypsa-eur-sec % cp config.default.yaml config.yaml
```
In `config.yaml` you can control the settings for the scenarios you
want to run, such as the number of nodes, the CO2 limit, the
installable potentials for solar and wind, which technologies are
activated, etc.
To run the full optimization with your settings:
```shell
projects/pypsa-eur-sec % snakemake
```
Warning: you may need a cluster for this (with e.g. 10-100 GB of RAM
and several processors).
To only prepare the networks, you can run the scripts up to the point before optimization:
```shell
projects/pypsa-eur-sec % snakemake prepare_sector_networks
```

View File

@ -2,17 +2,20 @@ logging_level: INFO
results_dir: 'results/'
summary_dir: results
run: '200429-distgrids-ev-hp-pv-batt-upgrade'
run: 'your-run-name' # use this to keep track of runs with different settings
scenario:
sectors: [E] # ,E+EV,E+BEV,E+BEV+V2G] # [ E+EV, E+BEV, E+BEV+V2G ]
simpl: ['']
lv: [1.0]# or opt
clusters: [50] #[90, 128, 181] #[45, 64, 90, 128, 181, 256] #, 362] # (2**np.r_[5.5:9:.5]).astype(int) minimum is 37
opts: [''] #for pypsa-eur
sector_opts: [Co2L0-3H-T-H-B-I-solar3-dist1]#Co2L0-3H-T-H-B-I-onwind0-solar3,Co2L0-3H-T-H-B-I-onwind0p125-solar3,Co2L0-3H-T-H-B-I-onwind0p25-solar3,Co2L0-3H-T-H-B-I-onwind0p50-solar3,Co2L0-3H-T-H-B-I-solar3]#[Co2L0-3H-T-H-B-I]#,Co2L0p2-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#,Co2L0p1-3H-T-H-B-I,Co2L0p25-3H-T-H-B-I,Co2L0p5-3H-T-H-B-I]#[Co2L0-3H-T-H-B-I-onwind0-solar3,Co2L0-3H-T-H-B-I-onwind0p125-solar3,Co2L0-3H-T-H-B-I-onwind0p25-solar3,Co2L0-3H-T-H-B-I-onwind0p50-solar3,Co2L0-3H-T-H-B-I-solar3]#,Co2L0-3H-T-H-B-I-onwind0p25-solar3]#,Co2L0p05-3H-T-H-B-I,Co2L0p10-3H-T-H-B-I,Co2L0p20-3H-T-H-B-I,Co2L0p30-3H-T-H-B-I,Co2L0p50-3H-T-H-B-I]#[Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0-3H-T-H,Co2L0p20-3H-T-H] #Co2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p20-3H-T-HCo2L-3H-T-H,Co2L0p10-3H-T-H,Co2L0p30-3H-T-H,Co2L0p50-3H-T-H] #Co2L-3H,Co2L-3H-T,, LC-FL, LC-T, Ep-T, Co2L-T]
# Co2L will give default (5%); Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions
#dist{n} includes distribution grids with investment cost of n times cost in data/costs.csv
sectors: [E] # ignore this legacy setting
simpl: [''] # only relevant for PyPSA-Eur
lv: [1.0,1.5] # can be any float >= 1.0 or "opt"
clusters: [45,50] # any integer between 37 and several hundred
opts: [''] # only relevant for PyPSA-Eur
sector_opts: [Co2L0-3H-T-H-B-I-solar3-dist1] # this is where the main scenario settings are
# to really understand the options here, look in scripts/prepare_sector_network.py
# Co2Lx specifies the CO2 target in x% of the 1990 values; default will give default (5%);
# Co2L0p25 will give 25% CO2 emissions; Co2Lm0p05 will give 5% negative emissions
# solarx or onwindx changes the available installable potential by factor x
# dist{n} includes distribution grids with investment cost of n times cost in data/costs.csv
snapshots:
# arguments to pd.date_range