Workshop Python Científico

Resumen

En las últimas décadas la computación se ha convertido en un pilar de la ingeniería y el desarrollo científico-tecnológico. En la mayoría de las áreas, el trabajo computacional es un complemento fundamental de la experimentación tradicional y de la teoría, ya que cada vez más se involucran simulaciones numéricas y modelado computacional. Frecuentemente, la tarea de los profesionales hace uso de aplicaciones específicas que requieren un gran trabajo de procesamiento de los datos de entrada y un post-procesamiento de los resultados utilizando otras herramientas.

Este curso brindará una introducción al lenguaje de programación Python y a las herramientas fundamentales del "ecosistema científico" (IPython, Numpy, Matplotlib, Scipy) y también herramientas especificas necesarias para el estudio de la atmósfera y el océano. Estas conforman un entorno de programación interactivo de vanguardia, fuertemente adoptado por la comunidad científica internacional, simple, libre, gratuito y multiplataforma.

plot 3d fluido ejemplo
plot 3d fluido ejemplo

Modalidad del curso

El curso esta diseñado para dictarse de forma intensiva en el plazo de una semana. El contenido se divide en clases teóricas por la mañana (de 9 a 13) y hands-on por la tarde (14 a 18) en donde los alumnos pondrán en práctica los temas desarrollados.

Debido a que una parte fundamental del curso son los hands-on, habrá un cupo limitado de 14 personas. El curso está destinado a estudiantes de doctorado, posdoctorandos y jóvenes investigadores. Se dará prioridad a los que sean docentes del DCAO (FCEN-UBA).

Aclaración: No es un curso de estadística. No es un curso de climatología. Se asume que los participantes poseen conocimientos de climatología y de métodos estadísticos

Programa

Clase 1: Introducción a Python

Características de Python. Introducción a IPython Notebook. Tipos de datos: enteros, flotantes, complejos, strings. Estructuras de datos incorporadas: listas, tuplas, diccionarios, conjuntos. Conceptos de mutabilidad, inmutabilidad, secuencia, iterador. Control de flujo: if, for, while. Estructuras por comprensión.

Clase 2: Funciones, I/O y sistemas de control

Funciones: definición, argumentos posicionales y nominales. Funciones incorporadas: zip, range, enumerate, etc. Manejo de I/O: lectura y escritura de archivos. Conceptos básicos de programacion orientada a objetos. Sistemas de control de versiones (GIT).

Clase 3: Numpy y MatPlotLib

Numpy: introducción al objeto Array. Slicing extendido, métodos y funciones importantes. Máscaras y fancy indexing. Aplicación de Numpy en álgebra lineal. Resolución de sistemas de ecuaciones lineales. Manipulación de arreglos multidimencionales (3 y 4 dimensiones) Matplotlib: generación de gráficos cartesianos continuos, puntos, histogramas. Matplotlib avanzado: API orientada a objetos. Manipulación del formato y apariencia. Gráficos 3D, otros tipos de gráficos 2D. Exportación con calidad de publicación.

Clase 4 y 5: Python, Atmósfera y Océanos

Manejando archivos NetCDF. Leer y crear NetCDF. Acceder variable NetCDF. Graficando las proyecciones. Regresiones lineales y no lineales. Análisis espectrales

En la última clase trabajaremos aplicando todo lo aprendido durante el curso sobre datos particulares de cada alumno. Al finalizar la jornada, cada uno realizara una pequeña presentación mostrando lo que pudo hacer, librerías utilizadas, problemas que tuvieron, etc.

Organizadores

Este evento es organizado por

Franco Bellomo

Franco Bellomo

Carla Gulizia

Dra. Carla Gulizia

Institución financiadora

Agradecemos al Departamento de Ciencias de la Atmósfera y los Océanos (DCAO/FCEN-UBA) por financiar esta actividad.

Inscripción

Ya están abiertas las inscripciones para el Workshop!

email fnbellomo