This workflow automates the computation of Normal Mode using pEVSL (parallel EigenValue Slicing Library) for the planetary models generated by Planetary Model Builder.
The workflow consists of three actions:
-
build
. BuildspEVSL
and its test-cases, and installs NormalModes application. These can be built using [intel MKL][mkl] or [OpenBlas library][oblas]. You can choose the preferred library by using the different makefiles present in/makeconf
directory. -
test
. Runs tests onpEVSL
. -
run
. Compute the Normal Modes for a constant perfectly spherically symmetric pure solid ball has a size of the Earth; using the Model from demos. Theglobal_conf
file in that file can be modified in order to run other examples.
NUM_BUILD_JOBS
. The number of jobs to run while building the libraries via [make
][make].MPI_NUM_PROCESSES
. The number of processes on which to run while executing the MPI job.
This workflow runs on the host machine environment and can be executed with the Popper CLI tool. For a version of this workflow in a containerized environment, see here. The following executes this workflow:
git clone --recursive https://github.com/ivotron/scc19-workflows
cd scc19-workflows/workflows/containerized
popper run
NOTE: The
--recursive
flag is required in order to download the https://github.com/js1019/pEVSL and https://github.com/js1019/NormalModes projects, which are submodules of this repository.
Sample output (trimmed to only show end of execution):
Row 261 1.9575838917916459 510.83379067078789
Row 262 1.9654674111834070 508.78482864180404
Row 263 1.9685489784113608 507.98837670120372
Row 264 1.9764339222924401 505.96176716098506
Row 265 1.9781774331264217 505.51582646433508
Row 266 1.9809330184699281 504.81262651293457
Row 267 1.9843952373083178 503.93186861122706
Row 268 1.9860365613548143 503.51540321988341
Row 269 1.9944091633034535 501.40162730883316
Row 270 1.9972354448512162 500.69209545522301
Row 271 1.9998649254669882 500.03377091404815
================================================================
save eigenvectors
Time elapsed = 41.091000000014901 seconds.
save the results
Time elapsed = 41.091999999945983 seconds.
Time elapsed = 41.091999999945983 seconds.