From arccwiki
Jump to: navigation, search

SAVA: 3D seismic finite-difference modelling, Full Waveform Inversion (FWI) and Reverse Time Migration (RTM) code for wave propagation in isotropic (visco)-acoustic/elastic and anisotropic orthorhombic/triclinic elastic media, which I developed together with Olaf Hellwig and Denise De Nil. The forward modelling code is based on fd3d by Olaf Hellwig.

Module: Example

[]$ module spider sava
  sava: sava/1.0
    This module can be loaded directly: module load sava/1.0
module load sava/1.0


The module provides the following six apps:

  1. sava_AC
  2. sava_ISO
  3. sava_ORTHO
  4. sava_TRICL
  5. snapmerge
  6. snapmergep

Based on Chapters 5/6 in the Manual This assumes you have:

  • Cloned the SAVA and have a copy of the par subfolder.

The documentation talks about using mpirun to run a simulation. You need to use the following method:

  • Create a batch file that you'll submit using sbatch or use salloc to create an interactive session.
  • Use srun to start you simulation.
  • Tests sava_TRICL only.
  • Allocation values are based on the jobs/SAVA_NEC.job file within the cloned SAVA repository.


  • The value of nodes * ntasks-per-node must match the srun -n value.
  • This value in turn must match NPROCX * NPROCY * NPROCZ as defined in the SAVA_tricl.inp file:
  • It appears that you need a minimum of 100G defined for each node, so batch files use the --mem=100G option.

Example 1: Single Node:

#SBATCH --account=type-your-project-name
#SBATCH --time=01:00:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=8
#SBATCH --cpus-per-task=1
#SBATCH --output=sava_%A.out
#SBATCH --mem=100G 

module load sava/1.0

srun -n 8 sava_TRICL SAVA_tricl.inp
#-------------- Domain Decomposition -----------------------------
number_of_processors_in_x-direction_(NPROCX) = 2
number_of_processors_in_y-direction_(NPROCY) = 2
number_of_processors_in_z-direction_(NPROCZ) = 2

Example 2: Multiple Nodes:

#SBATCH --account=type-your-project-name
#SBATCH --time=02:00:00
#SBATCH --nodes=2
#SBATCH --ntasks-per-node=32
#SBATCH --cpus-per-task=1
#SBATCH --output=sava_%A.out
#SBATCH --mem=100G 

module load sava/1.0

srun -n 64 sava_TRICL SAVA_tricl.inp
#-------------- Domain Decomposition -----------------------------
number_of_processors_in_x-direction_(NPROCX) = 4
number_of_processors_in_y-direction_(NPROCY) = 4
number_of_processors_in_z-direction_(NPROCZ) = 4

  • This software is dependent on the following modules:
    • swset/2018.05
    • intel/18.0.1
    • intel-mpi/2018.2.199
    • fftw/3.3.8-impi - compiled using intel/18.0.1
    • The module load sava/1.0 line will automatically load these modules for you.

Back to HPC Installed Software