Hate to break it to you, but the weather expressions are idiomatic, meaning they use different verbs, even if they mean the same thing. You have 3 groups, hacer-expresisons, haber (or hay) expressions, and estar expressions.
Hace frío. It's cold.
Hace calor. It's hot.
Hace viento.It's windy.
Hace sol. It's sunny.
Hace buen tiempo.The weather is good.
Hace mal tiempo. The weather is bad.
These literally "It makes..." as in "Hace sol" It makes sun/sunshine.
Hay niebla.It's foggy.
Hay neblina.It's misty.
Hay sol.The sun is shining.
Hay luna.The moon is out.
Hay relámpagos. There's lightning.
Hay humedad.It's humid.
Hay nubes.It's cloudy.
Hay lluvias torrenciales. It's pouring.
The verb haber means to have, but this meaning is rather archaic and is rarely seen.
(It is used like this in the present perfect tense, eg. He trabajado>I have worked.1st person sing. of haber>he. It's irregular.)
It is idiomatically used to mean "to exist", so in these expressions, you are more or less saying "Such and Such exists"
Eg. Hay nubes> Clouds exist.
Está oscuro. It's dark.
Está nublado. It's cloudy.
Está lluvioso. It's raining.
In the first and last of these, the "estar" is used to describe a temporary state with the adjective, oscuro, lluvioso. In the second expression, nublado is also an adjective, but is is technically the past participle derived from nublar, meaning to cloud. It means "clouded".
Hence, Está nublado simply means "It is clouded".
Please note that these explanations I give just as a literal reference. You still have to take the time to learn which expressions take which verb, as they are all idiomatic.
Hope this helps,