This guide is for someone who would like to run a simulation with current library and packaging.

Step-by-step guide

1. How to create a working folder

  1. Get the current working version of gm_sim_pkg by using git clone:

    $ git clone git@github.com:ucgmsim/gm_sim_pkg.git
  2. Navigate into gm_sim_pkg directory and download the latest package from the FTP server: https://quakecoresoft.canterbury.ac.nz/seisfinder/private/gmsim/gmsim_pack_latest.tar.gz

    $ wget https://quakecoresoft.canterbury.ac.nz/seisfinder/private/gmsim/gmsim_pack_latest.tar.gz
  3. 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]

     

    $ ./install.sh gmsim_pack_latest.tar.gz 20100904 Darfield 7.1
  4. This starts the installation process.

     

    =========================================================================
    Event Name: 20100904_Darfield_m7p1
    Run Name: 20100904_Darfield_m7p1_201705221509
    Package to be installed: /home/jonney/gm_sim_pkg/gmsim_pack_20170522_1443.tar.gz
    Run directory: /home/jonney/20100904_Darfield_m7p1_201705221509
    =========================================================================
    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 /home/jonney/code from /home/jonney/20100904_Darfield_m7p1_201705221509/code
    >>> Updating vs30-mapping data
    location: /home/jonney/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/jonney/tmp/vm_data/Data
    >>> Writing gmsim.cfg
    =========================================================================
    Done!!!!
    =========================================================================
  5. This has created the directory structure for managing the ground motion simulation for 2010 September 4 Darfield earthquake (Mw7.1)

    20100904_Darfield_m7p1_201705221509/
    ├── 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/jonney/tmp/vm_data/Data
  6. Follow the instruction shown on screen to create required Models and files.

    Instructions:
    Everyone: !!!!!!!!!!!!!! source /home/jonney/20100904_Darfield_m7p1_201705221509/path.sh !!!!!!!!!!!!!!
    VM: 1. cd /home/jonney/20100904_Darfield_m7p1_201705221509/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 /home/jonney/20100904_Darfield_m7p1_201705221509/Src
    2. config_src.py
    3. make_src.sh
    Obs: 1. cd /home/jonney/20100904_Darfield_m7p1_201705221509/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. !!!

    $ source /home/jonney/20100904_Darfield_m7p1_201705221509/path.sh

2. How to create a Velocity Model

  1. Go to the VM directory that instruction has provided

    $ cd /home/jonney/20100904_Darfield_m7p1_201705221509/VM
  2. 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

    /home/jonney/20100904_Darfield_m7p1_201705221509/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 editing params_vel.py

    /home/jonney/20100904_Darfield_m7p1_201705221509/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
    
    


  3. You can manually edit params_vel.py. But you are strongly advised to run test_vm_params.py to validate your params_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 execute test_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).

    /home/jonney/20100904_Darfield_m7p1_201705221509/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
    
    
  4. Run make_vm.sh to create the Velocity Model

    /home/jonney/20100904_Darfield_m7p1_201705221509/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: /home/jonney/20100904_Darfield_m7p1_201705221509/VM !!!!!
  5. Under the working directory VM, a subdirectory is created Model/20100904_Darfield_m7p1/v1.65_200m which contains the velocity model.

    /home/jonney/20100904_Darfield_m7p1_201705221509/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
  6. 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.

    /home/jonney/20100904_Darfield_m7p1_201705221509/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%
  7. Files have been successfully uploaded to Fitzroy.

    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)

  1. Go to the Src directory that instruction has provided

    $ cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src
  2. Create the config file that is needed for generating a Rupture Model

    $config_src.py -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:

    $ 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:

    $ config_src.py 2 --LAT -43.6 --LON 172.3 
    TYPE =  2
    LAT =  -43.6
    LON =  172.3
    PREFIX =  Srf/source
    SEED =  103245
    STOCH =  Stoch
    GENSLIP =  3.3
    ####################
    the params below are not specified, please manually edit setSrfParams.py to specify the value.
    ####################
    MAG =
    STK =
    RAK =
    DIP =
    DT =
    RVFRAC =
    ROUGH =
    SLIP_COV =
    DEPTH =
    MWSR =
    ====================================================================================================
    Cannot find folder /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1. 
    Attemp to create...
    Created Folder: /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1
    no existing folder with type 2, 
    Using sub-folder name: t2_103245
    ####################
    Please go to:
    cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245
    to manually edit all the parameters that is empty in setSrfParams.py and run make_src.sh
    ####################


    If config_src.sh has been run more than once, it will ask you if you want to update/replace a current param or create a new one.

    You can choose to create a new sub-folder with time stamp or replace the old files.

    example of creating new folder:

    $ config_src.py 2 --LAT -43.6 --LON 172.3 --MAG 7.1 --STK 150.0 --RAK 6.0
    TYPE =  2
    LAT =  -43.6
    LON =  172.3
    MAG =  7.1
    STK =  150.0
    RAK =  6.0
    PREFIX =  Srf/source
    SEED =  103245
    STOCH =  Stoch
    GENSLIP =  3.3
    ####################
    the params below are not specified, please manually edit setSrfParams.py to specify the value.
    ####################
    DIP =
    DT =
    RVFRAC =
    ROUGH =
    SLIP_COV =
    DEPTH =
    MWSR =
    ====================================================================================================
    ====================================================================================================
    select the src folder you want to place the setSrfParams.py into
    ====================================================================================================
     1. Create new setSrfParams.py
     2. t2_103245
    Enter the number you wish to select (1-2):1	
    ====================================================================================================
    Do you want to create a sub-folder: t2_103245_20170524_171346?
    ====================================================================================================
     1. Yes
     2. No
    Enter the number you wish to select (1-2):1
    ####################
    Please go to:
    cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/220100904_Darfield_m7p1/t2_103245_20170524_171346
    to manually edit all the parameters that is empty in setSrfParams.py and run make_src.sh
    ####################
    
    

    If you choose to replace existing params, it will show a comparison between two params(old on the left, new on the right).
    Example of replacing a old param file:

    $ config_src.py 2 --LAT -43.6 --LON 172.3 --MAG 7.1 --STK 1.0 --RAK 1.0 --DT 0.025
    TYPE =  2
    LAT =  -43.6
    LON =  172.3
    MAG =  7.1
    STK =  1.0
    RAK =  1.0
    DT =  0.025
    PREFIX =  Srf/source
    SEED =  103245
    STOCH =  Stoch
    GENSLIP =  3.3
    ####################
    the params below are not specified, please manually edit setSrfParams.py to specify the value.
    ####################
    DIP =
    RVFRAC =
    ROUGH =
    SLIP_COV =
    DEPTH =
    MWSR =
    ====================================================================================================
    ====================================================================================================
    select the src folder you want to place the setSrfParams.py into
    ====================================================================================================
     1. Create new setSrfParams.py
     2. t2_103245
     3. t2_103245_20170524_171346
    Enter the number you wish to select (1-3):2
    diff -y /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245/setSrfParams.py /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p/params.tmp
    ## Sets Variables for SRF/Stoch Generation			## Sets Variables for SRF/Stoch Generation
    ####################						####################
    #!!!Important!!							#!!!Important!!
    ####################						####################
    #Please change the values accordingly if '#!!!PLEASE SPECIFY!	#Please change the values accordingly if '#!!!PLEASE SPECIFY!
    
    # TYPE:								# TYPE:
    # 1: point source to point source srf				# 1: point source to point source srf
    # 2: point source to finite fault srf				# 2: point source to finite fault srf
    # 3: finite fault to finite fault srf				# 3: finite fault to finite fault srf
    # 4: multi-segment finite fault srf				# 4: multi-segment finite fault srf
    TYPE = 2							TYPE = 2
    # specify basename for gsf, srf and stoch file created		# specify basename for gsf, srf and stoch file created
    # PREFIX for gsf/srf/stoch files				# PREFIX for gsf/srf/stoch files
    # if prefix ends with '_', automatic naming follows		# if prefix ends with '_', automatic naming follows
    PREFIX = 'Srf/source'						PREFIX = 'Srf/source'
    # directory for Stoch file(s)					# directory for Stoch file(s)
    # set to None to not produce the stoch file			# set to None to not produce the stoch file
    STOCH = 'Stoch'							STOCH = 'Stoch'
    # rupture timestep (float), e.g. DT = 0.025			# rupture timestep (float), e.g. DT = 0.025
    DT = #!!!PLEASE SPECIFY!!!#				      |	DT = 0.025
    # latitude (float), e.g. LAT = -43.5095				# latitude (float), e.g. LAT = -43.5095
    LAT = -43.6							LAT = -43.6
    # longitude (float), e.g. LON = 172.1811			# longitude (float), e.g. LON = 172.1811
    LON = 172.3							LON = 172.3
    ...
    ...
    SEED = 103245							SEED = 103245
    # Mw Scaling Relation (string), one of:				# Mw Scaling Relation (string), one of:
    # HanksBakun2002, BerrymanEtAl2002, VillamorEtAl2001		# HanksBakun2002, BerrymanEtAl2002, VillamorEtAl2001
    MWSR = ''#!!!PLEASE SPECIFY!!!#					MWSR = ''#!!!PLEASE SPECIFY!!!#
    
    ====================================================================================================
    do you want to replace this param file?
    ====================================================================================================
     1. Yes
     2. No
    Enter the number you wish to select (1-2):1
    ####################
    Please go to:
    cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245
    to manually edit all the parameters that is empty in setSrfParams.py and run make_src.sh
    ####################
    
    
  3. Go to the folder provided by instrutions

    $ cd /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245
  4. Edit the setSrfParams.py
    note: every variables with #!!!PLEASE SPECIFY!!!# must be provided

    $ vim setSrfParams.py
    
    1 ## Sets Variables for SRF/Stoch Generation
     2 ####################
     3 #!!!Important!!
     4 ####################
     5 #Please change the values accordingly if '#!!!PLEASE SPECIFY!!!#'
     6 
     7 # TYPE:
     8 # 1: point source to point source srf
     9 # 2: point source to finite fault srf
    10 # 3: finite fault to finite fault srf
    11 # 4: multi-segment finite fault srf
    12 TYPE = 2
    13 # specify basename for gsf, srf and stoch file created
    14 # PREFIX for gsf/srf/stoch files
    15 # if prefix ends with '_', automatic naming follows
    16 PREFIX = 'Srf/source'
    17 # directory for Stoch file(s)
    18 # set to None to not produce the stoch file
    19 STOCH = 'Stoch'
    20 # rupture timestep (float), e.g. DT = 0.025
    21 DT = 0.025
    22 # latitude (float), e.g. LAT = -43.5095
    23 LAT = -43.6
    24 # longitude (float), e.g. LON = 172.1811
    25 LON = 172.3
    26 # depth (float), ex. DEPTH = 2.0
    27 DEPTH = 2.0#!!!PLEASE SPECIFY!!!#
    28 # magnitude (float), e.g. MAG = 5.5
    ...
    ...
    40 ## roughness of fault only for genslip 5.0+
    41 ## 0.1 is a good value to use - Rob Graves
    42 ## 0.0050119 = (10^(-2.3)) - Shi & Day 2014. Used as default in 5.2.3a
    43 #ROUGH = #!!!PLEASE SPECIFY!!!#
    44 ## (float), e.g. RVFRAC = 0.8
    45 #RVFRAC = #!!!PLEASE SPECIFY!!!#
    46 ## (float), e.g. SLIP_COV = 0.85
    47 #SLIP_COV = #!!!PLEASE SPECIFY!!!#
    48 # seed for stoch, e.g. SEED = 103245
    49 SEED = 103245
    50 # Mw Scaling Relation (string), one of:
    51 # HanksBakun2002, BerrymanEtAl2002, VillamorEtAl2001
    52 MWSR = ''#!!!PLEASE SPECIFY!!!#
    
    
  5. Create the Model using make_src.sh

    $ make_src.sh
    
    Ececuting createSRF.py
    Executing /nesi/projects/nesi00213/tools/genslip-v3.3read_erf=0write_srf=1read_gsf=1write_gsf=0infile=Srf/source.gsfmag=5.500000nx=58ny=58ns=1nh=1seed=103245velfile=/home/jonney/code/SrfGen//lp_generic1d-gp01_v1.vmodshypo=0.000000dhypo=2.877200dt=0.025000plane_header=1srf_version=2.0rvfrac=Noneshal_vrup=0.6deep_vrup=0.6fdrup_time=1alpha_rough=Noneslip_sigma=None
    seed=103245
    mag= 5.50 median mag= 5.52 nslip= 1 nhypo= 1 random_seed =103245 
    nx= 58 ny= 58 dx=     0.0992 dy=     0.0992
      0:   172.30055   -43.59977 58 58     5.7543     5.7543 150.0 54.0     0.0000
    ****    16.5000	   16.5000
    ratio (negative slip)/(positive slip)= 0.002216
    mom=   1.99526e+24 avgslip= 48 maxslip= 98
    orig_sigma= 0.403256 ... new_sigma= 0.396138
    rt_scalefac= 7.388430
    ravg=   1.00000e+00 rmed=   9.86539e-01 rmin=   3.09826e-01 rmax=   1.93412e+00
    seg= 0
    nstk= 58 nx= 3 nxdiv= 3 nxsum= 58
    ndip= 58 ny= 3 nydiv= 3 nysum= 58
    Plotting SRF as square plot...
    ...
    /home/jonney/20100904_Darfield_m7p1_201705221509/gmsim.cfg
    making a symbolic link from source_map.png to /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Figures/source_map.png
    making a symbolic link from source_square.png to /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Figures/source_square.png
    attempt_upload.sh /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245 /nesi/projects/nesi00213/RupModel/20100904_Darfield_m7p1 baes seb56
    !!!!!  Ask Admin to upload: Give him the path: /home/jonney/20100904_Darfield_m7p1_201705221509/Src !!!!!
  6. Under the working directory Src, a subdirectory is created

    $ ls /home/jonney/20100904_Darfield_m7p1_201705221509/Src/Model/20100904_Darfield_m7p1/t2_103245
    cnrs.txt  Info  params_plot.py  params_plot.pyc  setSrfParams.py  setSrfParams.pyc  Srf  Stoch
  7. Give the admin (Sung) the path to the Src working directory and request to upload the model. The admin will need to execute sendme.sh in the Src directory.

4. How to create observation files

note: you can skip this part if you are running for a future event (not yet happened)

  1. Go to the Obs directory that instruction has provided

    cd /home/jonney/20100904_Darfield_m7p1_201705221509/GM/Obs
  2. Create the config file that is needed
    $ config_obs.py geoNet_ftp_url

    $ config_obs.py                                
    Usage: /home/jonney/code/wrapper/config_obs.py URL
       eg. URL: ftp://ftp.geonet.org.nz/strong/processed/Proc/2011/02_Feb/2011-02-22_012009/Vol1/data
    $ config_obs.py ftp://ftp.geonet.org.nz/strong/processed/Proc/2010/09_Sep/2010-09-04_045556/Vol1/data
    Done!



  3. Run make_obs.sh to generate all the files

    $ make_obs.sh
    Reading input from /home/jonney/20100904_Darfield_m7p1_201705221509/GM/Obs/event_info.txt
    /home/jonney/code/Vs30-mapping
    Downloading data ...
    Finished downloading data in 0.3 secs
    Creating stations list ...
    Done in 0.0 secs
    Creating Vs30 files  ...
    Done Vs30 calcs in 21.0 secs
    Processing .V1A files ...
    Done processing in 21.2 secs
    Creating acc and vel plots for all Observed SMSs ...
    Done plotting acc, vel in 47.2 secs.
    Creating pSA plots for all Observed SMSs ...
    Done pSA plots in 55.8 secs.
    Writting IMs for GMT plotting ...
    Done in 5.1 secs.
    Relocate plots to Figures directory
    Attempting to upload station info to Fitzroy
    /home/jonney/20100904_Darfield_m7p1_201705221509/gmsim.cfg
    !!!!!  Ask Admin to upload: Give him the path: /home/jonney/20100904_Darfield_m7p1_201705221509/GM/Obs !!!!!
  4. The Vs30 and station files will be under working directory Stat/event_name

    $ ls /home/jonney/20100904_Darfield_m7p1_201705221509/Stat/20100904_Darfield_m7p1 
    20100904_Darfield_m7p1.kml  20100904_Darfield_m7p1.vs30     Info      Vs30_stderr.txt
    20100904_Darfield_m7p1.ll   20100904_Darfield_m7p1.vs30ref  Vs30.out  Vs30_stdout.txt
  5. Give the admin (Sung) the path to the Obs working directory and request to upload the model. The admin will need to execute sendme.sh in the Obs directory.

5. How to setup the simulation

  1. After admin tells you that all files are uploaded to Fitzroy, Run setup_remote.sh
    $setup_remote.sh username

    $ setup_remote.sh ykh22
    /home/jonney/20100904_Darfield_m7p1_201705181350/gmsim.cfg
    vel_mod_dir: /nesi/projects/nesi00213/VelocityModels/NZ/20100904_Darfield_m7p1/v1.65_400m
    srf_path: /nesi/projects/nesi00213/RupModel/20100904_Darfield_m7p1/t2_103245/Srf/source.srf
    stat_path: /nesi/projects/nesi00213/StationInfo/20100904_Darfield_m7p1/20100904_Darfield_m7p1.ll
    remote_user: ykh22
    remote cfg: /home/ykh22/gmsim.cfg
    scp /home/jonney/20100904_Darfield_m7p1_201705181350/gmsim.cfg ykh22@fitzroy.nesi.org.nz:/home/ykh22/gmsim.cfg
    gmsim.cfg                                                          100%  459    23.5KB/s   0.5KB/s   00:00    
    Generation of model params has been skipped.
    Re-directing related params to files under /nesi/projects/nesi00213/VelocityModels/NZ/20100904_Darfield_m7p1/v1.65_400m
    /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350
    Permission /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350 : 750
    ****************************************************************************************************
    ****************************************************************************************************
    Producing statcords and FD_STATLIST. It may take a minute or two
    /nesi/projects/nesi00213/StationInfo/20100904_Darfield_m7p1/20100904_Darfield_m7p1.ll
    From: /nesi/projects/nesi00213/StationInfo/20100904_Darfield_m7p1/20100904_Darfield_m7p1.ll
    To:
      /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/fd_nz01-h0.400.statcords
      /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/fd_nz01-h0.400.ll
    Done
    Installation completed
    ====================================================================================================
    Instructions
    ====================================================================================================
       For Simulation (Fitzroy)
        1.   cd /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350
        2.   Edit params.py and run_emod3d.ll.template
        3.   ./submit_emod3d.sh
        4.   ./submit_post_emod3d.sh or ./submit_post_emod3d_mpi.sh (parallel)
        5.   ./install_bb.sh
        6.   ./submit_hf.sh and ./submit_bb.sh
       For Plotting (hypocentre)
        1.   Plotting station based data (IMs, Vs30, Obs PGA, pSA): plot_stations.py {datafile}.ll
        2.   Plotting timeslice-based data (PGV,MMI,animation): plot_transfer.py auto /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350
        3.   PGV,MMI: plot_ts_sum.py Timeslice sequence: plot_ts.py
  2. The location on Fitzroy will be under /nesi/projects/nesi00213/RunFolder/username/event

    $ cd /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350

6. Run the simulation on Low Frequency (LF)

  1. Go to the Simulation Folder, located at /nesi/projects/nesi00213/RunFolder/user/run_name

    $ cd /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350
  2. Run submit_emod3d.sh

    It will ask you to enter a wall_clock_limit and if it should auto submit the job.

    $ ./submit_emod3d.h 
    devel
    ====================================================================================================
    Fetching WallClock time estimation from DB
    ====================================================================================================
    [3.4182194616977223e-07, 1.0417627567533496e-07, 6.560775746124221e-11]
    nx=350 ny=300 nz=115 sim_duration=100 num_procs=512
    Maximum: 0:06:52.750000
    Average: 0:02:05.792853
    Minimum: 0:00:00.079221
    ====================================================================================================
    Enter the WallClock time limit you will like to use: 5:30:00
    ====================================================================================================
    Also submit the job for you?
     1. Yes
     2. No
    Enter the number you wish to select (1-2):1
    Loadleveler script run_emod3d_source.ll written
    Submitting run_emod3d_source.ll

    note: if you prefer to change some detail configurations, press 2(no) for auto submit.*

    $ ./submit_emod3d.sh 
    devel
    ====================================================================================================
    Fetching WallClock time estimation from DB
    ====================================================================================================
    [3.4182194616977223e-07, 1.0417627567533496e-07, 6.560775746124221e-11]
    nx=350 ny=300 nz=115 sim_duration=100 num_procs=512
    Maximum: 0:06:52.750000
    Average: 0:02:05.792853
    Minimum: 0:00:00.079221
    ====================================================================================================
    Enter the WallClock time limit you will like to use: 5:30:00
    ====================================================================================================
    Also submit the job for you?
     1. Yes
     2. No
    Enter the number you wish to select (1-2):2
    Loadleveler script run_emod3d_source.ll written
    User chose to submit the job manually

     

    use llsubmit to submit your job if you selected to not to auto submit.

    $ llsubmit run_emod3d_source.ll
    llsubmit: Processed command file through Submit Filter: "/gpfs_external/admin/LL_Oper_job_filter.py".
    llsubmit: The job "f2n7.1440438" has been submitted.
  3. Use llq to check if your job has finished. (job status: R= running, C= Complete, I = idle)
    $ llq -u user

    $ llq -u ykh22
    Id                       Owner      Submitted   ST PRI Class        Running On 
    ------------------------ ---------- ----------- -- --- ------------ -----------
    f2n7.1440438.0           ykh22       5/25 04:10 I  50  General                  
  4. After Emod3d finished, run submit_post_emod3d.sh
    note: if you prefer to change some detail configurations, press 2(no) for auto submit.*
    $ ./submit_post_emod3d.sh

    ./submit_post_emod3d.sh 
    devel
    Also submit the job for you?
     1. Yes
     2. No
    Enter the number you wish to select (1-2):2
    Loadleveler script post_emod3d_source.ll written
    User chose to submit the job manually
  5. submit the job after you manually edited the post_emod3d_source.ll

    $ llsubmit post_emod3d_source.ll 
    llsubmit: Processed command file through Submit Filter: "/gpfs_external/admin/LL_Oper_job_filter.py".
    llsubmit: The job "f2n7.1440439" with 3 job steps has been submitted.
  6. Use llq to check if your job has finished. (job status: R= running, C= Complete, I = idle)

    $ llq -u ykh22
    Id                       Owner      Submitted   ST PRI Class        Running On 
    ------------------------ ---------- ----------- -- --- ------------ -----------
    f2n7.1440439.0           ykh22       5/25 04:14 R  50  General                 
    f2n7.1440439.2           ykh22       5/25 04:14 C  50  General                 
    f2n7.1440439.1           ykh22       5/25 04:14 C  50  General                 

7. Run the simulation on High Frequency (HF)

note: this part can run before LF is finished

  1. Run install_bb.sh, to setup the parameters
    Choose from the options according to simulation requirement

    $ ./install_bb.sh 
    devel
    Info: Old version of params.py supporting singular kappa and sdrop
    ****************************************************************************************************
                                         EMOD3D HF/BB Preparationi Ver.devel
    ****************************************************************************************************
    ====================================================================================================
    Select one of 1D Velocity models (from /nesi/projects/nesi00213/VelocityModel/Mod-1D)
    ====================================================================================================
     1. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v1-midQ.1d
     2. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v1.1d
     3. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v2-midQ.1d
     4. /nesi/projects/nesi00213/VelocityModel/Mod-1D/banks.1d
     5. /nesi/projects/nesi00213/VelocityModel/Mod-1D/foothills.1d
     6. /nesi/projects/nesi00213/VelocityModel/Mod-1D/foothills_v2.1d
     7. /nesi/projects/nesi00213/VelocityModel/Mod-1D/plains.1d
    Enter the number you wish to select (1-7):3
    /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v2-midQ.1d
    ====================================================================================================
    - Vel. Model 1D: Cant1D_v2-midQ
    - hf_sim_bin: hb_high_v5.4.5_np2mm+
    - hf_rvfac: 0.8
    - hf_sdrop: 50
    - hf_kappa: 0.045
    - srf file: /nesi/projects/nesi00213/RupModel/20100904_Darfield_m7p1/t2_103245/Srf/source.srf
    /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/LF/source/params_uncertain.py
    /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/HF/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045/source/params_bb_uncertain.py
    [Errno 17] File exists
    Permission /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/HF/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045 : 750
    Permission /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/BB/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045 : 750
  2. Run submit_hf.sh
    note: if you prefer to change some detail configurations, press 2(no) for auto submit.*

     ./install_bb.sh 
    devel
    Info: Old version of params.py supporting singular kappa and sdrop
    ****************************************************************************************************
                                         EMOD3D HF/BB Preparationi Ver.devel
    ****************************************************************************************************
    ====================================================================================================
    Select one of 1D Velocity models (from /nesi/projects/nesi00213/VelocityModel/Mod-1D)
    ====================================================================================================
     1. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v1-midQ.1d
     2. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v1.1d
     3. /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v2-midQ.1d
     4. /nesi/projects/nesi00213/VelocityModel/Mod-1D/banks.1d
     5. /nesi/projects/nesi00213/VelocityModel/Mod-1D/foothills.1d
     6. /nesi/projects/nesi00213/VelocityModel/Mod-1D/foothills_v2.1d
     7. /nesi/projects/nesi00213/VelocityModel/Mod-1D/plains.1d
    Enter the number you wish to select (1-7):3
    /nesi/projects/nesi00213/VelocityModel/Mod-1D/Cant1D_v2-midQ.1d
    ====================================================================================================
    - Vel. Model 1D: Cant1D_v2-midQ
    - hf_sim_bin: hb_high_v5.4.5_np2mm+
    - hf_rvfac: 0.8
    - hf_sdrop: 50
    - hf_kappa: 0.045
    - srf file: /nesi/projects/nesi00213/RupModel/20100904_Darfield_m7p1/t2_103245/Srf/source.srf
    /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/LF/source/params_uncertain.py
    /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/HF/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045/source/params_bb_uncertain.py
    [Errno 17] File exists
    Permission /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/HF/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045 : 750
    Permission /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/BB/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045 : 750
    ykh22@nesi1 /nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350 :./submit_hf.sh 
    devel
    SERIAL
    ['/nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/HF/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045/source']
    Also submit the job for you?
     1. Yes
     2. No
    Enter the number you wish to select (1-2):1
    Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source
    Loadleveler script run_hf_Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source.ll written
    Submitting run_hf_Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source.ll
  3.  use llsubmit to submit your job if you selected not to auto submit.

    $ llsubmit run_hf_Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source.ll
    llsubmit: Processed command file through Submit Filter: "/gpfs_external/admin/LL_Oper_job_filter.py".
    llsubmit: The job "f4n7.1495670" has been submitted.
  4. Use llq to check if your job has finished. (job status: R= running, C= Complete, I = idle)

    llq -u ykh22Id           Owner      Submitted   ST PRI Class        Running On 
    ------------------------ ---------- ----------- -- --- ------------ -----------
    f4n7.1495670.0           ykh22       5/25 03:04 R  50  General      f7n13                   

8. Run the Simulation on Broadband (BB)

Note: This part MUST wait untill both LF and HF are finished

  1. Run submit_bb.sh
    $ ./submit_bb.sh

    $ ./submit_bb.sh 
    devel
    ['/nesi/projects/nesi00213/RunFolder/ykh22/20100904_Darfield_m7p1_201705181350/BB/Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045/source']
    Also submit the job for you?
     1. Yes
     2. No
    Enter the number you wish to select (1-2):1
    Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source
    Loadleveler script run_bb_Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source.ll written
    Submitting run_bb_Cant1D_v2-midQ_hfnp2mm+_rvf0p8_sd50_k0p045__source.ll
  2. Use llq to check if your job has finished. (job status: R= running, C= Complete, I = idle)

    llq -u ykh22Id           Owner      Submitted   ST PRI Class        Running On 
    ------------------------ ---------- ----------- -- --- ------------ -----------
    f2n7.1440499.0           ykh22       5/25 03:04 R  50  General      f7n13                   






You may also want to use visual panels to communicate related information, tips or things users need to be aware of.

Related articles

Related articles appear here based on the labels you select. Click to edit the macro and add or change labels.

Related issues