From 43b9d38c35f3c1fa0b3ebe4c34f8e13911bd7aa5 Mon Sep 17 00:00:00 2001
From: Stefanos Doumpoulakis <dubulak@gmail.com>
Date: Wed, 5 Oct 2022 21:03:43 +0300
Subject: [PATCH] improved reporting (simWorkWheelPositive, CO2)

---
 .../VectoCore/OutputData/XML/XMLVTPReport.cs  | 25 ++++++++++++++++---
 1 file changed, 22 insertions(+), 3 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
index e8fce3aa4c..d69e097ece 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLVTPReport.cs
@@ -272,10 +272,14 @@ namespace TUGraz.VectoCore.OutputData.XML
 			var vtpFcSimulated = vtpResult.VTPFcFinalSimulated
 				.Select(x => Tuple.Create(x.Key, x.Value / vtpResult.VTPWorPWheelSimPos))
 				.ToDictionary(x => x.Item1, x => x.Item2);
+
 			var fuels = DeclarationData.FuelData;
-			var cVtp =
-				vtpFcMeasuredCorr.Sum(e => e.Value * fuels.Lookup(e.Key, vtpResult.TankSystem).CO2PerFuelWeightVTP) /
-				vtpFcSimulated.Sum(e => e.Value * fuels.Lookup(e.Key, vtpResult.TankSystem).CO2PerFuelWeightVTP);
+	
+			var CO2Measured = vtpFcMeasured.Sum(e => e.Value * fuels.Lookup(e.Key, vtpResult.TankSystem).CO2PerFuelWeightVTP);
+			var CO2MeasuredCorrected = vtpFcMeasuredCorr.Sum(e => e.Value * fuels.Lookup(e.Key, vtpResult.TankSystem).CO2PerFuelWeightVTP);
+			var CO2Simulated = vtpFcSimulated.Sum(e => e.Value * fuels.Lookup(e.Key, vtpResult.TankSystem).CO2PerFuelWeightVTP);
+
+			var cVtp = CO2MeasuredCorrected / CO2Simulated;
 			var declaredCO2 = result.FuelConsumptionFinal[fuel.FuelType].TotalFuelConsumptionCorrected * fuel.CO2PerFuelWeight / result.Distance / result.Payload;
 			var verifiedCO2 = declaredCO2 * cVtp;
 			var key = "g/t-km";
@@ -289,6 +293,9 @@ namespace TUGraz.VectoCore.OutputData.XML
 				new XElement(
 					tns + "WorkPosVT", new XAttribute(XMLNames.Report_Results_Unit_Attr, "kWh"),
 					vtpResult.VTPWorkPWheelPos.ConvertToKiloWattHour().ToXMLFormat(3)),
+				new XElement(
+					tns + "SimulatedWorkPosVT", new XAttribute(XMLNames.Report_Results_Unit_Attr, "kWh"),
+					vtpResult.VTPWorPWheelSimPos.ConvertToKiloWattHour().ToXMLFormat(3)),
 				vtpResult.FuelNCVs.Select(x => 
 				new XElement(
 					tns + "FuelNCV",
@@ -329,6 +336,18 @@ namespace TUGraz.VectoCore.OutputData.XML
 					new XElement(
 						tns + "Verified", new XAttribute(XMLNames.Report_Results_Unit_Attr, key),
 						new ConvertedSI(declaredCO2.Value(), verifiedCO2.UnitString).ToMinSignificantDigits(3, 2)
+					),
+					new XElement(
+						tns + "Measured",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Measured.ConvertToGramPerKiloWattHour().Units),
+						CO2Measured.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+					),
+					new XElement(
+						tns + "MeasuredCorrected",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Units),
+						CO2MeasuredCorrected.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
+					),
+					new XElement(
+						tns + "Simulated",  new XAttribute(XMLNames.Report_Results_Unit_Attr, CO2Simulated.ConvertToGramPerKiloWattHour().Units),
+						CO2Simulated.ConvertToGramPerKiloWattHour().Value.ToXMLFormat(3)
 					)
 				),
 				new XElement(tns + "C_VTP", cVtp.ToXMLFormat(4)),
-- 
GitLab