===========DATOS DE PRUEBA PARA LA EJECUCION DEL MODELO GEMDM=========== ===========PRUEBA USANDO RESOLUCION HORIZONTAL GLOBAL UNIFORME========== Antes de utilizar el modelo con condiciones iniciales modo tiempo-real, es altamente recomendable ejecutar el modelo con un conjunto de datos de prueba a fin de asegurarse que las cosas estan funcionando de acuerdo a lo esperado. PASOS: ===== 1) Establecer vinculos simbolicos desde el directorio fuente de compilacion Lo siguiente deberia funcionar si se trata de un directorio de instalacion nuevo ln -sf ../GEM/gemntr.Abs . ln -sf ../GEM/gemdm.Abs . Por otro lado los archivos ejecutables pueden ser vinculados desde otro directory (ejemplo, ver RUN_TEST). 2) Desempaquetar los campos de condicion inicial, climatologico y geofisico. El resultado de la ejecucion de este comando deberia ser ./CASES ----> clim_gef_400_mars96 (Climatologia) ----> geophy_400 or gengeoout_global_6km.fst_0000001-0000001 (Campos geofisicos) ----> 20010920.120000 (Campo de analisis) O ----> YYYYMMDD.HH0000 (datos del anĂ¡lisis para las corridas en TIEMPO REAL (REAL TIME runs)) 3) El listado del contenido del directorio RUN_TEST deberia tener la siguiente apariencia: drwxr-sr-x 2 badri badri 4096 2011-01-04 13:59 CASES -rwxr-xr-x 1 badri badri 1833 2011-06-11 11:52 rungemntr.sh -rwxr-xr-x 1 badri badri 4205 2011-06-11 11:52 rungemdm.sh -rw-r--r-- 1 badri badri 2155 2011-06-11 11:52 outcfg.out_GV -rw-r--r-- 1 badri badri 2222 2011-06-11 11:52 outcfg.out -rw-r--r-- 1 badri badri 12743 2011-06-11 11:52 gem_settings.nml_GV -rw-r--r-- 1 badri badri 4592 2011-06-11 11:52 gem_settings.nml -rwxr-xr-x 1 badri badri 453 2011-06-18 22:33 envvars.sh drwxr-sr-x 2 badri badri 4096 2011-06-25 10:18 listings lrwxrwxrwx 1 badri badri 17 2011-06-25 11:18 gemntr.Abs -> ../gem/gemntr.Abs lrwxrwxrwx 1 badri badri 16 2011-06-25 11:18 gemdm.Abs -> ../gem/gemdm.Abs -rw-r--r-- 1 badri badri 7843 2011-06-25 11:28 README.TESTRUNGEMDM 4) GEMNTR (preprocesador) a) El archivo de settings/namelist provisto es para la ejecucion de prueba en 8 procesadores. Usted puede aumentar o disminuir la cantidad de procesadores dependiendo del tipo de hardware disponible. En el archivo gem_settings.nml adjustar Ptopo_npex y Ptopo_npey para el numero de procesadores en la direcciones x e y. Ejemplo: &ptopo Ptopo_npex = 4 , Ptopo_npey = 2 , b) vi rungemntr.sh Modificar los datos de analisis (YYYMMDD.HH0000) Por ejemplo para los datos de analisis del 24 de enero de 2011 / 12 UTC: ln -s $EXECDIR/CASES/20110124.120000 analysis c) ./rungemntr.sh > gemntr.list 2> gemntr.2 5) GEMDM (Ejecucion del Modelo) a) Preparar el archivo machines.txt con la lista de nodos en los cuales se realizara la ejecucion: Ejemplo del archivo machines.txt: yoyou yoyou yoyou yoyou yoyou yoyou yoyou yoyou El nombre yoyou se repite 8 veces porque se posee 8 nucleos/procesadores b) ./rungemdm.sh > gemdm.list 2> gemdm.2 6) A fin de comparar el listado, se puede ver el contenido de los siguientes archivos los se usaron para una ejecucion de prueba de 8 procesadores: -rw-r--r-- 1 badri badri 6956 2011-01-21 11:52 pgf90_pgcc_openmpi_gemntr.list.bz2 -rw-r--r-- 1 badri badri 22609 2011-01-21 11:52 pgf90_pgcc_openmpi_gemdm.list.bz2 -rw-r--r-- 1 badri badri 7071 2011-01-21 11:52 ifort_icc_openmpi_gemntr.list.bz2 -rw-r--r-- 1 badri badri 110925 2011-01-21 11:52 ifort_icc_openmpi_gemdm.list.bz2 -rw-r--r-- 1 badri badri 7077 2011-01-21 11:52 ifort_icc_mpich2_gemntr.list.bz2 -rw-r--r-- 1 badri badri 112428 2011-01-21 11:52 ifort_icc_mpich2_gemdm.list.bz2 -rw-r--r-- 1 badri badri 6971 2011-01-21 11:52 gfortran_gcc_openmpi_gemntr.list.bz2 -rw-r--r-- 1 badri badri 22785 2011-01-21 11:52 gfortran_gcc_openmpi_gemdm.list.bz2 -rw-r--r-- 1 badri badri 6957 2011-01-21 11:52 gfortran_gcc_mpich2_gemntr.list.bz2 -rw-r--r-- 1 badri badri 22047 2011-01-21 11:52 gfortran_gcc_mpich2_gemdm.list.bz2 Los Detalles ============ Las ejecuciones de PRUEBA con las combinaciones de compilador y librerias del calculo paralelo ============================================================================================== # MPICH2/OPENMPI/Tipo de Conexion entre nodos(Interconnect) # ----------------------------------------------------------------------------------------------------- # ----------------------------------------------------------------------------------------------------- Combo Compiladores | Interconnect | MPICH/OPENMPI | Observaciones # ----------------------------------------------------------------------------------------------------- # ifort/icc | GigE | FUNCIONA*/FUNCIONA | Usar sin problemas # ----------------------------------------------------------------------------------------------------- # gfortran/gcc | GigE | FUNCIONA*/FUNCIONA | Usar sin problemas # ----------------------------------------------------------------------------------------------------- # pgf90 / pgcc | infiniband | NO FUNCIONA**/FUNCIONA | Usar con openmpi solamente # ----------------------------------------------------------------------------------------------------- # * FUNCIONA con MPICH si se deshabilita la salida de la variable PN en el archivo outcfg.out # ** PROBADO con mpich2 versiones 2-1.2.1p1, 2-1.3.1, y mvapich version 2-1.6rc2. # - Para habilitar procesos de gestion de compilacion mpd incluya # la bandera --with-pm=mpd para mpich2/mvapich versiones 2-1.3.1/2-1.6rc2. # # NOTE QUE ES SEGURO USAR OPENMPI CON CUALQUIER TIPO DE CONEXION ENTRE NODOS. #--Listado Se incluye una muestra de la copia de gemntr.list y gemdm.list la cual se genero usando las siguientes combinaciones de compiladores gfortran/gcc, ifort/icc, pgf90/pgcc. Note, los archivos que aparecen en el listado para la combinacion ifort/icc son bastantes grandes por razones desconocidas hasta el momento!! DESCRIPCION DETALLADA DE SCRIPTS, EJECUTABLESM VARIABLES AMBIENTALES: #===================================================================== 1)envvars.sh ------------ DESCRIPCION =========== Inicializar/exportar las siguientes variables de ambiente: Variables especificas GEMDM: a) rep_from_which_model_is_launched: Basicamente el directorio tiene los archivos *.Abs b) AFSISIO : Ruta para las constantes de radiacion, ozono y de la fisica del modelo Ejemplo: ------- AFSISIO=/d1/badri/model/GEM/gem/data NOTA: El modelo usa internamente ${AFSISIO}/datafiles/constants (No preguntar Por que!!!) Listado de ${AFSISIO}/datafiles/constants: -rwxr-xr-x 1 badri badri 2387 2006-07-14 15:43 thermodynamic -rwxr-xr-x 1 badri badri 2387 2006-07-14 15:43 thermoconsts -rwxr-xr-x 1 badri badri 34128 2006-07-14 15:43 ozoclim_32 -rwxr-xr-x 1 badri badri 40960 2006-07-14 15:43 ozoclim -rwxr-xr-x 1 badri badri 2675880 2006-07-14 15:43 irtab5_std -rwxr-xr-x 1 badri badri 2869496 2006-07-14 15:43 irtab5_32 -rwxr-xr-x 1 badri badri 23267 2006-07-14 15:43 dict.data -r-xr-xr-x 1 badri badri 2387 2006-07-14 15:43 constantes c) script bash : EXECDIR : Basicamente es el mismo que rep_from_which_model_is_launched d) INTEL compiler : F_UFMTENDIAN : Usado por los archivos ejecutables compilados con Intel, el cual se inicializa con F_UFMTENDIAN=big 2) gem_settings.nml DESCRIPCION =========== Archivo namelist del Modelo Details: ======== http://collaboration.cmc.ec.gc.ca/science/rpn.comm/wiki1/doku.php?id=gem:gem_settings_doc#the_gem_settings.nml_file 3) outcfg.out ---------- DESCRIPCION =========== Este archivo contiene todas las variables del modelo que el usuario desee obtene. Detalles: ======== http://collaboration.cmc.ec.gc.ca/science/rpn.comm/wiki1/doku.php?id=gem:outcfg_doc#the_outcfg.out_file 4) Ejecutables GEMNTR y GEMDM ----------------------------- gemntr.Abs and gemdm.Abs gemntr.Abs (Lo que hace en breve) ---------- a) Lee los datos meteorologicos en 3D y los interpola horizontalmente en la grilla especificada en gem_settings.nml b) Lee los campos climatologicos y los interpola horizontalmente en la grilla especificada en gem_settings.nml c) Lee los campos geofisicos (campos estaticos) y los interpola horizontalmente en la grilla especificada en gem_settings.nml gemdm.Abs (Lo que hace en breve) --------- a) Interpolacion vertical de los datos meteorologicos 3D a los niveles del modelo b) Descomposicion del dominio computacional de acuerdo el numero de procesos a lo largo de las direcciones x e y (de gem_settings.nml) c) Inicializacion del filtro digital d) Integracion hacia adelante en el tiempo del modelo para producir el pronostico e) Produce las variables de salida del modelo especificadas por el usuario en niveles del modelo o niveles de presion DESCRIPCION =========== Los archivos ejecutables son creados despues de una compilacion exitosa del paquete armnlib/lapack/gem (descriptas en LEEME.GEM) 5) Ejecucion scripts bash del modelo ------------------------------------ rungemntr.sh y rungemdm.sh DESCRIPCION =========== Estos archivos proveen la plantilla basica, la cual puede ser modificada por el usuario a fin de utilizar el hardware/cluster disponible.