@sh.add_function(dsp, outputs=['start_stop_hybrid_params'])
def calibrate_start_stop_hybrid_params(
ems_model, dcdc_converter_efficiency, starter_model, ems_data,
on_engine, drive_battery_state_of_charges,
after_treatment_warm_up_phases):
"""
Calibrate start stop model for hybrid electric vehicles.
:param ems_model:
Energy Management Strategy model.
:type ems_model: EMS
:param starter_model:
Starter model.
:type starter_model: StarterModel
:param dcdc_converter_efficiency:
DC/DC converter efficiency [-].
:type dcdc_converter_efficiency: float
:param ems_data:
EMS decision data.
:type ems_data: dict
:param on_engine:
If the engine is on [-].
:type on_engine: numpy.array
:param drive_battery_state_of_charges:
State of charge of the drive battery [%].
:type drive_battery_state_of_charges: numpy.array
:param after_treatment_warm_up_phases:
Phases when engine is affected by the after treatment warm up [-].
:type after_treatment_warm_up_phases: numpy.array
:return:
Params of start stop model for hybrid electric vehicles.
:rtype: dict
"""
return StartStopHybrid(
ems_model, dcdc_converter_efficiency, starter_model).fit(
ems_data, on_engine, drive_battery_state_of_charges,
after_treatment_warm_up_phases
).params