In my experience you use Dobré ráno in the early morning up to about 9am and then Dobrý den can be any time from then until about 6pm when you switch to Dobrý večer.
I think it has to do with gender.
ten velký hrad - that large castle - basic phrase using the masculine noun hrad
ta velká řeka - that large river - basic phrase using the feminine noun řeka
to velké město - that large town - basic phrase using neuter noun město
i'm coming here from russian, where "utro" is morning, why is rano morning? what language did it come from?
From Proto-Slavic. :o
We have another word for morning - jitro - which is closer to Russian 'utro', but it's not used much.