Quick Answer
Use the imperfect to describe ongoing or background weather (hacía frío, estaba nublado, llovía). Use the preterite for a time-bounded weather event or a sudden change (llovió dos horas, hubo tormenta, se puso a llover).
Why this choice matters
In Spanish storytelling and reporting, weather sets the scene. Choosing between the imperfect and the preterite changes your message: are you painting an ongoing background or reporting a completed event/change? Getting this right makes your Spanish sound natural and precise.
The 10-Second Decision Guide
| Ask yourself… | Choose | Example |
|---|---|---|
| Was the weather ongoing background or habitual? | Imperfect | Hacía frío y estaba nublado. |
| Was it a finished, time-bounded weather event? | Preterite | Llovió dos horas; hubo una tormenta. |
| Did a change occur at a specific moment? | Preterite (change verbs) | Se puso a llover; empezó a nevar. |
| Is it general climate or childhood habits? | Imperfect | Los inviernos eran más fríos. |
Core Patterns for Weather Verbs
1) Hacer + weather noun
- Imperfect (background): Hacía viento toda la tarde.
- Preterite (bounded day/event): Ayer hizo mucho calor.
2) Estar + condition (nublado, despejado, húmedo)
- Imperfect: El cielo estaba nublado cuando salimos.
- Preterite (finished interval): El cielo estuvo despejado de 3 a 5.
3) Haber (hay → había / hubo)
- Había = background existence: Había niebla en la carretera.
- Hubo = incident/event: Hubo una tormenta anoche.
4) Weather verbs: llover, nevar, granizar
- Imperfect (ongoing): Llovía cuando llegamos.
- Preterite (bounded): Nevó el 12 de enero.
5) Change-of-state verbs (often preterite)
- Empezó a llover; paró de llover; se puso nublado; amaneció despejado.
Minimal Pairs that Clarify Meaning
- Imperfect (background): Hacía frío cuando salimos de casa.
Preterite (event): Ayer hizo frío todo el día. - Imperfect: El cielo estaba nublado mientras conducíamos.
Preterite: El cielo estuvo nublado por tres horas. - Imperfect: Había niebla en el valle.
Preterite: Hubo una tormenta eléctrica a medianoche. - Imperfect: Llovía cuando empezó el partido.
Preterite: Llovió del mediodía a las dos. - Change (preterite): De repente, se puso a nevar y paró una hora después.
Time Phrases that Tip the Scale
Often → Imperfect
- siempre, a menudo, normalmente, en general
- mientras, cada invierno/verano
- de niño/a, de pequeño/a
Often → Preterite
- ayer, anoche, el lunes pasado
- a las 3, por dos horas, de 3 a 5
- de repente, en ese momento
Narration: Mixing Imperfect & Preterite
Imperfect paints the scene; preterite moves the plot:
Hacía viento y estaba nublado (escena). De repente, empezó a llover y la gente corrió a refugiarse (acciones).
Common Mistakes to Avoid
- Había vs. hubo: Había = background condition; hubo = incident/event.
- Overusing ser for weather: Prefer estar (estaba nublado), hacer (hacía frío), or weather verbs (llovía).
- Forgetting change triggers preterite: se puso, empezó, paró usually take the preterite.
Practice: 12 Quick Exercises
Choose imperfect or preterite. (Answers below.)
- Ayer ____ (hacer) mucho calor.
- Cuando salimos, ____ (estar) nublado.
- De repente ____ (empezar) a llover.
- Durante horas ____ (llover) sin parar.
- El sábado ____ (haber) una tormenta fuerte.
- Siempre en julio ____ (hacer) viento por las tardes.
- A las 3 ____ (parar) de llover.
- Mientras conducíamos, ____ (haber) niebla.
- El cielo ____ (estar) despejado de 3 a 5.
- De niño, los inviernos ____ (ser) más fríos.
- El 12 de enero ____ (nevar).
- Generalmente ____ (llover) por la madrugada en esa zona.
Answer key
- hizo (preterite)
- estaba (imperfect)
- empezó (preterite)
- llovía (imperfect)
- hubo (preterite)
- hacía (imperfect)
- paró (preterite)
- había (imperfect)
- estuvo (preterite)
- eran (imperfect)
- nevó (preterite)
- llovía (imperfect)
How to Choose: A 3-Step Flow
- Identify the role of weather: background scene → likely imperfect.
- Check time-bounding: specific start/end or duration → preterite.
- Spot changes: empezó / se puso / paró → preterite.
FAQ
Is weather condition in the past preterite or imperfect?
Usually imperfect for background (hacía frío, estaba nublado). Use preterite for events/changes (hubo tormenta, se puso a llover).
Había vs. hubo for weather?
Había describes background existence (Había niebla). Hubo reports an incident/event (Hubo una tormenta anoche).
Estaba vs. estuvo nublado?
Estaba = scene/ongoing; estuvo = finished interval (por ejemplo, de 3 a 5).
Can I use preterite with hacer + weather?
Yes, to report a bounded day/event: Ayer hizo calor. For background, use imperfect: hacía calor.
Pocket Cheat-Sheet
- Background/habitual → Imperfect: hacía, estaba, había, llovía, nevaba
- Event/change → Preterite: hizo, estuvo (de X a Y), hubo, llovió, nevó, se puso, empezó, paró
- General climate/habits: imperfect (los veranos eran secos)
Conclusion
Think like a storyteller: use the imperfect to paint the weather as a backdrop and the preterite to mark events or changes. With these patterns, minimal pairs, and the 3-step flow, choosing between them becomes quick and intuitive.