Below are the different ways to express weather conditions:

using the verb “hacer”

It is hot = hace calor
It is cold = hace frío
It is cool = hace fresco
It is windy = hace viento
It is sunny = hace sol
It is nice out = hace buen tiempo
It is not nice out = hace mal tiempo
It is raining = hace lluvia
It is snowing = hace nieve
lightning = relámpago

using the verb “estar”

It is raining = está lloviendo or llueve
It is snowing = está nevando or nieva
It is cloudy = está nublado

using “hay”

It is misty = hay neblina
It is cloudy = hay nubes
There is smog = hay contaminación

Asking how the weather is

What is the weather? = ¿Qué tiempo hace?

Expressing reactions to weather

I am cold = Tengo frío
I am hot = Tengo calor
I am fine = Estoy bien