build_renewable_{potentials,profiles}: Fix landuse types and introduce linear correction factor
This commit is contained in:
parent
cb5681df18
commit
7f3a1a6cd0
@ -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
|
||||
|
@ -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.))
|
||||
|
Loading…
Reference in New Issue
Block a user