def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'Resource Adequacy', params) # add RA specific attributes self.days = params['days'] # number of peak events self.length = params['length'] # discharge duration self.idmode = params['idmode'].lower() # peak selection mode self.dispmode = params['dispmode'] # dispatch mode self.capacity_rate = params[ 'value'] # monthly RA capacity rate (length = 12) if 'active hours' in self.idmode: self.active = params[ 'active'] == 1 # active RA timesteps (length = 8760/dt) must be boolean, not int self.system_load = params[ 'system_load'] # system load profile (length = 8760/dt) # initialize the following atrributes to be set later self.peak_intervals = [] self.event_intervals = None self.event_start_times = None self.charge_max_constraint = None self.discharge_min_constraint = None self.energy_min_constraint = None self.qc = 0
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'Deferral', params) # add Deferral specific attributes self.max_import = params['planned_load_limit'] # positive self.max_export = params['reverse_power_flow_limit'] # negative self.last_year = params['last_year'].year self.year_failed = params['last_year'].year + 1 self.min_years = params.get('min_year_objective', 0) self.load = params['load'] # deferral load self.growth = params['growth'] # Growth Rate of deferral load (%/yr) self.price = params['price'] # $/yr self.p_min = 0 self.e_min = 0 self.deferral_df = None self.e_walk = pd.Series() self.power_requirement = pd.Series()
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ ValueStream.__init__(self, 'DA', params) self.price = params['price'] self.growth = params['growth'] # growth rate of energy prices (%/yr)
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'Backup', params) self.energy_req = params['daily_energy'] self.monthly_energy = params[ 'monthly_energy'] # raw input form of energy requirement self.price = params['monthly_price']
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ ValueStream.__init__(self, 'retailETS', params) self.price = params['price'] self.tariff = params['tariff'] self.growth = params['growth'] / 100 self.billing_period_bill = pd.DataFrame() self.monthly_bill = pd.DataFrame()
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'Volt Var', params) # add voltage support specific attributes self.vars_percent = params['percent'] / 100 self.price = params['price'] self.vars_reservation = 0
def __init__(self, name, full_name, params): """ Generates the objective function, finds and creates constraints. Args: name (str): abbreviated name full_name (str): the expanded name of the service params (Dict): input parameters """ ValueStream.__init__(self, name, params) self.price = params['price'] self.growth = params[ 'growth'] # growth rate of spinning reserve price (%/yr) self.duration = params['duration'] self.full_name = full_name self.variable_names = {'ch_less', 'dis_more'} self.variables_df = pd.DataFrame(columns=self.variable_names)
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'Demand Response', params) # add dr specific attributes to object self.days = params['days'] self.length = params.get('length') # length of an event self.weekend = params['weekend'] self.start_hour = params['program_start_hour'] self.end_hour = params.get( 'program_end_hour') # last hour of the program self.day_ahead = params[ 'day_ahead'] # indicates whether event is scheduled in real-time or day ahead # handle length and end_hour attributes here self.fill_dr_event_details() # timeseries data self.system_load = params['system_load'] self.months = params['dr_months'] == 1 self.cap_commitment = params[ 'dr_cap'] # this is the max capacity a user is willing to provide # monthly data self.cap_monthly = params['cap_monthly'] self.cap_price = params['cap_price'] self.ene_price = params['ene_price'] # the following attributes will be used to save values during analysis self.qc = None self.qe = None self.charge_max_constraint = pd.Series() self.discharge_min_constraint = pd.Series() self.energy_min_constraint = pd.Series() self.possible_event_times = None
def __init__(self, params): """ Generates the objective function, finds and creates constraints. Acceptable constraint names are: 'Power Max (kW)', 'Power Min (kW)', 'Energy Max (kWh)', 'Energy Min (kWh)' Args: params (Dict): input parameters """ # generate the generic service object ValueStream.__init__(self, 'User Constraints', params) self.user_power = params['power'] self.user_energy = params['energy'] self.price = params['price'] # $/yr self.charge_min_constraint = None self.charge_max_constraint = None self.discharge_min_constraint = None self.discharge_max_constraint = None self.soe_min_constraint = None self.soe_max_constraint = None
def __init__(self, name, full_name, params): """ Generates the objective function, finds and creates constraints. Args: name (str): abbreviated name full_name (str): the expanded name of the service params (Dict): input parameters """ ValueStream.__init__(self, name, params) self.full_name = full_name self.combined_market = params['CombinedMarket'] self.duration = params['duration'] self.energy_growth = params['energyprice_growth'] / 100 self.eod_avg = params['eod'] self.eou_avg = params['eou'] self.growth = params['growth'] / 100 self.price_down = params['regd_price'] self.price_up = params['regu_price'] self.price_energy = params['energy_price'] self.variable_names = {'up_ch', 'up_dis', 'down_ch', 'down_dis'} self.variables_df = pd.DataFrame(columns=self.variable_names)