@sh.add_function(dsp, outputs=['final_drive_powers_in'])
def calculate_final_drive_powers_in(
final_drive_powers_out, final_drive_efficiency):
"""
Calculate final drive power in [kW].
:param final_drive_powers_out:
Final drive power out [kW].
:type final_drive_powers_out: numpy.array | float
:param final_drive_efficiency:
Final drive efficiency [-].
:type final_drive_efficiency: float
:return:
Final drive power in [kW].
:rtype: numpy.array | float
"""
eff, p = final_drive_efficiency, final_drive_powers_out
return np.where(p > 0, eff, 1 / eff) * p