================ COMPILACION + INSTALACION DE GEMNTR Y EL MODELO GEMDM =========================== Requisitos previos: ------------------- 1) Compiladores: A) ifort/icc: Compilador Intel fortran y C++ (version 11.1/076) o (version 12) Descargar: http://software.intel.com/en-us/articles/non-commercial-software-download/ -Libre para uso no comercial. -No olvidar anotar el numero de SERIE mientras se esta descargando el software. -GEMDM/ARMNLIB trabajan solamente con una compilacion en 32 bits. Asegurese de tener instalado las librerias ia32. B) gfortran/gcc: SOLAMENTE VERSION 4.2 ha sido probada. Estos compiladores estan incorporados en cualquier version estandar de LINUX. C) pgf90/pgcc: Se probado exitosamente solo con la version 7.2.4 2) Librerias para el computo en paralelo: A) Librerias mpich2 (mpi paralelo) compiladas con: a) ifort/icc: (version 11.1/076) o (Version 12.0) Descargar de : http://www.mcs.anl.gov/mpi/mpich/ -Compilar para 32 bit eligiendo compilador ifort/icc de 32 bit (por ejemplo intel/Compiler/11.1/073/bin/ia32/ifort) b) gfortran/gcc: Solamente version 4.2 Banderas importantes para la compilacion de mpich2: export CC=gcc CXX=g++ CFLAGS="-m32 -w" LIBS="-lgfortran -lgfortranbegin -lpthread" F77="gfortran-4.2" FC="gfortran-4.2" FFLAGS="-m32 -fcray-pointer" FCFLAGS="-m32 -fcray-pointer" CXXFLAGS="-m32 -w" c) pgf90/pgcc: version 7.2.4 B) Librerias openmpi (mpi paralelo) compiladas con: a) ifort/icc: (version 11.1/076) or (version 12.0) Descargar de: http://www.open-mpi.org/software/ompi/v1.5/downloads/openmpi-1.5.tar.bz2 -Compilar con 32 bit elegiendo compilador de 32 bit ifort/icc (por ejemplo, intel/Compiler/11.1/073/bin/ia32/ifort) b) gfortran/gcc: Version 4.2 solamente Banderas importantes para la compilacion de openmpi: export CC=gcc CXX=g++ CFLAGS="-m32 -w" LIBS="-lgfortran -lgfortranbegin -lpthread" F77="gfortran-4.2" FC="gfortran-4.2" F90="gfortran-4.2" FFLAGS="-m32 -fcray-pointer" FCFLAGS="-m32 -fcray-pointer" F90FLAGS="-m32 -fcray-pointer" CXXFLAGS="-m32 -w" c) pgf90/pgcc: Version 7.2.4 3) cmake Descargar de : http://www.cmake.org/cmake/resources/software.html Probado con: versiones V2.82/2.83 -compilar tambien para 32 bits usando compilador icc de 32 bits O -compilar para 32 bits usando gcc (con CFLAGS="-m32 -w") O -compilar para 32 bits usando usando pgcc (compilador de 32 por ejemplo linux86) 4) Librerias MKL de Intel or librerias de codigo abierto lapack (ATLAS + netlib) Descargar ATLAS: http://sourceforge.net/projects/math-atlas/files/Stable/ (e.g., http://sourceforge.net/projects/math-atlas/files/Stable/3.8.3/atlas3.8.3.tar.bz2/download) LAPACK ya viene incorporado en netlib (no se necesita descargar) NOTAS de COMPILACION: -------------------- ATLAS - NO OLVIDAR usar -b 32 (para la generacion de librerias de 32 bit) Las instrucciones de compilacion se encuentran en el archivo INSTALL.txt 5) CONJUNTO DE DATOS PARA LA CORRIDA DE PRUEBA DEL MODELO: Condicion inicial del modelo, campos de climatologia y geofisica contenidos en CASES.tar.bz2 (todos los archivos estan en formato FST) Especificamente: ./CASES ----> clim_gef_400_mars96 (Climatologia) ----> geophy_400 or gengeoout_global_6km.fst_0000001-0000001 (campos geofisicos) ----> 20010920.120000 (datos del campo analisis) Mas detalles se pueden encontrar en RUN_TEST/README.TESTRUNGEMDM 6) Si Usted planea usar el programa GEMDM para el pronóstico en tiempo real usando los datos provenientes del análisis operacional del CMC (por ejemplo inicialización a las 00 o 12 UTC), deberá realizar los siguientes pasos: Descargar el paquete CMC GRIB, para convertir del formato grib1 al FST. Descargar: http://collaboration.cmc.ec.gc.ca/science/rpn.comm/cgi-bin/download.php?request=cmcgrib_Linux.tar.Z INSTALACION DEL MODELO GEMDM: ------------------------ 1) Compilacion de ARMNLIB ---------------------- tar -xvjf GEM.tar.bz2 tar -xvjf GEM.CASES.tar.bz2 tar -xvjf GEM.run_test_listings.tar.bz2 tar -xvjf GEM.visualization.tar.bz2 cd GEM/armnlib cmake . make make genrmnlib 2) Prueba de la instalacion de armnlib ----------------------------------- cd ../testarmnlib -Los dos archivos generados proveen una idea si las libreria librmn.a generada funciona o no. -Compilar el programa de muestra (ifa_avg.F) usando: mpif90 ifa_avg.F ../armnlib/lib/librmn.a NOTA: Al realizar la instalación aparecerá el siguiente mensaje de advertencia (warning) el cual puede ser ignorado: c_baseio.c:(.text+0xbe9): warning: the `llseek' function may be dangerous; use `lseek64' instead. - Ejecutar el programa ./a.out -Revisar la salida por pantalla, prestando especial atencion al contenido entre las dos lineas the punto como se detalla abajo. ------------------------------------------------------------------------------------------------------------------------------------ ier 0 Read(3) MA A IFAMASK 538 268 1 010101011 0 0 0 0 0 R16 Z 3 3 1500 0 ------------------------------------------------------------------------------------------------------------------------------------ - Revise el archivo fort.9 y note si aparece el numero '99', por ejemplo haciendo vi fort.9 ('fort.9' es un archivo ascii que se obtiene a partir del campo MA [El cual es una mascara sobre el Pacifico Occidental de la matriz IFA]) 3) Si se usan las librerias ATLAS: ------------------------------ -Si se usa librerias MKL de intel salte al paso 4 Compilacion Completa de lapack y su union con lapack de ATLAS (optimizada) -------------------------------------------------------------------------- cd ../lapack export LIBATLAS=/d1/badri/lib32/ifort_icc/atlas ==> Coloque el directorio de su compilacion de liblapack.a como parte de ATLAS cmake . ==> Asumiendo que se construye con compiladores GNU (por ejemplo, gcc) make lapack make genfulllapack 4) Compilacion GEMDM ----------------- -Si se usa librerias MKL de Intel: -export LIBMKL=/home/badri/intel/Compiler/11.1/073/mkl/lib/32 (mkl libs) -export LIBINTEL=/home/badri/intel/Compiler/11.1/073/lib/ia32 (libiomp5.a) cd ../GEM cmake . make ATENCION: Cuando se usan los scripts wrapper para los pasos 1) al 4), note que la variable ambiental LD_LIBRARY_PATH este apuntando al directorio de librerias de openmpi (por ejemplo: /home/zzz/openmpi/lib) ================ COMPILACION + INSTALACION DE GEMNTR y MODELO GEMDM==================== ================ EJECUTAR EL CASO DE PRUEBA DEL GEMDM================================== Refierase al archivo run_test/README.TESTRUNGEMDM para instrucciones. ================ EJECUTAR EL CASO DE PRUEBA DEL GEMDM================================== =============== EJECUTAR EL MODELO GEM EN TIEMPO REAL EN FORMA OPERACIONAL============ Refierase al archivo run_realtime/README_INPUT_DATASET para instrucciones. ================ EJECUTAR EL MODELO GEM EN TIEMPO REAL EN FORMA OPERACIONAL============== 126,1 Bot