File tree Expand file tree Collapse file tree 1 file changed +15
-0
lines changed
Expand file tree Collapse file tree 1 file changed +15
-0
lines changed Original file line number Diff line number Diff line change @@ -166,6 +166,21 @@ void cm_fuelcell::exec()
166166 percent_complete = as_float("percent_complete");
167167 }
168168*/
169+ if (as_integer (" fuelcell_dispatch_choice" ) == FuelCellDispatch::MANUAL) {
170+
171+ size_t max_period = 6 ;
172+ util::matrix_t <size_t > m_scheduleWeekday = as_matrix_unsigned_long (" dispatch_manual_fuelcell_sched" );
173+ util::matrix_t <size_t > m_scheduleWeekend = as_matrix_unsigned_long (" dispatch_manual_fuelcell_sched_weekend" );
174+ size_t * discharge_schedule_vec = m_scheduleWeekday.data ();
175+ size_t * period_num = std::find_if (discharge_schedule_vec, discharge_schedule_vec + m_scheduleWeekday.ncells () - 1 , [max_period](size_t element) { return (max_period < element); });
176+ if (*period_num > max_period)
177+ throw exec_error (" fuelcell" , " Invalid manual dispatch period in weekday schedule. Period numbers must be less than or equal to 6." );
178+
179+ discharge_schedule_vec = m_scheduleWeekend.data ();
180+ period_num = std::find_if (discharge_schedule_vec, discharge_schedule_vec + m_scheduleWeekend.ncells () - 1 , [max_period](size_t element) { return (max_period < element); });
181+ if (*period_num > max_period)
182+ throw exec_error (" fuelcell" , " Invalid manual dispatch period in weekend schedule. Period numbers must be less than or equal to 6." );
183+ }
169184
170185 construct ();
171186 size_t idx = 0 ;
You can’t perform that action at this time.
0 commit comments