Modelos numéricos del clima

De ECFM-Wiki
Saltar a: navegación, buscar

Investigador principal: Dr. Enrique Pazos

El estudio y predicción del clima mediante métodos numéricos es uno de los proyectos a largo plazo de la escuela. Dado que los sistemas atmosférico y oceánico son fluidos, los mismos se estudian mediante las ecuaciones de los fluidos de Euler.

Desarrollar un modelo climático (software, física y métodos numéricos) implica abordar el proyecto en fases. Actualmente se está estudiando la resolución de las ecuaciones de Euler.

Contenido

Trabajos en progreso

  • Canícula en la región de Guatemala. Tesis de licenciatura, Lilian García
  • Simulaciones del viento sobre los volcanes. Año de práctica, Willson García

Trabajos realizados

RegCM

  • La versión 4.5 se puede encontrar en la web o en este conveniente enlace http://fisica.usac.edu.gt/~epazos/RegCM-4.5.0.tar.gz
  • Una vez que se baja, el archivo se desempaqueta con el comando: tar xvfz RegCM-4.5.0.tar.gz lo cual crea el directorio RegCM-4.5.0
  • Para compilar, instalar y correr el programa hay que seguir las instrucciones que se encuentran en la documentación, la cual está en el directorio RegCM-4.5.0/Doc/UserGuide. Para generar el pdf basta con el comando make en dicho directorio.

Grid Analysis and Display System (GrADS)

Esta es una de las herramientas de visualización

Simulaciones con los datos HadGEM2

  • Agregar en archivo .in el parámetro calendar = '360_day' en la sección &globdatparam
  • Si se usa la RCP 8.5, usar los parámetros ssttyp = 'HA_85', dattyp = 'HA_85'
  • Colocar un link en RegCM-globaldat/SST hacia el archivo que contiene los datos de SST. Cambiar el nombre si es necesario

Compiling HDF5 and netCDF libraries

Download:

HDF5

This library is already precompiled, just unpack it in your home directory and is good to go.

netCDF-C

The full procedure to compile and install can be followed here: http://www.unidata.ucar.edu/software/netcdf/docs/getting_and_building_netcdf.html#building But the short version is this:

  • Add these definitions at the end of your /home/user/.bashrc file (in all that follows, substitute "user" by your username).

# HDF5 shared libraries
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/home/user/hdf5-1.10.1/lib 
# netCDF shared libraries NCDIR=/home/user/local/netcdf export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NCDIR/lib NFDIR=/home/user/local/netcdf-fortran HDF5DIR=/home/user/hdf5-1.10.1

  • Type in the terminal source ~/.bashrc
  • Unpack your netcdf-c file and go to that directory. The configuration is done with this command line:

./configure CPPFLAGS=-I/home/user/hdf5-1.10.1/include LDFLAGS=-L/home/user/hdf5-1.10.1/lib --prefix=$NCDIR

  • Now do a make, make check and make install
  • The compiled libraries are copied (installed) in the directory you specified with the NCDIR variable. In this case they will be in /home/user/local/netcdf.

netCDF Fortran

Once you have the netCDF-C in place, you can compile and install the Fortran one. Full procedure is here: http://www.unidata.ucar.edu/software/netcdf/docs/building_netcdf_fortran.html and the short one is this:

  • Unpack your netcdf-fortran file and go into that directory. The configuration is done with:

./configure CPPFLAGS="-I$NCDIR/include -I$HDF5DIR/include" LDFLAGS="-L$NCDIR/lib -L$HDF5DIR/lib" --prefix=$NFDIR

  • Now do a make, make check and make install
  • The compiled fortran libraries are copied (installed) in the directory you specified with the NFDIR variable. In this case they will be in /home/user/local/netcdf-fortran.

Building RegCM with the new libraries

There seems to be a bug in the configure script that comes with RegCM, it doesn't take into account the paths of the newly compiled libraries. Thus we have to make a little hack to the file.

  • Go into your RegCM directory
  • Open the configure file with a text editor.
  • Go to line 16106 and copy these lines:

NC_PREFIX=/home/user/local/netcdf
NCF_PREFIX=/home/user/local/netcdf-fortran
HDF5_PREFIX=/home/user/hdf5-1.10.1
NC_INCLUDES="-I/$NC_PREFIX/include -I/$HDF5_PREFIX/include -I/$NCF_PREFIX/include"
NC_LIBS="-L/$NC_PREFIX/lib -L/$HDF5_PREFIX/lib -L/$NCF_PREFIX/lib"

  • Now run the script by typing ./configure
  • Do a make clean, make and make install

Now you have RegCM built with the new libraries.

Pequeños proyectos

Solución Numérica de las ecuaciones de Euler en 1D

El propósito de este pequeño proyecto es familiarizarnos con las ecuaciones de fluidos de Euler y las técnicas numéricas de solución.

Para el cálculo de las soluciones numéricas hemos creado un programa en C++ que implementa el método de volúmenes finitos en forma semi discreta. Esto permite calcular la derivada en el tiempo del vector de estado. La integración en el tiempo se hace con el método de Runge-Kutta. La reconstrucción del flujo numérico se hace con funciones lineales por segmentos y se utiliza un limitador de flujo para eliminar oscilaciones espurias. Junto con el método de Runge-Kutta de segundo orden, se puede verificar que la solución converge precisamente a segundo orden.

Esta es una breve descripción del código numérico.

Solución Numérica de las ecuaciones de Euler en 2D

Es una extensión directa del código en 1D. En dos dimensiones ya es posible estudiar la dinámica de un gas en un plano horizontal o bien tomar un corte vertical de la atmósfera agregando la fuerza de gravedad.

Aquí se pueden ver algunos avances y gráficas bonitas de las solución de las Ecuaciones de Euler en 2D

Herramientas personales
Espacios de nombres

Variantes
Acciones
Navegación
Herramientas