Uso de SWAN
Introducción
En la presente wiki se indican algunas recomendaciones para el uso de SWAN en la infraestructura del NLHPC.
Algunas consideraciones que cada usuario debe tener en consideración son los nombres de archivo de entrada y salida que cada uno debe tener.
Cargando SWAN
Para la carga de SWAN, ejecutaremos lo siguiente:\
ml purge ml intel ml SWAN/41.31-omp
Una vez se tengan estos módulos cargados, se tendrá acceso al ejecutable
swan.exe
Archivos necesarios y preparación inicial
El usuario debe proveer los siguientes archivos:
- Archivo de entrada, usualmente llamado input.swn
- Otros archivos de entradas indicados en el archivo input.swn
La aplicación swan.exe buscará un archivo llamado INPUT por lo que será necesario renombrar nuestro archivo de entrada ejecutando:
cp input.swn INPUT
Ejemplo de archivo de entrada
$*************************HEADING************************ $ SWAN Canal PROJ 'example' '01' SET NAUTICAL NUMERIC ACCUR 0.02 0.02 0.02 98. STAT 20 0.01 $********************MODEL INPUT************************* MODE STAT TWOD COORDINATES CART CGRID REG 555380 4936200 0 20860 21630 298 309 CIRCLE 90 0.125 1 INPGRID BOTTOM 555380 4936200 0 298 309 70 70 READINP BOTTOM 1 'extra_input_file.dep' 3 0 FREE WIND 2 320 $BOUND SEG IJ 298 308 0 308 0 308 0 0 0 0 298 0 UNIF PAR 2.7 14 230 $*********************CALCULATION************************ BREAKING CONSTANT 1.0 0.78 QUAD WCAP $TRIad GEN3 KOMen DIFFRAC 0 $*********************MODEL OUTPUT************************ $NGRid 'example' 244000 6340900 0 21450 13100 429 262 POINTS 'point_example' 571235.51 4945437.89 BLOCK 'COMPGRID' NOHEAD 'output_file.mat' LAY 3 XP YP DEPTH HSIG TPS DIR PDIR TM01 WIND GENERAT RTP TABLE 'point_example' HEAD 'output_file.tab' XP YP DEPTH HSIG TPS DIR PDIR TM01 TMM10 SPECout 'point_example' 'output_file.spc' $*******************CALCULATIONS************************** COMP STAT STOP
El archivo consta de las siguientes secciones:
- Cabezera
- Entrada del modelo
- Aquí se indica el archivo adicional de ejemplo llamado extra_input_file.dep
- Sección de cálculos a realizar
- Salida del modelo
- Aquí se generan los archivos de salida output_file.mat, output_file.tab y output_file.spc
- Sección de estadísticas finales
Recuerde que estas secciones pueden variar según el uso que cada usuario pueda utilizar.
Ejecución de SWAN en nodo de cómputo con 20 CPU asignadas
Antes de continuar, recuerde que el archivo de entrada a utilizar debe llamarse INPUT.
Para la ejecución de SWAN editaremos el script run_swan.job con el siguiente contenido:
#!/bin/bash #SBATCH -J swan_job #SBATCH -p slims #SBATCH -n 20 #SBATCH -c 1 #SBATCH --ntasks-per-node=20 #SBATCH --mem-per-cpu=2300 #SBATCH --mail-user=foo@example.com #SBATCH --mail-type=ALL #SBATCH -o swan_job_%j.out #SBATCH -e swan_job_%j.err ml purge ml intel ml SWAN/41.31-omp srun swan.exe
Y lo ejecutaremos con:
sbatch run_swan.job
Este script generará los siguientes archivos de salida:
- swan_job_%j.out: archivo de salida con información de la tarea SLURM
- swan_job_%j.err: archivo de errores y alertas con información de la tarea SLURM
- PRINT: archivo de salida de la simulación de SWAN
- Errfile: archivo de error de la simulación de SWAN
- norm_end: archivo de finalización de la simulación de SWAN
- otros archivos de salida indicados en el archivo de entrada utilizado (ver archivo INPUT)
En el caso de que vuelva a lanzar esta simulación en la misma ubicación, los archivos PRINT, Errfile y otros archivos de salida usados por SWAN serán sobrescritos, por lo que se recomienda tomar medidas para evitar la pérdida de datos.
Enlaces de interés
Para generar scripts y asignar recursos le recomendamos utilizar nuestro Generador de Scripts.