set bus to nan for powerplants not assigned in kdtree (#123)

* solves #109

* fix substations_i for no-neighbours in kdtree
This commit is contained in:
FabianHofmann 2020-02-03 15:01:24 +01:00 committed by GitHub
parent b479973b7e
commit ef9e64d457
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

5
scripts/build_powerplants.py Normal file → Executable file
View File

@ -76,6 +76,7 @@ from scipy.spatial import cKDTree as KDTree
import pypsa import pypsa
import powerplantmatching as pm import powerplantmatching as pm
import pandas as pd import pandas as pd
import numpy as np
def add_custom_powerplants(ppl): def add_custom_powerplants(ppl):
custom_ppl_query = snakemake.config['electricity']['custom_powerplants'] custom_ppl_query = snakemake.config['electricity']['custom_powerplants']
@ -122,8 +123,8 @@ if __name__ == "__main__":
kdtree = KDTree(n.buses.loc[substation_i, ['x','y']].values) kdtree = KDTree(n.buses.loc[substation_i, ['x','y']].values)
ppl_i = ppl.query('Country == @c').index ppl_i = ppl.query('Country == @c').index
ppl.loc[ppl_i, 'bus'] = substation_i[kdtree.query(ppl.loc[ppl_i, tree_i = kdtree.query(ppl.loc[ppl_i, ['lon','lat']].values)[1]
['lon','lat']].values)[1]] ppl.loc[ppl_i, 'bus'] = substation_i.append(pd.Index([np.nan]))[tree_i]
if cntries_without_ppl: if cntries_without_ppl:
logging.warning(f"No powerplants known in: {', '.join(cntries_without_ppl)}") logging.warning(f"No powerplants known in: {', '.join(cntries_without_ppl)}")