diff --git a/AuxillaryTestHarness/AuxillaryTestHarness.vbproj b/AuxillaryTestHarness/AuxillaryTestHarness.vbproj
index 1257416d5f4e42ae1d329eac4d31adfbc5ff1bd6..1a5a4e89146c8f6bb4c8e9668b2e541c6734f193 100644
--- a/AuxillaryTestHarness/AuxillaryTestHarness.vbproj
+++ b/AuxillaryTestHarness/AuxillaryTestHarness.vbproj
@@ -171,6 +171,9 @@
     <Content Include="testAlternatorMap - Copy.csv">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Content Include="testFuelGoodMap.vmap">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
   </ItemGroup>
   <ItemGroup>
     <ProjectReference Include="..\VECTOAux\VectoAuxiliaries\VectoAuxiliaries.vbproj">
diff --git a/AuxillaryTestHarness/Dashboard.Designer.vb b/AuxillaryTestHarness/Dashboard.Designer.vb
index b5391fdeadb055c56599a953065ec2a9e60761fe..4693c0b99a0f2a09bc1bdd6270a918e4c25100dc 100644
--- a/AuxillaryTestHarness/Dashboard.Designer.vb
+++ b/AuxillaryTestHarness/Dashboard.Designer.vb
@@ -23,22 +23,25 @@ Partial Class Dashboard
     <System.Diagnostics.DebuggerStepThrough()> _
     Private Sub InitializeComponent()
         Me.components = New System.ComponentModel.Container()
-        Dim DataGridViewCellStyle13 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle14 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle15 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle16 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle17 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle18 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle19 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle20 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle21 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle22 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle23 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
-        Dim DataGridViewCellStyle24 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle1 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle2 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle3 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle4 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle5 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle6 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle7 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle8 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle9 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle10 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle11 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
+        Dim DataGridViewCellStyle12 As System.Windows.Forms.DataGridViewCellStyle = New System.Windows.Forms.DataGridViewCellStyle()
         Me.pnlMain = New System.Windows.Forms.Panel()
         Me.btnCancel = New System.Windows.Forms.Button()
         Me.tabMain = New System.Windows.Forms.TabControl()
         Me.tabGeneralConfig = New System.Windows.Forms.TabPage()
+        Me.btnFuelMap = New System.Windows.Forms.Button()
+        Me.lblFuelMap = New System.Windows.Forms.Label()
+        Me.txtFuelMap = New System.Windows.Forms.TextBox()
         Me.cboCycle = New System.Windows.Forms.ComboBox()
         Me.lblCycle = New System.Windows.Forms.Label()
         Me.lblVehiceWeight = New System.Windows.Forms.Label()
@@ -124,6 +127,14 @@ Partial Class Dashboard
         Me.txtHVACElectricalLoadPowerWatts = New System.Windows.Forms.TextBox()
         Me.lblHVACElectricalLoadPowerWatts = New System.Windows.Forms.Label()
         Me.tabPlayground = New System.Windows.Forms.TabPage()
+        Me.lblM8_Title = New System.Windows.Forms.Label()
+        Me.pnlM8 = New System.Windows.Forms.Panel()
+        Me.lblM8CompressorFlag = New System.Windows.Forms.Label()
+        Me.txtM8_out_CompressorFlag = New System.Windows.Forms.TextBox()
+        Me.lblM8SmartElectricalAltPwrGenAtCrank = New System.Windows.Forms.Label()
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries = New System.Windows.Forms.Label()
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank = New System.Windows.Forms.TextBox()
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries = New System.Windows.Forms.TextBox()
         Me.lblM7_Title = New System.Windows.Forms.Label()
         Me.Panel4 = New System.Windows.Forms.Panel()
         Me.lblM7_SmartPneumaticsOnlyAux_AirCompPwrRegenAtCrank = New System.Windows.Forms.Label()
@@ -236,14 +247,16 @@ Partial Class Dashboard
         Me.DeleteToolStripMenuItem = New System.Windows.Forms.ToolStripMenuItem()
         Me.ErrorProvider = New System.Windows.Forms.ErrorProvider(Me.components)
         Me.Timer1 = New System.Windows.Forms.Timer(Me.components)
-        Me.Panel5 = New System.Windows.Forms.Panel()
-        Me.lblM8CompressorFlag = New System.Windows.Forms.Label()
-        Me.txtM8_out_CompressorFlag = New System.Windows.Forms.TextBox()
-        Me.lblM8SmartElectricalAltPwrGenAtCrank = New System.Windows.Forms.Label()
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries = New System.Windows.Forms.Label()
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank = New System.Windows.Forms.TextBox()
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries = New System.Windows.Forms.TextBox()
-        Me.lblM8_Title = New System.Windows.Forms.Label()
+        Me.pnlM9 = New System.Windows.Forms.Panel()
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously = New System.Windows.Forms.Label()
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously = New System.Windows.Forms.TextBox()
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun = New System.Windows.Forms.Label()
+        Me.lblM9LitresOfAirCompressorOnContinuously = New System.Windows.Forms.Label()
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun = New System.Windows.Forms.TextBox()
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously = New System.Windows.Forms.TextBox()
+        Me.lblM9Title = New System.Windows.Forms.Label()
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously = New System.Windows.Forms.Label()
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously = New System.Windows.Forms.TextBox()
         Me.pnlMain.SuspendLayout
         Me.tabMain.SuspendLayout
         Me.tabGeneralConfig.SuspendLayout
@@ -257,6 +270,7 @@ Partial Class Dashboard
         Me.pnlPneumaticAuxillaries.SuspendLayout
         Me.tabHVACConfig.SuspendLayout
         Me.tabPlayground.SuspendLayout
+        Me.pnlM8.SuspendLayout
         Me.Panel4.SuspendLayout
         Me.Panel2.SuspendLayout
         Me.Panel3.SuspendLayout
@@ -269,7 +283,7 @@ Partial Class Dashboard
         Me.pnl_M0_Displays.SuspendLayout
         Me.resultCardContextMenu.SuspendLayout
         CType(Me.ErrorProvider,System.ComponentModel.ISupportInitialize).BeginInit
-        Me.Panel5.SuspendLayout
+        Me.pnlM9.SuspendLayout
         Me.SuspendLayout
         '
         'pnlMain
@@ -309,6 +323,9 @@ Partial Class Dashboard
         '
         'tabGeneralConfig
         '
+        Me.tabGeneralConfig.Controls.Add(Me.btnFuelMap)
+        Me.tabGeneralConfig.Controls.Add(Me.lblFuelMap)
+        Me.tabGeneralConfig.Controls.Add(Me.txtFuelMap)
         Me.tabGeneralConfig.Controls.Add(Me.cboCycle)
         Me.tabGeneralConfig.Controls.Add(Me.lblCycle)
         Me.tabGeneralConfig.Controls.Add(Me.lblVehiceWeight)
@@ -316,11 +333,36 @@ Partial Class Dashboard
         Me.tabGeneralConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabGeneralConfig.Name = "tabGeneralConfig"
         Me.tabGeneralConfig.Padding = New System.Windows.Forms.Padding(3)
-        Me.tabGeneralConfig.Size = New System.Drawing.Size(966, 704)
+        Me.tabGeneralConfig.Size = New System.Drawing.Size(1158, 704)
         Me.tabGeneralConfig.TabIndex = 0
         Me.tabGeneralConfig.Text = "GeneralConfig"
         Me.tabGeneralConfig.UseVisualStyleBackColor = true
         '
+        'btnFuelMap
+        '
+        Me.btnFuelMap.Location = New System.Drawing.Point(778, 126)
+        Me.btnFuelMap.Name = "btnFuelMap"
+        Me.btnFuelMap.Size = New System.Drawing.Size(38, 23)
+        Me.btnFuelMap.TabIndex = 9
+        Me.btnFuelMap.Text = ". . . "
+        Me.btnFuelMap.UseVisualStyleBackColor = true
+        '
+        'lblFuelMap
+        '
+        Me.lblFuelMap.AutoSize = true
+        Me.lblFuelMap.Location = New System.Drawing.Point(31, 131)
+        Me.lblFuelMap.Name = "lblFuelMap"
+        Me.lblFuelMap.Size = New System.Drawing.Size(51, 13)
+        Me.lblFuelMap.TabIndex = 8
+        Me.lblFuelMap.Text = "Fuel Map"
+        '
+        'txtFuelMap
+        '
+        Me.txtFuelMap.Location = New System.Drawing.Point(123, 127)
+        Me.txtFuelMap.Name = "txtFuelMap"
+        Me.txtFuelMap.Size = New System.Drawing.Size(649, 20)
+        Me.txtFuelMap.TabIndex = 7
+        '
         'cboCycle
         '
         Me.cboCycle.FormattingEnabled = true
@@ -333,7 +375,7 @@ Partial Class Dashboard
         'lblCycle
         '
         Me.lblCycle.AutoSize = true
-        Me.lblCycle.Location = New System.Drawing.Point(24, 78)
+        Me.lblCycle.Location = New System.Drawing.Point(31, 82)
         Me.lblCycle.Name = "lblCycle"
         Me.lblCycle.Size = New System.Drawing.Size(33, 13)
         Me.lblCycle.TabIndex = 5
@@ -342,15 +384,15 @@ Partial Class Dashboard
         'lblVehiceWeight
         '
         Me.lblVehiceWeight.AutoSize = true
-        Me.lblVehiceWeight.Location = New System.Drawing.Point(21, 38)
+        Me.lblVehiceWeight.Location = New System.Drawing.Point(31, 38)
         Me.lblVehiceWeight.Name = "lblVehiceWeight"
-        Me.lblVehiceWeight.Size = New System.Drawing.Size(97, 13)
+        Me.lblVehiceWeight.Size = New System.Drawing.Size(88, 13)
         Me.lblVehiceWeight.TabIndex = 3
-        Me.lblVehiceWeight.Text = "Vehicle Weight KG"
+        Me.lblVehiceWeight.Text = "Vehicle Mass KG"
         '
         'txtVehicleWeightKG
         '
-        Me.txtVehicleWeightKG.Location = New System.Drawing.Point(123, 35)
+        Me.txtVehicleWeightKG.Location = New System.Drawing.Point(123, 34)
         Me.txtVehicleWeightKG.Name = "txtVehicleWeightKG"
         Me.txtVehicleWeightKG.Size = New System.Drawing.Size(100, 20)
         Me.txtVehicleWeightKG.TabIndex = 2
@@ -378,7 +420,7 @@ Partial Class Dashboard
         Me.tabElectricalConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabElectricalConfig.Name = "tabElectricalConfig"
         Me.tabElectricalConfig.Padding = New System.Windows.Forms.Padding(3)
-        Me.tabElectricalConfig.Size = New System.Drawing.Size(966, 704)
+        Me.tabElectricalConfig.Size = New System.Drawing.Size(1158, 704)
         Me.tabElectricalConfig.TabIndex = 1
         Me.tabElectricalConfig.Text = "ElectricalConfig"
         Me.tabElectricalConfig.UseVisualStyleBackColor = true
@@ -394,97 +436,97 @@ Partial Class Dashboard
         '
         'gvResultsCardOverrun
         '
-        DataGridViewCellStyle13.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle13.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle13.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle13.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle13.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle13.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle13.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle13
+        DataGridViewCellStyle1.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle1.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle1.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle1.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle1.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle1.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle1.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardOverrun.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle1
         Me.gvResultsCardOverrun.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle14.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle14.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle14.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle14.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle14.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle14.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle14.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardOverrun.DefaultCellStyle = DataGridViewCellStyle14
+        DataGridViewCellStyle2.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle2.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle2.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle2.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle2.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle2.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle2.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardOverrun.DefaultCellStyle = DataGridViewCellStyle2
         Me.gvResultsCardOverrun.Location = New System.Drawing.Point(590, 451)
         Me.gvResultsCardOverrun.Name = "gvResultsCardOverrun"
-        DataGridViewCellStyle15.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle15.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle15.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle15.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle15.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle15.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle15.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardOverrun.RowHeadersDefaultCellStyle = DataGridViewCellStyle15
+        DataGridViewCellStyle3.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle3.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle3.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle3.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle3.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle3.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle3.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardOverrun.RowHeadersDefaultCellStyle = DataGridViewCellStyle3
         Me.gvResultsCardOverrun.Size = New System.Drawing.Size(246, 125)
         Me.gvResultsCardOverrun.TabIndex = 18
         '
         'gvResultsCardTraction
         '
-        DataGridViewCellStyle16.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle16.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle16.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle16.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle16.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle16.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle16.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle16
+        DataGridViewCellStyle4.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle4.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle4.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle4.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle4.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle4.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle4.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardTraction.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle4
         Me.gvResultsCardTraction.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle17.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle17.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle17.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle17.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle17.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle17.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle17.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardTraction.DefaultCellStyle = DataGridViewCellStyle17
+        DataGridViewCellStyle5.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle5.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle5.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle5.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle5.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle5.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle5.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardTraction.DefaultCellStyle = DataGridViewCellStyle5
         Me.gvResultsCardTraction.Location = New System.Drawing.Point(311, 451)
         Me.gvResultsCardTraction.Name = "gvResultsCardTraction"
-        DataGridViewCellStyle18.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle18.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle18.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle18.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle18.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle18.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle18.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardTraction.RowHeadersDefaultCellStyle = DataGridViewCellStyle18
+        DataGridViewCellStyle6.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle6.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle6.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle6.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle6.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle6.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle6.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardTraction.RowHeadersDefaultCellStyle = DataGridViewCellStyle6
         Me.gvResultsCardTraction.Size = New System.Drawing.Size(258, 125)
         Me.gvResultsCardTraction.TabIndex = 17
         '
         'gvResultsCardIdle
         '
-        DataGridViewCellStyle19.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle19.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle19.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle19.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle19.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle19.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle19.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle19
+        DataGridViewCellStyle7.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle7.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle7.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle7.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle7.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle7.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle7.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardIdle.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle7
         Me.gvResultsCardIdle.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle20.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle20.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle20.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle20.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle20.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle20.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle20.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvResultsCardIdle.DefaultCellStyle = DataGridViewCellStyle20
+        DataGridViewCellStyle8.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle8.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle8.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle8.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle8.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle8.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle8.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvResultsCardIdle.DefaultCellStyle = DataGridViewCellStyle8
         Me.gvResultsCardIdle.Location = New System.Drawing.Point(35, 451)
         Me.gvResultsCardIdle.Name = "gvResultsCardIdle"
-        DataGridViewCellStyle21.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle21.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle21.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle21.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle21.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle21.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle21.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvResultsCardIdle.RowHeadersDefaultCellStyle = DataGridViewCellStyle21
+        DataGridViewCellStyle9.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle9.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle9.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle9.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle9.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle9.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle9.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvResultsCardIdle.RowHeadersDefaultCellStyle = DataGridViewCellStyle9
         Me.gvResultsCardIdle.Size = New System.Drawing.Size(256, 125)
         Me.gvResultsCardIdle.TabIndex = 16
         '
@@ -536,33 +578,33 @@ Partial Class Dashboard
         '
         'gvElectricalConsumables
         '
-        DataGridViewCellStyle22.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle22.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle22.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle22.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle22.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle22.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle22.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle22
+        DataGridViewCellStyle10.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle10.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle10.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle10.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle10.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle10.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle10.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvElectricalConsumables.ColumnHeadersDefaultCellStyle = DataGridViewCellStyle10
         Me.gvElectricalConsumables.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize
-        DataGridViewCellStyle23.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle23.BackColor = System.Drawing.SystemColors.Window
-        DataGridViewCellStyle23.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle23.ForeColor = System.Drawing.SystemColors.ControlText
-        DataGridViewCellStyle23.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle23.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle23.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
-        Me.gvElectricalConsumables.DefaultCellStyle = DataGridViewCellStyle23
+        DataGridViewCellStyle11.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle11.BackColor = System.Drawing.SystemColors.Window
+        DataGridViewCellStyle11.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle11.ForeColor = System.Drawing.SystemColors.ControlText
+        DataGridViewCellStyle11.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle11.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle11.WrapMode = System.Windows.Forms.DataGridViewTriState.[False]
+        Me.gvElectricalConsumables.DefaultCellStyle = DataGridViewCellStyle11
         Me.gvElectricalConsumables.Location = New System.Drawing.Point(33, 170)
         Me.gvElectricalConsumables.Name = "gvElectricalConsumables"
-        DataGridViewCellStyle24.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
-        DataGridViewCellStyle24.BackColor = System.Drawing.SystemColors.Control
-        DataGridViewCellStyle24.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        DataGridViewCellStyle24.ForeColor = System.Drawing.SystemColors.WindowText
-        DataGridViewCellStyle24.SelectionBackColor = System.Drawing.SystemColors.Highlight
-        DataGridViewCellStyle24.SelectionForeColor = System.Drawing.SystemColors.HighlightText
-        DataGridViewCellStyle24.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
-        Me.gvElectricalConsumables.RowHeadersDefaultCellStyle = DataGridViewCellStyle24
+        DataGridViewCellStyle12.Alignment = System.Windows.Forms.DataGridViewContentAlignment.MiddleLeft
+        DataGridViewCellStyle12.BackColor = System.Drawing.SystemColors.Control
+        DataGridViewCellStyle12.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        DataGridViewCellStyle12.ForeColor = System.Drawing.SystemColors.WindowText
+        DataGridViewCellStyle12.SelectionBackColor = System.Drawing.SystemColors.Highlight
+        DataGridViewCellStyle12.SelectionForeColor = System.Drawing.SystemColors.HighlightText
+        DataGridViewCellStyle12.WrapMode = System.Windows.Forms.DataGridViewTriState.[True]
+        Me.gvElectricalConsumables.RowHeadersDefaultCellStyle = DataGridViewCellStyle12
         Me.gvElectricalConsumables.Size = New System.Drawing.Size(803, 250)
         Me.gvElectricalConsumables.TabIndex = 10
         '
@@ -636,7 +678,7 @@ Partial Class Dashboard
         Me.tabPneumaticConfig.Controls.Add(Me.pnlPneumaticAuxillaries)
         Me.tabPneumaticConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabPneumaticConfig.Name = "tabPneumaticConfig"
-        Me.tabPneumaticConfig.Size = New System.Drawing.Size(966, 704)
+        Me.tabPneumaticConfig.Size = New System.Drawing.Size(1158, 704)
         Me.tabPneumaticConfig.TabIndex = 2
         Me.tabPneumaticConfig.Text = "PneumaticConfig"
         Me.tabPneumaticConfig.UseVisualStyleBackColor = true
@@ -1155,7 +1197,7 @@ Partial Class Dashboard
         Me.tabHVACConfig.Controls.Add(Me.lblHVACElectricalLoadPowerWatts)
         Me.tabHVACConfig.Location = New System.Drawing.Point(4, 22)
         Me.tabHVACConfig.Name = "tabHVACConfig"
-        Me.tabHVACConfig.Size = New System.Drawing.Size(966, 704)
+        Me.tabHVACConfig.Size = New System.Drawing.Size(1158, 704)
         Me.tabHVACConfig.TabIndex = 3
         Me.tabHVACConfig.Text = "HVACConfig"
         Me.tabHVACConfig.UseVisualStyleBackColor = true
@@ -1222,8 +1264,10 @@ Partial Class Dashboard
         'tabPlayground
         '
         Me.tabPlayground.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+        Me.tabPlayground.Controls.Add(Me.lblM9Title)
+        Me.tabPlayground.Controls.Add(Me.pnlM9)
         Me.tabPlayground.Controls.Add(Me.lblM8_Title)
-        Me.tabPlayground.Controls.Add(Me.Panel5)
+        Me.tabPlayground.Controls.Add(Me.pnlM8)
         Me.tabPlayground.Controls.Add(Me.lblM7_Title)
         Me.tabPlayground.Controls.Add(Me.Panel4)
         Me.tabPlayground.Controls.Add(Me.lblM6Title)
@@ -1267,11 +1311,88 @@ Partial Class Dashboard
         Me.tabPlayground.Text = "Playground"
         Me.tabPlayground.UseVisualStyleBackColor = true
         '
+        'lblM8_Title
+        '
+        Me.lblM8_Title.AutoSize = true
+        Me.lblM8_Title.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        Me.lblM8_Title.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM8_Title.Location = New System.Drawing.Point(838, 8)
+        Me.lblM8_Title.Name = "lblM8_Title"
+        Me.lblM8_Title.Size = New System.Drawing.Size(194, 13)
+        Me.lblM8_Title.TabIndex = 48
+        Me.lblM8_Title.Text = "M8-Full Assignment of Aux Loads"
+        '
+        'pnlM8
+        '
+        Me.pnlM8.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+        Me.pnlM8.Controls.Add(Me.lblM8CompressorFlag)
+        Me.pnlM8.Controls.Add(Me.txtM8_out_CompressorFlag)
+        Me.pnlM8.Controls.Add(Me.lblM8SmartElectricalAltPwrGenAtCrank)
+        Me.pnlM8.Controls.Add(Me.lblM8AuxPowerAtCrankFromAllAncillaries)
+        Me.pnlM8.Controls.Add(Me.txtM8_out_SmartElectricalAltPwrGenAtCrank)
+        Me.pnlM8.Controls.Add(Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries)
+        Me.pnlM8.Location = New System.Drawing.Point(834, 36)
+        Me.pnlM8.Name = "pnlM8"
+        Me.pnlM8.Size = New System.Drawing.Size(308, 147)
+        Me.pnlM8.TabIndex = 47
+        '
+        'lblM8CompressorFlag
+        '
+        Me.lblM8CompressorFlag.AutoSize = true
+        Me.lblM8CompressorFlag.Location = New System.Drawing.Point(6, 91)
+        Me.lblM8CompressorFlag.Name = "lblM8CompressorFlag"
+        Me.lblM8CompressorFlag.Size = New System.Drawing.Size(85, 13)
+        Me.lblM8CompressorFlag.TabIndex = 6
+        Me.lblM8CompressorFlag.Text = "Compressor Flag"
+        '
+        'txtM8_out_CompressorFlag
+        '
+        Me.txtM8_out_CompressorFlag.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM8_out_CompressorFlag.Location = New System.Drawing.Point(6, 107)
+        Me.txtM8_out_CompressorFlag.Name = "txtM8_out_CompressorFlag"
+        Me.txtM8_out_CompressorFlag.Size = New System.Drawing.Size(100, 20)
+        Me.txtM8_out_CompressorFlag.TabIndex = 4
+        '
+        'lblM8SmartElectricalAltPwrGenAtCrank
+        '
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.AutoSize = true
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.Location = New System.Drawing.Point(6, 48)
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.Name = "lblM8SmartElectricalAltPwrGenAtCrank"
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.Size = New System.Drawing.Size(165, 13)
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.TabIndex = 3
+        Me.lblM8SmartElectricalAltPwrGenAtCrank.Text = "Smart Elec Alt PowerGen@Crank"
+        '
+        'lblM8AuxPowerAtCrankFromAllAncillaries
+        '
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.AutoSize = true
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Location = New System.Drawing.Point(6, 9)
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Name = "lblM8AuxPowerAtCrankFromAllAncillaries"
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Size = New System.Drawing.Size(292, 13)
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.TabIndex = 2
+        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Text = "Aux pwr@CrankFrom Elec,HVAC and Pneumatics Ancillaries"
+        '
+        'txtM8_out_SmartElectricalAltPwrGenAtCrank
+        '
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Location = New System.Drawing.Point(6, 64)
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Name = "txtM8_out_SmartElectricalAltPwrGenAtCrank"
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Size = New System.Drawing.Size(100, 20)
+        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.TabIndex = 1
+        '
+        'txtM8_out_AuxPowerAtCrankFromAllAncillaries
+        '
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Location = New System.Drawing.Point(6, 25)
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Name = "txtM8_out_AuxPowerAtCrankFromAllAncillaries"
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Size = New System.Drawing.Size(100, 20)
+        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.TabIndex = 0
+        '
         'lblM7_Title
         '
         Me.lblM7_Title.AutoSize = true
         Me.lblM7_Title.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM7_Title.Location = New System.Drawing.Point(529, 451)
+        Me.lblM7_Title.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM7_Title.Location = New System.Drawing.Point(529, 453)
         Me.lblM7_Title.MaximumSize = New System.Drawing.Size(300, 0)
         Me.lblM7_Title.Name = "lblM7_Title"
         Me.lblM7_Title.Size = New System.Drawing.Size(272, 26)
@@ -1289,7 +1410,7 @@ Partial Class Dashboard
         Me.Panel4.Controls.Add(Me.lblM7_SmarElectricalAndPneumaticsAux_AltPowerGenAtCrank)
         Me.Panel4.Controls.Add(Me.txtM7_out_SmartElectricalAndPneumaticAux_AirCompPowerGenAtCrank)
         Me.Panel4.Controls.Add(Me.txtM7_out_SmartElectricalAndPneumaticsAux_AltPowerGenAtCrank)
-        Me.Panel4.Location = New System.Drawing.Point(532, 482)
+        Me.Panel4.Location = New System.Drawing.Point(532, 484)
         Me.Panel4.Name = "Panel4"
         Me.Panel4.Size = New System.Drawing.Size(296, 179)
         Me.Panel4.TabIndex = 45
@@ -1366,7 +1487,8 @@ Partial Class Dashboard
         '
         Me.lblM6Title.AutoSize = true
         Me.lblM6Title.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM6Title.Location = New System.Drawing.Point(529, 4)
+        Me.lblM6Title.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM6Title.Location = New System.Drawing.Point(529, 8)
         Me.lblM6Title.MaximumSize = New System.Drawing.Size(250, 0)
         Me.lblM6Title.Name = "lblM6Title"
         Me.lblM6Title.Size = New System.Drawing.Size(235, 26)
@@ -1394,7 +1516,7 @@ Partial Class Dashboard
         Me.Panel2.Controls.Add(Me.lblM6_OverrunFlag)
         Me.Panel2.Controls.Add(Me.txtM6_out_SmartElectricalAndPneumaticsCompressorFlag)
         Me.Panel2.Controls.Add(Me.txtM6_out_OverrunFlag)
-        Me.Panel2.Location = New System.Drawing.Point(531, 33)
+        Me.Panel2.Location = New System.Drawing.Point(531, 35)
         Me.Panel2.Name = "Panel2"
         Me.Panel2.Size = New System.Drawing.Size(297, 402)
         Me.Panel2.TabIndex = 43
@@ -1592,7 +1714,8 @@ Partial Class Dashboard
         '
         Me.lblM5_SmartAltSetGeneration.AutoSize = true
         Me.lblM5_SmartAltSetGeneration.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM5_SmartAltSetGeneration.Location = New System.Drawing.Point(327, 470)
+        Me.lblM5_SmartAltSetGeneration.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM5_SmartAltSetGeneration.Location = New System.Drawing.Point(327, 472)
         Me.lblM5_SmartAltSetGeneration.Name = "lblM5_SmartAltSetGeneration"
         Me.lblM5_SmartAltSetGeneration.Size = New System.Drawing.Size(168, 13)
         Me.lblM5_SmartAltSetGeneration.TabIndex = 37
@@ -1607,7 +1730,7 @@ Partial Class Dashboard
         Me.Panel3.Controls.Add(Me.lblM5_AltRegenPowerAtCrankIdleW)
         Me.Panel3.Controls.Add(Me.txtM5_out_AltRegenPowerAtCrankTractionWatts)
         Me.Panel3.Controls.Add(Me.txtM5_out_AltRegenPowerAtCrankIdleWatts)
-        Me.Panel3.Location = New System.Drawing.Point(328, 486)
+        Me.Panel3.Location = New System.Drawing.Point(328, 488)
         Me.Panel3.Name = "Panel3"
         Me.Panel3.Size = New System.Drawing.Size(191, 175)
         Me.Panel3.TabIndex = 36
@@ -1675,7 +1798,8 @@ Partial Class Dashboard
         '
         Me.lblM4_AirCompressor.AutoSize = true
         Me.lblM4_AirCompressor.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM4_AirCompressor.Location = New System.Drawing.Point(327, 265)
+        Me.lblM4_AirCompressor.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM4_AirCompressor.Location = New System.Drawing.Point(327, 267)
         Me.lblM4_AirCompressor.Name = "lblM4_AirCompressor"
         Me.lblM4_AirCompressor.Size = New System.Drawing.Size(112, 13)
         Me.lblM4_AirCompressor.TabIndex = 33
@@ -1701,7 +1825,7 @@ Partial Class Dashboard
         Me.Panel1.Controls.Add(Me.txtM4_out_PowerAtCrankFromPneumaticsCompressorOFF)
         Me.Panel1.Controls.Add(Me.txtM4_out_CompresssorPwrOnMinusPwrOff)
         Me.Panel1.Controls.Add(Me.txtM4_out_CompressorFlowRate)
-        Me.Panel1.Location = New System.Drawing.Point(327, 281)
+        Me.Panel1.Location = New System.Drawing.Point(327, 283)
         Me.Panel1.Name = "Panel1"
         Me.Panel1.Size = New System.Drawing.Size(192, 183)
         Me.Panel1.TabIndex = 32
@@ -1778,7 +1902,8 @@ Partial Class Dashboard
         '
         Me.lblM3_AveragePneumaticLoad.AutoSize = true
         Me.lblM3_AveragePneumaticLoad.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM3_AveragePneumaticLoad.Location = New System.Drawing.Point(324, 141)
+        Me.lblM3_AveragePneumaticLoad.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM3_AveragePneumaticLoad.Location = New System.Drawing.Point(324, 143)
         Me.lblM3_AveragePneumaticLoad.Name = "lblM3_AveragePneumaticLoad"
         Me.lblM3_AveragePneumaticLoad.Size = New System.Drawing.Size(195, 13)
         Me.lblM3_AveragePneumaticLoad.TabIndex = 31
@@ -1791,7 +1916,7 @@ Partial Class Dashboard
         Me.pnl_M3_Displays.Controls.Add(Me.lbl_M3_AvgPowerAtCrankFromPneumatics)
         Me.pnl_M3_Displays.Controls.Add(Me.txtM3_out_TotalAirConsumedPerCycleInLitres)
         Me.pnl_M3_Displays.Controls.Add(Me.txtM3_out_AveragePowerAtCrankFromPneumatics)
-        Me.pnl_M3_Displays.Location = New System.Drawing.Point(327, 159)
+        Me.pnl_M3_Displays.Location = New System.Drawing.Point(327, 161)
         Me.pnl_M3_Displays.Name = "pnl_M3_Displays"
         Me.pnl_M3_Displays.Size = New System.Drawing.Size(192, 100)
         Me.pnl_M3_Displays.TabIndex = 30
@@ -1843,7 +1968,8 @@ Partial Class Dashboard
         '
         Me.lblM2AverageElectricalLoadTitle.AutoSize = true
         Me.lblM2AverageElectricalLoadTitle.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM2AverageElectricalLoadTitle.Location = New System.Drawing.Point(327, 9)
+        Me.lblM2AverageElectricalLoadTitle.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM2AverageElectricalLoadTitle.Location = New System.Drawing.Point(327, 8)
         Me.lblM2AverageElectricalLoadTitle.Name = "lblM2AverageElectricalLoadTitle"
         Me.lblM2AverageElectricalLoadTitle.Size = New System.Drawing.Size(189, 13)
         Me.lblM2AverageElectricalLoadTitle.TabIndex = 29
@@ -1856,7 +1982,7 @@ Partial Class Dashboard
         Me.pnl_M2_Displays.Controls.Add(Me.lblM2_AveragePowerDemandAtAlternatorFromElectrics)
         Me.pnl_M2_Displays.Controls.Add(Me.txtM2_out_AvgPowerAtCrankFromElectrics)
         Me.pnl_M2_Displays.Controls.Add(Me.txtM2_out_AvgPowerAtAltFromElectrics)
-        Me.pnl_M2_Displays.Location = New System.Drawing.Point(329, 33)
+        Me.pnl_M2_Displays.Location = New System.Drawing.Point(329, 35)
         Me.pnl_M2_Displays.Name = "pnl_M2_Displays"
         Me.pnl_M2_Displays.Size = New System.Drawing.Size(190, 100)
         Me.pnl_M2_Displays.TabIndex = 28
@@ -1899,7 +2025,8 @@ Partial Class Dashboard
         '
         Me.lblM1_HVACAverageLoad.AutoSize = true
         Me.lblM1_HVACAverageLoad.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM1_HVACAverageLoad.Location = New System.Drawing.Point(142, 423)
+        Me.lblM1_HVACAverageLoad.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM1_HVACAverageLoad.Location = New System.Drawing.Point(142, 425)
         Me.lblM1_HVACAverageLoad.Name = "lblM1_HVACAverageLoad"
         Me.lblM1_HVACAverageLoad.Size = New System.Drawing.Size(143, 13)
         Me.lblM1_HVACAverageLoad.TabIndex = 27
@@ -1916,7 +2043,7 @@ Partial Class Dashboard
         Me.pnl_M1_Displays.Controls.Add(Me.txtM1_out_AvgPwrAtCrankFromHVACElec)
         Me.pnl_M1_Displays.Controls.Add(Me.txtM1_out_AvgPowerDemandAtAlternatorHvacElectrics)
         Me.pnl_M1_Displays.Controls.Add(Me.txtM1_out_AvgPowerDemandAtCrankMech)
-        Me.pnl_M1_Displays.Location = New System.Drawing.Point(144, 442)
+        Me.pnl_M1_Displays.Location = New System.Drawing.Point(144, 444)
         Me.pnl_M1_Displays.Name = "pnl_M1_Displays"
         Me.pnl_M1_Displays.Size = New System.Drawing.Size(172, 219)
         Me.pnl_M1_Displays.TabIndex = 26
@@ -1994,7 +2121,8 @@ Partial Class Dashboard
         '
         Me.lblM05SmartalternatorSetEfficiency.AutoSize = true
         Me.lblM05SmartalternatorSetEfficiency.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM05SmartalternatorSetEfficiency.Location = New System.Drawing.Point(141, 141)
+        Me.lblM05SmartalternatorSetEfficiency.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM05SmartalternatorSetEfficiency.Location = New System.Drawing.Point(141, 143)
         Me.lblM05SmartalternatorSetEfficiency.Name = "lblM05SmartalternatorSetEfficiency"
         Me.lblM05SmartalternatorSetEfficiency.Size = New System.Drawing.Size(169, 13)
         Me.lblM05SmartalternatorSetEfficiency.TabIndex = 25
@@ -2015,7 +2143,7 @@ Partial Class Dashboard
         Me.pnl_M05_Displays.Controls.Add(Me.txtM05_out_SmartTractionCurrent)
         Me.pnl_M05_Displays.Controls.Add(Me.txtM05_Out_AlternatorsEfficiencyIdle)
         Me.pnl_M05_Displays.Controls.Add(Me.txtM05_OutSmartIdleCurrent)
-        Me.pnl_M05_Displays.Location = New System.Drawing.Point(142, 158)
+        Me.pnl_M05_Displays.Location = New System.Drawing.Point(142, 160)
         Me.pnl_M05_Displays.Name = "pnl_M05_Displays"
         Me.pnl_M05_Displays.Size = New System.Drawing.Size(174, 259)
         Me.pnl_M05_Displays.TabIndex = 24
@@ -2126,11 +2254,13 @@ Partial Class Dashboard
         '
         Me.lblM0Outputs.AutoSize = true
         Me.lblM0Outputs.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        Me.lblM0Outputs.ForeColor = System.Drawing.SystemColors.Highlight
         Me.lblM0Outputs.Location = New System.Drawing.Point(142, 8)
+        Me.lblM0Outputs.MaximumSize = New System.Drawing.Size(150, 0)
         Me.lblM0Outputs.Name = "lblM0Outputs"
-        Me.lblM0Outputs.Size = New System.Drawing.Size(159, 13)
+        Me.lblM0Outputs.Size = New System.Drawing.Size(133, 26)
         Me.lblM0Outputs.TabIndex = 23
-        Me.lblM0Outputs.Text = "M0-Non-Smart Alt Set Effic"
+        Me.lblM0Outputs.Text = "M0-Non-Smart Alt Set Efficiency"
         '
         'pnl_M0_Displays
         '
@@ -2140,7 +2270,7 @@ Partial Class Dashboard
         Me.pnl_M0_Displays.Controls.Add(Me.txtM0_Out_AlternatorsEfficiency)
         Me.pnl_M0_Displays.Controls.Add(Me.txtM0_Out_HVacElectricalCurrentDemand)
         Me.pnl_M0_Displays.ForeColor = System.Drawing.Color.Black
-        Me.pnl_M0_Displays.Location = New System.Drawing.Point(142, 33)
+        Me.pnl_M0_Displays.Location = New System.Drawing.Point(142, 35)
         Me.pnl_M0_Displays.Name = "pnl_M0_Displays"
         Me.pnl_M0_Displays.Size = New System.Drawing.Size(174, 100)
         Me.pnl_M0_Displays.TabIndex = 22
@@ -2287,81 +2417,103 @@ Partial Class Dashboard
         '
         'Timer1
         '
-        '
-        'Panel5
-        '
-        Me.Panel5.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
-        Me.Panel5.Controls.Add(Me.lblM8CompressorFlag)
-        Me.Panel5.Controls.Add(Me.txtM8_out_CompressorFlag)
-        Me.Panel5.Controls.Add(Me.lblM8SmartElectricalAltPwrGenAtCrank)
-        Me.Panel5.Controls.Add(Me.lblM8AuxPowerAtCrankFromAllAncillaries)
-        Me.Panel5.Controls.Add(Me.txtM8_out_SmartElectricalAltPwrGenAtCrank)
-        Me.Panel5.Controls.Add(Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries)
-        Me.Panel5.Location = New System.Drawing.Point(834, 34)
-        Me.Panel5.Name = "Panel5"
-        Me.Panel5.Size = New System.Drawing.Size(308, 147)
-        Me.Panel5.TabIndex = 47
-        '
-        'lblM8CompressorFlag
-        '
-        Me.lblM8CompressorFlag.AutoSize = true
-        Me.lblM8CompressorFlag.Location = New System.Drawing.Point(6, 91)
-        Me.lblM8CompressorFlag.Name = "lblM8CompressorFlag"
-        Me.lblM8CompressorFlag.Size = New System.Drawing.Size(85, 13)
-        Me.lblM8CompressorFlag.TabIndex = 6
-        Me.lblM8CompressorFlag.Text = "Compressor Flag"
-        '
-        'txtM8_out_CompressorFlag
-        '
-        Me.txtM8_out_CompressorFlag.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
-        Me.txtM8_out_CompressorFlag.Location = New System.Drawing.Point(6, 107)
-        Me.txtM8_out_CompressorFlag.Name = "txtM8_out_CompressorFlag"
-        Me.txtM8_out_CompressorFlag.Size = New System.Drawing.Size(100, 20)
-        Me.txtM8_out_CompressorFlag.TabIndex = 4
-        '
-        'lblM8SmartElectricalAltPwrGenAtCrank
-        '
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.AutoSize = true
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.Location = New System.Drawing.Point(6, 48)
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.Name = "lblM8SmartElectricalAltPwrGenAtCrank"
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.Size = New System.Drawing.Size(165, 13)
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.TabIndex = 3
-        Me.lblM8SmartElectricalAltPwrGenAtCrank.Text = "Smart Elec Alt PowerGen@Crank"
-        '
-        'lblM8AuxPowerAtCrankFromAllAncillaries
-        '
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.AutoSize = true
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Location = New System.Drawing.Point(6, 9)
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Name = "lblM8AuxPowerAtCrankFromAllAncillaries"
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Size = New System.Drawing.Size(292, 13)
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.TabIndex = 2
-        Me.lblM8AuxPowerAtCrankFromAllAncillaries.Text = "Aux pwr@CrankFrom Elec,HVAC and Pneumatics Ancillaries"
-        '
-        'txtM8_out_SmartElectricalAltPwrGenAtCrank
-        '
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Location = New System.Drawing.Point(6, 64)
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Name = "txtM8_out_SmartElectricalAltPwrGenAtCrank"
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.Size = New System.Drawing.Size(100, 20)
-        Me.txtM8_out_SmartElectricalAltPwrGenAtCrank.TabIndex = 1
-        '
-        'txtM8_out_AuxPowerAtCrankFromAllAncillaries
-        '
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Location = New System.Drawing.Point(6, 25)
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Name = "txtM8_out_AuxPowerAtCrankFromAllAncillaries"
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.Size = New System.Drawing.Size(100, 20)
-        Me.txtM8_out_AuxPowerAtCrankFromAllAncillaries.TabIndex = 0
-        '
-        'lblM8_Title
-        '
-        Me.lblM8_Title.AutoSize = true
-        Me.lblM8_Title.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
-        Me.lblM8_Title.Location = New System.Drawing.Point(838, 8)
-        Me.lblM8_Title.Name = "lblM8_Title"
-        Me.lblM8_Title.Size = New System.Drawing.Size(194, 13)
-        Me.lblM8_Title.TabIndex = 48
-        Me.lblM8_Title.Text = "M8-Full Assignment of Aux Loads"
+        Me.Timer1.Interval = 1000
+        '
+        'pnlM9
+        '
+        Me.pnlM9.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
+        Me.pnlM9.Controls.Add(Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously)
+        Me.pnlM9.Controls.Add(Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously)
+        Me.pnlM9.Controls.Add(Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously)
+        Me.pnlM9.Controls.Add(Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously)
+        Me.pnlM9.Controls.Add(Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun)
+        Me.pnlM9.Controls.Add(Me.lblM9LitresOfAirCompressorOnContinuously)
+        Me.pnlM9.Controls.Add(Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun)
+        Me.pnlM9.Controls.Add(Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously)
+        Me.pnlM9.Location = New System.Drawing.Point(837, 224)
+        Me.pnlM9.Name = "pnlM9"
+        Me.pnlM9.Size = New System.Drawing.Size(308, 176)
+        Me.pnlM9.TabIndex = 49
+        '
+        'lblM9TotalCycleFuelConsumptionCompressorOnContinuously
+        '
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.AutoSize = true
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.Location = New System.Drawing.Point(6, 91)
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.Name = "lblM9TotalCycleFuelConsumptionCompressorOnContinuously"
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.Size = New System.Drawing.Size(291, 13)
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.TabIndex = 6
+        Me.lblM9TotalCycleFuelConsumptionCompressorOnContinuously.Text = "Total Cycle Fuel Consumption : Compressor On Continuously"
+        '
+        'txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously
+        '
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.Location = New System.Drawing.Point(6, 107)
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.Name = "txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously"
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.Size = New System.Drawing.Size(100, 20)
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.TabIndex = 4
+        '
+        'lblM9LitresOfAirCompressoryOnlyOnInOverrun
+        '
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.AutoSize = true
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.Location = New System.Drawing.Point(6, 48)
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.Name = "lblM9LitresOfAirCompressoryOnlyOnInOverrun"
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.Size = New System.Drawing.Size(219, 13)
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.TabIndex = 3
+        Me.lblM9LitresOfAirCompressoryOnlyOnInOverrun.Text = "Litres Of Air : Compressor Only On In Overrun"
+        '
+        'lblM9LitresOfAirCompressorOnContinuously
+        '
+        Me.lblM9LitresOfAirCompressorOnContinuously.AutoSize = true
+        Me.lblM9LitresOfAirCompressorOnContinuously.Location = New System.Drawing.Point(6, 9)
+        Me.lblM9LitresOfAirCompressorOnContinuously.Name = "lblM9LitresOfAirCompressorOnContinuously"
+        Me.lblM9LitresOfAirCompressorOnContinuously.Size = New System.Drawing.Size(205, 13)
+        Me.lblM9LitresOfAirCompressorOnContinuously.TabIndex = 2
+        Me.lblM9LitresOfAirCompressorOnContinuously.Text = "Litres Of Air : Compressor On Continuously"
+        '
+        'txtM9_out_LitresOfAirCompressorOnlyOnInOverrun
+        '
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.Location = New System.Drawing.Point(6, 64)
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.Name = "txtM9_out_LitresOfAirCompressorOnlyOnInOverrun"
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.Size = New System.Drawing.Size(100, 20)
+        Me.txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.TabIndex = 1
+        '
+        'txtM9_out_LitresOfAirConsumptionCompressorONContinuously
+        '
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously.Location = New System.Drawing.Point(6, 25)
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously.Name = "txtM9_out_LitresOfAirConsumptionCompressorONContinuously"
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously.Size = New System.Drawing.Size(100, 20)
+        Me.txtM9_out_LitresOfAirConsumptionCompressorONContinuously.TabIndex = 0
+        '
+        'lblM9Title
+        '
+        Me.lblM9Title.AutoSize = true
+        Me.lblM9Title.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(0,Byte))
+        Me.lblM9Title.ForeColor = System.Drawing.SystemColors.Highlight
+        Me.lblM9Title.Location = New System.Drawing.Point(831, 190)
+        Me.lblM9Title.MaximumSize = New System.Drawing.Size(250, 0)
+        Me.lblM9Title.Name = "lblM9Title"
+        Me.lblM9Title.Size = New System.Drawing.Size(248, 26)
+        Me.lblM9Title.TabIndex = 50
+        Me.lblM9Title.Text = "M9-Air Delivery & Fuel Calculation Smart And Non Smart Pneumatics Over the cycle"
+        '
+        'lblM9TotalCycleFuelConsumptionCompressorOFFContinuously
+        '
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.AutoSize = true
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.Location = New System.Drawing.Point(6, 134)
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.Name = "lblM9TotalCycleFuelConsumptionCompressorOFFContinuously"
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.Size = New System.Drawing.Size(297, 13)
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.TabIndex = 8
+        Me.lblM9TotalCycleFuelConsumptionCompressorOFFContinuously.Text = "Total Cycle Fuel Consumption : Compressor OFF Continuously"
+        '
+        'txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously
+        '
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.ForeColor = System.Drawing.Color.FromArgb(CType(CType(0,Byte),Integer), CType(CType(192,Byte),Integer), CType(CType(0,Byte),Integer))
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.Location = New System.Drawing.Point(6, 150)
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.Name = "txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously"
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.Size = New System.Drawing.Size(100, 20)
+        Me.txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.TabIndex = 7
         '
         'Dashboard
         '
@@ -2391,6 +2543,8 @@ Partial Class Dashboard
         Me.tabHVACConfig.PerformLayout
         Me.tabPlayground.ResumeLayout(false)
         Me.tabPlayground.PerformLayout
+        Me.pnlM8.ResumeLayout(false)
+        Me.pnlM8.PerformLayout
         Me.Panel4.ResumeLayout(false)
         Me.Panel4.PerformLayout
         Me.Panel2.ResumeLayout(false)
@@ -2412,8 +2566,8 @@ Partial Class Dashboard
         Me.pnl_M0_Displays.PerformLayout
         Me.resultCardContextMenu.ResumeLayout(false)
         CType(Me.ErrorProvider,System.ComponentModel.ISupportInitialize).EndInit
-        Me.Panel5.ResumeLayout(false)
-        Me.Panel5.PerformLayout
+        Me.pnlM9.ResumeLayout(false)
+        Me.pnlM9.PerformLayout
         Me.ResumeLayout(false)
 
 End Sub
@@ -2619,12 +2773,25 @@ End Sub
     Friend WithEvents txtM7_out_SmartElectricalAndPneumaticAux_AirCompPowerGenAtCrank As System.Windows.Forms.TextBox
     Friend WithEvents txtM7_out_SmartElectricalAndPneumaticsAux_AltPowerGenAtCrank As System.Windows.Forms.TextBox
     Friend WithEvents lblM8_Title As System.Windows.Forms.Label
-    Friend WithEvents Panel5 As System.Windows.Forms.Panel
+    Friend WithEvents pnlM8 As System.Windows.Forms.Panel
     Friend WithEvents lblM8CompressorFlag As System.Windows.Forms.Label
     Friend WithEvents txtM8_out_CompressorFlag As System.Windows.Forms.TextBox
     Friend WithEvents lblM8SmartElectricalAltPwrGenAtCrank As System.Windows.Forms.Label
     Friend WithEvents lblM8AuxPowerAtCrankFromAllAncillaries As System.Windows.Forms.Label
     Friend WithEvents txtM8_out_SmartElectricalAltPwrGenAtCrank As System.Windows.Forms.TextBox
     Friend WithEvents txtM8_out_AuxPowerAtCrankFromAllAncillaries As System.Windows.Forms.TextBox
+    Friend WithEvents btnFuelMap As System.Windows.Forms.Button
+    Friend WithEvents lblFuelMap As System.Windows.Forms.Label
+    Friend WithEvents txtFuelMap As System.Windows.Forms.TextBox
+    Friend WithEvents pnlM9 As System.Windows.Forms.Panel
+    Friend WithEvents lblM9TotalCycleFuelConsumptionCompressorOnContinuously As System.Windows.Forms.Label
+    Friend WithEvents txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously As System.Windows.Forms.TextBox
+    Friend WithEvents lblM9LitresOfAirCompressoryOnlyOnInOverrun As System.Windows.Forms.Label
+    Friend WithEvents lblM9LitresOfAirCompressorOnContinuously As System.Windows.Forms.Label
+    Friend WithEvents txtM9_out_LitresOfAirCompressorOnlyOnInOverrun As System.Windows.Forms.TextBox
+    Friend WithEvents txtM9_out_LitresOfAirConsumptionCompressorONContinuously As System.Windows.Forms.TextBox
+    Friend WithEvents lblM9Title As System.Windows.Forms.Label
+    Friend WithEvents lblM9TotalCycleFuelConsumptionCompressorOFFContinuously As System.Windows.Forms.Label
+    Friend WithEvents txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously As System.Windows.Forms.TextBox
 
 End Class
diff --git a/AuxillaryTestHarness/Dashboard.resx b/AuxillaryTestHarness/Dashboard.resx
index 9591f90d7ff849922e406cb319a2f4ebe1d22d69..8fe69dd87089bb8937a5e1351ffba937032ea4c3 100644
--- a/AuxillaryTestHarness/Dashboard.resx
+++ b/AuxillaryTestHarness/Dashboard.resx
@@ -124,7 +124,7 @@
     <value>168, 17</value>
   </metadata>
   <metadata name="$this.TrayHeight" type="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
-    <value>25</value>
+    <value>109</value>
   </metadata>
   <metadata name="Timer1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
     <value>543, 19</value>
diff --git a/AuxillaryTestHarness/Dashboard.vb b/AuxillaryTestHarness/Dashboard.vb
index 556a1377dc8f15f26103ace9e00d7932dd9776b2..6dc1527cfe9250279c56d3a5733707edbdcfdbcd 100644
--- a/AuxillaryTestHarness/Dashboard.vb
+++ b/AuxillaryTestHarness/Dashboard.vb
@@ -114,6 +114,7 @@ Private Sub CreateBindings()
      txtPowernetVoltage.DataBindings.Add("Text", auxEnvironment.ElectricalUserInputsConfig, "PowerNetVoltage")
      txtVehicleWeightKG.DataBindings.Add("Text", auxEnvironment.VectoInputs, "VehicleWeightKG")
      cboCycle.DataBindings.Add("Text", auxEnvironment.VectoInputs, "Cycle")
+     txtFuelMap.DataBindings.Add("Text",auxEnvironment.VectoInputs,"FuelMap")
 
      'Electricals General
      txtAlternatorMapPath.DataBindings.Add("Text", auxEnvironment.ElectricalUserInputsConfig, "AlternatorMap")
@@ -920,6 +921,13 @@ Private sub RefreshDisplays()
       txtM8_out_AuxPowerAtCrankFromAllAncillaries.Text = auxEnvironment.M8.AuxPowerAtCrankFromElectricalHVACAndPneumaticsAncillaries
       txtM8_out_SmartElectricalAltPwrGenAtCrank.Text = auxEnvironment.M8.SmartElectricalAlternatorPowerGenAtCrank
       txtM8_out_CompressorFlag.Text= auxEnvironment.M8.CompressorFlag
+
+      'M9
+      txtM9_out_LitresOfAirConsumptionCompressorONContinuously.Text= auxEnvironment.M9.LitresOfAirCompressorOnContinually
+      txtM9_out_LitresOfAirCompressorOnlyOnInOverrun.Text=auxEnvironment.M9.LitresOfAirCompressorOnOnlyInOverrun
+      txtM9_out_TotalCycleFuelConsumptionCompressorOnContinuously.Text=auxEnvironment.M9.TotalCycleFuelConsumptionCompressorOnContinuously
+      txtM9_out_TotalCycleFuelConsumptionCompressorOFFContinuously.Text=auxEnvironment.M9.TotalCycleFuelConsumptionCompressorOffContinuously
+
  
 
 End Sub
@@ -947,12 +955,15 @@ End Sub
 
 Private Sub RefreshDisplayValues_Timed( sender As Object,  e As EventArgs) Handles Timer1.Tick
 
-  
+  auxEnvironment.M9.CycleStep(1)  
+
   SetProcessingStatus()
 
   RefreshDisplays()
 
 
+
+
 End Sub
 
 'Form Overrides
diff --git a/AuxillaryTestHarness/testFuelGoodMap.vmap b/AuxillaryTestHarness/testFuelGoodMap.vmap
new file mode 100644
index 0000000000000000000000000000000000000000..f7ad107b968d22126c862db3a0d24a78c7ba3f14
--- /dev/null
+++ b/AuxillaryTestHarness/testFuelGoodMap.vmap
@@ -0,0 +1,186 @@
+engine speed [1/min],torque [Nm],fuel consumption [g/h]
+600,-45,0
+600,0,767
+600,100,1759
+600,200,2890
+600,300,4185
+600,400,5404
+600,500,6535
+600,587,7442
+800,-55,0
+800,0,951
+800,100,2346
+800,200,3653
+800,300,5328
+800,400,6903
+800,500,8503
+800,600,10003
+800,700,11641
+800,756,12557
+1000,-63,0
+1000,0,1006
+1000,100,2932
+1000,200,4503
+1000,300,6472
+1000,400,8503
+1000,500,10472
+1000,600,12504
+1000,700,14514
+1000,800,16546
+1000,884,18243
+1200,-75,0
+1200,0,1467
+1200,100,3063
+1200,200,5359
+1200,300,7701
+1200,400,10082
+1200,500,12504
+1200,600,14902
+1200,700,17182
+1200,800,19569
+1200,900,21989
+1300,-81,0
+1300,0,1684
+1300,100,3302
+1300,200,5828
+1300,300,8367
+1300,400,10926
+1300,500,13533
+1300,600,16046
+1300,700,18591
+1300,800,21172
+1300,900,23733
+1400,-88,0
+1400,0,1943
+1400,100,3660
+1400,200,6304
+1400,300,9031
+1400,400,11783
+1400,500,14466
+1400,600,17180
+1400,700,20015
+1400,800,22828
+1400,900,25498
+1500,-93,0
+1500,0,2167
+1500,100,3963
+1500,200,6793
+1500,300,9721
+1500,400,12670
+1500,500,15534
+1500,600,18413
+1500,700,21467
+1500,800,24495
+1500,900,27363
+1600,-98,0
+1600,0,2391
+1600,100,4272
+1600,200,7257
+1600,300,10398
+1600,400,13535
+1600,500,16711
+1600,600,19835
+1600,700,22965
+1600,800,26115
+1600,900,29164
+1700,-101,0
+1700,0,2641
+1700,100,4578
+1700,200,7768
+1700,300,11114
+1700,400,14439
+1700,500,17759
+1700,600,21069
+1700,700,24380
+1700,800,27739
+1700,891,30707
+1800,-104,0
+1800,0,2890
+1800,100,4965
+1800,200,8233
+1800,300,11783
+1800,400,15307
+1800,500,18849
+1800,600,22267
+1800,700,25749
+1800,800,29389
+1800,882,32310
+1900,-108,0
+1900,0,3192
+1900,100,5416
+1900,200,8777
+1900,300,12531
+1900,400,16204
+1900,500,19993
+1900,600,23620
+1900,700,27255
+1900,800,31168
+1900,868,33790
+2000,-112,0
+2000,0,3496
+2000,100,5853
+2000,200,9345
+2000,300,13315
+2000,400,17188
+2000,500,21137
+2000,600,25058
+2000,700,28927
+2000,800,33026
+2000,854,35268
+2150,-119,117
+2150,0,4067
+2150,100,6490
+2150,200,10226
+2150,300,14474
+2150,400,18647
+2150,500,22797
+2150,600,27142
+2150,700,31624
+2150,800,36035
+2150,812,36568
+2200,-126,0
+2200,0,4247
+2200,100,6689
+2200,200,10535
+2200,300,14855
+2200,400,19151
+2200,500,23395
+2200,600,27834
+2200,700,32507
+2200,803,37265
+2300,-131,0
+2300,0,4523
+2300,100,7178
+2300,200,11221
+2300,300,15658
+2300,400,20237
+2300,500,24761
+2300,600,29476
+2300,700,34611
+2300,756,37404
+2400,-136,0
+2400,0,4945
+2400,100,7525
+2400,200,11830
+2400,300,16443
+2400,400,21307
+2400,500,26324
+2400,600,31334
+2400,706,37034
+2500,-141,0
+2500,0,5338
+2500,100,7731
+2500,200,12385
+2500,300,17231
+2500,400,22333
+2500,500,27940
+2500,645,35727
+2600,-146,0
+2600,0,5500
+2600,100,7796
+2600,200,12887
+2600,300,18021
+2600,400,23315
+2600,480,28351
+2700,-150,0
+2700,0,5900
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
index 5b5d4adbac3460093a5acc0de6006e33aa2e9053..e5dbc5ae731983af85f92e670311d75838fd3b7c 100644
--- a/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
+++ b/VECTOAux/VectoAuxiliaries/AuxillaryEnvironment.vb
@@ -4,6 +4,7 @@ Imports VectoAuxiliaries.Pneumatics
 Imports VectoAuxiliaries.Hvac
 Imports System.IO
 Imports VectoAuxiliaries.DownstreamModules
+Imports System.Windows.Forms
 
 
 Public Class AuxillaryEnvironment
@@ -42,6 +43,7 @@ public Property PneumaticAuxillariesConfig As IPneumaticsAuxilliariesConfig
   Public M6 As IM6
   Public M7 As IM7
   Public M8 As IM8
+  Public M9 As IM9
   
 
 
@@ -60,6 +62,15 @@ Dim actuationsMap As  IPneumaticActuationsMAP = New PneumaticActuationsMAP( Pneu
 Dim compressorMap As ICompressorMap = New CompressorMap( PneumaticUserInputsConfig.CompressorMap)
 compressorMap.Initialise()
 
+Dim fuelMap As IFUELMAP = New cMAP()
+fuelMap.FilePath= VectoInputs.FuelMap
+If Not fuelMap.ReadFile() then 
+MessageBox.Show("Unable to read fuel map, aborting.")
+return
+End If
+fuelMap.Triangulate()
+
+
 ElectricalUserInputsConfig.ElectricalConsumers.DoorDutyCycleFraction = GetDoorActuationTimeFraction()
 
 
@@ -118,6 +129,8 @@ M7 = New M7(M5,M6,Signals)
 
 M8 = New M8(M1,M6,M7,Signals)
 
+M9 = New M9(M1,M4,M6,M8,fuelMap,PneumaticAuxillariesConfig,Signals)
+
 
 End Sub
  
@@ -136,7 +149,7 @@ Private Sub setDefaults()
 
 'Here's where the magic happens.
 
- VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3, .CycleDurationMinutes=51.9}
+ VectoInputs = New VectoInputs With {.Cycle="Urban", .VehicleWeightKG=16500, .PowerNetVoltage=26.3, .CycleDurationMinutes=51.9,.FuelMap="testFuelGoodMap.vmap"}
  
  'Pneumatics
  PneumaticUserInputsConfig  = New PneumaticUserInputsConfig(true) 
@@ -145,8 +158,6 @@ Private Sub setDefaults()
 
 
 
-
-
  ElectricalUserInputsConfig = New  ElectricsUserInputsConfig() With {.DoorActuationTimeSecond=4, 
                                                                      .AlternatorGearEfficiency=0.8,
                                                                      .PowerNetVoltage= VectoInputs.PowerNetVoltage,
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUEL.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUEL.vb
deleted file mode 100644
index 27225911e9ec2029e0206a8ba3b6a3ffd8cd1b6c..0000000000000000000000000000000000000000
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUEL.vb
+++ /dev/null
@@ -1,19 +0,0 @@
-Public Interface IFUELMAP
-
-     Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean
-     Function Pdrag(ByVal nU As Single) As Single
-     Function Pfull(ByVal nU As Single, ByVal LastPe As Single) As Single
-     Function Pfull(ByVal nU As Single) As Single
-     Function Tq(ByVal nU As Single) As Single
-     Function fNpref(ByVal Nidle As Single) As Single
-     Function fnUrated() As Single
-     Function fnUofPfull(ByVal PeTarget As Single, ByVal FromLeft As Boolean) As Single
-     Function Tmax() As Single
-
-     Sub Init(ByVal Nidle As Single)
-     Sub DeclInit()
-
-     Property FilePath() As String
-
-
-End Interface
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUELMAP.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUELMAP.vb
new file mode 100644
index 0000000000000000000000000000000000000000..090945acf0658cf89a2658d1e2a5b5eaf9857add
--- /dev/null
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IFUELMAP.vb
@@ -0,0 +1,19 @@
+Public Interface IFUELMAP
+
+
+   Function ReadFile(Optional ByVal ShowMsg As Boolean = True) As Boolean
+
+
+   Function fFCdelaunay_Intp(ByVal nU As Single, ByVal Tq As Single) As Single
+
+   Function Triangulate() As Boolean
+
+   Property FilePath As String
+   ReadOnly Property MapDim As Integer 
+   ReadOnly Property Tq As List(Of Single)
+   ReadOnly Property FC As List(Of Single)
+   ReadOnly Property nU As List(Of Single)
+
+
+
+End Interface
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb
index dccdff34bf261b67f7bfbca9ce58b02eb53e5185..b2a52cc9a0548bf60511d8e28add225a3db1430e 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/IM9.vb
@@ -17,9 +17,6 @@ Public Interface IM9
  readonly property TotalCycleFuelConsumptionCompressorOffContinuously as single
 
 
- 
-
-
 End Interface
 
 
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
index 1d23b1921dc76d65f3a7a42077a81f74ca29006e..58eb2c7855337fe615cc3affff26dad71ad82e47 100644
--- a/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/M9.vb
@@ -9,7 +9,7 @@ Implements  IM9
 
 
  
- #Region "Aggregates"
+#Region "Aggregates"
 
 'AG1
 Private _LitresOfAirCompressorOnContinuallyAggregate As Single
@@ -22,14 +22,16 @@ Private _TotalCycleFuelConsumptionCompressorOnContinuouslyAggregate As Single
 
 #End Region
  
- #Region "Constructor Requirements"
+#Region "Constructor Requirements"
+
 Private M1 As IM1_AverageHVACLoadDemand
 Private M4 As IM4_AirCompressor
 Private M6 As IM6
 Private M8 As IM8
-Private Signals As ISignals
 Private FMAP As IFUELMAP
 Private PSAC As IPneumaticsAuxilliariesConfig
+Private Signals As ISignals
+
 #end region
  
  #Region "Public Readonly Properties"
@@ -114,19 +116,17 @@ End Property
      Return S9 * PSAC.OverrunUtilisationForCompressionFraction
      End Get
  End Property
-
  private ReadOnly Property S11 As Single
      Get
-
+       Return FMAP.fFCdelaunay_Intp(Signals.EngineSpeed,s7)
      End Get
  End Property
-  private ReadOnly Property S12 As Single
+ private ReadOnly Property S12 As Single
       Get
-
+          return   FMAP.fFCdelaunay_Intp(Signals.EngineSpeed,s8)
       End Get
   End Property
 
-
  'Public Utility Methods.
  Public Sub ClearAggregates() Implements IM9.ClearAggregates
           _LitresOfAirCompressorOnContinuallyAggregate =0
@@ -136,12 +136,12 @@ End Property
         End Sub
 
  'Clear down at the beginning of a cycle.      
-  Public Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM9.CycleStep
+ Public Sub CycleStep(Optional stepTimeInSeconds As Single = 0.0) Implements IM9.CycleStep
 
           _LitresOfAirCompressorOnContinuallyAggregate +=stepTimeInSeconds* M4.GetAveragePowerDemandPerCompressorUnitFlowRate
           _LitresOfAirCompressorOnOnlyInOverrunAggregate +=stepTimeInSeconds * s10
-          _TotalCycleFuelConsumptionCompressorOffContinuouslyAggregate +=stepTimeInSeconds * 1
-          _TotalCycleFuelConsumptionCompressorOnContinuouslyAggregate+= stepTimeInSeconds * 1
+          _TotalCycleFuelConsumptionCompressorOnContinuouslyAggregate+= stepTimeInSeconds * s11
+          _TotalCycleFuelConsumptionCompressorOffContinuouslyAggregate +=stepTimeInSeconds * s12
 
   End Sub
 
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/cDelaunayMap.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/cDelaunayMap.vb
new file mode 100644
index 0000000000000000000000000000000000000000..d25f29edf6e8abc85b46813d48fe1333363b3172
--- /dev/null
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/cDelaunayMap.vb
@@ -0,0 +1,493 @@
+' Copyright 2014 European Union.
+' Licensed under the EUPL (the 'Licence');
+'
+' * You may not use this work except in compliance with the Licence.
+' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
+' * Unless required by applicable law or agreed to in writing,
+'   software distributed under the Licence is distributed on an "AS IS" basis,
+'   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+'
+' See the LICENSE.txt for the specific language governing permissions and limitations.
+Imports System.Collections.Generic
+
+Public Class cDelaunayMap
+
+    Public ptDim As Integer
+
+    Public ptList As List(Of dPoint)
+    Private lDT As List(Of dTriangle)
+    Private planes As List(Of Double())
+
+    Public DualMode As Boolean
+    Private ptListXZ As List(Of dPoint)
+    Private planesXZ As List(Of Double())
+    Private lDTXZ As List(Of dTriangle)
+
+    Public ExtrapolError As Boolean
+
+
+    Public Sub New()
+        ptList = New List(Of dPoint)
+        ptListXZ = New List(Of dPoint)
+        DualMode = False
+    End Sub
+
+    Public Sub AddPoints(ByVal X As Double, ByVal Y As Double, ByVal Z As Double)
+        ptList.Add(New dPoint(X, Y, Z))
+        If DualMode Then ptListXZ.Add(New dPoint(X, Z, Y))
+    End Sub
+
+    Public Function Triangulate() As Boolean
+        Dim tr As dTriangle
+        Dim DT As dTriangulation
+
+        ptDim = ptList.Count - 1
+
+        'XY-triangulation
+        Try
+            DT = New dTriangulation
+            lDT = DT.Triangulate(ptList)
+        Catch ex As Exception
+            Return False
+        End Try
+
+        planes = New List(Of Double())
+
+        For Each tr In lDT
+            planes.Add(GetPlane(tr))
+        Next
+
+
+
+        '#If DEBUG Then
+        '        Dim i As Int16
+        '        Debug.Print("#,x1,y1,z1,x2,y2,z2")
+        '        i = -1
+        '        For Each tr In lDT
+        '            i += 1
+        '            Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z)
+        '            Debug.Print(i & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z & "," & tr.P2.X & "," & tr.P2.Y & "," & tr.P2.Z)
+        '            Debug.Print(i & "," & tr.P1.X & "," & tr.P1.Y & "," & tr.P1.Z & "," & tr.P3.X & "," & tr.P3.Y & "," & tr.P3.Z)
+        '        Next
+        '#End If
+
+
+
+        'XZ-triangulation
+        If DualMode Then
+
+            If ptDim <> ptListXZ.Count - 1 Then Return False
+
+            Try
+                DT = New dTriangulation
+                lDTXZ = DT.Triangulate(ptListXZ)
+            Catch ex As Exception
+                Return False
+            End Try
+
+            planesXZ = New List(Of Double())
+
+            For Each tr In lDTXZ
+                planesXZ.Add(GetPlane(tr))
+            Next
+
+        End If
+
+        Return True
+
+    End Function
+
+    'XY => Z Interpolation
+    Public Function Intpol(ByVal x As Double, ByVal y As Double) As Double
+        Dim j As Integer
+        Dim l0 As Double()
+        Dim tr As dTriangle
+
+        ExtrapolError = False
+
+        'Try exact solution for IsInside()
+        j = -1
+        For Each tr In lDT
+            j += 1
+            If IsInside(tr, x, y, True) Then
+                l0 = planes(j)
+                Return (l0(3) - x * l0(0) - y * l0(1)) / l0(2)
+            End If
+        Next
+
+        'Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle)
+        j = -1
+        For Each tr In lDT
+            j += 1
+            If IsInside(tr, x, y, False) Then
+                l0 = planes(j)
+                Return (l0(3) - x * l0(0) - y * l0(1)) / l0(2)
+            End If
+        Next
+
+
+
+        'ERROR: Extrapolation
+        ExtrapolError = True
+
+        Return Nothing
+
+    End Function
+
+    'XZ => Y Interpolation
+    Public Function IntpolXZ(ByVal x As Double, ByVal z As Double) As Double
+        Dim j As Integer
+        Dim l0 As Double()
+        Dim tr As dTriangle
+
+        ExtrapolError = False
+
+        If DualMode Then
+
+            j = -1
+
+            'Try exact solution for IsInside()
+            For Each tr In lDTXZ
+                j += 1
+                If IsInside(tr, x, z, True) Then
+                    l0 = planesXZ(j)
+                    Return (l0(3) - x * l0(0) - z * l0(1)) / l0(2)
+                End If
+            Next
+
+            'Try approx. solution (fixes rounding errors when points lies exactly on an edge of a triangle)
+            For Each tr In lDTXZ
+                j += 1
+                If IsInside(tr, x, z, False) Then
+                    l0 = planesXZ(j)
+                    Return (l0(3) - x * l0(0) - z * l0(1)) / l0(2)
+                End If
+            Next
+
+            'ERROR: Extrapolation
+            ExtrapolError = True
+            Return Nothing
+
+        Else
+
+            'ERROR: Extrapolation
+            ExtrapolError = True
+            Return Nothing
+
+        End If
+    End Function
+
+    Private Function GetPlane(ByRef tr As dTriangle) As Double()
+        Dim AB As dPoint
+        Dim AC As dPoint
+        Dim cross As dPoint
+        Dim l(3) As Double
+        Dim pt1 As dPoint
+        Dim pt2 As dPoint
+        Dim pt3 As dPoint
+
+        pt1 = tr.P1
+        pt2 = tr.P2
+        pt3 = tr.P3
+
+        AB = New dPoint(pt2.X - pt1.X, pt2.Y - pt1.Y, pt2.Z - pt1.Z)
+        AC = New dPoint(pt3.X - pt1.X, pt3.Y - pt1.Y, pt3.Z - pt1.Z)
+
+        cross = New dPoint(AB.Y * AC.Z - AB.Z * AC.Y, AB.Z * AC.X - AB.X * AC.Z, AB.X * AC.Y - AB.Y * AC.X)
+
+        l(0) = cross.X
+        l(1) = cross.Y
+        l(2) = cross.Z
+
+        l(3) = pt1.X * cross.X + pt1.Y * cross.Y + pt1.Z * cross.Z
+
+        Return l
+
+    End Function
+
+    Private Function IsInside(ByRef tr As dTriangle, ByVal xges As Double, ByVal yges As Double, ByVal Exact As Boolean) As Boolean
+        Dim v0(1) As Double
+        Dim v1(1) As Double
+        Dim v2(1) As Double
+        Dim dot00 As Double
+        Dim dot01 As Double
+        Dim dot02 As Double
+        Dim dot11 As Double
+        Dim dot12 As Double
+        Dim invDenom As Double
+        Dim u As Double
+        Dim v As Double
+        Dim pt1 As dPoint
+        Dim pt2 As dPoint
+        Dim pt3 As dPoint
+
+        pt1 = tr.P1
+        pt2 = tr.P2
+        pt3 = tr.P3
+
+        'Quelle: http://www.blackpawn.com/texts/pointinpoly/default.html  (Barycentric Technique)
+
+        ' Compute vectors        
+        v0(0) = pt3.X - pt1.X
+        v0(1) = pt3.Y - pt1.Y
+
+        v1(0) = pt2.X - pt1.X
+        v1(1) = pt2.Y - pt1.Y
+
+        v2(0) = xges - pt1.X
+        v2(1) = yges - pt1.Y
+
+        ' Compute dot products
+        dot00 = v0(0) * v0(0) + v0(1) * v0(1)
+        dot01 = v0(0) * v1(0) + v0(1) * v1(1)
+        dot02 = v0(0) * v2(0) + v0(1) * v2(1)
+        dot11 = v1(0) * v1(0) + v1(1) * v1(1)
+        dot12 = v1(0) * v2(0) + v1(1) * v2(1)
+
+        ' Compute barycentric coordinates
+        invDenom = 1 / (dot00 * dot11 - dot01 * dot01)
+        u = (dot11 * dot02 - dot01 * dot12) * invDenom
+        v = (dot00 * dot12 - dot01 * dot02) * invDenom
+
+        'Debug.Print(u & ", " & v & ", " & u + v)
+
+        ' Check if point is in triangle
+        If Exact Then
+            Return (u >= 0) And (v >= 0) And (u + v <= 1)
+        Else
+            Return (u >= -0.001) And (v >= -0.001) And (u + v <= 1.001)
+        End If
+
+    End Function
+
+    Public Class dPoint
+        Public X As Double
+        Public Y As Double
+        Public Z As Double
+
+        Public Sub New(ByVal xd As Double, ByVal yd As Double, ByVal zd As Double)
+            X = xd
+            Y = yd
+            Z = zd
+        End Sub
+
+        Public Shared Operator =(left As dPoint, right As dPoint) As Boolean
+
+            'If DirectCast(left, Object) = DirectCast(right, Object) Then
+            '    Return True
+            'End If
+
+            'If (DirectCast(left, Object) Is Nothing) OrElse (DirectCast(right, Object) Is Nothing) Then
+            '    Return False
+            'End If
+
+            ' Just compare x and y here...
+            If left.X <> right.X Then
+                Return False
+            End If
+
+            If left.Y <> right.Y Then
+                Return False
+            End If
+
+            Return True
+
+        End Operator
+
+        Public Shared Operator <>(left As dPoint, right As dPoint) As Boolean
+            Return Not (left = right)
+        End Operator
+
+
+    End Class
+
+    Public Class dTriangle
+        Public P1 As dPoint
+        Public P2 As dPoint
+        Public P3 As dPoint
+
+        Public Sub New(ByRef pp1 As dPoint, ByRef pp2 As dPoint, ByRef pp3 As dPoint)
+            P1 = pp1
+            P2 = pp2
+            P3 = pp3
+        End Sub
+
+        Public Function ContainsInCircumcircle(pt As dPoint) As Double
+            Dim ax As Double = Me.P1.X - pt.X
+            Dim ay As Double = Me.P1.Y - pt.Y
+            Dim bx As Double = Me.P2.X - pt.X
+            Dim by As Double = Me.P2.Y - pt.Y
+            Dim cx As Double = Me.P3.X - pt.X
+            Dim cy As Double = Me.P3.Y - pt.Y
+            Dim det_ab As Double = ax * by - bx * ay
+            Dim det_bc As Double = bx * cy - cx * by
+            Dim det_ca As Double = cx * ay - ax * cy
+            Dim a_squared As Double = ax * ax + ay * ay
+            Dim b_squared As Double = bx * bx + by * by
+            Dim c_squared As Double = cx * cx + cy * cy
+
+            Return a_squared * det_bc + b_squared * det_ca + c_squared * det_ab
+
+        End Function
+
+        Public Function SharesVertexWith(triangle As dTriangle) As Boolean
+            If Me.P1.X = triangle.P1.X AndAlso Me.P1.Y = triangle.P1.Y Then
+                Return True
+            End If
+            If Me.P1.X = triangle.P2.X AndAlso Me.P1.Y = triangle.P2.Y Then
+                Return True
+            End If
+            If Me.P1.X = triangle.P3.X AndAlso Me.P1.Y = triangle.P3.Y Then
+                Return True
+            End If
+
+            If Me.P2.X = triangle.P1.X AndAlso Me.P2.Y = triangle.P1.Y Then
+                Return True
+            End If
+            If Me.P2.X = triangle.P2.X AndAlso Me.P2.Y = triangle.P2.Y Then
+                Return True
+            End If
+            If Me.P2.X = triangle.P3.X AndAlso Me.P2.Y = triangle.P3.Y Then
+                Return True
+            End If
+
+            If Me.P3.X = triangle.P1.X AndAlso Me.P3.Y = triangle.P1.Y Then
+                Return True
+            End If
+            If Me.P3.X = triangle.P2.X AndAlso Me.P3.Y = triangle.P2.Y Then
+                Return True
+            End If
+            If Me.P3.X = triangle.P3.X AndAlso Me.P3.Y = triangle.P3.Y Then
+                Return True
+            End If
+
+            Return False
+        End Function
+
+    End Class
+
+    Public Class dEdge
+        Public StartPoint As dPoint
+        Public EndPoint As dPoint
+
+        Public Sub New(ByRef p1 As dPoint, ByRef p2 As dPoint)
+            StartPoint = p1
+            EndPoint = p2
+        End Sub
+
+        Public Shared Operator =(left As dEdge, right As dEdge) As Boolean
+            'If DirectCast(left, Object) = DirectCast(right, Object) Then
+            '    Return True
+            'End If
+
+            'If (DirectCast(left, Object) Is Nothing) Or (DirectCast(right, Object) Is Nothing) Then
+            '    Return False
+            'End If
+
+            Return ((left.StartPoint = right.StartPoint AndAlso left.EndPoint = right.EndPoint) OrElse (left.StartPoint = right.EndPoint AndAlso left.EndPoint = right.StartPoint))
+        End Operator
+
+        Public Shared Operator <>(left As dEdge, right As dEdge) As Boolean
+            Return Not (left = right)
+        End Operator
+
+
+    End Class
+
+    Public Class dTriangulation
+
+        Public Function Triangulate(triangulationPoints As List(Of dPoint)) As List(Of dTriangle)
+            If triangulationPoints.Count < 3 Then
+                Throw New ArgumentException("Can not triangulate less than three vertices!")
+            End If
+
+            ' The triangle list
+            Dim triangles As New List(Of dTriangle)()
+
+
+
+            ' The "supertriangle" which encompasses all triangulation points.
+            ' This triangle initializes the algorithm and will be removed later.
+            Dim superTriangle As dTriangle = Me.SuperTriangle(triangulationPoints)
+            triangles.Add(superTriangle)
+
+            ' Include each point one at a time into the existing triangulation
+            For i As Integer = 0 To triangulationPoints.Count - 1
+                ' Initialize the edge buffer.
+                Dim EdgeBuffer As New List(Of dEdge)()
+
+                ' If the actual vertex lies inside the circumcircle, then the three edges of the 
+                ' triangle are added to the edge buffer and the triangle is removed from list.                             
+                For j As Integer = triangles.Count - 1 To 0 Step -1
+                    Dim t As dTriangle = triangles(j)
+                    If t.ContainsInCircumcircle(triangulationPoints(i)) > 0 Then
+                        EdgeBuffer.Add(New dEdge(t.P1, t.P2))
+                        EdgeBuffer.Add(New dEdge(t.P2, t.P3))
+                        EdgeBuffer.Add(New dEdge(t.P3, t.P1))
+                        triangles.RemoveAt(j)
+                    End If
+                Next
+
+                ' Remove duplicate edges. This leaves the convex hull of the edges.
+                ' The edges in this convex hull are oriented counterclockwise!
+                For j As Integer = EdgeBuffer.Count - 2 To 0 Step -1
+                    For k As Integer = EdgeBuffer.Count - 1 To j + 1 Step -1
+                        If EdgeBuffer(j) = EdgeBuffer(k) Then
+                            EdgeBuffer.RemoveAt(k)
+                            EdgeBuffer.RemoveAt(j)
+                            k -= 1
+                            Continue For
+                        End If
+                    Next
+                Next
+
+                ' Generate new counterclockwise oriented triangles filling the "hole" in
+                ' the existing triangulation. These triangles all share the actual vertex.
+                For j As Integer = 0 To EdgeBuffer.Count - 1
+                    triangles.Add(New dTriangle(EdgeBuffer(j).StartPoint, EdgeBuffer(j).EndPoint, triangulationPoints(i)))
+                Next
+            Next
+
+            ' We don't want the supertriangle in the triangulation, so
+            ' remove all triangles sharing a vertex with the supertriangle.
+            For i As Integer = triangles.Count - 1 To 0 Step -1
+                If triangles(i).SharesVertexWith(superTriangle) Then
+                    triangles.RemoveAt(i)
+                End If
+            Next
+
+            ' Return the triangles
+            Return triangles
+        End Function
+
+
+
+
+        Private Function SuperTriangle(triangulationPoints As List(Of dPoint)) As dTriangle
+            Dim M As Double = triangulationPoints(0).X
+
+            ' get the extremal x and y coordinates
+            For i As Integer = 1 To triangulationPoints.Count - 1
+                Dim xAbs As Double = Math.Abs(triangulationPoints(i).X)
+                Dim yAbs As Double = Math.Abs(triangulationPoints(i).Y)
+                If xAbs > M Then
+                    M = xAbs
+                End If
+                If yAbs > M Then
+                    M = yAbs
+                End If
+            Next
+
+            ' make a triangle
+            Dim sp1 As New dPoint(10 * M, 0, 0)
+            Dim sp2 As New dPoint(0, 10 * M, 0)
+            Dim sp3 As New dPoint(-10 * M, -10 * M, 0)
+
+            Return New dTriangle(sp1, sp2, sp3)
+        End Function
+
+    End Class
+
+
+End Class
+
diff --git a/VECTOAux/VectoAuxiliaries/DownstreamModules/cFile V3.vb b/VECTOAux/VectoAuxiliaries/DownstreamModules/cFile V3.vb
new file mode 100644
index 0000000000000000000000000000000000000000..f8520f5324eb07a81befa9b72a09be83e424a006
--- /dev/null
+++ b/VECTOAux/VectoAuxiliaries/DownstreamModules/cFile V3.vb	
@@ -0,0 +1,150 @@
+' Copyright 2014 European Union.
+' Licensed under the EUPL (the 'Licence');
+'
+' * You may not use this work except in compliance with the Licence.
+' * You may obtain a copy of the Licence at: http://ec.europa.eu/idabc/eupl
+' * Unless required by applicable law or agreed to in writing,
+'   software distributed under the Licence is distributed on an "AS IS" basis,
+'   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+'
+' See the LICENSE.txt for the specific language governing permissions and limitations.
+Public Class cFile_V3
+
+    Private TxtFldParser As Microsoft.VisualBasic.FileIO.TextFieldParser
+    Private StrWrter As System.IO.StreamWriter
+    Private Mode As FileMode
+    Private Path As String
+    Private Sepp As String
+    Private SkipCom As Boolean
+    Private StopE As Boolean
+    Private FileOpen As Boolean
+    Private PreLine As String()
+    Private FileEnd As Boolean
+
+        'File format
+    private FileFormat As System.Text.Encoding = System.Text.Encoding.UTF8
+
+    Public Sub New()
+        Me.Reset()
+    End Sub
+
+    Private Sub Reset()
+        FileOpen = False
+        Mode = FileMode.Undefined
+        PreLine = Nothing
+        FileEnd = False
+    End Sub
+
+    Public Function OpenRead(ByVal FileName As String, Optional ByVal Separator As String = ",", Optional ByVal SkipComment As Boolean = True, Optional ByVal StopAtE As Boolean = False) As Boolean
+        Me.Reset()
+        StopE = StopAtE
+        Path = FileName
+        Sepp = Separator
+        SkipCom = SkipComment
+        If Not (Mode = FileMode.Undefined) Then Return False
+        If Not IO.File.Exists(Path) Then Return False
+        Mode = FileMode.Read
+        Try
+            TxtFldParser = New Microsoft.VisualBasic.FileIO.TextFieldParser(Path, System.Text.Encoding.Default)
+            FileOpen = True
+        Catch ex As Exception
+            Return False
+        End Try
+        TxtFldParser.TextFieldType = Microsoft.VisualBasic.FileIO.FieldType.Delimited
+        TxtFldParser.Delimiters = New String() {Sepp}
+
+        'If TxtFldParser.EndOfData Then Return False
+
+        Me.ReadLine()
+        Return True
+    End Function
+
+    Public Function ReadLine() As String()
+        Dim line As String()
+        Dim line0 As String
+
+        line = PreLine
+
+lb10:
+        If TxtFldParser.EndOfData Then
+
+            FileEnd = True
+
+        Else
+
+            PreLine = TxtFldParser.ReadFields
+            line0 = UCase(Trim(PreLine(0)))
+
+            If SkipCom Then
+                If Left(line0, 1) = "#" Then GoTo lb10
+            End If
+
+            If StopE Then FileEnd = (line0 = "E")
+
+        End If
+
+        Return line
+
+    End Function
+
+    Public Sub Close()
+        Select Case Mode
+            Case FileMode.Read
+                If FileOpen Then TxtFldParser.Close()
+                TxtFldParser = Nothing
+            Case FileMode.Write
+                If FileOpen Then StrWrter.Close()
+                StrWrter = Nothing
+        End Select
+        Me.Reset()
+    End Sub
+
+    Public ReadOnly Property EndOfFile() As Boolean
+        Get
+            Return FileEnd
+        End Get
+    End Property
+
+    Public Function OpenWrite(ByVal FileName As String, Optional ByVal Separator As String = ",", Optional ByVal AutoFlush As Boolean = False, Optional ByVal Append As Boolean = False) As Boolean
+        Me.Reset()
+        Path = FileName
+        Sepp = Separator
+        If Not (Mode = FileMode.Undefined) Then Return False
+        Mode = FileMode.Write
+        Try
+            StrWrter = My.Computer.FileSystem.OpenTextFileWriter(Path, Append, FileFormat)
+            FileOpen = True
+        Catch ex As Exception
+            Return False
+        End Try
+        StrWrter.AutoFlush = AutoFlush
+        Return True
+    End Function
+
+    Public Sub WriteLine(ByVal ParamArray x() As Object)
+        Dim St As String
+        Dim StB As New System.Text.StringBuilder
+        Dim Skip As Boolean
+        Skip = True
+        For Each St In x
+            If Skip Then
+                StB.Append(St)
+                Skip = False
+            Else
+                StB.Append(Sepp & St)
+            End If
+        Next
+        StrWrter.WriteLine(StB.ToString)
+        StB = Nothing
+    End Sub
+    Public Sub WriteLine(ByVal x As String)
+        StrWrter.WriteLine(x)
+    End Sub
+
+    Private Enum FileMode
+        Undefined
+        Read
+        Write
+    End Enum
+
+End Class
diff --git a/VECTOAux/VectoAuxiliaries/IVectoInputs.vb b/VECTOAux/VectoAuxiliaries/IVectoInputs.vb
index 91d72a413baf5788719379d832ec88625e27e6ef..6d6634dfd7a66c58d9186e83f15a9c284e43bbca 100644
--- a/VECTOAux/VectoAuxiliaries/IVectoInputs.vb
+++ b/VECTOAux/VectoAuxiliaries/IVectoInputs.vb
@@ -4,6 +4,7 @@ Property VehicleWeightKG As Single
 Property Cycle As String
 Property PowerNetVoltage As Single
 Property CycleDurationMinutes As single
+Property FuelMap As string
 
 
 End Interface
diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
index a0e78c86f5d6055922e7f06b39b8ba2a8c8f2bf5..4ae6521c6d91dd0ee3df43ad17ab249ddfe82cd7 100644
--- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
+++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj
@@ -73,8 +73,10 @@
   </ItemGroup>
   <ItemGroup>
     <Compile Include="AuxillaryEnvironment.vb" />
+    <Compile Include="DownstreamModules\cDelaunayMap.vb" />
+    <Compile Include="DownstreamModules\cFile V3.vb" />
     <Compile Include="DownstreamModules\cMAP.vb" />
-    <Compile Include="DownstreamModules\IFUEL.vb" />
+    <Compile Include="DownstreamModules\IFUELMAP.vb" />
     <Compile Include="DownstreamModules\IM6.vb" />
     <Compile Include="DownstreamModules\IM7.vb" />
     <Compile Include="DownstreamModules\IM8.vb" />
diff --git a/VECTOAux/VectoAuxiliaries/VectoInputs.vb b/VECTOAux/VectoAuxiliaries/VectoInputs.vb
index 5c6a9df8372dd5c0f03a918f3a3c77f0bce62807..198cd7ba8ffcd732c67fb6cf2c4f6926d969494a 100644
--- a/VECTOAux/VectoAuxiliaries/VectoInputs.vb
+++ b/VECTOAux/VectoAuxiliaries/VectoInputs.vb
@@ -4,9 +4,6 @@ Public Class VectoInputs
 
 Implements IVectoInputs
 
-
-
-
     Public Property Cycle As String Implements IVectoInputs.Cycle
 
     Public Property VehicleWeightKG As Single Implements IVectoInputs.VehicleWeightKG
@@ -15,5 +12,7 @@ Implements IVectoInputs
 
     Public Property CycleDurationMinutes As Single Implements IVectoInputs.CycleDurationMinutes
 
+    Public Property FuelMap As String Implements IVectoInputs.FuelMap
+
 End Class
 
diff --git a/VECTOAux/VectoAuxiliariesTests/TestFiles/testFuelGoodMap.vmap b/VECTOAux/VectoAuxiliariesTests/TestFiles/testFuelGoodMap.vmap
new file mode 100644
index 0000000000000000000000000000000000000000..f7ad107b968d22126c862db3a0d24a78c7ba3f14
--- /dev/null
+++ b/VECTOAux/VectoAuxiliariesTests/TestFiles/testFuelGoodMap.vmap
@@ -0,0 +1,186 @@
+engine speed [1/min],torque [Nm],fuel consumption [g/h]
+600,-45,0
+600,0,767
+600,100,1759
+600,200,2890
+600,300,4185
+600,400,5404
+600,500,6535
+600,587,7442
+800,-55,0
+800,0,951
+800,100,2346
+800,200,3653
+800,300,5328
+800,400,6903
+800,500,8503
+800,600,10003
+800,700,11641
+800,756,12557
+1000,-63,0
+1000,0,1006
+1000,100,2932
+1000,200,4503
+1000,300,6472
+1000,400,8503
+1000,500,10472
+1000,600,12504
+1000,700,14514
+1000,800,16546
+1000,884,18243
+1200,-75,0
+1200,0,1467
+1200,100,3063
+1200,200,5359
+1200,300,7701
+1200,400,10082
+1200,500,12504
+1200,600,14902
+1200,700,17182
+1200,800,19569
+1200,900,21989
+1300,-81,0
+1300,0,1684
+1300,100,3302
+1300,200,5828
+1300,300,8367
+1300,400,10926
+1300,500,13533
+1300,600,16046
+1300,700,18591
+1300,800,21172
+1300,900,23733
+1400,-88,0
+1400,0,1943
+1400,100,3660
+1400,200,6304
+1400,300,9031
+1400,400,11783
+1400,500,14466
+1400,600,17180
+1400,700,20015
+1400,800,22828
+1400,900,25498
+1500,-93,0
+1500,0,2167
+1500,100,3963
+1500,200,6793
+1500,300,9721
+1500,400,12670
+1500,500,15534
+1500,600,18413
+1500,700,21467
+1500,800,24495
+1500,900,27363
+1600,-98,0
+1600,0,2391
+1600,100,4272
+1600,200,7257
+1600,300,10398
+1600,400,13535
+1600,500,16711
+1600,600,19835
+1600,700,22965
+1600,800,26115
+1600,900,29164
+1700,-101,0
+1700,0,2641
+1700,100,4578
+1700,200,7768
+1700,300,11114
+1700,400,14439
+1700,500,17759
+1700,600,21069
+1700,700,24380
+1700,800,27739
+1700,891,30707
+1800,-104,0
+1800,0,2890
+1800,100,4965
+1800,200,8233
+1800,300,11783
+1800,400,15307
+1800,500,18849
+1800,600,22267
+1800,700,25749
+1800,800,29389
+1800,882,32310
+1900,-108,0
+1900,0,3192
+1900,100,5416
+1900,200,8777
+1900,300,12531
+1900,400,16204
+1900,500,19993
+1900,600,23620
+1900,700,27255
+1900,800,31168
+1900,868,33790
+2000,-112,0
+2000,0,3496
+2000,100,5853
+2000,200,9345
+2000,300,13315
+2000,400,17188
+2000,500,21137
+2000,600,25058
+2000,700,28927
+2000,800,33026
+2000,854,35268
+2150,-119,117
+2150,0,4067
+2150,100,6490
+2150,200,10226
+2150,300,14474
+2150,400,18647
+2150,500,22797
+2150,600,27142
+2150,700,31624
+2150,800,36035
+2150,812,36568
+2200,-126,0
+2200,0,4247
+2200,100,6689
+2200,200,10535
+2200,300,14855
+2200,400,19151
+2200,500,23395
+2200,600,27834
+2200,700,32507
+2200,803,37265
+2300,-131,0
+2300,0,4523
+2300,100,7178
+2300,200,11221
+2300,300,15658
+2300,400,20237
+2300,500,24761
+2300,600,29476
+2300,700,34611
+2300,756,37404
+2400,-136,0
+2400,0,4945
+2400,100,7525
+2400,200,11830
+2400,300,16443
+2400,400,21307
+2400,500,26324
+2400,600,31334
+2400,706,37034
+2500,-141,0
+2500,0,5338
+2500,100,7731
+2500,200,12385
+2500,300,17231
+2500,400,22333
+2500,500,27940
+2500,645,35727
+2600,-146,0
+2600,0,5500
+2600,100,7796
+2600,200,12887
+2600,300,18021
+2600,400,23315
+2600,480,28351
+2700,-150,0
+2700,0,5900
\ No newline at end of file
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/FuelMapTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/FuelMapTests.vb
new file mode 100644
index 0000000000000000000000000000000000000000..62345a92a09b2f71418baceb7a85ba6c36da65ce
--- /dev/null
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/FuelMapTests.vb
@@ -0,0 +1,40 @@
+Imports VectoAuxiliaries.Electrics
+Imports VectoAuxiliaries.Pneumatics
+Imports VectoAuxiliaries.Hvac
+Imports VectoAuxiliaries.DownstreamModules
+Imports NUnit.Framework
+Imports VectoAuxiliaries
+Imports Moq
+
+Namespace UnitTests
+
+<TestFixture()> _
+Public Class FuelMapTests
+
+Public Const GOODMAP As String = "TestFiles\TestFuelGoodMap.vmap"
+
+<Test()> _
+Public Sub createNewInstance()
+
+Dim target = New cMAP()
+Assert.IsNotNull(target)
+
+End Sub
+
+<Test()> _
+Public Sub ReadMapTest()
+
+Dim target = New cMAP()
+target.FilePath=GOODMAP
+Dim actual As Boolean = target.ReadFile()
+
+Assert.AreEqual(True,actual)
+
+End Sub
+
+End Class
+
+End Namespace
+
+
+
diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
index c987b173aa55f051007f4e5029e84b9dc25ca05a..d72127dd74db84e8fd9d1a56cb5f39ea904db809 100644
--- a/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
+++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/M9Tests.vb
@@ -10,23 +10,84 @@ Namespace UnitTests
 <TestFixture()>
 Public Class M9Tests
 
+
+public class MockFuel50PC
+Implements IFUELMAP
+
+   Public Function fFCdelaunay_Intp(nU As Single, Tq As Single) As Single Implements IFUELMAP.fFCdelaunay_Intp
+
+       Return (nU + Tq ) * 0.5
+
+   End Function
+
+   Public Property FilePath As String Implements IFUELMAP.FilePath
+
+   Public Function ReadFile(Optional ShowMsg As Boolean = True) As Boolean Implements IFUELMAP.ReadFile
+   Return true
+   End Function
+
+End Class
+
+
 Private M1 As IM1_AverageHVACLoadDemand
 Private M4 As IM4_AirCompressor
 Private M6 As IM6
 Private M8 As IM8
 
 
-<Test()>
-Public sub CreateNewInstanceTest()
+<Test()> _
+<TestCase(50,50,400,200,100,1200,50,0,0,0.5f,50f,0,650.2083333f,650.125f)> _
+<TestCase(50,50,400,200,100,1200,50,1,0,0.5f,50f,0,650.2083333f,650.125f)> _
+<TestCase(50,50,400,200,100,1200,50,0,1,0.5f,50f,0,650.2083333f,650.125f)> _
+<TestCase(50,50,400,200,100,1200,50,1,1,0.5f,50f,25,650.2083333f,650.125f)> _
+Public Sub ValuesInOutTests(IP1  As Single,
+                            IP2  As Single,
+                            IP3  As Single,
+                            IP4  As Single,
+                            IP5  As Single,
+                            IP6  As Single,
+                            IP7  As Single,
+                            IP8  As Single,
+                            IP9  As Single,
+                            IP10 As Single, 
+                            AG1  As Single,
+                            AG2  As Single,
+                            AG3  As Single,
+                            AG4  As Single)
+
+      Dim m1Mock    As New Mock(Of IM1_AverageHVACLoadDemand)
+      Dim m4Mock    As New Mock(Of IM4_AirCompressor)
+      Dim m6Mock    As New Mock(Of IM6)
+      Dim m8Mock    As New Mock(Of IM8)
+      Dim fMapMock  As New MockFuel50PC()
+      Dim sgnlsMock As New Mock(Of ISignals)
+      Dim psac      As New Mock(Of IPneumaticsAuxilliariesConfig )
+
+      m6Mock.Setup   ( Function(x) x.AvgPowerDemandAtCrankFromElectricsIncHVAC )        .Returns(IP1)
+      m1Mock.Setup   ( Function(x) x.AveragePowerDemandAtCrankFromHVACMechanicalsWatts ).Returns(IP2)
+      m4Mock.Setup   ( Function(x) x.GetPowerCompressorOn)                              .Returns(IP3)
+      m4Mock.Setup   ( Function(x) x.GetPowerCompressorOff)                             .Returns(IP4)
+      sgnlsMock.Setup( Function(x) x.EngineDrivelineTorque)                             .Returns(IP5)
+      sgnlsMock.Setup( Function(x) x.EngineSpeed)                                       .Returns(IP6)
+      m4Mock.Setup   ( Function(x) x.GetAveragePowerDemandPerCompressorUnitFlowRate)    .Returns(IP7)
+      m6Mock.Setup   ( Function(x) x.OverrunFlag)                                       .Returns(IP8)
+      m8Mock.Setup   ( Function(x) x.CompressorFlag)                                    .Returns(IP9)
+      psac.Setup     ( Function(x) x.OverrunUtilisationForCompressionFraction)          .Returns(IP10)
 
-Dim m1Mock As New Mock(Of IM1_AverageHVACLoadDemand)
-Dim m4Mock As New Mock(Of IM4_AirCompressor)
-Dim m6Mock As New Mock(Of IM6)
-Dim m8Mock As New Mock(Of IM8)
+      Dim target As New M9( m1Mock.Object, m4Mock.Object, m6Mock.Object,m8Mock.Object,fMapMock,psac.Object,sgnlsMock.Object)
+
+      target.CycleStep(1)
+
+      Assert.AreEqual(target.LitresOfAirCompressorOnContinually                , AG1 )
+      Assert.AreEqual(target.LitresOfAirCompressorOnOnlyInOverrun              , AG2 )
+      Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOnContinuously , AG3 )
+      Assert.AreEqual(target.TotalCycleFuelConsumptionCompressorOffContinuously, AG4 )
 
 
 End Sub
 
+
+
 End Class
 
 End Namespace
diff --git a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
index dd110038418e126213f47bfb733943f773ad7010..cb85d7b10c2621b60d3468e847f98e67b4af8c65 100644
--- a/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
+++ b/VECTOAux/VectoAuxiliariesTests/VectoAuxiliariesTests.vbproj
@@ -98,6 +98,7 @@
     <Compile Include="Mocks\M5_Mock.vb" />
     <Compile Include="Mocks\M6_Mock.vb" />
     <Compile Include="Mocks\M7_Mock.vb" />
+    <Compile Include="UnitTests\FuelMapTests.vb" />
     <Compile Include="UnitTests\M0_5_SmartAlternatorSetEfficiencyTests.vb" />
     <Compile Include="UnitTests\M0_NonSmart_AlternatorsSetEfficiencyTests.vb" />
     <Compile Include="UnitTests\AveragePneumaticLoadDemandTests.vb" />
@@ -209,6 +210,9 @@
     <Content Include="TestFiles\CombinedAlternatorPowerMap.csv">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>
     </Content>
+    <Content Include="TestFiles\testFuelGoodMap.vmap">
+      <CopyToOutputDirectory>Always</CopyToOutputDirectory>
+    </Content>
     <None Include="TestFiles\HVACMap.vaux" />
     <Content Include="TestFiles\TestHvacMap - ExtraBlankLines.csv">
       <CopyToOutputDirectory>Always</CopyToOutputDirectory>