Hybrid Dispatch Options

class hopp.simulation.technologies.dispatch.hybrid_dispatch_options.HybridDispatchOptions(dispatch_options: dict | None = None)

Bases: object

Class for setting dispatch options through HybridSimulation class.

Parameters:

dispatch_options (dict) –

Contains attribute key-value pairs to change default options.

  • solver (str, default=’cbc’): MILP solver used for dispatch optimization problem. Options are (‘glpk’, ‘cbc’, ‘xpress’, ‘xpress_persistent’, ‘gurobi_ampl’, ‘gurobi’).

  • solver_options (dict): Dispatch solver options.

  • battery_dispatch (str, default=’simple’): Sets the battery dispatch model to use for dispatch. Options are (‘simple’, ‘one_cycle_heuristic’, ‘heuristic’, ‘non_convex_LV’, ‘convex_LV’).

  • grid_charging (bool, default=True): Can the battery charge from the grid.

  • pv_charging_only (bool, default=False): Whether restricted to only charge from PV (ITC qualification).

  • include_lifecycle_count (bool, default=True): Should battery lifecycle counting be included.

  • lifecycle_cost_per_kWh_cycle (float, default=0.0265): If include_lifecycle_count, cost per kWh cycle.

  • max_lifecycle_per_day (int, default=None): If include_lifecycle_count, how many cycles allowed per day.

  • n_look_ahead_periods (int, default=48): Number of time periods dispatch looks ahead.

  • n_roll_periods (int, default=24): Number of time periods simulation rolls forward after each dispatch.

  • time_weighting_factor (float, default=0.995): Discount factor for the time periods in the look ahead period.

  • log_name (str, default=’’): Dispatch log file name, empty str will result in no log (for development).

  • is_test_start_year (bool, default=False): If True, simulation solves for first 5 days of the year.

  • is_test_end_year (bool, default=False): If True, simulation solves for last 5 days of the year.

  • use_clustering (bool, default=False): If True, the simulation will be run for a selected set of “exemplar” days.

  • n_clusters (int, default=30).

  • clustering_weights (dict, default={}): Custom weights used for classification metrics for data clustering. If empty, default weights will be used.

  • clustering_divisions (dict, default={}): Custom number of averaging periods for classification metrics for data clustering. If empty, default values will be used.

  • use_higher_hours bool (default = False): if True, the simulation will run extra hours analysis (must be used with load following)

  • higher_hours (dict, default = {}): Higher hour count parameters: the value of power that must be available above the schedule and the number of hours in a row

__init__(dispatch_options: dict | None = None)