Fixed issues with IntakeAir readouts.
Fixed issues with IntakeAir readouts.

--- a/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirDemand.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirDemand.cs
@@ -19,7 +19,7 @@
 
 #region Using Directives
 
-using System.Linq;
+
 
 #endregion
 
@@ -27,7 +27,13 @@
 {
     public class IntakeAirDemand : ReadoutModule
     {
+        #region Fields
+
         private double demand;
+
+        #endregion
+
+        #region Constructors
 
         public IntakeAirDemand()
         {
@@ -37,27 +43,20 @@
             this.IsDefault = true;
         }
 
-        public override void Update()
-        {
-            foreach (var part in FlightGlobals.ActiveVessel.Parts.Where(part => part.Modules.Contains("ModuleEngines") && (part.Modules["ModuleEngines"] as ModuleEngines).propellants.Exists(prop => prop.name == "IntakeAir")))
-            {
-                if (part.inverseStage == Staging.CurrentStage)
-                {
-                    var engine = (part.Modules["ModuleEngines"] as ModuleEngines);
-                    foreach (var propellant in engine.propellants)
-                    {
-                        if (propellant.name == "IntakeAir")
-                        {
-                            this.demand = propellant.currentRequirement;
-                        }
-                    }
-                }
-            }
-        }
+        #endregion
+
+        #region Methods: public
 
         public override void Draw()
         {
-            this.DrawLine(this.demand.ToString("F3"));
+            this.DrawLine(this.demand.ToString("F4"));
         }
+
+        public override void Update()
+        {
+            this.demand = IntakeAirSupplyDemand.GetDemand();
+        }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirSupply.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirSupply.cs
@@ -19,7 +19,7 @@
 
 #region Using Directives
 
-using System.Linq;
+
 
 #endregion
 
@@ -27,7 +27,13 @@
 {
     public class IntakeAirSupply : ReadoutModule
     {
+        #region Fields
+
         private double supply;
+
+        #endregion
+
+        #region Constructors
 
         public IntakeAirSupply()
         {
@@ -37,27 +43,20 @@
             this.IsDefault = true;
         }
 
-        public override void Update()
-        {
-            foreach (var part in FlightGlobals.ActiveVessel.Parts.Where(part => part.Modules.Contains("ModuleEngines") && (part.Modules["ModuleEngines"] as ModuleEngines).propellants.Exists(prop => prop.name == "IntakeAir")))
-            {
-                if (part.inverseStage == Staging.CurrentStage)
-                {
-                    var engine = (part.Modules["ModuleEngines"] as ModuleEngines);
-                    foreach (var propellant in engine.propellants)
-                    {
-                        if (propellant.name == "IntakeAir")
-                        {
-                            this.supply = propellant.currentAmount;
-                        }
-                    }
-                }
-            }
-        }
+        #endregion
+
+        #region Methods: public
 
         public override void Draw()
         {
-            this.DrawLine(this.supply.ToString("F3"));
+            this.DrawLine(this.supply.ToString("F4"));
         }
+
+        public override void Update()
+        {
+            this.supply = IntakeAirSupplyDemand.GetSupply();
+        }
+
+        #endregion
     }
 }

--- a/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirSupplyDemand.cs
+++ b/KerbalEngineer/Flight/Readouts/Vessel/IntakeAirSupplyDemand.cs
@@ -27,39 +27,74 @@
 {
     public class IntakeAirSupplyDemand : ReadoutModule
     {
+        #region Fields
+
+        private double demand;
         private double supply;
-        private double demand;
+
+        #endregion
+
+        #region Constructors
 
         public IntakeAirSupplyDemand()
         {
-            this.Name = "Intake Air (S/D)";
+            this.Name = "Intake Air (D/S)";
             this.Category = ReadoutCategory.GetCategory("Vessel");
             this.HelpString = string.Empty;
             this.IsDefault = true;
         }
 
-        public override void Update()
+        #endregion
+
+        #region Methods: public
+
+        public static double GetDemand()
         {
-            foreach (var part in FlightGlobals.ActiveVessel.Parts.Where(part => part.Modules.Contains("ModuleEngines") && (part.Modules["ModuleEngines"] as ModuleEngines).propellants.Exists(prop => prop.name == "IntakeAir")))
+            var demand = 0.0;
+            foreach (var part in FlightGlobals.ActiveVessel.Parts)
             {
-                if (part.inverseStage == Staging.CurrentStage)
+                if (part.Modules.Contains("ModuleEngines"))
                 {
-                    var engine = (part.Modules["ModuleEngines"] as ModuleEngines);
-                    foreach (var propellant in engine.propellants)
+                    var engine = part.Modules["ModuleEngines"] as ModuleEngines;
+                    if (engine.isOperational)
                     {
-                        if (propellant.name == "IntakeAir")
-                        {
-                            this.supply = propellant.currentAmount;
-                            this.demand = propellant.currentRequirement;
-                        }
+                        demand += engine.propellants
+                            .Where(p => p.name == "IntakeAir")
+                            .Sum(p => p.currentRequirement);
+                    }
+                }
+                if (part.Modules.Contains("ModuleEnginesFX"))
+                {
+                    var engine = part.Modules["ModuleEngines"] as ModuleEnginesFX;
+                    if (engine.isOperational)
+                    {
+                        demand += engine.propellants
+                            .Where(p => p.name == "IntakeAir")
+                            .Sum(p => p.currentRequirement);
                     }
                 }
             }
+            return demand;
+        }
+
+        public static double GetSupply()
+        {
+            return FlightGlobals.ActiveVessel.Parts
+                .Where(p => p.Resources.Contains("IntakeAir"))
+                .Sum(p => p.Resources["IntakeAir"].amount);
         }
 
         public override void Draw()
         {
-            this.DrawLine(this.supply.ToString("F3") + " / " + this.demand.ToString("F3"));
+            this.DrawLine(this.demand.ToString("F4") + " / " + this.supply.ToString("F4"));
         }
+
+        public override void Update()
+        {
+            this.demand = GetDemand();
+            this.supply = GetSupply();
+        }
+
+        #endregion
     }
 }

--- a/Output/CHANGES.txt
+++ b/Output/CHANGES.txt
@@ -1,31 +1,44 @@
+1.0.7.1
+    Changed: Reversed Intake Air readout from 'S/D' to 'D/S' for easier reading.
+    Changed: Increased Intake Air readout precision to 4 decimal
+    Fixed: Issue where Intake Air supply was not representative of total supply.
+    Fixed: Thrust now scales with velocity for atmospheric engines. (Padishar's fix)
+
 1.0.7.0
-	Added: Preset systems to the Flight Engineer.
-	Added: Time formatter which can show time as referenced by any celestial body.
     Added: Part count information to the Build Engineer.
+    Added: Reset button to the G-Force readout.
+    Added: Preset system to the Flight Engineer.
+    Added: New stock presets:
+        - Orbital
+        - Surface
+        - Vessel
+        - Rendezvous
+
     Added: New readouts to the orbital category:
-    	- True Anomaly
-    	- Eccentric Anomaly
-    	- Mean Anomaly
-    	- Argument of Periapsis
-    	- Angle to Prograde
-    	- Angle to Retrograde
+        - True Anomaly
+        - Eccentric Anomaly
+        - Mean Anomaly
+        - Argument of Periapsis
+        - Angle to Prograde
+        - Angle to Retrograde
 
     Added: New readouts to the vessel category:
-    	- Intake Air (Demand)
-    	- Intake Air (Supply)
-    	- Intake Air (Supply/Demand)
+        - Intake Air (Demand)
+        - Intake Air (Supply)
+        - Intake Air (Supply/Demand)
 
-    Added: new readouts to the rendezvous category.
-    	- Semi-major Axis
-    	- Semi-minor Axis
+    Added: New readouts to the rendezvous category.
+        - Semi-major Axis
+        - Semi-minor Axis
 
+    Added: Time formatter which can show time as referenced by any celestial body.
     Added: New readouts to the miscellaneous category:
-    	- Time Reference Adjuster
+        - Time Reference Adjuster
 
     Changed: Moved Sim Delay readout into the Miscellaneous category.
     Changed: Updated MiniAVC to v1.0.2.3.
-	Fixed: Issues with large value wrap around in the Flight Engineer.
-	Fixed: Bug in the phase angle calculation.
+    Fixed: Issues with large value wrap around in the Flight Engineer.
+    Fixed: Bug in the phase angle calculation.
 
 1.0.6.0
     Added: Time and Angle to equatorial ascending/descending nodes in the orbital display.

 Binary files a/Output/KerbalEngineer/KerbalEngineer.dll and b/Output/KerbalEngineer/KerbalEngineer.dll differ