@sh.add_function(dsp, outputs=['co2_emission_value'])
def calculate_co2_emission_value(phases_co2_emissions, phases_distances):
"""
Calculates the CO2 emission of the cycle [CO2g/km].
:param phases_co2_emissions:
CO2 emission of cycle phases [CO2g/km].
:type phases_co2_emissions: numpy.array
:param phases_distances:
Cycle phases distances [km].
:type phases_distances: numpy.array | float
:return:
CO2 emission value of the cycle [CO2g/km].
:rtype: float
"""
n = sum(phases_co2_emissions * phases_distances)
if isinstance(phases_distances, float):
d = phases_distances * len(phases_co2_emissions)
else:
d = sum(phases_distances)
return float(n / d)