Narrative:

I as the local controller departed aircraft X to the north off of runway 32L. He was slightly unfamiliar with the 32 runways; but I recognized the call sign as a fairly frequent flyer at ccr. I gave him instructions to depart; and later he called back inbound from the north with negative ATIS. I gave aircraft X the current altimeter and surface winds at ccr. He proceeded inbound with the instruction to enter a 2 mile right traffic entry for runway 32R; and told to report a 2 mile 45.I saw aircraft X inbound 3 miles north of the field and cleared him to land number 3 to follow aircraft Z who was midfield right downwind. As aircraft X continued inbound; he entered more of a base entry when I saw him out the window again approximately a mile northeast of the field. Then aircraft X turned right downwind. Aircraft X never reported aircraft Z in sight so I updated aircraft X on the traffic to follow; which was now on short final. Aircraft X responded with 'in sight.' 3 minutes later aircraft X asked; 'am I on the right track for the runway?' I had lost sight of aircraft X somewhere after turning base to final about a mile and a half south east of the field due to the sun and slight haze in the east area where he was. I informed him stating 'not in sight; and the 32s point northwest bound; are you headed northwest bound?' aircraft X immediately after I said that; then said: 'turning final now.'at this point; I also had aircraft Y on about a 1 mile final for runway 32L who did report on final. I cleared aircraft Y to land on runway 32L. I again cleared aircraft X to land on runway 32R. I still did not see aircraft X; and asked him to say his altitude. He responded and I did not understand what he said. I asked him to clarify if he said 1;600 feet AGL or 300 feet AGL. Aircraft X then spoke up saying; 'I'm landing on 1L.' I immediately issued a go around to aircraft X because of 3 reasons. First I did not have control of runway 1L as it was ground controls; second because vehicles were maneuvering on the runway and a mower was just east of the runway edge; and 3rd because aircraft Y was on very short final now for the active runway 32L.there was no response from aircraft X. Approximately 2 seconds later; I keyed up again to say go around; but only stuttered 'go' before I noticed aircraft X was not going to comply and was just going to land on the inactive runway 1L. I quickly issued a go around to aircraft Y; who did comply with the instruction. As aircraft X was rolling out; I asked how he heard my radio. He responded with 'loud and clear' and then proceeded to say 'I really messed up there; I'm sorry.'there wasn't any time to get control of runway 1L; even though I did attempt to get control of the runway; but ground control could not give me the runway because of the vehicles approved on the runway. I would recommend keeping a better eye on traffic that may be unfamiliar with our airport; even when they may seem like a frequent flyer. Because there is always training going on. I thought I did a good job asking if aircraft X was going northwest bound to be on final for the 32s; but I could clarify better on that. I also could have paid slightly more attention to the inactive runway with vehicles on it. The go around could have been issued earlier when I did not have him in sight; but expected him to be about a 1/2 mile. I should have known he wasn't lined up for 32R.

Google
 

Original NASA ASRS Text

Title: Tower Local Controller reported not observing that an aircraft was landing on the wrong runway until it was over the landing threshold. The Controller issued go-around instructions which the pilot did not comply with.

Narrative: I as the Local Controller departed aircraft X to the north off of Runway 32L. He was slightly unfamiliar with the 32 Runways; but I recognized the call sign as a fairly frequent flyer at CCR. I gave him instructions to depart; and later he called back inbound from the north with negative ATIS. I gave aircraft X the current altimeter and surface winds at CCR. He proceeded inbound with the instruction to enter a 2 mile right traffic entry for Runway 32R; and told to report a 2 mile 45.I saw aircraft X inbound 3 miles north of the field and cleared him to land number 3 to follow aircraft Z who was midfield right downwind. As aircraft X continued inbound; he entered more of a base entry when I saw him out the window again approximately a mile northeast of the field. Then aircraft X turned right downwind. Aircraft X never reported aircraft Z in sight so I updated aircraft X on the traffic to follow; which was now on short final. Aircraft X responded with 'in sight.' 3 minutes later aircraft X asked; 'Am I on the right track for the runway?' I had lost sight of aircraft X somewhere after turning base to final about a mile and a half south east of the field due to the sun and slight haze in the east area where he was. I informed him stating 'Not in sight; and the 32s point northwest bound; are you headed northwest bound?' Aircraft X immediately after I said that; then said: 'turning final now.'At this point; I also had aircraft Y on about a 1 mile final for Runway 32L who did report on final. I cleared aircraft Y to land on Runway 32L. I again cleared aircraft X to land on Runway 32R. I still did not see aircraft X; and asked him to say his altitude. He responded and I did not understand what he said. I asked him to clarify if he said 1;600 feet AGL or 300 feet AGL. Aircraft X then spoke up saying; 'I'm landing on 1L.' I immediately issued a go around to aircraft X because of 3 reasons. First I did not have control of Runway 1L as it was ground controls; second because vehicles were maneuvering on the runway and a mower was just east of the runway edge; and 3rd because aircraft Y was on very short final now for the active Runway 32L.There was no response from aircraft X. Approximately 2 seconds later; I keyed up again to say go around; but only stuttered 'go' before I noticed aircraft X was not going to comply and was just going to land on the inactive Runway 1L. I quickly issued a go around to aircraft Y; who did comply with the instruction. As aircraft X was rolling out; I asked how he heard my radio. He responded with 'loud and clear' and then proceeded to say 'I really messed up there; I'm sorry.'There wasn't any time to get control of runway 1L; even though I did attempt to get control of the runway; but Ground Control could not give me the runway because of the vehicles approved on the runway. I would recommend keeping a better eye on traffic that may be unfamiliar with our airport; even when they may seem like a frequent flyer. Because there is always training going on. I thought I did a good job asking if aircraft X was going northwest bound to be on final for the 32s; but I could clarify better on that. I also could have paid slightly more attention to the inactive runway with vehicles on it. The go around could have been issued earlier when I did not have him in sight; but expected him to be about a 1/2 mile. I should have known he wasn't lined up for 32R.

Data retrieved from NASA's ASRS site and automatically converted to unabbreviated mixed upper/lowercase text. This report is for informational purposes with no guarantee of accuracy. See NASA's ASRS site for official report.