Uso de SWAN

De NLHPC

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 main
#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

  • Página oficial de SWAN aquí
  • Manual de usuario de SWAN aquí

Para generar scripts y asignar recursos le recomendamos utilizar nuestro Generador de Scripts.