Skip to content

kuangdai/scatter

Repository files navigation

Wave scattering by small-scale mantle heterogeneities

1 Installation

1.1 Install AxiSEM3D on GRACE

# create top project directory
mkdir -p scattering && cd $_

# get AxiSEM3D
git clone https://github.com/kuangdai/AxiSEM3D

# make simulations folder
mkdir -p simulations

# alloc an interactive job to speed up code compiling
salloc -t 2:00:00 --mem=20G -n 4

# load modules
module load foss/2018b
module load METIS/5.1.0-GCCcore-7.3.0-32bit
module load netCDF/4.6.1-foss-2018b
module load CMake/3.18.4-GCCcore-7.3.0

# cmake
# NOTE: DO NOT put any user files under this build/
mkdir -p build && cd $_
rm -rf ./* && cmake -DCMAKE_BUILD_TYPE=release \
-DEIGEN3_ROOT=/gpfs/loomis/apps/avx/software/Eigen/3.4.0-GCCcore-10.2.0/include \
-DBOOST_ROOT=/gpfs/loomis/apps/avx/software/Boost/1.74.0-GCCcore-10.2.0 \
-DFFTW_ROOT=/gpfs/loomis/apps/avx/software/FFTW/3.3.8-gompi-2018b \
-DMETIS_ROOT=/gpfs/loomis/apps/avx/software/METIS/5.1.0-GCCcore-7.3.0-32bi \
-DNETCDF_ROOT=/gpfs/loomis/apps/avx/software/netCDF/4.6.1-foss-2018b \
../AxiSEM3D/SOLVER

# make (ignore the warnings)
make -j4

# end interactive job
exit

1.2 Install SalvusMeshLite on your laptop

pip3 install https://gitlab.com/Salvus/SalvusMeshLite/-/archive/master/SalvusMeshLite-master.zip

2 Prepare input files and run the job

  1. On your laptop, follow prepare_input_hetero.ipynb step by step. Pay attention to cells marked by

    #############
    # USER CELL #
    #############

    Once this is done, you will get a complete simulation folder under simulations/, such as prem_5s__no_3d_mantle_crust__hetero_fuji_pacific_usarray/ if you run prepare_input_hetero.ipynb without changing anything. The generated folder should include submit.sh and input/.

  2. Copy this folder to simulations/ on GRACE. Note that simulations/ on GRACE should be under the same folder as build/, if you have followed 1.1 correctly.

  3. Go to that simulation folder on GRACE and submit the job:

    sbatch submit.sh

Notes:

  • You can also generate a reference simulation without mantle heterogeneities using prepare_input_no_hetero.ipynb.
  • You can turn on 3D mantle (S40RTS) and/or crust (Crust 1.0) to generate more realistic seismograms, making migration more challenging. Turning on 3D crust will make the simulations more expensive.

3 Visualization and postprocessing

The notebook postprocessing.ipynb demonstrates how to visualize and process synthetic seismograms generated by AxiSEM3D, including ray-tracing and adding noise for migration. The output folders in results/ are retrieved from GRACE after running the simulations.

About

Wave scattering by mantle heterogeneity

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages