Source code for powersimdata.network.constants.carrier.resource

[docs]class USAResource: """Generator type arrangement for USA grid models.""" def __init__(self): self.profile_resources = {"hydro", "solar", "wind", "wind_offshore"} self.group_profile_resources = { "hydro": {"hydro"}, "solar": {"solar"}, "wind": {"wind", "wind_offshore"}, } self.curtailable_resources = {"hydro", "solar", "wind", "wind_offshore"} self.thermal_resources = { "biomass", "coal", "dfo", "geothermal", "ng", "nuclear", } self.renewable_resources = {"wind", "wind_offshore", "solar"} self.carbon_resources = {"biomass", "coal", "dfo", "ng"} self.clean_resources = { "geothermal", "hydro", "nuclear", "solar", "wind", "wind_offshore", } self.group_all_resources = { "biomass": {"biomass"}, "coal": {"coal"}, "geothermal": {"geothermal"}, "hydro": {"hydro"}, "ng": {"ng"}, "nuclear": {"nuclear"}, "other": {"other"}, "oil": {"dfo"}, "solar": {"solar"}, "wind": {"wind", "wind_offshore"}, } self.all_resources = {r for v in self.group_all_resources.values() for r in v} # If None, Pmin in Grid object is maintained or profile is tracked # If not None, Pmin in Grid will be replaced for thermal generators and # range of curtailment will be set for other. self.pmin_as_share_of_pmax = { "biomass": 0, "coal": None, "dfo": 0, "geothermal": 0.95, "hydro": 1, "ng": 0, "nuclear": 0.95, "other": 0, "solar": 0, "wind": 0, "wind_offshore": 0, }
[docs]class EUResource: """Generator type arrangement for EU grid model.""" def __init__(self): self.profile_resources = { "inflow", "offwind-ac", "offwind-dc", "onwind", "ror", "solar", } self.group_profile_resources = { "hydro": {"inflow", "ror"}, "solar": {"solar"}, "wind": {"onwind", "offwind-ac", "offwind-dc"}, } self.curtailable_resources = { "inflow", "offwind-ac", "offwind-dc", "onwind", "ror", "solar", } self.thermal_resources = { "biomass", "CCGT", "coal", "geothermal", "lignite", "nuclear", "oil", "OCGT", } self.renewable_resources = {"offwind-ac", "offwind-dc", "onwind", "solar"} self.carbon_resources = { "biomass", "CCGT", "coal", "lignite", "OCGT", "oil", } self.clean_resources = { "geothermal", "inflow", "nuclear", "offwind-ac", "offwind-dc", "onwind", "ror", "solar", } self.group_all_resources = { "biomass": {"biomass"}, "coal": {"coal", "lignite"}, "geothermal": {"geothermal"}, "hydro": {"inflow", "ror"}, "ng": {"CCGT", "OCGT"}, "nuclear": {"nuclear"}, "oil": {"oil"}, "solar": {"solar"}, "wind": {"onwind", "offwind-ac", "offwind-dc"}, } self.all_resources = {r for v in self.group_all_resources.values() for r in v} self.pmin_as_share_of_pmax = { "biomass": None, "CCGT": None, "coal": None, "geothermal": None, "inflow": 0, "lignite": None, "nuclear": None, "OCGT": None, "oil": None, "offwind-ac": 0, "offwind-dc": 0, "onwind": 0, "ror": 0, "solar": 0, }
[docs]def get_resource(model): """Return arrrangement of generator types. :param str model: grid model """ _lookup = { "usa_tamu": USAResource, "hifld": USAResource, "europe_tub": EUResource, } return _lookup[model]().__dict__