build_renewable_{potentials,profiles}: Fix landuse types and introduce linear correction factor

This commit is contained in:
Jonas Hörsch 2018-02-19 09:56:15 +01:00
parent cb5681df18
commit 7f3a1a6cd0
2 changed files with 10 additions and 3 deletions

View File

@ -36,6 +36,7 @@ renewable:
turbine: Vestas_V112_3MW
# ScholzPhd Tab 4.3.1: 10MW/km^2
capacity_per_sqm: 3
# correction_factor: 0.93
corine:
#The selection of CORINE Land Cover [1] types that are allowed for wind and solar are based on [2] p.42 / p.28
#
@ -55,6 +56,7 @@ renewable:
# ScholzPhd Tab 4.3.1: 10MW/km^2
capacity_per_sqm: 3
height_cutoff: 50
# correction_factor: 0.93
corine:
grid_codes: [44, 255]
natura: true
@ -66,8 +68,10 @@ renewable:
orientation: latitude_optimal
# ScholzPhd Tab 4.3.1: 170 MW/km^2
capacity_per_sqm: 1.7
correction_factor: 0.882
corine:
grid_codes: [44, 255]
grid_codes: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17,
18, 19, 20, 26, 31, 32]
natura: true
hydro:
cutout: europe-2012-2016-era5

View File

@ -29,7 +29,10 @@ indicatormatrix = cutout.indicatormatrix(regions.geometry)
resource = config['resource']
func = getattr(cutout, resource.pop('method'))
capacity_factor = func(capacity_factor=True, **resource)
correction_factor = config.get('correction_factor', 1.)
if correction_factor != 1.:
logger.warning('correction_factor is set as {}'.format(correction_factor))
capacity_factor = correction_factor * func(capacity_factor=True, **resource)
layout = capacity_factor * potentials
profile, capacities = func(matrix=indicatormatrix, index=regions.index,
@ -42,7 +45,7 @@ p_nom_max = xr.DataArray([np.nanmin(relativepotentials[row.nonzero()[1]])
for row in indicatormatrix.tocsr()],
[capacities.coords['bus']]) * capacities
ds = xr.merge([profile.rename('profile'),
ds = xr.merge([(correction_factor * profile).rename('profile'),
capacities.rename('weight'),
p_nom_max.rename('p_nom_max')])
(ds.sel(bus=ds['profile'].mean('time') > config.get('min_p_max_pu', 0.))