Running hazard search for entire Cybershake on Mahuika
You may wish to install python packages geopy, psycopg2, numpy, pyarrow, etc. Use pip install --user to install missing packages.
pip install geopy psycopg2 shapely --user
Consider upgrading pip by
pip upgrading pip --user
then update PATH to use the pip in $HOME/.local/bin/pip
Make sure all the IM Agg have been computed and stored under each fault of Cybershake IMs directory. ie. /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6/IMs/XXXX/IM_agg
Setup
module add Python/2.7.14-gimkl-2017a baes@mahuika02: /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6$ python /nesi/project/nesi00213/deploy/seisfinder2/tool/setup.py --help usage: setup.py [-h] [-n NAME] cybershake_dir empirical_dir ll_file positional arguments: cybershake_dir Cybershake Root directory eg. /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6 empirical_dir Empirical data root directory eg. /nesi/nobackup/nesi00213/empiricals/v18p5 ll_file Path to the .ll file optional arguments: -h, --help show this help message and exit -n NAME, --name NAME Optional name for Cybershake
baes@mahuika02: /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6$ python /nesi/project/nesi00213/deploy/seisfinder2/tool/setup.py . /nesi/nobackup/nesi00213/empiricals/v18p5 non_uniform_whole_nz_with_real_stations-hh400_v18p6.ll -n v18p6
This creates a config.yaml that contains the all the necessary config info, creates fault lists, converts .ll into .csv etc, and build IMDB.
A sample config.yaml looks like this
csv_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/CSV db: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/v18p6.db empirical_dir: /nesi/nobackup/nesi00213/empiricals/v18p5 fault_list: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/fault_list.csv hazard_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/Hazard ims_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/IMs ll: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/non_uniform_whole_nz_with_real_stations-hh400_v18p6.ll name: v18p6 root_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6 runs_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/Runs srf_dir: /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/Data/Sources
Notice VERSION_OPTIONS above. Edit /common/versions/18p9p3.ini. Specifically, we will be enabling site search for v18p6. [!!!! Needs an overhaul !!!!]
... [site] quakes = v18p6 ...
Run
The setup process has created Hazard under Cybershake directory. eg. /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6/Hazard
Navigate to the directory and find .sl scripts that have been already created for you.
A sample hazard_calc_SA_5p0.sl
#!/bin/bash # script version: slurm # Please modify this file as needed, this is just a sample #SBATCH --job-name=hazard_search_multi #SBATCH --account=nesi00213 #SBATCH --partition=prepost #SBATCH --ntasks=1 ####SBATCH --cpus-per-task=36 #SBATCH --time=00:59:00 #SBATCH --output hazard_search_multi-%j.out #SBATCH --error hazard_search_multi-%j.err ###SBATCH --mail-type=all ###SBATCH --mail-user=test@test.com ###SBATCH --mem-per-cpu=16G ###SBATCH -C avx #OpenMP+Hyperthreading works well for VM ###SBATCH --hint=nomultithread ## END HEADER SITECODE=/nesi/project/nesi00213/deploy/seisfinder2/site source $SITECODE/mahuika/machine_env.sh date srun python $SITECODE/site_search.py -d /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6 -m v18p6 /scale_wlg_nobackup/filesets/nobackup/nesi00213/RunFolder/Cybershake/v18p6/non_uniform_whole_nz_with_real_stations-hh400_v18p6.csv SA_5p0 date
Submit this job.
sbatch hazard_calc_SA_5p0.sl
When the job has completed, check the last -10 lines of .out log file.
baes@mahuika02: /nesi/nobackup/nesi00213/RunFolder/Cybershake/v18p6/Hazard$$ tail -10 hazard_search_multi-85422.out Instructions in the multicase are not written in extense as it is not useful. Please use the scripts below Please go to hazard/ Then run the scripts created as: bash /home/baes/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0/hazard_calcs.sh bash /home/baes/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0/deagg_calcs_im_value.sh bash /home/baes/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0/deagg_calcs_exceedance_rate.sh Note: The IM_VALUE and EXCEEDANCE should be adjusted on the deagg_* scripts Mon Sep 3 03:30:39 UTC 2018
This means it has created a temp directory
/home/baes/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0
and placed empirical files (symbolic links) and bash scripts that contain Python commands.
Let's call this temp location a working directory.
There is hazard_calcs.sh
in the working directory. For entire cybershake, this can be very very long. We will be using SLURM's parallel for loop to run this in parallel, but it needs to be split to avoid SLURM complaining about too many lines. This involves quite a bit of steps, but it can be largely automated by executing prepare_hpc_hazard_calc.sh
. Go to the working directory, and execute it. You just need to supply the path to the working directory.
baes@mahuika02: ~/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0 $ bash /nesi/project/nesi00213/deploy/seisfinder2/site/mahuika/prepare_hpc_hazard_calc.sh .
The above does EVERYTHING for you. It copies the .sl template to the working directory, splits the hazard_calc.sh, and generates all the .sl files ready for submission.
baes@mahuika02: ~/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0$ bash ./submit_all.sh Submitted batch job 69390 Submitted batch job 69391 Submitted batch job 69392 Submitted batch job 69393 Submitted batch job 69394 Submitted batch job 69395 Submitted batch job 69396 Submitted batch job 69397 Submitted batch job 69398 Submitted batch job 69399 Submitted batch job 69400 Submitted batch job 69401 Submitted batch job 69402 Submitted batch job 69403 Submitted batch job 69404 Submitted batch job 69405 Submitted batch job 69406 Submitted batch job 69407 Submitted batch job 69408
Hazard map: When everything is completed, you can submit the following .sl script that has been automatically generated for you. Just edit the exceedance value if required. For details, see https://github.com/ucgmsim/seisfinder2/tree/master/CLI/hazard
baes@mahuika02: ~/cybershake/v18p6/Hazard/hazard_search_v18p6_SA_5p0$ sbatch execute_hazard_map.sl