Added suicide burn readouts.
Added suicide burn readouts.

--- a/Documents/CHANGES.txt
+++ b/Documents/CHANGES.txt
@@ -1,4 +1,10 @@
 1.0.10.0
+    Added: New reaouts to the vessel category:
+        - Suicide Burn Altitude (height above terrain to start burn)
+        - Suicide Burn Distance (distance to suicide burn altitude)
+        - Suicide Burn DeltaV (velocity change required to zero vertical speed)
+        *** F5 for safety and use at own risk! ***
+
     Added: HUD type sections to the Flight Engineer.
     Added: Switch to function on the Target Selector readout.
     Fixed: Flight Engineer not saving its hidden state.

--- a/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
+++ b/KerbalEngineer/Flight/Readouts/ReadoutLibrary.cs
@@ -120,6 +120,9 @@
                 readouts.Add(new ThrustToWeight());
                 readouts.Add(new SurfaceThrustToWeight());
                 readouts.Add(new Acceleration());
+                readouts.Add(new SuicideBurnAltitude());
+                readouts.Add(new SuicideBurnDistance());
+                readouts.Add(new SuicideBurnDeltaV());
                 readouts.Add(new IntakeAirUsage());
                 readouts.Add(new IntakeAirDemand());
                 readouts.Add(new IntakeAirSupply());

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnAltitude.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Vessel
+{
+    public class SuicideBurnAltitude : ReadoutModule
+    {
+        #region Constructors
+
+        public SuicideBurnAltitude()
+        {
+            this.Name = "Suicide Burn (Alt.)";
+            this.Category = ReadoutCategory.GetCategory("Vessel");
+            this.HelpString = "Shows the altitude when to start a suicide burn.";
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!SimulationProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine(SuicideBurnProcessor.Altitude.ToDistance(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            SuicideBurnProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            SuicideBurnProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnDeltaV.cs
@@ -1,1 +1,69 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Vessel
+{
+    public class SuicideBurnDeltaV : ReadoutModule
+    {
+        #region Constructors
+
+        public SuicideBurnDeltaV()
+        {
+            this.Name = "Suicide Burn (dV)";
+            this.Category = ReadoutCategory.GetCategory("Vessel");
+            this.HelpString = "Shows the DeltaV of a suicide burn.";
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!SimulationProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine(SuicideBurnProcessor.DeltaV.ToString("N1") + "m/s", section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            SuicideBurnProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            SuicideBurnProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnDistance.cs
@@ -1,1 +1,67 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using KerbalEngineer.Extensions;
+using KerbalEngineer.Flight.Sections;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Vessel
+{
+    public class SuicideBurnDistance : ReadoutModule
+    {
+        #region Constructors
+
+        public SuicideBurnDistance()
+        {
+            this.Name = "Suicide Burn (Dist.)";
+            this.Category = ReadoutCategory.GetCategory("Vessel");
+            this.HelpString = "Shows the distance to the point at which to start a suicide burn.";
+            this.IsDefault = true;
+        }
+
+        #endregion
+
+        #region Methods: public
+
+        public override void Draw(SectionModule section)
+        {
+            if (!SimulationProcessor.ShowDetails)
+            {
+                return;
+            }
+
+            this.DrawLine(SuicideBurnProcessor.Distance.ToDistance(), section.IsHud);
+        }
+
+        public override void Reset()
+        {
+            SuicideBurnProcessor.Reset();
+        }
+
+        public override void Update()
+        {
+            SuicideBurnProcessor.RequestUpdate();
+        }
+
+        #endregion
+    }
+}

--- /dev/null
+++ b/KerbalEngineer/Flight/Readouts/Vessel/SuicideBurnProcessor.cs
@@ -1,1 +1,93 @@
+// 
+//     Kerbal Engineer Redux
+// 
+//     Copyright (C) 2014 CYBUTEK
+// 
+//     This program is free software: you can redistribute it and/or modify
+//     it under the terms of the GNU General Public License as published by
+//     the Free Software Foundation, either version 3 of the License, or
+//     (at your option) any later version.
+// 
+//     This program is distributed in the hope that it will be useful,
+//     but WITHOUT ANY WARRANTY; without even the implied warranty of
+//     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//     GNU General Public License for more details.
+// 
+//     You should have received a copy of the GNU General Public License
+//     along with this program.  If not, see <http://www.gnu.org/licenses/>.
+// 
 
+#region Using Directives
+
+using System;
+
+#endregion
+
+namespace KerbalEngineer.Flight.Readouts.Vessel
+{
+    public class SuicideBurnProcessor : IUpdatable, IUpdateRequest
+    {
+        #region Fields
+
+        private static readonly SuicideBurnProcessor instance = new SuicideBurnProcessor();
+        private double acceleration;
+        private double gravity;
+        private double radarAltitude;
+
+        #endregion
+
+        #region Properties
+
+        public static double Altitude { get; private set; }
+
+        public static double DeltaV { get; private set; }
+
+        public static double Distance { get; private set; }
+
+        public static SuicideBurnProcessor Instance
+        {
+            get { return instance; }
+        }
+
+        public static bool ShowDetails { get; set; }
+
+        public bool UpdateRequested { get; set; }
+
+        #endregion
+
+        #region Methods: public
+
+        public static void RequestUpdate()
+        {
+            instance.UpdateRequested = true;
+            SimulationProcessor.RequestUpdate();
+        }
+
+        public static void Reset()
+        {
+            FlightEngineerCore.Instance.AddUpdatable(SimulationProcessor.Instance);
+            FlightEngineerCore.Instance.AddUpdatable(instance);
+        }
+
+        public void Update()
+        {
+            if (FlightGlobals.ship_orbit.PeA >= 0.0 || !SimulationProcessor.ShowDetails)
+            {
+                ShowDetails = false;
+                return;
+            }
+
+            ShowDetails = true;
+
+            this.gravity = FlightGlobals.currentMainBody.gravParameter / Math.Pow(FlightGlobals.currentMainBody.Radius, 2.0);
+            this.acceleration = SimulationProcessor.LastStage.thrust / SimulationProcessor.LastStage.totalMass;
+            this.radarAltitude = FlightGlobals.ship_altitude - FlightGlobals.ActiveVessel.terrainAltitude;
+
+            DeltaV = Math.Sqrt((2 * this.gravity * this.radarAltitude) + Math.Pow(FlightGlobals.ship_verticalSpeed, 2.0));
+            Altitude = Math.Pow(DeltaV, 2.0) / (2.0 * this.acceleration);
+            Distance = this.radarAltitude - Altitude;
+        }
+
+        #endregion
+    }
+}

--- a/KerbalEngineer/KerbalEngineer.csproj
+++ b/KerbalEngineer/KerbalEngineer.csproj
@@ -75,6 +75,9 @@
     <Compile Include="Flight\Readouts\Surface\Biome.cs" />
     <Compile Include="Flight\Readouts\Surface\HorizontalAcceleration.cs" />
     <Compile Include="Flight\Readouts\Surface\VerticalAcceleration.cs" />
+    <Compile Include="Flight\Readouts\Vessel\SuicideBurnDeltaV.cs" />
+    <Compile Include="Flight\Readouts\Vessel\SuicideBurnAltitude.cs" />
+    <Compile Include="Flight\Readouts\Vessel\SuicideBurnDistance.cs" />
     <Compile Include="Flight\Readouts\Vessel\DeltaVCurrent.cs" />
     <Compile Include="Flight\Readouts\Vessel\IntakeAirUsage.cs" />
     <Compile Include="Flight\Readouts\Vessel\IntakeAirDemandSupply.cs" />
@@ -84,6 +87,7 @@
     <Compile Include="Flight\Readouts\Vessel\SimulationProcessor.cs" />
     <Compile Include="Flight\Readouts\Vessel\Acceleration.cs" />
     <Compile Include="Flight\Presets\PresetLibrary.cs" />
+    <Compile Include="Flight\Readouts\Vessel\SuicideBurnProcessor.cs" />
     <Compile Include="Flight\Readouts\Vessel\SurfaceThrustToWeight.cs" />
     <Compile Include="GuiDisplaySize.cs" />
     <Compile Include="Helpers\AngleHelper.cs" />

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