This is the repository for the source code for the New Zealand Velocity Model (NZVM, Ref. https://doi.org/10.1080/00288306.2019.1636830).
This branch contains the MPI-AWP version. It supports creation of a velocity model in the format of the AWP-ODC wave propagation code and MPI.
See README_mpi.md
for more information.
There are seven general call types which are outlined in this readme.
To clone the code from the github repository:
git clone https://github.com/ucgmsim/Velocity-Model
In order to execute the code:
- Compile - Run make (this will compile the executable)
make
or alternatively
make parallel
- Execute the code using one of the call types:
- GENERATE_VELOCITY_MOD - Generates a velocity model from input parameters
- EXTRACT_VELOCITY_SLICES - Extracts velocity slices from a saved model (Model need to have been previously generated to use this call)
- GENERATE_VELOCITY_SLICES - Generated velocity slices for plotting (slices generated from scratch)
- GENERATE_PROFILE - Generates a velocity profile at a single lat-lon location
- GENERATE_MULTIPLE_PROFILES - Generates profiles for a list of lat-lon locations
- GENERATE_THRESHOLD - Generates a map of Vs30 Vs500, Z1.0 or Z2.5 (on the same coords as the FD 3D model)
- GENERATE_THRESHOLD_USER_INPUT - Generates Vs30, Vs500, Z1.0 or Z2.5 for a user specified list of points
First run
./NZVM
which creates example input text files (if desired otherwise skip this step)
Then modify the desired parameters and use the text file as an input to NZVM
./NZVM "MyParametersFile.txt"
See the git repo https://github.com/ucgmsim/Velocity-Model-Viz
for automated plotting tools.
All five call types and required inputs are explained here.
Call type 1) GENERATE_VELOCITY_MOD
- 1 CALL_TYPE=GENERATE_VELOCITY_MOD
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 ORIGIN_LAT (origin latitude - in decimal format)
- 5 ORIGIN_LON (origin longitude - in decimal format)
- 6 ORIGIN_ROT (model rotation - clockwise is positive)
- 7 EXTENT_X (model extent in the X direction in km)
- 8 EXTENT_Y (model extent in the Y direction in km)
- 9 EXTENT_ZMAX (maximum model extent in the Z direction - positive downwards in km)
- 10 EXTENT_ZMIN (minimum model extent in the Z direction - positive downwards i.e -1 represents +1km above mean sea level)
- 11 EXTENT_Z_SPACING (gridspacing in the Z direction in km)
- 12 EXTENT_LATLON_SPACING (gridspacing in the Y and X direction in km)
- 13 MIN_VS (minimium shear wave velocity to enforce, in km/s - typically 0.5)
- 14 TOPO_TYPE (SQUASHED, BULLDOZED etc)
The output directory must not exist
Call type 2) EXTRACT_VELOCITY_SLICES - All parameters must be set and the output directory must have been generated previously using GENERATE_VELOCITY_MOD call
- 1 CALL_TYPE=EXTRACT_VELOCITY_SLICES
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 ORIGIN_LAT (origin latitude - in decimal format)
- 5 ORIGIN_LON (origin longitude - in decimal format)
- 6 ORIGIN_ROT (model rotation - clockwise is positive)
- 7 EXTENT_X (model extent in the X direction in km)
- 8 EXTENT_Y (model extent in the Y direction in km)
- 9 EXTENT_ZMAX (maximum model extent in the Z direction - positive downwards in km)
- 10 EXTENT_ZMIN (minimum model extent in the Z direction - positive downwards i.e -1 represents +1km above mean sea level)
- 11 EXTENT_Z_SPACING (gridspacing in the Z direction in km)
- 12 EXTENT_LATLON_SPACING (gridspacing in the Y and X direction in km)
- 13 MIN_VS (minimium shear wave velocity to enforce, in km/s - typically 0.5)
- 14 TOPO_TYPE (SQUASHED, BULLDOZED etc)
- 15 EXTRACTED_SLICE_PARAMETERS_TEXTFILE (textfile location withslice parameters)
- See readme in ExtractedSliceParameters directory for additional information
Call type 3) GENERATE_VELOCITY_SLICES
- 1 CALL_TYPE=GENERATE_VELOCITY_SLICES
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 GENERATED_SLICE_PARAMETERS_TEXTFILE (textfile location with slice parameters)
- 5 TOPO_TYPE (SQUASHED, BULLDOZED etc)
Call type 4) GENERATE_PROFILE - All parameters must be set and the output directory must not exist
- 1 CALL_TYPE=GENERATE_PROFILE
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 PROFILE_LAT (latitude point of profile - in decimal format)
- 5 PROFILE_LON (longitude point of profile - in decimal format)
- 6 PROFILE_ZMIN (minimum depth of profile +ve downwards in km ie. -0.1 corresponds to the
- 7 PROFILE_ZMAX (maximum depth of profile +ve downwards in km)
- 8 EXTENT_Z_SPACING_PROFILE (z spacing of the profile in km) top of the profile at +0.1km above mean sea level)
- 9 PROFILE_MIN_VS (minimium shear wave velocity to enforce, in km/s - typically 0.5, set as 0.0 for no restriction)
- 10 TOPO_TYPE (SQUASHED, BULLDOZED etc)
Call type 5) GENERATE_MULTIPLE_PROFILES - Two different types: constant spacing, and variable spacing profile generation (the output directory must not exist)
- 1 CALL_TYPE=GENERATE_MULTIPLE_PROFILES
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 OUTPUT_TYPE (Specify the toe of file output required - 1D_SITE_RESPONSE or STANDARD)
- 5 PROFILE_MIN_VS (minimium shear wave velocity to enforce, in km/s - typically 0.5, set as 0.0 for no restriction)
- 6 TOPO_TYPE (SQUASHED, BULLDOZED etc)
- 7 COORDINATES_TEXTFILE (textfile location with coordinates to generate profiles at)
- 8 SPACING_TYPE (Set as CONSTANT, or VARIABLE)
- Optional inputs
- if SPACING_TYPE=CONSTANT, then set:
- 9 PROFILE_ZMIN (minimum depth of profile +ve downwards in km ie. -0.1 corresponds to the
- 10 PROFILE_ZMAX (maximum depth of profile +ve downwards in km)
- 11 SPACING_PROFILE (z spacing of the profile in km)
- if SPACING_TYPE=VARIABLE, then set:
- 12 PROFILE_DEPTHS_TEXTFILE (textfile location with vector of depths to prescribe velocities to)
Call type 6) GENERATE_THRESHOLD
Extracts Vs30 Vs500 Z1.0 Z2.5 for the same coords as the FD grid
- 1 CALL_TYPE=GENERATE_THRESHOLD
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 ORIGIN_LAT (origin latitude - in decimal format)
- 5 ORIGIN_LON (origin longitude - in decimal format)
- 6 ORIGIN_ROT (model rotation - clockwise is positive)
- 7 EXTENT_X (model extent in the X direction in km)
- 8 EXTENT_Y (model extent in the Y direction in km)
- 9 EXTENT_LATLON_SPACING (gridspacing in the Y and X direction in km)
- 10 VS_TYPE (set as Vs30 Vs500 Z1.0 Z2.5)
Call type 7) GENERATE_THRESHOLD_USER_INPUT
Extracts Vs30 Vs500 Z1.0 Z2.5 for a user specified list of points
- 1 CALL_TYPE=GENERATE_THRESHOLD_USER_INPUT
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 COORDINATES_TEXT_FILE (text file name containing gridpoints to presribe velocities at)
- 5 VS_TYPE (set as Vs30 Vs500 Z1.0 Z2.5)
Call type 8) GENERATE_VELOCITIES_ON_GRID
- 1 CALL_TYPE=GENERATE_VELOCITIES_ON_GRID
- 2 MODEL_VERSION (model version - select from list of model versions at bottom of readme)
- 3 OUTPUT_DIR (directory to save outputs to)
- 4 TOPO_TYPE (SQUASHED, BULLDOZED etc)
- 5 MIN_VS (minimium shear wave velocity to enforce, in km/s - typically 0.5)
- 6 COORDINATES_TEXT_FILE (text file name containing gridpoints to presribe velocities at)
Execute one of these call types and open the output directory to view saved outputs.
To add a new basin model to the NZVM follow the instructions in src/Addition_of_new_basins_readme.md
List of TOPO_TYPES
Unshifted representations:
- TRUE
- BULLDOZED - Cuts off all gridpoints above Mean Sea Level (0km)
Shifted representations: Note that no gridpoint with a value above Mean Sea Level (MSL) (0km) will have velocities prescribed to it.
- SQUASHED - Pushes the ground surface (DEM) to zero meteres, all values are then relative to this.
- SQUASHED_TAPERED - Compacts the region between the DEM and MSL into the region between MSL and -1.0xZ(DEM)
Summary of velocity model version numbers
-
v1.01 1D velocity model
- 1D model version (Cant. 1D velocity model)
-
v1.02 1D velocity model
- 1D model version (Cant. 1D velocity model v2)
-
v1.11 Eberhart-Phillips Tomography
- (Unpublished updated Canterbury version)
-
v1.21 Tomography below basement, 1D above
- 1D model version (Cant. 1D velocity model)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
-
v1.22 Tomography below basement, 1D above
- 1D model version (Cant. 1D velocity model v2)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
-
v1.31 Tomography below basement, constant velocity Paleogene layer, 1D Above
- 1D model version (Cant. 1D velocity model)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
- Paleogene version (PaleogenePoints_35_v8p9_1000m.txt)
- Paleogene - Vp=2.7 , Vs=1.1511 , Rho=2.151
-
v1.41 Tomography below basement, constant velocity Paleogene & Miocene layers, 1D Above
- 1D model version (Cant. 1D velocity model)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
- Paleogene version (PaleogenePoints_35_v8p9_1000m.txt)
- Miocene version (MiocenePoints_35_v8p9_1000m.txt)
- Paleogene - Vp=2.7 , Vs=1.1511 , Rho=2.151
- Miocene - Vp=2.5, Vs=0.98355, Rho=2.9031
-
v1.51 Tomography below basement, constant velocity Paleogene & Miocene layers, 1D Above, BPV Basin
- 1D model version (Cant. 1D velocity model)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
- Paleogene version (PaleogenePoints_35_v8p9_1000m.txt)
- Miocene version (MiocenePoints_35_v8p9_1000m.txt)
- BPV top version (BPPoints_41_v1p13_1000m.txt)
- Paleogene - Vp=2.7 , Vs=1.1511 , Rho=2.151
- Miocene - Vp=2.5, Vs=0.98355, Rho=2.9031
- BPV - Vp=4.0, Vs=2.2818, Rho= 2.393
-
v1.61 Tomography below basement, constant velocity Paleogene, Miocene & Pliocene layers, 1D Above, BPV Basin
- 1D model version (Cant. 1D velocity model)
- Basement version (BasementPoints_35_v8p9_1000m.txt)
- Paleogene version (PaleogenePoints_35_v8p9_1000m.txt)
- Miocene version (MiocenePoints_35_v8p9_1000m.txt)
- Pliocene version (PliocenePoints_35_v8p9_1000m.txt)
- BPV top version (BPPoints_41_v1p13_1000m.txt)
- Paleogene - Vp=2.7 , Vs=1.1511 , Rho=2.151
- Miocene - Vp=2.5, Vs=0.98355, Rho=2.9031
- Pliocene - Vp=2.0, Vs=0.6086, Rho = 1.905
- BPV - Vp=4.0, Vs=2.2818, Rho= 2.393
-
v1.62 Same as v1.61 with different parameters for the BPV
- BPV - Vp=3.6, Vs=1.9428, Rho= 2.334
-
v1.63 Same as v1.61 with weathering function for the top 100m of the BPV
- BPV at 0m - Vp=3.2, Vs=1.59, Rho= 2.265
- BPV below 100m - Vp=4.0, Vs=2.2818, Rho= 2.393
- Linear relationship between 0 and 100m depth
-
v1.64 Same as v1.63 with updated 1D velocity model
- 1D model version (Cant1D_v2.fd_modfile)
-
v1.65 Same as v1.64 with updated 1D velocity model to ensure Vs_1dmax < Vs_pliocene
- 1D model version (Cant1D_v2_Pliocene_Enforced.fd_modfile)
-
v1.66 Same as v1.65 with updated pliocene layer model
-
v1.67 Same as v1.66 with ELY (2010) taper implemented in non-basin regions. New NZ-Wide HD DEM. Updated weathering in BPV region.
- Weathering in BPV modified from ELY (2010), using Vs_BPV(top)=700m/s @ z=0, Vs_BPV(top)=1500m/s @ z=1000m (linearly varying between)
-
v2.01 Added 5 new South Island Basins (Kaikoura, Cheviot, Hanmer, Marlborough, NorthCanterbury) and offshore tapering
-
v2.02 Updated Wellington basin model
-
v2.03 added WaikatoHauraki_v19p7 basin model, offshore generic basin model added
-
v2.03_m10 with m10 perturbaton from F3DT
-
v2.03_m15 with m15 perturbaton from F3DT
-
v2.04 added USER20 basins
-
v2.05 Updated 2020 tomography model
-
v2.05_m12 with m12 perturbaton from F3DT (2020 tomography model)
-
v2.06 Added Takaka / Collingwood Basins / Springs Junction & Karamea
-
v2.07 Added Hawkes Bay / Napier / Wellington Regional basins and Updated the Wellington Basin to Matt Hill's version / Wairarapa / S. Hawkes Bay / Gisborne / Motu
-
v2.08 Replaced tomography model with the combination of Chow's North Island tomography model and EP2020 with/without basins (basins from v2.07)
Summary of Korean velocity model (KVM) version numbers
-
KVM_20p6 - 1D VM
-
KVM_20p12 - 3D VM Based on "Crustal structure beneath the southern Korean Peninsula from local earthquakes" Kim et al (2017), Vs and Rho derived from Brocher (2005) relationships