@sh.add_function(dsp, inputs_kwargs=True, outputs=['engine_speeds_out_hot'])
def calculate_engine_speeds_out_hot(
gear_box_speeds_in, on_engine, idle_engine_speed):
"""
Calculates the engine speed at hot condition [RPM].
:param gear_box_speeds_in:
Gear box speed [RPM].
:type gear_box_speeds_in: numpy.array | float
:param on_engine:
If the engine is on [-].
:type on_engine: numpy.array, bool
:param idle_engine_speed:
Idle engine speed and its standard deviation [RPM].
:type idle_engine_speed: (float, float)
:return:
Engine speed at hot condition [RPM].
:rtype: numpy.array, float
"""
return np.where(
on_engine, np.maximum(gear_box_speeds_in, idle_engine_speed[0]), 0
)