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_olivineE2012-07-03_paper_example_50s/sim_US32_olivineE_fullNUPREM_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_anideep_mantle_anisotropy_full_Cij_50s/sim_lowermost_mantle_ani
The sibling processing/ directories describe how the anisotropic model files were originally generated.
Prerequisites#
Build AxiSEM3D at the repository root so
build/axisem3dexists.Make sure
mpirunworks in your environment.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.