|
@@ -21,7 +21,7 @@ class RecedingHorizonControl:
|
|
|
|
|
|
def insertInWindow(self, inbound : Inbound, usePTA : bool):
|
|
|
if False == usePTA:
|
|
|
- referenceTime = inbound.InitialArrivalTime
|
|
|
+ referenceTime = inbound.EnrouteArrivalTime
|
|
|
else:
|
|
|
referenceTime = inbound.PlannedArrivalTime
|
|
|
|
|
@@ -34,7 +34,7 @@ class RecedingHorizonControl:
|
|
|
self.AssignedWindow[inbound.Callsign] = [ i, 0 ]
|
|
|
inbound.FixedSequence = i < self.FreezedIndex
|
|
|
if True == inbound.FixedSequence and None == inbound.PlannedArrivalTime:
|
|
|
- inbound.PlannedArrivalTime = inbound.InitialArrivalTime
|
|
|
+ inbound.PlannedArrivalTime = inbound.EnrouteArrivalTime
|
|
|
window.insert(inbound)
|
|
|
inserted = True
|
|
|
break
|
|
@@ -56,11 +56,11 @@ class RecedingHorizonControl:
|
|
|
self.AssignedWindow[inbound.Callsign] = [ len(self.Windows) - 1, 0 ]
|
|
|
inbound.FixedSequence = len(self.Windows) < self.FreezedIndex
|
|
|
if True == inbound.FixedSequence and None == inbound.PlannedArrivalTime:
|
|
|
- inbound.PlannedArrivalTime = inbound.InitialArrivalTime
|
|
|
+ inbound.PlannedArrivalTime = inbound.EnrouteArrivalTime
|
|
|
break
|
|
|
lastWindowTime = self.Windows[-1].EndTime
|
|
|
|
|
|
- window.Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime)
|
|
|
+ window.Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.EnrouteArrivalTime)
|
|
|
|
|
|
def updateReport(self, inbound : Inbound):
|
|
|
# check if we need to update
|
|
@@ -81,18 +81,18 @@ class RecedingHorizonControl:
|
|
|
|
|
|
# check if we need to update the inbound
|
|
|
if None == plannedInbound.PlannedStar:
|
|
|
- reference = inbound.InitialArrivalTime
|
|
|
- if plannedInbound.InitialArrivalTime > reference:
|
|
|
- reference = plannedInbound.InitialArrivalTime
|
|
|
+ reference = inbound.EnrouteArrivalTime
|
|
|
+ if plannedInbound.EnrouteArrivalTime > reference:
|
|
|
+ reference = plannedInbound.EnrouteArrivalTime
|
|
|
|
|
|
if reference < self.Windows[index].StartTime or reference >= self.Windows[index].EndTime:
|
|
|
self.Windows[index].remove(inbound.Callsign)
|
|
|
self.AssignedWindow.pop(inbound.Callsign)
|
|
|
- inbound.InitialArrivalTime = reference
|
|
|
+ inbound.EnrouteArrivalTime = reference
|
|
|
self.updateReport(inbound)
|
|
|
else:
|
|
|
- plannedInbound.InitialArrivalTime = reference
|
|
|
- self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime)
|
|
|
+ plannedInbound.EnrouteArrivalTime = reference
|
|
|
+ self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.EnrouteArrivalTime)
|
|
|
else:
|
|
|
self.insertInWindow(inbound, False)
|
|
|
|
|
@@ -104,7 +104,7 @@ class RecedingHorizonControl:
|
|
|
self.insertInWindow(inbound, True)
|
|
|
else:
|
|
|
inbound.FixedSequence = index < self.FreezedIndex
|
|
|
- self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime)
|
|
|
+ self.Windows[index].Inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.EnrouteArrivalTime)
|
|
|
|
|
|
def lastFixedInboundOnRunway(self, runway : str):
|
|
|
# no inbounds available
|
|
@@ -138,7 +138,7 @@ class RecedingHorizonControl:
|
|
|
|
|
|
# check if we found relevant inbounds
|
|
|
if 0 != len(inbounds):
|
|
|
- inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.InitialArrivalTime)
|
|
|
+ inbounds.sort(key = lambda x: x.PlannedArrivalTime if None != x.PlannedArrivalTime else x.EnrouteArrivalTime)
|
|
|
return inbounds, earliestArrivalTime
|
|
|
else:
|
|
|
return None, None
|