Curso Virtual de Python Aplicado a Hidrología

Presentación

Python es un lenguaje de programación de código abierto, cuya sintaxis es muy fácil de utilizar y aprender, es un lenguaje multiplaforma con una extensa cantidad de herramientas aplicables en distintas áreas de estudio, y es en la actualidad uno de los lenguajes mas utilizados por programadores dado que tiene un continuo proceso de actualización y de contar con una extensa comunidad de usuarios.

Objetivos

El presente módulo tiene como objetivo proporcionar a los participantes los conocimientos básicos requeridos para poder entender y desarrollar scripts en el lenguaje de programación Python y así automatizar procedimientos en análisis de datos hidrológicos.  

Programa del Curso

Sesión 1: Instalación, entorno de programación y sentencias de control de flujo con Python

  • Descarga e instalación de Miniconda.

  • Configuración de Miniconda e instalación de Jupyter Notebook.

  • Descripción del entorno Jupyter Notebook y conceptos básicos de programación.

  • Operaciones básicas con Python .

  • Descripción de listas, tuplas y diccionarios.

  • Sentencias de control de flujo condicional e iterativo.

Sesión 2: Manipulación de datos de precipitación usando la librería Pandas

  • Uso del modulo Pandas.

  • Lectura, escritura y guardado de archivos (Excel, csv, txt, etc.)

  • Filtrado de dataframes en filas y columnas

  • Análisis de datos usando estadística descriptiva.

  • Agrupación de datos por estaciones meteorológica.

  • Exportación de resultados

Sesión 3: Análisis y visualización de datos hidrológicos

  • Análisis de datos hidrológicos: gráfico y consistencia.

  • Definición y aplicación de funciones en Python.

  • Análisis estadístico de variables climáticas.

  • Generación de series temporales de precipitación usando la librería Matplotlib.

  • Generación de gráficas 3D asociando variables climáticas.

  • Análisis de consistencia en la media y desviación estándar.

Sesión 4: Análisis de caudales y Indicadores estadísticos de eficiencia.

  • Análisis histórico de datos de caudales.

  • Generación de Box plots para analizar la estacionalidad de los caudales.

  • Descripción de los principales indicadores estadísticos.

  • Desarrollo aplicativo de un script para determinar los principales indicadores estadísticos de eficiencia, como: coeficiente de Nash, coeficiente de correlación de Pearson (r), volumen relativo al sesgo, error medio cuadrático, coeficiente de determinación R2.

  • Visualización de datos de caudales observados y simulados con resultados de indicadores estadísticos.

Sesión 5: Completación de datos faltantes de precipitación con Python y Scikit-Learn

  • Definición y creación de un modelo de regresión lineal mediante el método de mínimos cuadrados.

  • Generación de una gráfica que muestra línea de ajuste y valores de respuestas de datos de precipitación.

  • Interpretación de parámetros del modelo de regresión lineal y creación de la grafica de residuos.

  • Definición de redes neuronales.

  • Uso del modulo Scikit-learn en Python.

  • Aplicación de las redes neuronales para completar datos de precipitación.

 

Capacitadores

Ing. Henry Gómez

Especialista en Hidrología e Hidráulica

Ingeniero Agrícola de la Universidad Agraria la Molina, con varios años de experiencia en consultoría técnica en hidrología, diseño de obras hidráulicas y manejo de sistemas de información geográfica. Actualmente cursa la maestría de Recursos Hídricos de la Escuela de Post Grado de la UNALM, enfocado al uso, manejo y gestión del agua.

En el ámbito profesional, se ha especializado en el manejo de diversos software para el modelamiento hidrológico e hidráulico, tales como RS Minerve, HEC-HMS, HEC-RAS, además de tener dominio en el manejo de herramientas de información geográfica.  

Formación:

  • Formación en modelamiento hidrológico.

  • Consultor en hidrología e hidráulica.

  • Consultor en formulación de proyectos.

  • Experiencia en trabajos en campo, realizando aforos, diagnóstico de características fisiográficas de cuencas y levantamientos topográficos.

Ing. Richard Gómez

Especialista en Telecomunicaciones de la Universidad Nacional de Ingeniería, con experiencia en la elaboración de programas para manipulación de datos y modelamiento predictivo.

En el ámbito profesional, se ha especializado en el manejo del lenguaje de programación Python y sus librerías para Data Science y Machine Learning, tales como Pandas, Numpy, Scikit-learn, además de tener dominio en otros lenguajes de programación (C++, Java, NodeJS, GO), manejo de Bases de Datos (SQL y no SQL) e APIs.

Formación:

  • Algoritmos y estructuras de datos

  • Métodos estadísticos y estocásticos

  • Programación orientada a objetos

  • Data Science