Air Traffic Controller reported a CFIT situation in a high traffic area with poor weather. The aircraft was climbing slowly; was below the MVA; and had deviated from the published SID. The Controller gave an altitude alert twice and later suggested emergency vectors would have been a better solution.
Synopsis
Air Traffic Controller reported a CFIT situation in a high traffic area with poor weather. The aircraft was climbing slowly; was below the MVA; and had deviated from the published SID. The Controller gave an altitude alert twice and later suggested emergency vectors would have been a better solution.
Narrative
Strong winds and weather deviations made for a complex situation on the finals. ZZZ was west flow and ZZZ1 and ZZZ2 were east. I coordinated a release with Sector X / Sector Y for a TBM off ZZZ3 on the Runway XX ODP. Aircraft climb runway heading to the ZZZ XXX radial then towards ZZZ2. ZZZ3 issues an initial altitude of 2100 ft. (MVA over ZZZ3) but traffic flows dictate that our exit route to ZZZZZ is radar vectors over ZZZ4 at 2000 ft. When Aircraft X checked on I radar identified them; noticed that the 2100 ft. MVA would not be a factor and issued a climb to 2000 ft. anticipating I would be able to turn them towards ZZZ4 quickly and not have to descend them back down 100 ft. or have to have Sector X stop their ZZZ2 arrivals at 3100 ft. (instead of 3000 ft.). I was wrong. I was dealing with an out of sequence feed from Sector Z as well as an aircraft that couldn't intercept the final due to weather and needed vectors across the localizer when I noticed that the TBM was not climbing like I was expecting. They had not climbed to 2000 ft. yet so I couldn't turn them towards ZZZ4. They were still heading XXY not intercepting the XXX radial and about to enter the 3000 ft. MVA. I issued a climb to 3000 ft. and a low altitude alert; advising the pilot that I couldn't turn them until they're above the current MVA and they needed to expedite their climb. I coordinated with Sector X that Aircraft X is climbing slow and issued 3000 ft. as they had a ZZZ5 arrival inbound just above 4000 ft. Sector X advised me to turn Aircraft X to a XXZ heading. I asked Aircraft X if they were able to maintain their own terrain and obstruction clearance but they were IMC. I issued passing traffic at 4000 ft. above them; another low altitude alert; the ZZZ altimeter and their current MVA and issued a XXZ heading anticipating that Sector X had more ZZZ2 downwind traffic descending to 4000 ft. opposite direction. Once the ZZZ5 traffic was no factor I issued an immediate climb to 4000 ft. and coordinated the new exit route with Sector X. I handed off the aircraft without further incident. I was relying on the aircraft to comply with the Runway XX ODP. Once the aircraft deviated from that (not intercepting the ZZZ XXX radial) there are almost no outs given the MVAs and ZZZ2 east traffic that are safe. Hindsight I should have pulled up my Emergency Obstruction Video Map and issued emergency vectors below the MVA towards ZZZ2 and beneath traffic instead of trying to issue immediate climbs into the traffic flow to top the MVAs.
Source: NASA Aviation Safety Reporting System (public domain). Reports are voluntary submissions and are not verified by NASA.