...
Get the current working version of
gm_sim_pkg
by using git clone:Code Block language bash $ git clone git@github.com:ucgmsim/gm_sim_pkg.git
Navigate into
gm_sim_pkg
directory and download the lastest package from the FTP server: ftp://ucquakecore1p.canterbury.ac.nz/seisfinder/gmsim_pack_latest.tar.gzCode Block language bash $ wget ftp://ucquakecore1p.canterbury.ac.nz/seisfinder/gmsim_pack_latest.tar.gz
Use
install.sh
to install the package just downloaded in the following format:./install.sh gmsim_pack_latest.tar.gz [event_date] [event_location] [event_magnitude]
Code Block language bash $ ./install.sh gmsim_pack_latest.tar.gz 20100904 Darfield 7.1
- This starts the installation process.
Code Block ========================================================================= Event Name: 20100904_Darfield_m7p1 Run Name: 20100904_Darfield_m7p1_201705191345201705221509 Package to be installed: /home/seb56jonney/gm_sim_pkg/gmsim_pack_2017051720170522_14251443.tar.gz Run directory: /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509 ========================================================================= Do you wish to proceed? (Y/N) y ========================================================================= Creating directory structure ========================================================================= /home/seb56/tmp already exists. /nesi/projects/nesi00213/RealTime/code already exists. ========================================================================= Extracting the package ========================================================================= ./ ./code/ ./code/wrapper/ ./code/wrapper/setup_remote.sh ./code/wrapper/make_vm.sh ./code/wrapper/make_stat.sh... ./GM/Sim/ ./GM/Sim/Data/ ./GM/Sim/Figures/ ./Stat/ ========================================================================= Updating the data ========================================================================= From https://github.com/ucgmsim/vm_data * branch master -> FETCH_HEAD Already up-to-date. ========================================================================= Final touch ========================================================================= >>> Moving to /nesihome/projectsjonney/nesi00213/RealTime/code from /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/code >>> Updating vs30-mapping data location: /nesihome/projectsjonney/nesi00213/RealTime/code/Vs30-mapping collecting md5sum for file check Existing KRIGE_NZGD00_allNZ.Rdata is already good: No need to update >>> Making a symbolic link to /home/seb56jonney/tmp/vm_data/Data >>> Writing gmsim.cfg ========================================================================= Done!!!! =========================================================================
This has created the directory structure for managing the ground motion simulation for 2010 September 4 Darfield earthquake (Mw7.1)
Code Block 20100904_Darfield_m7p1_201705191345201705221509/ ├── GM │ ├── Obs │ │ ├── Data │ │ └── Figures │ ├── Sim │ │ ├── Data │ │ └── Figures │ └── Validation │ ├── Data │ └── Figures ├── Impact │ ├── Landslide │ └── PAGER ├── Src │ ├── Data │ ├── Figures │ └── Model ├── Stat └── VM ├── Data ├── Figures ├── Model └── Velocity-Model └── Data -> /home/seb56jonney/tmp/vm_data/Data
Follow the instruction shown on screen to create required Models and files.
Code Block Instructions: Everyone: !!!!!!!!!!!!!! source /nesihome/projects/nesi00213jonney/RealTime/20100904_Darfield_m7p1_201705191345201705221509/path.sh !!!!!!!!!!!!!! VM: 1. cd /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/VM 2. config_vm.py mag centroidDepth lon lat 3. test_vm_params.py (if params_vel.py edited) 4. make_vm.sh Source: 1. cd /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/Src 2. config_src.py 3. make_src.sh Obs: 1. cd /nesihome/projectsjonney/nesi00213/RealTime/20100904_Darfield_m7p1_201705191345201705221509/GM/Obs 2. config_obs.py geoNet_ftp_url 3. make_obs.sh
!!! Before you move on, make sure you do the first line give in the instruction. !!!Code Block theme Midnight language bash $ source /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/path.sh
2. How to create a Velocity Model
Go to the VM directory that instruction has provided
Code Block language bash $ cd /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/VM
Execute config_vm.py to generate
params_vel.py,
a config file used for velocity modelling. The command is in the following format.$ config_vm.py magnitude centroid_Depth Latitude Longitude
Code Block language bash /nesihome/projectsjonney/nesi00213/RealTime/20100904_Darfield_m7p1_201705191345201705221509/VM : config_vm.py -h usage: config_vm.py [-h] [--model_version MODEL_VERSION] [--min_vs MIN_VS] [--topo_type TOPO_TYPE] [--hh HH] [--extent_zmin EXTENT_ZMIN] [--extent_x EXTENT_X] [--extent_y EXTENT_Y] [--extent_zmax EXTENT_ZMAX] [--sim_duration SIM_DURATION] [--flo FLO] [--rot ROT] [--code CODE] [--output_dir OUTPUT_DIR] [--slice_params_dir SLICE_PARAMS_DIR] mag centroidDepth lon lat positional arguments: mag centroidDepth lon lat optional arguments: -h, --help show this help message and exit --model_version MODEL_VERSION --min_vs MIN_VS --topo_type TOPO_TYPE --hh HH --extent_zmin EXTENT_ZMIN --extent_x EXTENT_X --extent_y EXTENT_Y --extent_zmax EXTENT_ZMAX --sim_duration SIM_DURATION --flo FLO --rot ROT --code CODE --output_dir OUTPUT_DIR --slice_params_dir SLICE_PARAMS_DIR
Three parameters
mag, centroidDepth, lon, lat
are mandatory. You can set other options with--option
, such as--hh 0.2
or manually set by editingparams_vel.py
Code Block language bash /nesihome/projects/nesi00213jonney/RealTime/20100904_Darfield_m7p1_201705191345201705221509/VM : config_vm.py 7.1 46.00 172.3 -43.6 --hh 0.2 --rot -10 --extent_x 140 --extent_y 120 --extent_zmax 46.0 --sim_duration 100 mag = 7.1 centroidDepth = 46.0 lon= 172.3 lat = -43.6 ############ Generated params_vel.py # If you edited this file manually, run 'test_vm_params.py' for integrity check !!! # Section I. Basic parameters (Manual Edit allowed) mag = '7.1' centroidDepth = '46.00' MODEL_LAT = '-43.6' MODEL_LON = '172.3' MODEL_ROT = '-10.0' hh = '0.200' min_vs = '0.5' model_version = '1.65' topo_type = 'BULLDOZED' output_directory = 'Rapid_Model' extracted_slice_parameters_directory = 'SliceParametersNZ/SliceParametersExtracted.txt' code = 'rt' # Section II. Derived parameters that can be manually editted extent_x = '140.0' extent_y = '120.0' extent_zmax = '46.0' extent_zmin = '0.0' sim_duration = '100.0' flo = '0.5' # Section III. Automated values. DO NOT EDIT (Manual changes will be ignored) nx = ' 700' ny = ' 600' nz = '230' sufx = '_rt01-h0.200' ############ Estimated Wallclock time nx=700 ny=600 nz=230 sim_duration=100 num_procs=512 Maximum: 0:55:02 Average: 0:17:16.597834 Minimum: 0:11:58.613082
You can manually edit
params_vel.py
. But you are strongly advised to runtest_vm_params.py
to validate yourparams_vel.py
if manually edited. Note that values in Section II will be automatically computed based on the values in Section I, but user can manually edit them. However, any manual changes made to Section III will be ignored.
In the example, we executetest_vm_params.py
after manually editing the value for "code
" from "rt
" to "nz
". This creates new params_vel.py after making a backup of the original, and shows the difference between two. Notice " | " where a difference is observed (line 30).Code Block language bash linenumbers true /nesihome/projectsjonney/nesi00213/RealTime/20100904_Darfield_m7p1_201705011613201705221509/VM :test_vm_params.py ##################### Backing up params_vel.py to params_vel.py.bak ##################### params_vel.py updated diff -y params_vel.py.bak params_vel.py # If you edited this file manually, run 'test_vm_params.py' f # If you edited this file manually, run 'test_vm_params.py' f # Section I. Basic parameters (Manual Edit allowed) # Section I. Basic parameters (Manual Edit allowed) mag = '7.1' mag = '7.1' centroidDepth = '46.00' centroidDepth = '46.00' MODEL_LAT = '-43.6' MODEL_LAT = '-43.6' MODEL_LON = '172.3' MODEL_LON = '172.3' MODEL_ROT = '-10.0' MODEL_ROT = '-10.0' hh = '0.200' hh = '0.200' min_vs = '0.5' min_vs = '0.5' model_version = '1.65' model_version = '1.65' topo_type = 'BULLDOZED' topo_type = 'BULLDOZED' output_directory = 'Rapid_Model' output_directory = 'Rapid_Model' extracted_slice_parameters_directory = 'SliceParametersNZ/Sli extracted_slice_parameters_directory = 'SliceParametersNZ/Sli code = 'nz' code = 'nz' # Section II. Derived parameters that can be manually editted # Section II. Derived parameters that can be manually editted extent_x = '140.0' extent_x = '140.0' extent_y = '120.0' extent_y = '120.0' extent_zmax = '46.0' extent_zmax = '46.0' extent_zmin = '0.0' extent_zmin = '0.0' sim_duration = '100.0' sim_duration = '100.0' flo = '0.5' flo = '0.5' # Section III. Automated values. DO NOT EDIT (Manual changes # Section III. Automated values. DO NOT EDIT (Manual changes nx = ' 700' nx = ' 700' ny = ' 600' ny = ' 600' nz = '230' nz = '230' sufx = '_rt01-h0.200' | sufx = '_nz01-h0.200' ############ Estimated Wallclock time nx=700 ny=600 nz=230 sim_duration=100 num_procs=512 Maximum: 0:55:02 Average: 0:17:16.597834 Minimum: 0:11:58.613082
Run
make_vm.sh
to create the Velocity ModelCode Block language bash /home/jonney/20100904_Darfield_m7p1_201705191345201705221509/VM :make_vm.sh Executing genDomain.py Reading domain extents. Reading of domain extents. Complete. Writing generate velocity model shell scrip. Writing generate velocity model shell scrip. Complete. Generating velocity model. ========================================== Running GENERATE_VELOCITY_MOD. ========================================== ... ========================================== Completed running GENERATE_VELOCITY_MOD. ========================================== ... ========================================== Running EXTRACT_VELOCITY_SLICES. ========================================== ... ========================================== Completed running EXTRACT_VELOCITY_SLICES. ========================================== ... /nesi/projects/nesi00213/tools/gen_model_cords geoproj=1 gridfile=./Rapid_Model/Rapid_Model/Velocity_Model/gridfile_nz01-h0.200 gridout=./Rapid_Model/Rapid_Model/Velocity_Model/gridout_nz01-h0.200 center_origin=1 do_coords=1 nzout=1 name=./Rapid_Model/Rapid_Model/Velocity_Model/model_coords_nz01-h0.200 gzip=0 latfirst=0 modellon=172.3 modellat=-43.6 modelrot=-10.0 1> ./Rapid_Model/Rapid_Model/Velocity_Model/model_params_nz01-h0.200 2>/dev/null Generating model params and cords. Complete. Moving velocity model plots. Moving velocity model plots. Complete. Removing generated scripts. Rapid model generation complete. Model/20100904_Darfield_m7p1/v1.65_200m !!!!! Ask Admin to upload: Give him the path: /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/VM !!!!!
Under the working directory
VM
, a subdirectory is createdModel/20100904_Darfield_m7p1/v1.65_200m
which contains the velocity model.Code Block language bash /nesi/projects/nesi00213/RealTimehome/jonney/20100904_Darfield_m7p1_201705191345201705221509/VM/Model/20100904_Darfield_m7p1/v1.65_200m :ls gridfile_nz01-h0.200 Info model_coords_nz01-h0.200 params_vel.py vp3dfile.p gridout_nz01-h0.200 model_bounds_nz01-h0.200 model_params_nz01-h0.200 rho3dfile.d vs3dfile.s
Give the admin (Sung) the path to the VM working directory and request to upload the model. The admin will need to execute
sendme.sh
in the VM directory.Code Block language bash /nesihome/projectsjonney/nesi00213/RealTime/20100904_Darfield_m7p1_201705191345201705221509/VM/sendme.sh SCP Upload tool Establishing SSH connection to: fitzroy.nesi.org.nz 22 ... Node size : 4 **************************************** /home/nesi00213...del/20100904_Darfield_m7p1/v1.65_200m/Info 49 Bytes Completed /home/nesi00213...904_Darfield_m7p1/v1.65_200m/params_vel.py 756 Bytes Completed /home/nesi00213...d_m7p1/v1.65_200m/model_params_nz01-h0.200 381 Bytes Completed /home/nesi00213...field_m7p1/v1.65_200m/gridfile_nz01-h0.200 155 Bytes Completed /home/nesi00213...d_m7p1/v1.65_200m/model_bounds_nz01-h0.200 96.3 KiB Completed /home/nesi00213...rfield_m7p1/v1.65_200m/gridout_nz01-h0.200 52.4 KiB Completed /home/nesi00213...d_m7p1/v1.65_200m/model_coords_nz01-h0.200 15.2 MiB Completed /home/nesi00213...100904_Darfield_m7p1/v1.65_200m/vs3dfile.s 368.5 MiB Completed /home/nesi00213...00904_Darfield_m7p1/v1.65_200m/rho3dfile.d 368.5 MiB Completed /home/nesi00213...100904_Darfield_m7p1/v1.65_200m/vp3dfile.p 368.5 MiB Completed Node 1: /home/nesi00213...100904_Darfield_m7p1/v1.65_200m/vs3dfile.s 368.5 MiB/368.5 MiB 100.0% Node 2: /home/nesi00213...00904_Darfield_m7p1/v1.65_200m/rho3dfile.d 368.5 MiB/368.5 MiB 100.0% Node 3: /home/nesi00213...100904_Darfield_m7p1/v1.65_200m/vp3dfile.p 368.5 MiB/368.5 MiB 100.0%
Files have been successfully uploaded to Fitzroy.
Code Block language bash title Bash_code baes@nesi2 /nesi/projects/nesi00213/VelocityModels/NZ/20100904_Darfield_m7p1/v1.65_200m :ls Info gridout_nz01-h0.200 model_coords_nz01-h0.200 params_vel.py vp3dfile.p gridfile_nz01-h0.200 model_bounds_nz01-h0.200 model_params_nz01-h0.200 rho3dfile.d vs3dfile.s
3. How to create Rupture Model (Source)
Go to the Src directory that instruction has provided
e.g. $ cd
201705181350Code Block language bash $ cd /home/jonney/20100904_Darfield_m7p1_
201705221509/Src
Create the config file that is needed for generating a Rupture Model
$ config
typeCode Block language bash $config_src.py
e.g. $-h usage: config_src.py [-h] {1,2,3,4} ... positional arguments: {1,2,3,4} Choose the type of srf you want to generate, usage of each type use: gen_src_params.py type -h 1 Generate type 1 srf (Point source srf). 2 Generate type 2 srf (Point source to Finite Fault srf). 3 Generate type 3 srf (Finite Fault descriptor to Finite Fault srf). 4 Generate type 4 srf (Multiple Segment Finite Fault srf). optional arguments: -h, --help show this help message and exit
The extra options may differ from type to type. Use: "config_src.py type -h" will show you all the options can be provided for that type of source.
example of showing options for type 2:
Code Block language bash $ config_src.py 2 -h usage: config_src.py 2 [-h] [--LAT [LAT]] [--LON [LON]] [--MAG [MAG]] [--STK [STK]] [--RAK [RAK]] [--DIP [DIP]] [--DT [DT]] [--DEPTH [DEPTH]] [--SEED [SEED]] [--RVFRAC [RVFRAC]] [--ROUGH [ROUGH]] [--SLIP_COV [SLIP_COV]] [--MWSR [MWSR]] [--STOCH [STOCH]] [--GENSLIP [GENSLIP]] [--PREFIX [PREFIX]] optional arguments: -h, --help show this help message and exit --LAT [LAT] latitude (float) --LON [LON] longitude (float) --MAG [MAG] magnitude (float) --STK [STK] strike (int) --RAK [RAK] rake (int) --DIP [DIP] dip (int) --DT [DT] rupture timestep --DEPTH [DEPTH] --SEED [SEED] --RVFRAC [RVFRAC] --ROUGH [ROUGH] --SLIP_COV [SLIP_COV] --MWSR [MWSR] Mw Scaling Relation (string), one of:HanksBakun2002,BerrymanEtAl2002,VillamorEtAl2001 --STOCH [STOCH] String to set stoch gener ation. Default vaule will be used if not specified --GENSLIP [GENSLIP] Version of genslip --PREFIX [PREFIX] The prefix you want for SRF files. defualt= source. Ending with _ will auto append extra info to file name. Defualt value will be used if not specified.
And example of creating type 2 Source file:
Code Block language bash config_src.py 2 --LAT -43.6 --LON 172.3 --MAG 7.1 TYPE = 2 LAT = -43.6 LON = 172.3 MAG = 7.1 PREFIX = Srf/source SEED = 103245 STOCH = Stoch #################### the params below are not specified, please manually edit setSrfParams.py to specify the value. #################### STK = RAK = DIP = DT = RVFRAC = ROUGH = SLIP_COV = DEPTH = MWSR = GENSLIP = #################### Afte manually fill in all the required parameters, please cd to where setSrfParams.py is located at and run make_src.sh cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245 ####################
- Go to the folder provided by instrutions
e.g. $ cd /home/jonney/20100904_Darfield_m7p1_201705181350/Src/Model/20100904_Darfield_m7p1/t2_103245_20170518_175214 - Edit the setSrfParams.py
note: every variables with #!!!PLEASE SPECIFY!!!# must be provided - Create the Model using make_src.sh
e.g. $ make_src.sh - Follow the instruction given on the screen to provide a path to a admin.
...