Space Weather And Atmospheric Orbital Decay (SWAOD) is a mod for Kerbal Space Program (KSP) that introduces realistic orbital decay mechanics.
In the stock game, vessels in a vacuum never experience drag. This mod changes that by simulating continuous atmospheric drag on vessels in the upper atmosphere and integrating with Kerbalism to simulate severe orbital decay caused by atmospheric expansion during solar storms.
Natural Orbital Decay
a and e from energy and angular-momentum loss. Highly eccentric orbits use adaptive periapsis-arc sampling.Solar Storm Effects (Requires Kerbalism)
Real-time Monitoring UI
Smart Warning System
Click Through Blocker
Kerbalism (Optional)
GameData folder into your KSP installation directory:Kerbal Space Program/GameData/SpaceWeatherAndAtmosphericOrbitalDecay/Alt + QStableNatural (Natural Decay)Storm (Storm Decay)Show Config to adjust UI scale, font size, view debug info, etc. in-game.Besides the in-game UI, advanced configuration can be done by editing:
GameData/SpaceWeatherAndAtmosphericOrbitalDecay/Config/Settings.cfg
| Setting | Description | Default |
|---|---|---|
stormDecayRate |
Base decay rate during solar storms | 1.5e-7 |
stormDistanceScaling |
Does storm intensity scale with distance from Sun | true |
naturalDecayEnabled |
Enable natural atmospheric decay | true |
naturalDecayMultiplier |
Multiplier for natural decay force | 1.0 |
naturalDecayAltitudeCutoff |
Max altitude multiplier for natural decay (Relative to Atmo Height) | 10.0 |
exosphereFitStart |
Start of the upper-atmosphere density fit window (fraction of atmosphere height) | 0.80 |
exosphereFitEnd |
End of the upper-atmosphere density fit window (fraction of atmosphere height) | 0.90 |
exosphereScaleHeightMin |
Minimum extrapolated scale height (fraction of atmosphere height) | 0.03 |
exosphereScaleHeightMax |
Maximum extrapolated scale height (fraction of atmosphere height) | 0.30 |
exosphereFitSamples |
Samples used to fit the upper-atmosphere ln(density) slope |
8 |
orbitAverageSamples |
Samples used for orbit-averaged drag estimates | 24 |
warningEnabled |
Enable low orbit warnings | true |
warningThreshold |
Low orbit warning threshold (Periapsis < AtmoHeight * (1.0 + Threshold)) | 0.2 |
reentryDestroySeconds |
Countdown seconds until an unloaded vehicle is destroyed after entering the atmosphere | 60.0 |
Other mods can query SWAOD's decay cadence through SpaceWeatherAndAtmosphericOrbitalDecay.OrbitalDecayApi:
| Method | Use case |
|---|---|
TryEstimateStationKeepingCadence(Vessel, targetAp, targetPe, tolerance%, out estimate) |
In-flight estimate using the launched vessel's current state; includes storm-enhanced atmospheric drag only when Kerbalism is installed and the vessel is in an active solar storm. |
TryEstimateStationKeepingCadenceForOrbit(CelestialBody, targetAp, targetPe, tolerance%, mass, out estimate) |
VAB/editor planning with no Vessel instance; uses natural decay at the target orbit only (no storm estimate). |
TryEstimateCurrentDecayRates(Vessel, out rates) |
Query the vessel's current instantaneous decay rates; includes storm enhancement only during an active Kerbalism storm. |
All of these APIs return read-only estimates and do not modify vessel orbits. StationKeepingEstimate and CurrentDecayRates provide seconds to the tolerance band, an effective decay rate, DaDt/DeDt/PeriapsisDaDt/ApoapsisDaDt, a storm flag, tolerance drop, and estimated delta-v to restore that drop (CurrentDecayRates omits tolerance-related fields). Storm decay is modeled as extra atmospheric drag within the unified drag model. Orbital Keeper uses these APIs for its lifetime and VAB planning estimates.
Raw stats are from the beginning of time until now. Each follower and download entry represents one hour of data. Uneventful hours are omitted.