Modelos numéricos del clima
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.
Sumario
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
- Simulacióndel huracán Mitch en Guatemala. Año de práctica, Andrés Valle. https://www.youtube.com/playlist?list=PLFKJ_lBVsrIBh56bpO21cDX439_OtiXIl
RegCM
Bajar RegCM
RegCM se encuentra en Github. La manera de bajar la versión más reciente es escribiendo en la terminal el siguiente comando
{code}
git clone https://github.com/ICTP/RegCM.git
{code}
Esto crea un directorio llamado RegCM y en su interior está la documentación y todo lo que necesitamos para compilar el programa.
Generando la documentación
La documentación se encuentra en el directorio RegCM/Doc. Adentro de este directorio se encuentran tres directorios más: DeveloperGuide, ReferenceManual y UserGuide. Para general el documento PDF ingresamos en cada directorio y ejecutamos en la terminal el comando make.
Si LaTeX no está instalado, hay que instalarlo antes de generar la documentación.
Compilando RegCM
Para compilar RegCM debemos tener instalados los paquetes libnetcdf-dev, libnetcdff-dev y libmpich-dev junto con todas sus dependencias. Luego, nos vamos al directorio RegCM, y la secuencia más simple de comandos para compilar es:
{code}
./bootstrap.sh ./configure AR=ar make make install
{code}
Si todo sale bien, ahora se puede ir al capítulo 4 del User's guide para empezar con una corrida de prueba.
Grid Analysis and Display System (GrADS)
Esta es una de las herramientas de visualización
- Manual http://www.atmos.umd.edu/~dkuhl/documents/GRADSmanual.pdf
- Tutorial http://www.met.wur.nl/education/atmospract/grads/tutorial_new.html
- Manual http://cola.gmu.edu/grads/gadoc/users.html
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
- Para generara los datos iniciales y condiciones de frontera hay que usar la versión 4.6 de RegCM
- Para abrir un archivo de HadGEM2 en grads hay que cambiar de calendario de 360 días al de 365. Esto se hace con: cdo -f nc setcalendar,standard old.nc new.nc
Compiling HDF5 and netCDF libraries
Download:
- HDF5 v. 1.10.1 https://www.hdfgroup.org/downloads/hdf5/
- netCDF-C v. 4.5.0 https://github.com/Unidata/netcdf-c/releases/v4.5.0
- netCDF Fortran v. 4.4.4 https://www.unidata.ucar.edu/downloads/netcdf/index.jsp
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
andmake 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
andmake 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
andmake install
Now you have RegCM built with the new libraries.
WRF
The Weather Reasearch and Forecasting model is a Numerical Weather Prediction model designed to do atmospheric research and weather forecast.
Web page for download, documentation and tutorials: http://www2.mmm.ucar.edu/wrf/users/
Online tutorial: http://www2.mmm.ucar.edu/wrf/OnLineTutorial/index.htm
It's necessary to download the three tarballs: WRF-ARW, WPS, WRF-Chem
To configure: ./configure
If you installed netCDF libraries from Ubuntu repositories, include path is /usr/include and libraries path is /usr/lib/x86_64-linux-gnu
To compile: ./compile wrf
To view results, install from Ubuntu repository ncl-tools and ncl-ncarg.
Example scripts: http://www2.mmm.ucar.edu/wrf/OnLineTutorial/Graphics/NCL/NCL_examples.htm
Website: http://www.ncl.ucar.edu/
Some place to get data to initialize the model: https://dtcenter.org/wrf-nmm/users/downloads/input_data.php
GFS data: http://www.nco.ncep.noaa.gov/pmb/products/gfs/
Tropical Rainfall Measuring Mission (TRMM)
https://mirador.gsfc.nasa.gov/cgi-bin/mirador/presentNavigation.pl?tree=project&project=TRMM
TMPA 3B43 monthly precipitation averages and TMPA 3B42 daily and sub-daily (3hr) averages are probably the most relevant TRMM-related products for climate research. 3B42 and 3B43 are available in 0.25° spatial resolution, covering 50°N to 50°S for 1998-present.
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