diff --git a/aman/sys/aco/Node.py b/aman/sys/aco/Node.py index 5aba418..e7f1449 100644 --- a/aman/sys/aco/Node.py +++ b/aman/sys/aco/Node.py @@ -209,8 +209,11 @@ class Node: ttg = timedelta(seconds = timeUntilIAF.total_seconds() * ttgRatio) if (ttg.total_seconds() > ttgMax): ttg = timedelta(seconds = ttgMax) + if None == self.Inbound.MaximumTimeToGain or ttg > self.Inbound.MaximumTimeToGain: + self.Inbound.MaximumTimeToGain = ttg + ita = self.Inbound.ReportTime + flightTime - earliest = ita - ttg + earliest = ita - self.Inbound.MaximumTimeToGain self.ArrivalCandidates[identifier.Runway.Name] = ArrivalData(star = star, ita = earliest, route = arrivalRoute, trackmiles = trackmiles) diff --git a/aman/types/Inbound.py b/aman/types/Inbound.py index e274bbb..31e9406 100644 --- a/aman/types/Inbound.py +++ b/aman/types/Inbound.py @@ -17,6 +17,7 @@ class Inbound: self.EnrouteArrivalTime = None self.InitialArrivalTime = None self.RequestedRunway = None + self.MaximumTimeToGain = None self.PlannedArrivalTime = None self.PlannedRunway = None self.PlannedStar = None