05 Global anisotropy workflows#

This example collects several global anisotropy demonstrations. The scientific inputs are already staged in the subdirectories, and the launchers in this directory provide a common way to run the cases locally or through Slurm.

Cases in this example#

  • 2012-07-03_paper_example_50s/sim_US32_olivineE

  • 2012-07-03_paper_example_50s/sim_US32_olivineE_fullNU

  • PREM_anisotropy_w_and_wo_full_Cij_50s/sim1_ani_prem_mesh: input for a 50 s simulation using an anisotropic PREM mesh created with Salvus.

  • PREM_anisotropy_w_and_wo_full_Cij_50s/sim2_iso_prem_mesh_plus_ani: input for a 50 s simulation using an isotropic PREM mesh with anisotropy added later to reproduce anisotropic PREM.

  • deep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani: simulation with an isotropic PREM mesh where seismic anisotropy is added in the lowermost mantle.

  • PREM_anisotropy_w_and_wo_full_Cij_50s/sim2_iso_prem_mesh_plus_ani

  • deep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani

The sibling processing/ directories describe how the anisotropic model files were originally generated.

Prerequisites#

  1. Build AxiSEM3D at the repository root so build/axisem3d exists.

  2. Make sure mpirun works in your environment.

  3. If you use the provided shell launchers, adapt or remove the Lmod module section in the shell launchers to match your site.

Local launcher#

Use run_case.sh and pass the subcase path relative to this directory:

./run_case.sh PREM_anisotropy_w_and_wo_full_Cij_50s/sim1_ani_prem_mesh
./run_case.sh PREM_anisotropy_w_and_wo_full_Cij_50s/sim2_iso_prem_mesh_plus_ani
./run_case.sh deep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani
./run_case.sh 2012-07-03_paper_example_50s/sim_US32_olivineE
./run_case.sh 2012-07-03_paper_example_50s/sim_US32_olivineE_fullNU

Useful overrides:

NP=8 ./run_case.sh PREM_anisotropy_w_and_wo_full_Cij_50s/sim1_ani_prem_mesh
AXISEM3D_BIN=/path/to/axisem3d ./run_case.sh deep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani
OUTPUT_DIR=$PWD/custom_output ./run_case.sh 2012-07-03_paper_example_50s/sim_US32_olivineE

By default the launcher writes to <case>/output/.

Slurm launcher#

Use the generic batch wrapper with CASE_REL set to the same relative path:

CASE_REL=PREM_anisotropy_w_and_wo_full_Cij_50s/sim1_ani_prem_mesh sbatch run_case_slurm.sbatch
CASE_REL=PREM_anisotropy_w_and_wo_full_Cij_50s/sim2_iso_prem_mesh_plus_ani sbatch run_case_slurm.sbatch
CASE_REL=deep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani sbatch run_case_slurm.sbatch
CASE_REL=2012-07-03_paper_example_50s/sim_US32_olivineE sbatch run_case_slurm.sbatch
CASE_REL=2012-07-03_paper_example_50s/sim_US32_olivineE_fullNU sbatch run_case_slurm.sbatch

The wrapper defaults to NP=$SLURM_NTASKS and writes output to <case>/output_slurm_<jobid>/.

Expected output#

Each case writes a normal AxiSEM3D output tree under its own subdirectory. The processing/ directories can then be used for follow-up analysis specific to each anisotropy workflow.