Module nemo.scenarios
Supply side scenarios.
Functions
def ccgt(context)
-
Expand source code
def ccgt(context): """All gas scenario.""" context.generators = [CCGT(WILDCARD, 0), *_pumped_hydro(), *_hydro(), OCGT(WILDCARD, 0)]
All gas scenario.
def ccgt_ccs(context)
-
Expand source code
def ccgt_ccs(context): """CCGT CCS scenario.""" # pylint: disable=redefined-outer-name ccgt = CCGT_CCS(WILDCARD, 0) ocgt = OCGT(WILDCARD, 0) context.generators = [ccgt, *_pumped_hydro(), *_hydro(), ocgt]
CCGT CCS scenario.
def coal_ccs(context)
-
Expand source code
def coal_ccs(context): """Coal CCS scenario.""" coal = Coal_CCS(WILDCARD, 0) ocgt = OCGT(WILDCARD, 0) context.generators = [coal, *_pumped_hydro(), *_hydro(), ocgt]
Coal CCS scenario.
def re100(context)
-
Expand source code
def re100(context): """100% renewable electricity.""" result = [] # The following list is in merit order. for g in [PV1Axis, Wind, WindOffshore, PumpedHydroTurbine, Battery, Hydro, CentralReceiver, Biofuel]: if g == PumpedHydroTurbine: result += _pumped_hydro() elif g == Hydro: result += _hydro() elif g == Battery: for duration in [1, 2, 4, 8, 12, 24]: result += _battery(24, 0, duration, "battery") elif g == WindOffshore: cfg = configfile.get('generation', 'offshore-wind-trace') for column, poly in enumerate([31, 36, 38, 40]): result.append(g(poly, 0, cfg, column, build_limit=offshore_wind_limit[poly], label=f'polygon {poly} offshore')) elif g in [Biofuel, PV1Axis, CentralReceiver, Wind]: result += _every_poly(g) else: raise UnreachableError context.generators = result
100% renewable electricity.
def re100_dsp(context)
-
Expand source code
def re100_dsp(context): """Mostly renewables with demand side participation.""" re100(context) context.generators += _demand_response()
Mostly renewables with demand side participation.
def re100_nocst(context)
-
Expand source code
def re100_nocst(context): """100% renewables, but no CST.""" re100(context) newlist = [g for g in context.generators if not isinstance(g, CST)] context.generators = newlist
100% renewables, but no CST.
def re100_nsw(context)
-
Expand source code
def re100_nsw(context): """100% renewables in New South Wales only.""" re100_one_region(context, regions.nsw)
100% renewables in New South Wales only.
def re100_one_region(context, region)
-
Expand source code
def re100_one_region(context, region): """100% renewables in one region only.""" re100(context) context.regions = [region] wind, pv, cst = _one_per_poly(region) newlist = wind newlist += pv newlist += [g for g in context.generators if isinstance(g, Hydro) and g.region() is region] newlist += cst newlist += [g for g in context.generators if isinstance(g, Biofuel) and g.region() is region] context.generators = newlist
100% renewables in one region only.
def re100_qld(context)
-
Expand source code
def re100_qld(context): """100% renewables in Queensland only.""" re100_one_region(context, regions.qld)
100% renewables in Queensland only.
def re100_south_aus(context)
-
Expand source code
def re100_south_aus(context): """100% renewables in South Australia only.""" re100_one_region(context, regions.sa)
100% renewables in South Australia only.
def re_plus_ccs(context)
-
Expand source code
def re_plus_ccs(context): """Mostly renewables with fossil and CCS augmentation.""" re100(context) coal = Black_Coal(WILDCARD, 0) # pylint: disable=redefined-outer-name coal_ccs = Coal_CCS(WILDCARD, 0) # pylint: disable=redefined-outer-name ccgt = CCGT(WILDCARD, 0) ccgt_ccs = CCGT_CCS(WILDCARD, 0) ocgt = OCGT(WILDCARD, 0) context.generators = [coal, coal_ccs, ccgt, ccgt_ccs] + \ context.generators[:-4] + [ocgt]
Mostly renewables with fossil and CCS augmentation.
def re_plus_fossil(context)
-
Expand source code
def re_plus_fossil(context): """Mostly renewables with some fossil augmentation.""" re100(context) context.generators = \ [Black_Coal(WILDCARD, 0), CCGT(WILDCARD, 0)] + \ context.generators[:-4] + [OCGT(WILDCARD, 0)]
Mostly renewables with some fossil augmentation.
def re_plus_nuclear(context)
-
Expand source code
def re_plus_nuclear(context): """Renewables with nuclear and OCGT peakers.""" re100(context) context.generators = \ [Nuclear(WILDCARD, 0)] + context.generators[:-4] + \ [OCGT(WILDCARD, 0)]
Renewables with nuclear and OCGT peakers.
def replacement(context)
-
Expand source code
def replacement(context): """Replace the current NEM fleet, more or less.""" context.generators = \ [Black_Coal(WILDCARD, 0), *_pumped_hydro(), *_hydro(), OCGT(WILDCARD, 0)]
Replace the current NEM fleet, more or less.