At the end of the Battle of Scarif, the Death Star fires on the Scarif Citadel. To a normal fan, this is completely normal. But for a really avid fan, you would wonder how it is so accurate. For example, when the Death Star fires on Jedha City, it misses completely, by a few kilometers, but the inaccuracy is covered up by the huge amount of area destroyed by the blast. But, then at Scarif, when it fires again, it hits the Citadel perfectly, obliterating the top part of the citadel, along with Officer Krennic on top of it.
My question is, why was the Death Star able to hit the Citadel so accurately?