@@ -45,11 +45,13 @@ dispatch_manual_t::dispatch_manual_t(battery_t * Battery, double dt, double SOC_
4545 util::matrix_t <size_t > dm_dynamic_sched, util::matrix_t <size_t > dm_dynamic_sched_weekend,
4646 std::vector<bool > dm_charge, std::vector<bool > dm_discharge, std::vector<bool > dm_gridcharge, std::vector<bool > dm_fuelcellcharge, std::vector<bool > dm_btm_to_grid,
4747 std::map<size_t , double > dm_percent_discharge, std::map<size_t , double > dm_percent_gridcharge, bool can_clip_charge, bool can_curtail_charge, double interconnection_limit,
48+ size_t start_day_of_year,
4849 bool chargeOnlySystemExceedLoad, bool dischargeOnlyLoadExceedSystem, double SOC_min_outage, bool priorityChargeBattery)
4950 : dispatch_t (Battery, dt, SOC_min, SOC_max, current_choice, Ic_max, Id_max, Pc_max_kwdc, Pd_max_kwdc, Pc_max_kwac, Pd_max_kwac,
5051 t_min, mode, battMeterPosition, interconnection_limit, chargeOnlySystemExceedLoad, dischargeOnlyLoadExceedSystem, SOC_min_outage)
5152{
52- init_with_vects (dm_dynamic_sched, dm_dynamic_sched_weekend, dm_charge, dm_discharge, dm_gridcharge, dm_fuelcellcharge, dm_btm_to_grid, dm_percent_discharge, dm_percent_gridcharge, can_clip_charge, can_curtail_charge, priorityChargeBattery);
53+ init_with_vects (dm_dynamic_sched, dm_dynamic_sched_weekend, dm_charge, dm_discharge, dm_gridcharge, dm_fuelcellcharge, dm_btm_to_grid, dm_percent_discharge, dm_percent_gridcharge,
54+ can_clip_charge, can_curtail_charge, priorityChargeBattery, start_day_of_year);
5355}
5456
5557void dispatch_manual_t::init_with_vects (
@@ -64,7 +66,8 @@ void dispatch_manual_t::init_with_vects(
6466 std::map<size_t , double > dm_percent_gridcharge,
6567 bool can_clip_charge,
6668 bool can_curtail_charge,
67- bool priorityChargeBattery)
69+ bool priorityChargeBattery,
70+ size_t start_day_of_year)
6871{
6972 _sched = dm_dynamic_sched;
7073 _sched_weekend = dm_dynamic_sched_weekend;
@@ -79,6 +82,7 @@ void dispatch_manual_t::init_with_vects(
7982 _can_curtail_charge = can_curtail_charge;
8083 _priority_charge_battery = priorityChargeBattery;
8184 _iprofile = 0 ;
85+ _start_day_of_year = start_day_of_year;
8286}
8387
8488// deep copy from dispatch to this
@@ -88,7 +92,7 @@ dispatch_t(dispatch)
8892 const dispatch_manual_t * tmp = dynamic_cast <const dispatch_manual_t *>(&dispatch);
8993 init_with_vects (tmp->_sched , tmp->_sched_weekend ,
9094 tmp->_charge_array , tmp->_discharge_array , tmp->_gridcharge_array , tmp->_fuelcellcharge_array , tmp->_discharge_grid_array ,
91- tmp->_percent_discharge_array , tmp->_percent_charge_array , tmp->_can_clip_charge , tmp->_can_curtail_charge , tmp->_priority_charge_battery );
95+ tmp->_percent_discharge_array , tmp->_percent_charge_array , tmp->_can_clip_charge , tmp->_can_curtail_charge , tmp->_priority_charge_battery , tmp-> _start_day_of_year );
9296}
9397
9498// shallow copy from dispatch to this
@@ -98,7 +102,7 @@ void dispatch_manual_t::copy(const dispatch_t * dispatch)
98102 const dispatch_manual_t * tmp = dynamic_cast <const dispatch_manual_t *>(dispatch);
99103 init_with_vects (tmp->_sched , tmp->_sched_weekend ,
100104 tmp->_charge_array , tmp->_discharge_array , tmp->_gridcharge_array , tmp->_fuelcellcharge_array , tmp->_discharge_grid_array ,
101- tmp->_percent_discharge_array , tmp->_percent_charge_array , tmp->_can_clip_charge , tmp->_can_curtail_charge , tmp->_priority_charge_battery );
105+ tmp->_percent_discharge_array , tmp->_percent_charge_array , tmp->_can_clip_charge , tmp->_can_curtail_charge , tmp->_priority_charge_battery , tmp-> _start_day_of_year );
102106}
103107
104108void dispatch_manual_t::prepareDispatch (size_t hour_of_year, size_t )
@@ -108,7 +112,7 @@ void dispatch_manual_t::prepareDispatch(size_t hour_of_year, size_t )
108112 size_t column = h - 1 ;
109113 _iprofile = 0 ;
110114
111- bool is_weekday = util::weekday (hour_of_year);
115+ bool is_weekday = util::weekday (hour_of_year, _start_day_of_year );
112116 if (!is_weekday && _mode == MANUAL)
113117 _iprofile = _sched_weekend (m - 1 , column);
114118 else
0 commit comments