From e0fae22777d53a84e140e1e97ed7f726a95d53f9 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Fri, 23 Dec 2022 11:17:10 +0100
Subject: [PATCH] moddata: calculate ice max load time share and gearshift
 count only if ICE and transmission are present

---
 VectoCore/VectoCore/OutputData/IModalDataContainer.cs | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
index 699d079b22..9850b5e55e 100644
--- a/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
+++ b/VectoCore/VectoCore/OutputData/IModalDataContainer.cs
@@ -615,6 +615,9 @@ namespace TUGraz.VectoCore.OutputData
 
 		public static Scalar ICEMaxLoadTimeShare(this IModalDataContainer data)
 		{
+			if (!data.HasCombustionEngine) {
+				return 0.SI<Scalar>();
+			}
 			var tmp = data.GetValues(x => new {
 				tMax = x.Field<NewtonMeter>(ModalResultField.T_ice_full.GetName()).DefaultIfNull(-1),
 				tEng = x.Field<NewtonMeter>(ModalResultField.T_ice_fcmap.GetName()).DefaultIfNull(0),
@@ -656,6 +659,9 @@ namespace TUGraz.VectoCore.OutputData
 		/// <returns></returns>
 		public static Scalar GearshiftCount(this IModalDataContainer data)
 		{
+			if (!data.HasGearbox) {
+				return 0.SI<Scalar>();
+			}
 			var prevGear = data.GetValues<uint>(ModalResultField.Gear).First();
 			var lastGear = prevGear;
 			var gearCount = 0;
-- 
GitLab