Date: 201310
Local time of day: 1801-2400
Location: ZZZ.Airport, US
Aircraft: Regional Jet 200 ER/LR (CRJ200)
Operator: Air Carrier
Operating under: Part 121
Flight plan: IFR
Flight phase: Taxi
ATC / advisory: Tower ZZZ
Reporter organization: Government
Reporter function: Local
Reporter qualification: Air Traffic Control Fully Certified
Human factors: Situational Awareness
Anomaly: ATC Issue All Types
Detector: Person Air Traffic Control
Result: General None Reported / Taken
Contributing factors: Human Factors
Primary problem: Human Factors

Narrative: I was working the Local Control position and had been on position for roughly forty-five minutes. There was one other controller in the Tower at the time; a Ground Controller/CIC. Throughout my first half hour in the Tower there had been two airport vehicles; doing survey-work on our only Runway 13. The vehicles are always on the Ground Control frequency so the Ground Controller would coordinate with me in between arriving/departing aircraft for approval to clear the vehicles on to the runway. The vehicles remained south of the runway in a grass area until cleared onto the runway; once on the runway they would often be outside of their vehicles for several minutes at a time doing their work. Once asked to clear the runway the workers returned to their vehicles; they would move progressively east further down the runway and clear the runway to the south again until we could accommodate allowing them on the runway again. After about thirty minutes or so with moderate traffic of arrivals; departures; and traffic in the pattern the number of arrivals/departures began to decrease so I could allow the vehicles on the runway for longer periods of time. As they had been moving progressively further east down the runway they were also very close to the end of the runway working in the displaced threshold of Runway 31. A Canadair regional jet departure was taxied out by the Ground Controller sometime around 45 minutes on position and I had already given permission for the vehicles to be on the runway several minutes prior to the aircraft taxiing. The Ground Controller handed me the departure strip for the aircraft and I had no aircraft on my frequency at the time. We have a memory aid in the Tower Cab in front of the Local Control position. This is to be used anytime there is traffic on the runway. The light bar was turned on at that time. I looked down at the flight progress strip the Ground Controller had handed me and noticed that the aircraft had a coordinated release time with Center and was released for departure at that exact minute. I then looked towards the approach end of the runway and saw the aircraft nearly at the end of Runway 13 and presuming the aircraft was on my frequency/ready for departure I then cleared the aircraft for takeoff and did a quick visual sweep of the runway. I then looked at the UTC clock checking the time and marked the appropriate box on the strip noting the time the aircraft was departing. I then looked at the Tower ARTS RADAR display to see if there was any traffic in the vicinity of the airport. Then as I was throwing the strip down the drop-tube to signify a rolling call to the Departure Controller; the airport vehicles called the Ground Controller saying that they were clear of the runway to the southeast side. Panicked I looked back at the regional jet and saw that they had just begun their takeoff roll. This signaled to both of us; (the controllers;) that I had made a grave mistake. Either the airport vehicles had been monitoring the Local Control frequency and had heard me issue a takeoff clearance and cleared/exited the runway on their own or simply by happenstance they were finished with their work and exited the runway. Either way they had not been instructed to exit the runway by the Ground Controller at that time and the fact that they had exited was simply lucky. The only reason this occurred was due to my lack of situational awareness/effective scanning of the runway. I should have known exactly where those vehicles were at all times and instructed the Ground Controller to have them clear the runway and advise [when] clear. I should have paid attention to the memory aid at the Local Controller position as I had turned it on every single time the vehicles were on the runway and somehow missed/disregarded it when clearing the aircraft for take-off. I should have scanned the runway better. Though the vehicles were on the far end of the runway they could be seen from the Tower Cab. I cannotrecommend procedural changes to prevent the recurrence of this event.




Synopsis: Local Controller described a potential loss of runway separation event when internal Tower coordination failed and an aircraft was cleared for takeoff without insuring a vehicle was clear of the runway.