Velocity Model¶
Choice of Velocity Model Type¶
Users can choose a uniform (uni
), a layered homogeneous medium
(lhm
), or a NetCDF
(grd) file input (grd
) velocity type. In
addition, a randomly inhomogeneous medium calculated by an external
program can be overlaid onto the model.
Parameters
vmodel_type
-
Specify the input velocity model. Choose from one of the following.
’uni’
-
omogeneous medium with a free surface. The following additional parameters are required:
vp0
: P-wave velocity [km/s] in the uniform model.vs0
: S-wave velocity [km/s] in the uniform model.rho0
: Mass density [g/cm] in the uniform model.qp0
: of the uniform model.qs0
: of the uniform model.topo0
: Topography depth in the uniform model. If this value is greater than zero, seawater is filled from to this depth.
’lhm’
-
Layered Homogeneous Medium. The one-dimensional velocity structure file should be specified as below.
fn_lhm
: Medium specification file. Each line specifies the depth of the top of the layer, density, P-wave velocity, S-wave velocity, , and below that depth. They must be separated by space(s) (see following example). Lines starting with#
will be neglected.
1 2 3 4 5 6 7 8 9 10
# depth rho(g/cm^3) vp(km/s) vs(km/s) Qp Qs # ------------------------------------------------------- 0 2.300 5.50 3.14 600 300 3 2.400 6.00 3.55 600 300 18 2.800 6.70 3.83 600 300 33 3.200 7.80 4.46 600 300 100 3.300 8.00 4.57 600 300 225 3.400 8.40 4.80 600 300 325 3.500 8.60 4.91 600 300 425 3.700 9.30 5.31 600 300
’grd’
-
Velocity model input from
NetCDF
(GMT grd) files. The compilation ofOpenSWPC
should be performed in accompaniment with the use of theNetCDF
library. The following parameters are required.-
dir_grd
: Directory of the velocity structure (NetCDF
) files. -
fn_grdslt
: List file that specifies the grd files and the associated medium. Each grd file specifies the depth of the top surface of the structural boundary. The unit of depth is "m". Each line contains the grd filename (with a single or double quotation mark; recommended), density, P-wave velocity, S-wave velocity, , , and the layer number integers (0-9) separated by spaces (see following example). Lines starting with#
will be neglected. The layer number is used to specify the source or station depth fit to the layer depth. The firstNetCDF
file will be treated as the ground surface. If the depth of the ground surface is deeper than zero, the depth range from to the surface is assumed to be an ocean layer. The grid above the free surface is treated as an air column.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
# grd filename rho vp vs QP QS sw # ------------------------------------------------------- 'eJIVSM_01_TAB_.grd' 1.80 1.70 0.35 119 70 0 'eJIVSM_02_BSM_.grd' 1.95 1.80 0.50 170 100 0 'eJIVSM_03_BSM_.grd' 2.00 2.00 0.60 204 120 0 'eJIVSM_04_BSM_.grd' 2.05 2.10 0.70 238 140 0 'eJIVSM_05_BSM_.grd' 2.07 2.20 0.80 272 160 0 'eJIVSM_06_BSM_.grd' 2.10 2.30 0.90 306 180 0 'eJIVSM_07_BSM_.grd' 2.15 2.40 1.00 340 200 0 'eJIVSM_08_BSM_.grd' 2.20 2.70 1.30 442 260 0 'eJIVSM_09_BSM_.grd' 2.25 3.00 1.50 510 300 0 'eJIVSM_10_BSM_.grd' 2.30 3.20 1.70 578 340 0 'eJIVSM_11_BSM_.grd' 2.35 3.50 2.00 680 400 0 'eJIVSM_12_BSM_.grd' 2.45 4.20 2.40 680 400 0 'eJIVSM_13_BSM_.grd' 2.60 5.00 2.90 680 400 0 'eJIVSM_14_BSM_.grd' 2.65 5.50 3.20 680 400 0 'eJIVSM_15_UPC_.grd' 2.70 5.80 3.40 680 400 0 'eJIVSM_16_LWC_.grd' 2.80 6.40 3.80 680 400 0 'eJIVSM_17_CTM_.grd' 3.20 7.50 4.50 850 500 0 'eJIVSM_18_PH2_.grd' 2.40 5.00 2.90 340 200 1 'eJIVSM_19_PH3_.grd' 2.90 6.80 4.00 510 300 0 'eJIVSM_20_PHM_.grd' 3.20 8.00 4.70 850 500 0 'eJIVSM_21_PA2_.grd' 2.60 5.40 2.80 340 200 2 'eJIVSM_22_PA3_.grd' 2.80 6.50 3.50 510 300 0 'eJIVSM_23_PAM_.grd' 3.40 8.10 4.60 850 500 0
-
node_grd
: MPI node to input theNetCDF
data. AllNetCDF
files are first read by this node, and then, transferred to all nodes via MPI data communication. -
is_ocean
: In the default (.true.
), the depth from to the set topography will be treated as an ocean layer. If this parameter is set to.false.
, the seafloor will be used as a free surface and no seawater will be used. -
topo_flatten
: Make topography variatinon flat by offsetting the medium below.
Renaming
is_flatten
totopo_flatten
This option used to be
is_flatten
until Version 5.1, but has been renamed to avoid confusion with theearth_flattening
option implemented in Version 5.2. -
’user’
- A user subroutine defined in
src/swpc_*/m_vmodel_user.F90
is used for defining velocity model. Recompilation of the code is necessary if this Fortran file is modified. Please refer the comments in the file for input/output of the user subroutine.
vcut
- Cut-off velocity. For the
’lhm’
or’grd’
models, a velocity slower than this value will be overwritten by thevcut
value. This parameter is used to avoid wavelengths that are too short and violate the wavelength condition (the wavelength is recommended to be longer than 5-10 grids). This substitution will not be performed in the oceanic area. munk_profile
(new in version 5.2)- If this value is
.true.
, the Munk's profile with minima is applied in the seawater layer. Otherwise a constant value of 1.5 km/s is used. See the explanation in the next section. - **
earth_flattening
(new in version 5.2)** - If this option is
.true.
, OpenSWPC performs the transformation the Cartesian coordinate to pseudo-spherical coordinate by means of the Earth-flattening tranformation (e.g., Aki and Richards, Box 9.2). This option may be useful for reproducing accurate arrival time of seismic waves for long (~500 km or more) traveling distances and/or for deep-focus earthquake. Please be noted that this transformation is not exact in P-SV and 3D models.
Warning
The implementation of earth_flattening
mode in version 5.2 is still in the experimental stage. Please use it with caution.
On Treatments of Air and Seawater Layer¶
In OpenSWPC
, the air column has a mass density of [g/cm],
velocities of [km/s], and intrinsic
attenuation parameters of .
The air column is treated as a
vacuum with no seismic wave propagation (with zero velocities). However,
the mass density in the air column must not be zero to avoid division by zero.
In the ocean column, [g/cm], [km/s],
and are assumed.
The attenuation of underwater sound waves is known to be very small, so we have introduced a very large values that are virtually unattenuated.
The P-wave velocity is km/s, but in the version 5.2 and later, the depth-dependent Munk's profile which is defined the equation below can be used by setting munk_profile = .true.
.
where the unit of is km. This profile contains a minima which corresponds to the SOFAR channel at a depth of 1300 m.
In the free surface and seafloor, the reduced order of the finite difference is performed according to Okamoto and Takenaka (20051) and Maeda and Furumura (20032). These discontinuities are automatically detected as boundaries that change and from zero to a finite value.
Small-Scale Random Inhomogeneity¶
Users may overlay small-scale velocity inhomogeneities with specified
power-law spectra on the background velocity models of ’uni’
, ’lhm’
,
and ’grd’
. The small-scale velocity inhomogeneity is defined by
external files. From the average velocities , , and
, the fluctuated velocities and density are given as
where is a scaling parameter based on a laboratory experiment (Sato et al., 20123).
Velocity models having this small-scale inhomogeneity are specified by
appending _rmed
to the original velocity models: vmodel_type=’uni_rmed’
, ’lhm_rmed’
, or ’grd_rmed’
.
The random media files are generated by a separated program. See this section for details.
Parameters
dir_rmed
- A directory name for storing the random media data files.
The random media are given as two- or three-dimensional NetCDF
files.
At each grid location, the velocity fluctuation is defined.
The code automatically reads the corresponding volume from the file; It
is not necessary to decompose the NetCDF
files into parts for parallel
computation. If the computational size (Nx, Ny, Nz
) is larger than the
random media file size, the media is used repeatedly by applying a
circular boundary condition. The simulation codes do not care if the
grid sizes of the simulation and the input random media file are
identical.
Note that users may use the 3D random media files for 2D calculation.
Parameters for uni_rmed
¶
The following parameter is required in addition to the parameters used
in vmodel=’uni’
.
Parameters
fn_rmed0
- Name of the random medium file.
In this model, the average velocity will be fluctuated based on the
input fn_rmed0
.
Parameters for lhm_rmed
¶
In this model, the small-scale velocity fluctuation is applied to every
layer defined by vmodel=’lhm’
. It is possible to assign different
random velocity models at different layers.
The following parameter is substituted in fn_lhm
:
Parameters
fn_lhm_rmed
- List file of the velocity structure.
The list file has a similar format to fn_lhm
; it contains the
filenames of the random media files in the rightmost column as in the
following example.
1 2 3 4 5 6 7 8 9 10 |
|
In this example, the layers starting from depths of 0 km and 3 km have
fluctuations defined in rmedia1.nc
, and the layers from 18 km and 33
km are defined in rmedia2.nc
. For the layer deeper than 100 km, a
dummy filename (-
) is given. In this case (i.e., there is no file
found), a fluctuation will not be given. The dummy filename is mandatory
in this case.
Parameters for grd_rmed
¶
When overlaying the random fluctuations to the layers defined by the
model of vmodel=’grd’
, it is possible to assign different random media
to different layers. The starting depth of the velocity fluctuation can
be either the free surface or depths defined by a layer.
The filename of the velocity fluctuation is given by the following parameter:
Parameters
fn_grdlst_rmed
- A list file that specifies the velocity layer and the random fluctuation files for each layer.
The list file has two additional columns at the right: the filename of the random medium and the reference layer number.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
The reference layer number defines the reference depth plane of the
random media. If this number is zero, the depth grid number of the
computational model is directly used to assign the random media. This is
exactly the same as the behavior of the uni_rmed
or lhm_rmed
models.
If the nonzero value of the reference layer number NR
is specified,
the depth of the NR
layer is treated as the base plane. The depth grid
of the random medium is measured from this depth. Introducing this
reference plane, the inclined random media according to the velocity
discontinuity (such as the plate boundary) can be specified. In the
above example, the 18th and 21st layers are treated as the references of
18--20th and 21--23th layers, respectively.
Truncation of Velocity Fluctuations¶
If the magnitude of the velocity fluctuation becomes too large, there can be a spot with non-physical velocity, such as negative velocity or a velocity too large for the Earth medium. The simulation may be unstable under the following conditions:
-
The fluctuated velocity exceeds the stability condition for cases with .
-
The velocity has unrealistic negative values for cases with .
-
The mass density has negative values for cases with .
To avoid such situations, OpenSWPC
automatically limits the range of
the fluctuated velocity to vcut
,
where vcut
is an input parameter and is the maximum
possible velocity derived from the stability condition.
In addition, the following parameter controls the minimum density.
Parameters
rhomin
- Minimum mass density in g/cm. (1.0 g/cm by default.)
-
Okamoto, T., and H. Takenaka (2005). Fluid-solid boundary implementation in the velocity-stress finite- difference method, Zisin 2, 57, 355–364, doi:10.4294/zisin1948.57.3_355. (in Japanese with English Abstract) (article link) ↩
-
Maeda, T., and T. Furumura (2013), FDM simulation of seismic waves, ocean acoustic waves, and tsunamis based on tsunami-coupled equations of motion, Pure Appl. Geophys., 170(1-2), 109–127, doi:10.1007/s00024-011-0430-z. (article link) ↩
-
Sato, H., M. C. Fehler, and T. Maeda (2012), Seismic Wave Propagation and Scattering in the Heterogeneous Earth: Second Edition, Springer Berlin Heidelberg, Berlin, Heidelberg, doi:10.1007/978-3-642-23029-5. ↩