SAVA
Overview
SAVA: 3D seismic finite-difference modeling, 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 modeling code is based on fd3d by Olaf Hellwig.
Using
Use the module name sava
to discover versions available and to load the application.
The module provides the following six apps:
sava_AC
sava_ISO
sava_ORTHO
sava_TRICL
snapmerge
snapmergep
Testing
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 usesalloc
to create an interactive session.Use
srun
to start your simulation.Tests
sava_TRICL
only.Allocation values are based on the
jobs/SAVA_NEC.job
file within the cloned SAVA repository.
Notes
The value of
nodes * ntasks-per-node
must match thesrun -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
#!/bin/bash
#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
#!/bin/bash
#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