Create initial model¶
TomoATT requires a 3D initial model to start the inversion. The initial model is a h5
file that contains the velocity and anisotropy information. The velocity and anisotropy are stored in Three datasets, vel
, xi
, and eta
respectively. The shape of the datasets is (nr, nt, nt)
, where nr
, nt
, and np
are the number of grid points along the depth, latitude, and longitude, respectively. These values are defined in the domain
section of the parameter file with key n_rtp
.
The range of the model is defined by the domain
section of the parameter file. The domain
section should contain the following keys:
min_max_dep
: The minimum and maximum depth of the model in km.min_max_lat
: The minimum and maximum latitude of the model in degrees.min_max_lon
: The minimum and maximum longitude of the model in degrees.
PyTomoATT provides a simple command line interface pta create_model
to create a 3D initial model. The help message of this command is as follows:
usage: pta create_model [-h] [-m 1|2] [-i fname] [-c ncol_lon/ncol_lat/ncol_dep/ncol_vel] [-o fname] [-s sigma] [-t vel_type] input_params
Create model for TomoATT from external models: CRUST1.0 or custom model
Ex1 (CRUST1.0): pta create_model -oatt_model.h5 -s5 -tvs input_params.yml
Ex2 (custom model): pta create_model -m2 -imodel.txt -oatt_model.h5 -s3 input_params.yml
positional arguments:
input_params The parameter file of TomoATT, The section "domain" will be read.
options:
-h, --help show this help message and exit
-m 1|2 Background model type. 1 for CRUST1.0, 2 for custom ASCII file, defaults to 1
-i fname Path to input custom model with ASCII format, only valid for -m2
-c ncol_lon/ncol_lat/ncol_dep/ncol_vel
Columns used in custom model file, order by lon/lat/dep/vel. defaults to 0/1/2/3
-o fname Path to output model, defaults to Sub_CRUST1.0_nr_nt_np.h5
-s sigma Smooth the 3D model with a Gaussian filter,Sigma is the standard division of the smoothing kernel in km, defaults to None
-t vel_type Type of velocity vp or vs are available, valid for -m1
Using internal CRUST1.0 model¶
PyTomoATT provide a internal CRUST1.0 model, which is a 3D model (Vp and Vs) based on the CRUST1.0 model. The model is stored in the data
folder of the PyTomoATT package.
Using -m1
in pta create_model
to create a 3D model based on the CRUST1.0 model, for example:
pta create_model -m1 -oatt_model.h5 -s15 -tvs input_params.yml
In this example, the command will create a 3D S-wave velocity model based on the CRUST1.0 model, smooth the model with a Gaussian filter with a standard division of 15 km, and save the model to att_model.h5
. The size of the model is defined in the domain
section of the parameter file.
Using custom model¶
PyTomoATT also supports creating a 3D model based on a custom ASCII file. The ASCII file should contain the velocity information in the format of lon lat dep vel
. The columns used in the ASCII file can be specified by -c
option. The order of the columns should be longitude, latitude, depth, and velocity. The default order is 0, 1, 2, and 3. The ASCII file can be specified by -i
option. For example:
pta create_model -m2 -i model.txt -oatt_model.h5 -s20 input_params.yml
In this example, the command will create a 3D model based on the ASCII file model.txt
, smooth the model with a Gaussian filter with a standard division of 20 km, and save the model to att_model.h5
. The size of the model is defined in the domain
section of the parameter file.