@sh.add_function(dsp, outputs=['gear_box_mean_efficiency'])
def identify_gear_box_mean_efficiency(gear_box_powers_in, gear_box_powers_out):
"""
Identify gear box mean efficiency [-].
:param gear_box_powers_in:
Gear box power in vector [kW].
:type gear_box_powers_in: numpy.array
:param gear_box_powers_out:
Gear box power out vector [kW].
:type gear_box_powers_out: numpy.array
:return:
Gear box mean efficiency [-].
:rtype: float
"""
with np.errstate(divide='ignore', invalid='ignore'):
eff = gear_box_powers_out / gear_box_powers_in
b = eff > 1
eff[b] = 1 / eff[b]
return reject_outliers(eff[np.isfinite(eff) & (eff >= 0)])[0]