nice_names = (pd.Series(config['plotting']['nice_names']) .reindex(carrier_i).fillna(carrier_i.to_series().str.title())) n.carriers['nice_name'] = nice_names colors = pd.Series(config['plotting']['tech_colors']).reindex(carrier_i) if colors.isna().any(): missing_i = list(colors.index[colors.isna()]) logger.warning(f'tech_colors for carriers {missing_i} not defined ' 'in config.') n.carriers['color'] = colors if __name__ == "__main__": if 'snakemake' not in globals(): from _helpers import mock_snakemake snakemake = mock_snakemake('add_electricity') configure_logging(snakemake) n = pypsa.Network(snakemake.input.base_network) Nyears = n.snapshot_weightings.sum() / 8760. costs = load_costs(Nyears) ppl = load_powerplants() attach_load(n) update_transmission_costs(n, costs) attach_conventional_generators(n, costs, ppl) attach_wind_and_solar(n, costs) attach_hydro(n, costs, ppl) attach_extendable_generators(n, costs, ppl)
logger = logging.getLogger(__name__) from _helpers import progress_retrieve, configure_logging from pathlib import Path import tarfile if __name__ == "__main__": # Detect running outside of snakemake and mock snakemake for testing if 'snakemake' not in globals(): from _helpers import mock_snakemake snakemake = mock_snakemake('retrieve_databundle') rootpath = '..' else: rootpath = '.' configure_logging( snakemake ) # TODO Make logging compatible with progressbar (see PR #102) if snakemake.config['tutorial']: url = "https://zenodo.org/record/3517921/files/pypsa-eur-tutorial-data-bundle.tar.xz" else: url = "https://zenodo.org/record/3517935/files/pypsa-eur-data-bundle.tar.xz" # Save locations tarball_fn = Path(f"{rootpath}/bundle.tar.xz") to_fn = Path(f"{rootpath}/data") logger.info(f"Downloading databundle from '{url}'.") progress_retrieve(url, tarball_fn) logger.info(f"Extracting databundle.")