HEC-HMS (Hydrologic Modeling System) es uno de los simuladores lluvia-escorrentía más utilizados en el mundo. Desarrollado por el Hydrologic Engineering Center del Cuerpo de Ingenieros del Ejército de los Estados Unidos (USACE), es una herramienta gratuita, técnicamente robusta y ampliamente aceptada en estudios de hidrología aplicada, desde el diseño de obras de drenaje hasta la modelación de eventos de inundación.
A pesar de su popularidad, muchos estudiantes y profesionales que ya conocen los conceptos teóricos —tiempo de concentración, curvas IDF, hidrogramas sintéticos— llegan al software sin saber bien por dónde empezar. El objetivo de esta entrada es precisamente ese: mostrar el flujo de trabajo completo desde la creación del proyecto hasta la obtención de los primeros resultados, utilizando una cuenca sencilla con datos ingresados manualmente, sin necesidad de ningún SIG.
Al terminar de leer, vas a entender la lógica de los tres componentes centrales del modelo, cómo se relacionan entre sí, y cómo interpretar lo que el programa devuelve después de la simulación.
1. Lógica conceptual de HEC-HMS: qué modela y cómo lo organiza
Antes de abrir el programa, conviene entender qué hace HEC-HMS y cómo organiza la información. En términos simples, el modelo toma una lluvia como entrada, la transforma en escorrentía mediante una serie de procesos físicos parametrizados, y produce como salida un hidrograma de caudal en uno o varios puntos de interés de la cuenca.
Para representar todo ese proceso, HEC-HMS estructura el modelo en tres componentes independientes que luego se combinan en una simulación:
- Basin Model (Modelo de cuenca): define la geometría y los parámetros físicos de la cuenca. Acá se configuran las subcuencas, los tramos de cauce, las uniones y los puntos de salida.
- Meteorologic Model (Modelo meteorológico): define la entrada de lluvia/precipitación. Puede ser una lluvia uniforme sobre toda la cuenca, una lluvia espacialmente distribuida, o datos de estaciones reales. También existe un módulo de fusión de nieve.
- Control Specifications (Especificaciones de control): define el período de simulación: fecha y hora de inicio, fecha y hora de fin, y el intervalo de cálculo.
Esta separación en tres componentes es intencional y muy práctica: permite cambiar la lluvia sin tocar la cuenca, o ajustar el período de simulación sin modificar nada más. Una vez que los tres componentes están configurados, se crea una Simulation Run que los combina y ejecuta el modelo.
2. Instalación y primer contacto con la interfaz
HEC-HMS se descarga gratuitamente desde el sitio oficial del HEC (http://www.hec.usace.army.mil). La instalación es estándar para Windows y no requiere configuraciones especiales. Al abrir el programa por primera vez, aparece una interfaz con tres áreas principales:
- Panel de proyecto (izquierda): muestra el árbol con todos los componentes del modelo — Basin Models, Meteorologic Models, Control Specifications y Simulation Runs.
- Área de trabajo central: muestra el mapa esquemático de la cuenca cuando se trabaja con el Basin Model, y los formularios de datos cuando se editan parámetros.
- Panel de resultados / mensajes (abajo): muestra el log del modelo durante y después de la simulación.

Familiarizarse con esta distribución desde el principio facilita mucho la navegación. Todo en HEC-HMS se accede desde el árbol del proyecto o desde los menús Components y Compute.
3. Creación del proyecto
Para crear un proyecto nuevo se va a File → New. El programa solicita un nombre y una ubicación para guardar el proyecto. Es conveniente usar una carpeta dedicada y sin espacios ni caracteres especiales en la ruta, ya que HEC-HMS guarda varios archivos auxiliares junto al proyecto principal.

Una vez creado, aparece el árbol del proyecto en el panel izquierdo con las cuatro ramas vacías: Basin Models, Meteorologic Models, Control Specifications y Simulation Runs. A partir de acá se construye el modelo componente por componente.
4. Basin Model: definición de la cuenca
El Basin Model es el componente donde se representa la cuenca hidrográfica. Se crea desde Components → Basin Model Manager → New, se le asigna un nombre y aparece una ventana de trabajo en blanco con una barra de herramientas para agregar elementos.

4.1 Elementos disponibles en el Basin Model
HEC-HMS trabaja con los siguientes elementos básicos:
- Subbasin (Subcuenca): representa un área contribuyente. Es el elemento central donde se definen los métodos de pérdidas, transformación lluvia-escorrentía y flujo base.
- Reach (Tramo de cauce): conecta elementos aguas arriba con elementos aguas abajo. Permite modelar el tránsito de la onda de crecida a lo largo del cauce.
- Junction (Unión): punto donde confluyen dos o más elementos. Se usa para sumar hidrogramas de subcuencas o tramos que llegan al mismo punto.
- Sink (Punto de salida): es el punto de salida del modelo. Todo el flujo que llega acá es el resultado final de la simulación. Debe haber al menos uno en el modelo.
- Source (Entrada externa): permite ingresar un caudal externo a la cuenca. No es necesario en modelos simples.
- Reservoir: para modelar embalses o estructuras de retención. Tampoco necesario en un modelo introductorio.

4.2 Construcción del esquema de cuenca
Para el ejemplo de esta entrada se va a trabajar con una cuenca sencilla compuesta por dos subcuencas que confluyen en un punto de salida. Es el esquema mínimo que permite ilustrar el flujo completo del modelo sin complejidad innecesaria.
El procedimiento para agregar elementos es el siguiente: se selecciona el elemento deseado en la barra de herramientas del Basin Model y se hace clic en el área de trabajo para ubicarlo. Para conectar elementos, se selecciona el elemento y desde el panel izquierdo inferior, donde se cargan sus propiedades, se selecciona el element que conecta aguas abajo del mismo en la opción «Downstream». El flujo siempre va de subcuencas y tramos hacia junctions o sinks.

Para nuestro ejemplo, el esquema queda así:
- Subbasin-1 → Junction-1
- Subbasin-2 → Junction-1
- Junction-1 → Sink-1
Este esquema le dice al modelo que los hidrogramas de las dos subcuencas se suman en Junction-1, y ese hidrograma combinado es el resultado en la salida de la cuenca.

4.3 Parámetros de la subcuenca
Al hacer clic sobre una subcuenca se abre su panel de edición, abajo a la izquierda. Los parámetros a configurar se dividen en tres grupos principales.
Área y coordenadas
El primer parámetro es el área de la subcuenca, expresado en km² o en mi² según las unidades del proyecto. Este valor es fundamental porque escala directamente el volumen de escorrentía producido. Para el ejemplo se van a usar los siguientes valores:
- Subbasin-1: área = 25 km²
- Subbasin-2: área = 18 km²

Método de pérdidas (Loss Method)
El método de pérdidas determina qué fracción de la lluvia bruta se convierte en escorrentía directa. HEC-HMS ofrece varios métodos; los más utilizados en práctica son:
- SCS Curve Number: el más extendido en hidrología aplicada. Requiere el número de curva CN, que sintetiza las características de suelo y cobertura vegetal. Es robusto, simple y bien documentado.
- Initial and Constant: define una pérdida inicial (abstracción) y una tasa de infiltración constante durante el evento. Útil cuando se tienen datos de infiltración directa.
- Green and Ampt: método físicamente basado que requiere parámetros hidráulicos del suelo. Mayor complejidad de datos pero mejor representación del proceso.
Para este tutorial se usa el método SCS Curve Number. Los parámetros a ingresar son:
- Initial Abstraction (Ia): abstracción inicial en mm. Representa la intercepción, almacenamiento en depresiones e infiltración antes de que comience la escorrentía. Se puede calcular como Ia = 0,2 × S, donde S es el almacenamiento potencial máximo. Muchos usuarios dejan esta opción para que el modelo lo calcule automáticamente a partir del CN.
- Curve Number (CN): número adimensional entre 0 y 100 que representa la capacidad de infiltración del suelo. Un CN de 70–80 es típico de suelos de permeabilidad media con cobertura mixta; valores superiores a 85 corresponden a suelos impermeables o muy urbanizados. Para el ejemplo se usa CN = 75 en Subbasin-1 y CN = 80 en Subbasin-2.


Método de transformación (Transform Method)
El método de transformación convierte la lluvia efectiva (lluvia bruta menos pérdidas) en un hidrograma de escorrentía directa. Es en esencia la función que asigna distribución temporal al volumen de escorrentía calculado por el método de pérdidas. Las opciones más habituales son:
- SCS Unit Hydrograph: hidrograma unitario adimensional desarrollado por el SCS (actual NRCS). Solo requiere un parámetro: el tiempo de retraso (lag time), que en la formulación SCS se define como el 60% del tiempo de concentración. Es el método más utilizado en cuencas sin datos de aforo.
- Clark Unit Hydrograph: requiere el tiempo de concentración Tc y un coeficiente de almacenamiento R. Más flexible que el SCS UH pero requiere calibración.
- Snyder Unit Hydrograph: basado en coeficientes regionales. Útil en cuencas donde se dispone de parámetros calibrados para la región.
- ModClark: versión distribuida del Clark, pensada para modelos con información espacial. No aplica en modelos sin GIS.
Para este tutorial se usa SCS Unit Hydrograph. El único parámetro requerido es el lag time. Si el tiempo de concentración de la subcuenca 1 es Tc = 60 min, entonces el lag time = 0,6 × 60 = 36 min. Para la subcuenca 2, con Tc = 45 min, el lag time = 27 min.


Flujo base (Baseflow Method)
El flujo base representa la contribución de aguas subterráneas al caudal del cauce. Para eventos cortos o cuencas pequeñas, a menudo se trabaja con la opción None (sin flujo base), lo que es apropiado cuando se modela un evento de tormenta aislado sin considerar el aporte del acuífero. En estudios donde el flujo base es relevante, se puede usar el método Recession o ingresar valores manuales.

5. Meteorologic Model: definición de la lluvia
El Meteorologic Model se crea desde Components → Meteorologic Model Manager → New. Su función es asignar una entrada de precipitación a cada subcuenca del Basin Model.


5.1 Métodos de precipitación disponibles
HEC-HMS ofrece varios métodos para definir la lluvia:
- Specified Hyetograph: se ingresa manualmente el hietograma (serie temporal de intensidades de lluvia). Es el método más simple y el que se usa en este tutorial.
- Frequency Storm: genera una tormenta de diseño a partir de parámetros estadísticos (duración, período de retorno). Útil para diseño con datos IDF.
- SCS Storm: utiliza la tormenta tipo del SCS (tipo I, IA, II o III) escalada a una lluvia total definida por el usuario.
- Gridded Precipitation: permite ingresar lluvia espacialmente distribuida en grilla. Requiere datos en formato DSS y no aplica en modelos sin GIS.
5.2 Configuración con Specified Hyetograph
Al elegir Specified Hyetograph como método de precipitación, el modelo solicita asignar un hietograma a cada subcuenca. Los hietogramas se definen previamente en Components → Time-Series Data Manager, donde se crea una serie temporal de tipo Precipitation Gage.

Para crear el hietograma: en el Time-Series Data Manager se selecciona Precipitation Gages → New, se le asigna un nombre, y se abre su editor donde se ingresa la tabla de datos: fecha/hora e intensidad o lámina acumulada para cada intervalo.

Para el ejemplo se va a usar una tormenta de diseño sencilla de 6 horas de duración con intervalo de 30 minutos. La distribución es la siguiente (lámina incremental por intervalo de 30 min):
| Intervalo | Hora | Lámina (mm) |
|---|---|---|
| 1 | 0:00 – 0:30 | 4 |
| 2 | 0:30 – 1:00 | 6 |
| 3 | 1:00 – 1:30 | 10 |
| 4 | 1:30 – 2:00 | 18 |
| 5 | 2:00 – 2:30 | 28 |
| 6 | 2:30 – 3:00 | 20 |
| 7 | 3:00 – 3:30 | 12 |
| 8 | 3:30 – 4:00 | 8 |
| 9 | 4:00 – 4:30 | 6 |
| 10 | 4:30 – 5:00 | 4 |
| 11 | 5:00 – 5:30 | 3 |
| 12 | 5:30 – 6:00 | 2 |
| Total | 121 mm |

Esta distribución tiene el pico concentrado entre las 2:00 y las 3:00 horas, que es una forma típica de tormenta de diseño con distribución tipo bloque avanzado. La lámina total de 121 mm es representativa de un evento de período de retorno intermedio en muchas regiones de Latinoamérica.
Algo importante a considerar es que el programa debe tener datos por todo el tiempo de modelación, entonces si nuestro hietograma tiene 6hs de duración pero vamos a modelar 12hs para ver como se comporta el sistema teniendo en cuenta la cola del hidrograma y todos los traslados, entonces tenemos que completar los datos de precipitacion con valor 0 en las 6hs restantes.
Una vez creado el hietograma, en el Meteorologic Model se asigna ese Precipitation Gage a cada subcuenca. Si ambas subcuencas reciben la misma lluvia (caso de una tormenta uniforme sobre la cuenca), se asigna el mismo gage a las dos. Si se quisiera una lluvia diferente por subcuenca, se crearían dos gages distintos.


Un detalle importante: el Meteorologic Model también permite configurar la evapotranspiración (Evapotranspiration). Para simulaciones de eventos cortos (tormentas individuales), este componente generalmente se desactiva o se deja en None, ya que las pérdidas por ET durante el evento son despreciables frente a la lluvia.
6. Control Specifications: definición del período de simulación
Las Control Specifications son el componente más simple de configurar. Se crean desde Components → Control Specifications Manager → New y requieren cuatro parámetros:
- Start Date / Start Time: fecha y hora de inicio de la simulación.
- End Date / End Time: fecha y hora de fin.
- Time Interval: intervalo de cálculo. Debe ser igual o menor al intervalo del hietograma. En el ejemplo se usa 30 minutos.

Para el ejemplo, la simulación comienza el 01/01/2025 a las 00:00 hs y termina el 01/01/2025 a las 12:00 hs, con un intervalo de 30 minutos. Se extiende hasta las 12:00 hs (y no solo hasta las 6:00 hs del fin de la lluvia) para capturar la cola del hidrograma, que en cuencas rurales puede extenderse varias horas después de que la lluvia haya cesado.

Una advertencia práctica: el intervalo de cálculo tiene un impacto directo en la precisión y la estabilidad del modelo. En general, el tiempo de cálculo no debería superar el 20–29% del tiempo de retraso de la subcuenca más pequeña. Si el lag time es de 27 minutos, un intervalo de 30 minutos está en el límite; en ese caso sería más adecuado reducirlo a 15 minutos. Para este tutorial se mantiene en 30 minutos por simplicidad, pero en proyectos reales es un aspecto que requiere atención.
7. Simulation Run: combinar los componentes y ejecutar
Una vez que los tres componentes están configurados, se crea la Simulation Run desde Compute → Create Simulation Run. El asistente solicita que se seleccione el Basin Model, el Meteorologic Model y las Control Specifications que se van a combinar.

La Simulation Run actúa como un contenedor que vincula los tres componentes. Si se tienen varios escenarios de lluvia (diferentes períodos de retorno, por ejemplo), se puede crear una Simulation Run distinta para cada uno, reutilizando el mismo Basin Model y las mismas Control Specifications y cambiando solo el Meteorologic Model.
Para ejecutar la simulación, se selecciona la Simulation Run deseada en el árbol del proyecto y se hace clic en Compute → Compute All (o el botón de reproducción en la barra de herramientas). Tambien se puede correr desde la barra superior, seleccionando la corrida (Run 1 en nuestro caso) y apretando el boton a la derecha.

El panel inferior muestra el log de ejecución en tiempo real. Si todo está correctamente configurado, el log termina con el mensaje «Finished computing» sin errores.
Los errores más comunes en esta etapa son: falta de asignación del hietograma a alguna subcuenca, inconsistencia entre las fechas de la lluvia y las fechas de las Control Specifications, o unidades mal configuradas (el proyecto puede trabajar en unidades métricas o imperiales y todos los datos deben ser consistentes).
8. Interpretación de resultados
Una vez que la simulación finalizó sin errores, los resultados se acceden de varias maneras.
8.1 Gráfico del hidrograma
Al hacer doble clic sobre cualquier elemento del Basin Model después de la simulación, podemos ver un gráfico con el hidrograma de escorrentía directa en cada elemento. Para el Sink (punto de salida), este gráfico muestra el hidrograma total de la cuenca: la evolución del caudal en m³/s a lo largo del tiempo (click derecho en el elemento> view results > Graph).
Los valores más importantes a leer de este gráfico son:
- Caudal pico (Qp): el valor máximo del hidrograma en m³/s.
- Tiempo al pico (tp): el momento en que ocurre el caudal pico, medido desde el inicio de la lluvia.
- Forma general del hidrograma: si la curva de ascenso es pronunciada (cuenca pequeña, muy impermeable o con pendiente importante) o suave (cuenca grande, permeables o plana).

8.2 Tabla de resultados
Desde Results → Global Summary Table se accede a una tabla que resume los principales indicadores para cada elemento del modelo: área contribuyente, lámina de precipitación, pérdidas, lámina de escorrentía directa, caudal pico y volumen total. Esta tabla es especialmente útil para verificar balances hídricos y detectar inconsistencias.

El hecho de que el caudal pico en la salida sea menor que la suma de los picos individuales es un resultado físicamente correcto y esperado: los hidrogramas de las dos subcuencas tienen tiempos al pico diferentes (porque tienen lags diferentes), y cuando se suman no coinciden exactamente. Este efecto se llama desfasaje de picos y tiene implicancias directas en el diseño: una cuenca compuesta por múltiples subcuencas con tiempos de concentración diferentes produce un pico de salida menor que si toda el área tuviera el mismo Tc.
8.3 Exportación de resultados
Los resultados de la simulación se pueden exportar desde Results → Export en formato de tabla de texto o en formato DSS (Data Storage System). El formato DSS es el estándar del HEC para transferir datos entre sus herramientas (HEC-HMS, HEC-RAS, HEC-DSSVue), y es útil cuando el hidrograma de salida va a usarse como condición de borde en un modelo hidráulico de HEC-RAS.
9. Verificación y buenas prácticas antes de confiar en los resultados
HEC-HMS genera resultados para cualquier conjunto de parámetros que se le ingrese, incluso si esos parámetros no son físicamente representativos. Antes de usar los resultados en un proyecto real, conviene verificar algunos puntos básicos.
Balance hídrico: la lámina de escorrentía directa calculada debe ser consistente con el CN y la lámina de lluvia neta. Para un CN de 75 y una lluvia de 121 mm, la ecuación del SCS produce una lámina de escorrentía de aproximadamente 65–70 mm, lo que implica que las pérdidas representan el 43–46% de la lluvia total. Esto es razonable para las condiciones definidas.
Coherencia temporal: el tiempo al pico del hidrograma debe estar relacionado con el tiempo de concentración de la cuenca. Si el pico ocurre mucho antes o mucho después de lo esperado, puede haber un error en el lag time o en las unidades de tiempo.
Consistencia de unidades: HEC-HMS trabaja internamente con unidades métricas o imperiales según la configuración del proyecto. Un error frecuente es ingresar el área en hectáreas cuando el programa espera km², o el lag time en horas cuando espera minutos.
Revisión del log: el panel de mensajes inferior a veces incluye advertencias (warnings) que no impiden la simulación pero señalan situaciones que pueden afectar los resultados, como un intervalo de cálculo demasiado grande relativo al lag time.
10. Conclusiones
HEC-HMS organiza la modelación lluvia-escorrentía en tres componentes independientes —Basin Model, Meteorologic Model y Control Specifications— que se combinan en una Simulation Run. Esta arquitectura modular facilita la gestión de múltiples escenarios y hace que el modelo sea relativamente fácil de modificar sin tener que reconfigurar todo desde cero.
Para una cuenca sencilla como la del ejemplo, los pasos esenciales son: definir la geometría de la cuenca con sus subcuencas, asignar los métodos de pérdidas y transformación con sus parámetros, ingresar el hietograma de diseño, configurar el período de simulación con el intervalo adecuado, y ejecutar. Con eso alcanza para obtener hidrogramas de diseño utilizables en la mayoría de los proyectos de drenaje pluvial y control de inundaciones.








