Part of the problem is multipath due to reflections caused by buildings, hills, trees, etc. Anytime you listen to thunder or fireworks the rumble persists due to reflections off of such things. It's incredibly difficult to algorithmically remove multipath from terrestrial sources.
It's relatively trivial to find direction of the 30 Hz sound source, given 1 million budget - you just need to place microphones 11 meters apart and raise them above buildings until you get direct line of sight to the main source.
A square block? 5-10 microphones is plenty. Your goal is to find a direction from the place you deploy, not to blanket the city. Then you can redeploy somewhere else to get another direction, etc.
Part of the problem is multipath due to reflections caused by buildings, hills, trees, etc. Anytime you listen to thunder or fireworks the rumble persists due to reflections off of such things. It's incredibly difficult to algorithmically remove multipath from terrestrial sources.