From 3e92ef906709c883419c2a5a12bf5bb770e89bf2 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Wed, 5 Aug 2020 09:48:48 +0200
Subject: [PATCH] update passenger density for primary bus low loading
 (interurban cycle only)

---
 .../UnitTests/SSMTOOLTests.vb                 | 26 ++++++++++---------
 ...larationDataAdapterCompletedBusSpecific.cs |  4 ++-
 .../DeclarationDataAdapterPrimaryBus.cs       |  2 +-
 .../DeclarationDataAdapterSingleBus.cs        |  4 ++-
 .../Declaration/CompletedBusSegments.cs       |  3 ++-
 .../VectoCore/Models/Declaration/Mission.cs   |  3 ++-
 .../Models/Declaration/PrimaryBusSegments.cs  | 21 +++++++++------
 .../PrimaryBusSegmentationTable.csv           | 20 +++++++-------
 VectoCore/VectoCore/VectoCore.csproj          |  4 +--
 ...eclarationSegmentComplete2AxleBusesTest.cs |  6 +++--
 ...eclarationSegmentComplete3AxleBusesTest.cs |  6 +++--
 ...eclarationSegmentComplete4AxleBusesTest.cs |  6 +++--
 .../DeclarationSegmentHeavyBusesTest.cs       | 20 +++++++-------
 13 files changed, 72 insertions(+), 53 deletions(-)

diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
index c939cd7f37..2cab94f3f5 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/SSMTOOLTests.vb
@@ -73,16 +73,17 @@ Namespace UnitTests
         <TestCase("AuxHeater")>
         Public Sub InstantiateDefaultSSMGenInputsTest(section As String)
 
-            Dim mission As New Mission With{ 
-                .BusParameter = New BusParameters() with {
+            Dim mission As New Mission With {
+                .BusParameter = New BusParameters() With {
                 .HVACCompressorType = ACCompressorType.TwoStage,
-                .HVACAuxHeaterPower = 30e3.SI(Of Watt),
+                .HVACAuxHeaterPower = 30000.0.SI(Of Watt),
                 .HVACConfiguration = BusHVACSystemConfiguration.Configuration6,
                 .DoubleDecker = False,
                 .VehicleWidth = 2.55.SI(Of Meter),
-                .VehicleLength = 10.655.SI(Of meter),
+                .VehicleLength = 10.655.SI(Of Meter),
                 .BodyHeight = 2.275.SI(Of Meter),
-                .PassengerDensity = 3.SI(Of PerSquareMeter)
+                .PassengerDensityRef = 3.SI(Of PerSquareMeter),
+                .PassengerDensityLow = 3.SI(Of PerSquareMeter)
             },
             .MissionType = MissionType.Urban
             }
@@ -578,18 +579,19 @@ Namespace UnitTests
             Const filePath As String = "SSMTOOLTestSaveRetreive.json"
             Dim success As Boolean
 
-            
-            Dim mission As New Mission With{ 
+
+            Dim mission As New Mission With {
                 .MissionType = MissionType.HeavyUrban,
-                .BusParameter = New BusParameters() with {
+                .BusParameter = New BusParameters() With {
                     .HVACCompressorType = ACCompressorType.TwoStage,
-                    .HVACAuxHeaterPower = 18e3.SI(Of Watt),
+                    .HVACAuxHeaterPower = 18000.0.SI(Of Watt),
                     .HVACConfiguration = BusHVACSystemConfiguration.Configuration6,
-                    .DoubleDecker = false,
-                    .BodyHeight = 2.7.SI(of Meter),
+                    .DoubleDecker = False,
+                    .BodyHeight = 2.7.SI(Of Meter),
                     .VehicleWidth = 2.55.SI(Of Meter),
                     .VehicleLength = 12.SI(Of Meter),
-                    .PassengerDensity = 3.SI(Of PerSquareMeter)
+                    .PassengerDensityLow = 3.SI(Of PerSquareMeter),
+                    .PassengerDensityRef = 3.SI(Of PerSquareMeter)
                     }
                     }
 
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
index f2562ff750..abbf37a718 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterCompletedBusSpecific.cs
@@ -344,7 +344,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 		protected double GetNumberOfPassengers(Mission mission, Meter length, Meter width, double registeredPassengers, LoadingType loading)
 		{
 			var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(length, width);
-			var passengerCountRef = busFloorArea * mission.BusParameter.PassengerDensity;
+			var passengerCountRef = busFloorArea * (loading == LoadingType.LowLoading
+				? mission.BusParameter.PassengerDensityLow
+				: mission.BusParameter.PassengerDensityRef);
 			//var passengerCountDecl = completedVehicle.NuberOfPassengersUpperDeck + completedVehicle.NumberOfPassengersLowerDeck;
 			if (loading != LoadingType.ReferenceLoad && loading != LoadingType.LowLoading) {
 				throw new VectoException("Unhandled loading type: {0}", loading);
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
index a706bf7a27..af5dbf6893 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterPrimaryBus.cs
@@ -319,7 +319,7 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			retVal.UValue = DeclarationData.BusAuxiliaries.UValue(busParams.VehicleCode.GetFloorType());
 			retVal.NumberOfPassengers =
 				DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(internalLength, busParams.VehicleWidth) *
-				busParams.PassengerDensity *
+				(loadingType == LoadingType.LowLoading ? mission.BusParameter.PassengerDensityLow : mission.BusParameter.PassengerDensityRef) *
 				(loadingType == LoadingType.LowLoading ? mission.MissionType.GetLowLoadFactorBus() : 1.0) + 1; // add driver for 'heat input'
 			retVal.VentilationRate = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, false);
 			retVal.VentilationRateHeating = DeclarationData.BusAuxiliaries.VentilationRate(busParams.HVACConfiguration, true);
diff --git a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs
index 84f9ca2546..f9122c83ac 100644
--- a/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs
+++ b/VectoCore/VectoCore/InputData/Reader/DataObjectAdapter/DeclarationDataAdapterSingleBus.cs
@@ -29,7 +29,9 @@ namespace TUGraz.VectoCore.InputData.Reader.DataObjectAdapter
 			var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(
 				CompletedVehicle.Length,
 				CompletedVehicle.Width);
-			var passengerCountRef = busFloorArea * mission.BusParameter.PassengerDensity;
+			var passengerCountRef = busFloorArea * (loading.Key == LoadingType.LowLoading
+				? mission.BusParameter.PassengerDensityLow
+				: mission.BusParameter.PassengerDensityRef);
 			var passengerCountDecl = CompletedVehicle.NumberOfPassengersUpperDeck + CompletedVehicle.NumberOfPassengersLowerDeck;
 
 			//var refLoad = passengerCount * mission.MissionType.GetAveragePassengerMass();
diff --git a/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs
index b0cf0b6e74..a8474e19b2 100644
--- a/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/CompletedBusSegments.cs
@@ -140,7 +140,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 						DefaultCDxA = row.ParseDouble("cdxastandard").SI<SquareMeter>(),						
 						BusParameter = new BusParameters {
 							BusGroup = VehicleClassHelper.Parse(row.Field<string>("hdvgroup")),
-							PassengerDensity = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(),
+							PassengerDensityLow = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(),
+							PassengerDensityRef = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>(),
 							AirDragMeasurementAllowed = row.ParseBoolean("airdragmeasurement"),
 							ElectricalConsumers = GetVehicleEquipment(row),
 							DoubleDecker =  row.Field<string>("vehiclecode").ParseEnum<VehicleCode>().IsDoubleDeckerBus(),
diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs
index 7b7c669ba9..535e36a5e2 100644
--- a/VectoCore/VectoCore/Models/Declaration/Mission.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs
@@ -131,7 +131,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 		public bool HVACAdjustableAuxHeater { get; internal set; }
 
 		public bool HVACSeparateAirDistributionDucts { get; internal set; }
-		public PerSquareMeter PassengerDensity { get;  internal set; }
+		public PerSquareMeter PassengerDensityLow { get;  internal set; }
+		public PerSquareMeter PassengerDensityRef { get; internal set; }
 		public VehicleClass BusGroup { get; internal set; }
 
 		//Completed Bus
diff --git a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
index eb45fecc19..32dc84845e 100644
--- a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
@@ -94,9 +94,13 @@ namespace TUGraz.VectoCore.Models.Declaration
 
 					var busFloorArea = DeclarationData.BusAuxiliaries.CalculateBusFloorSurfaceArea(row.ParseDouble("length").SI<Meter>(),
 								row.ParseDouble("width").SI<Meter>());
-					var passengerDensity = row.ParseDouble(missionType.ToString()).SI<PerSquareMeter>();
-					var passengerCount = busFloorArea * passengerDensity; // weight of driver is included in curb mass
-					var refLoad = passengerCount * missionType.GetAveragePassengerMass();
+					var passDensities = row.Field<string>(missionType.ToString()).Split('/');
+					
+                    var passengerDensityRef = passDensities.Last().ToDouble().SI<PerSquareMeter>();
+					var passengerDensityLow = passDensities.First().ToDouble().SI<PerSquareMeter>();
+					var passengerCountLow = busFloorArea * passengerDensityLow; // weight of driver is included in curb mass
+					var passengerCountRef = busFloorArea * passengerDensityRef; // weight of driver is included in curb mass
+					//var refLoad = passengerCountRef * missionType.GetAveragePassengerMass();
 					var mission = new Mission {
 						MissionType = missionType,
 						CrossWindCorrectionParameters = row.Field<string>("crosswindcorrection"),
@@ -111,11 +115,11 @@ namespace TUGraz.VectoCore.Models.Declaration
 						Trailer = new List<MissionTrailer>(),
 						MinLoad = null,
 						MaxLoad = null,
-						LowLoad = refLoad * missionType.GetLowLoadFactorBus(),
-						RefLoad = refLoad,
+						LowLoad = passengerCountLow * missionType.GetAveragePassengerMass() * missionType.GetLowLoadFactorBus(),
+						RefLoad = passengerCountRef * missionType.GetAveragePassengerMass(),
 						VehicleHeight = row.ParseDouble("bodyheight").SI<Meter>() + 0.3.SI<Meter>(), //row.ParseDouble("height").SI<Meter>(),
-						PassengersRefLoad = passengerCount,
-						PassengersLowLoad = passengerCount * missionType.GetLowLoadFactorBus(),
+						PassengersRefLoad = passengerCountRef,
+						PassengersLowLoad = passengerCountLow * missionType.GetLowLoadFactorBus(),
 						TotalCargoVolume = 0.SI<CubicMeter>(),
 						DefaultCDxA = row.ParseDouble("cdxastandard").SI<SquareMeter>(),
 						BusParameter = new BusParameters() {
@@ -125,7 +129,8 @@ namespace TUGraz.VectoCore.Models.Declaration
 							BodyHeight = row.ParseDouble("bodyheight").SI<Meter>(),
 							NumberPassengersLowerDeck = row.ParseDouble("passengerslowerdeck"),
 							NumberPassengersUpperDeck = row.ParseDouble("passengersupperdeck"),
-							PassengerDensity = passengerDensity,
+							PassengerDensityLow = passengerDensityLow,
+							PassengerDensityRef = passengerDensityRef,
 							DoubleDecker = row.ParseBoolean("doubledecker"),
 							LowEntry = GetLowEntry(row.Field<string>("lowentry")),
 							EntranceHeight =  row.ParseDouble("entranceheight").SI(Unit.SI.Milli.Meter).Cast<Meter>(),
diff --git a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
index b569e4e215..0932a99beb 100644
--- a/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
+++ b/VectoCore/VectoCore/Resources/Declaration/PrimaryBusSegmentationTable.csv
@@ -2,25 +2,25 @@ HDV group , Production Stage , Vehicle Category , HDV SuperGroup , Articulated ,
 ## Heavy Bus Primary Vehicles
 P31SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CE           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 4.9           , 37.5/62.5           , 2.55  , 12     , 2.8         , 340             , 11975    , 80                  , 0                   , 3           , 3     , 3        ,            ,       , 3                    , 2                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
 P31DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CF           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 6.2           , 37.5/62.5           , 2.55  , 10.5   , 3.8         , 340             , 12350    , 60                  , 40                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P32SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.45          , 37.5/62.5           , 2.55  , 12     , 3.15        , 340             , 13150    , 45                  , 0                   ,             ,       ,          , 1.8        , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P32DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.9           , 37.5/62.5           , 2.55  , 10.5   , 3.7         , 340             , 13400    , 25                  , 35                  ,             ,       ,          , 2.5        , 2     , 1                    , 2                    , 1         , 1                   , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P32SD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.45          , 37.5/62.5           , 2.55  , 12     , 3.15        , 340             , 13150    , 45                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P32DD     , 1                , HeavyBus         , P31_32         , -           , 2         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.9           , 37.5/62.5           , 2.55  , 10.5   , 3.7         , 340             , 13400    , 25                  , 35                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 2                    , 1         , 1                   , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
 ##
 P33SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CE           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 5.0           , 27.3/45.4/27.3      , 2.55  , 14.2   , 2.8         , 340             , 14175    , 104                 , 0                   , 3           , 3     , 3        ,            ,       , 3                    , 2                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
 P33DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CF           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 6.3           , 27.3/45.4/27.3      , 2.55  , 13.5   , 3.8         , 340             , 14725    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P34SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.53          , 27.3/45.4/27.3      , 2.55  , 13.8   , 3.15        , 340             , 15213    , 59                  , 0                   ,             ,       ,          , 1.8        , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P34DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.98          , 27.3/45.4/27.3      , 2.55  , 14     , 3.7         , 340             , 17850    , 33                  , 46                  ,             ,       ,          , 2.5        , 2     , 1                    , 4                    , 1         , 1.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P34SD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.53          , 27.3/45.4/27.3      , 2.55  , 13.8   , 3.15        , 340             , 15213    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   , 2                    , 2                    , 0.5       , 0.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P34DD     , 1                , HeavyBus         , P33_34         , 0           , 3         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.98          , 27.3/45.4/27.3      , 2.55  , 14     , 3.7         , 340             , 17850    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     , 1                    , 4                    , 1         , 1.5                 , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
 #
 P35SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CG           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 5.1           , 24.3/35.2/40.5      , 2.55  , 18.2   , 2.8         , 340             , 17800    , 104                 , 0                   , 3           , 3     , 3        ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
 P35DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CH           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 6.4           , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.8         , 340             , 20250    , 78                  , 52                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P36SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CC           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.60          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.15        , 340             , 19267    , 59                  , 0                   ,             ,       ,          , 1.8        , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P36DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CD           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.05          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.7         , 340             , 21375    , 33                  , 46                  ,             ,       ,          , 2.5        , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P36SD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 0            , CC           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.60          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.15        , 340             , 19267    , 59                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P36DD     , 1                , HeavyBus         , P35_36         , 1           , 3         , 7.4       , 999       , 1            , CD           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.05          , 24.3/35.2/40.5      , 2.55  , 18.2   , 3.7         , 340             , 21375    , 33                  , 46                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
 ##        
 P37SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CE           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 5.1           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 2.8         , 340             , 15000    , 125                 , 0                   , 3           , 3     , 3        ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
 P37DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CF           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 6.4           , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.8         , 340             , 18700    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P38SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.60          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.15        , 340             , 17500    , 70                  , 0                   ,             ,       ,          , 1.8        , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P38DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.05          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.7         , 340             , 21200    , 39                  , 55                  ,             ,       ,          , 2.5        , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P38SD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 0            , CA           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.60          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.15        , 340             , 17500    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P38DD     , 1                , HeavyBus         , P37_38         , 0           , 4         , 7.4       , 999       , 1            , CB           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.05          , 21.4/21.4/35.8/21.4 , 2.55  , 15     , 3.7         , 340             , 21200    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
 #
 P39SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CG           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 5.2           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 2.6         , 340             , 19600    , 125                 , 0                   , 3           , 3     , 3        ,            ,       , 3                    , 3                    , 0         , 0                   , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
 P39DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CH           , 0         , 100         ,      , Bus.vacc   , CoachBus              , 6.5           , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.8         , 340             , 24800    , 94                  , 62                  , 3.7         , 3.7   , 3.7      ,            ,       ,                      ,                      ,           ,                     , 6                         , 2-stage              , 15              , 0                   , 0             , 0                               , 0
-P40SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CC           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.68          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.15        , 340             , 20950    , 70                  , 0                   ,             ,       ,          , 1.8        , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
-P40DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CD           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.13          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.7         , 340             , 24600    , 39                  , 55                  ,             ,       ,          , 2.5        , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P40SD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 0            , CC           , -         , 100         ,      , Bus.vacc   , CoachBus              , 3.68          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.15        , 340             , 20950    , 70                  , 0                   ,             ,       ,          , 2.2/1.8    , 1.4   ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
+P40DD     , 1                , HeavyBus         , P39_40         , 1           , 4         , 7.4       , 999       , 1            , CD           , -         , 100         ,      , Bus.vacc   , CoachBus              , 4.13          , 20.0/28.2/32.4/19.4 , 2.55  , 21     , 3.7         , 340             , 24600    , 39                  , 55                  ,             ,       ,          , 3/2.5      , 2     ,                      ,                      ,           ,                     , 6                         , 2-stage              , 30              , 1                   , 0             , 0                               , 1
diff --git a/VectoCore/VectoCore/VectoCore.csproj b/VectoCore/VectoCore/VectoCore.csproj
index d3b90e3a46..d99e8defef 100644
--- a/VectoCore/VectoCore/VectoCore.csproj
+++ b/VectoCore/VectoCore/VectoCore.csproj
@@ -906,11 +906,11 @@
       <SubType>Designer</SubType>
     </EmbeddedResource>
     <EmbeddedResource Include="Resources\Declaration\CompletedBusSegmentationTable.csv" />
-    <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_CI_Normed.vmap" />
-    <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_PI_Normed.vmap" />
     <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-AxleFactor.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-Axles_Bus.csv" />
     <EmbeddedResource Include="Resources\Declaration\VAUXBus\SP-Factors_Bus.csv" />
+    <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_CI_normalized.vmap" />
+    <EmbeddedResource Include="Resources\Declaration\GenericBusData\EngineConsumptionMap_PI_normalized.vmap" />
     <None Include="Utils\VectoVersionCore.tt">
       <Generator>TextTemplatingFileGenerator</Generator>
       <LastGenOutput>VectoVersionCore.cs</LastGenOutput>
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs
index f8c598653e..9d4aae5bdf 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete2AxleBusesTest.cs
@@ -408,11 +408,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				case MissionType.Suburban:
 				case MissionType.Interurban:
 					var currentValue = passengerDensity[0];
-					Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value());
 					break;
 				case MissionType.Coach:
 					var coachValue = passengerDensity[1];
-					Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value());
 					break;
 
 			}
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs
index 232c0de95e..006ed08fee 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete3AxleBusesTest.cs
@@ -480,11 +480,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				case MissionType.Suburban:
 				case MissionType.Interurban:
 					var currentValue = passengerDensity[0];
-					Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value());
 					break;
 				case MissionType.Coach:
 					var coachValue = passengerDensity[1];
-					Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value());
 					break;
 
 			}
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs
index 96f8ab52d6..6563fdf8be 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentComplete4AxleBusesTest.cs
@@ -127,11 +127,13 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				case MissionType.Suburban:
 				case MissionType.Interurban:
 					var currentValue = passengerDensity[0];
-					Assert.AreEqual(currentValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(currentValue, busParameters.PassengerDensityLow.Value());
 					break;
 				case MissionType.Coach:
 					var coachValue = passengerDensity[1];
-					Assert.AreEqual(coachValue, busParameters.PassengerDensity.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityRef.Value());
+					Assert.AreEqual(coachValue, busParameters.PassengerDensityLow.Value());
 					break;
 
 			}
diff --git a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs
index 9f8b59c660..8c4e5f43d5 100644
--- a/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs
+++ b/VectoCore/VectoCoreTest/Models/Declaration/DeclarationSegmentHeavyBusesTest.cs
@@ -145,7 +145,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				height: 3.15,
 				curbMass: 13150,
 				refLoad: 3519.612,
-				lowLoad: 879.903,
+				lowLoad: 1075.437,
 				axleWeightDistribution: new[] { 0.375, 0.625 },
 				expVehicleEquipment: GetExpectedVehicleEquipment(2, 2, 0.5, 0.5)
 			);
@@ -172,7 +172,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 					height: 3.7,
 					curbMass: 13400,
 					refLoad: 4209.4125,
-					lowLoad: 1052.353125,
+					lowLoad: 1262.82375,
 					axleWeightDistribution: new[] { 0.375, 0.625 },
 					expVehicleEquipment: GetExpectedVehicleEquipment(1, 2, 1, 1)
 				);
@@ -250,7 +250,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				height: 3.15,
 				curbMass: 15213,
 				refLoad: 4106.214,
-				lowLoad: 1026.5535,
+				lowLoad: 1254.6765,
 				axleWeightDistribution: new[] { 0.273, 0.454, 0.273 },
 				expVehicleEquipment: GetExpectedVehicleEquipment(2, 2, 0.5, 0.5)
 			);
@@ -277,7 +277,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 					height: 3.7,
 					curbMass: 17850,
 					refLoad: 5793.6,
-					lowLoad: 1448.4,
+					lowLoad: 1738.08,
 					axleWeightDistribution: new[] { 0.273, 0.454, 0.273 },
 					expVehicleEquipment: GetExpectedVehicleEquipment(1, 4, 1, 1.5)
 				);
@@ -355,7 +355,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				height: 3.15,
 				curbMass: 19267,
 				refLoad: 5540.130,
-				lowLoad: 1385.0325,
+				lowLoad: 1692.8175,
 				axleWeightDistribution: new[] { 0.243, 0.352, 0.405 },
 				expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 			);
@@ -381,7 +381,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 					height: 3.7,
 					curbMass: 21375,
 					refLoad: 7694.625,
-					lowLoad: 1923.65625,
+					lowLoad: 2308.3875,
 					axleWeightDistribution: new[] { 0.243, 0.352, 0.405 },
 					expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 			);
@@ -459,7 +459,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				height: 3.15,
 				curbMass: 17500,
 				refLoad: 4497.282,
-				lowLoad: 1124.3205,
+				lowLoad: 1374.1695,
 				axleWeightDistribution: new[] { 0.214, 0.214, 0.358, 0.214 },
 				expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 			);
@@ -486,7 +486,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 					height: 3.7,
 					curbMass: 21200,
 					refLoad: 6246.225,
-					lowLoad: 1561.55625,
+					lowLoad: 1873.8675,
 					axleWeightDistribution: new[] { 0.214, 0.214, 0.358, 0.214 },
 					expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 				);
@@ -564,7 +564,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 				height: 3.15,
 				curbMass: 20950,
 				refLoad: 6452.622,
-				lowLoad: 1613.1555,
+				lowLoad: 1971.6345,
 				axleWeightDistribution: new[] { 0.200, 0.282, 0.324, 0.194 },
 				expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 			);
@@ -591,7 +591,7 @@ namespace TUGraz.VectoCore.Tests.Models.Declaration
 					height: 3.7,
 					curbMass: 24600,
 					refLoad: 8961.975,
-					lowLoad: 2240.49375,
+					lowLoad: 2688.5925,
 					axleWeightDistribution: new[] { 0.200, 0.282, 0.324, 0.194 },
 					expVehicleEquipment: GetExpectedVehicleEquipment(null, null, null, null)
 				);
-- 
GitLab