def __init__(self, site: SiteInfo, interconnect_kw): """ Class that houses the hybrid system performance and financials. Enforces interconnection and curtailment limits based on PySAM's Grid module :param site: Power source site information (SiteInfo object) :param interconnect_kw: Interconnection limit [kW] """ system_model = GridModel.default("GenericSystemSingleOwner") financial_model: Singleowner.Singleowner = Singleowner.from_existing(system_model, "GenericSystemSingleOwner") super().__init__("Grid", site, system_model, financial_model) self._system_model.GridLimits.enable_interconnection_limit = 1 self._system_model.GridLimits.grid_interconnection_limit_kwac = interconnect_kw # financial calculations set up self._financial_model.value("add_om_num_types", 1) self._dispatch: GridDispatch = None # TODO: figure out if this is the best place for these self.missed_load = [0.] self.missed_load_percentage = 0.0 self.schedule_curtailed = [0.] self.schedule_curtailed_percentage = 0.0
def __init__(self, site: SiteInfo, interconnect_kw): system_model = GridModel.default("GenericSystemSingleOwner") financial_model: Singleowner.Singleowner = Singleowner.from_existing( system_model, "GenericSystemSingleOwner") super().__init__("Grid", site, system_model, financial_model) self.system_model.GridLimits.enable_interconnection_limit = 1 self.system_model.GridLimits.grid_interconnection_limit_kwac = interconnect_kw