Initial Conditions¶
Initial conditions from file¶
Switch on with enable_read_initial_field=.true.
This option requires an input file specified by IniCondPath
,
init_filename
with initial elevation [meters] at each grid node, one value
per line.
Idealised source¶
Switch on with enable_idealised
.
An idealised bell is computed, centered at the epicenter given with ideal_epi_lon
, ideal_epi_lat
and scaled arccording to the magnitude ideal_mw
and the rigidity ideal_rigidity
as specified in tsunami.namelist, &model_init_idealised
. The sea surface and the bathymetry, topography is elevated by this bell.
Currently, only a cosine bell ideal_shape='cosine'
scaled according to Strasser 2010 ideal_scaling=``strasser
is implemented.
Handle this option with care! This simple assumption allows to place tsunami sources w/o any regard to the geophysical situation.
Okada parameters¶
Switch on with enable_okada_scenario
and specify the format with
‘okada_type’ or stick to the convention that
TsunAWI`s own format¶
Okada parameters require two input files.
The first file’s name is set by okada_parameter_file
and contains a
list of subfaults, one per row. Each subfault is specified by
- Longitude and Latitude [°E], [°N] of the corner of the subfault
- Slip [m]
- Length [m]
- Width [m]
- Strike [°]
- Dip angle [°]
- Depth of top [m]
- Rake angle [°]
The vertical bottom displacement due to this subfault is then calulated within a surrounding domain of 16°40’ 16°40’.
Comments can be added and are marked by a #
, %
, or !
as the very first character in the line.
E.g., for the 2004 tsunami, the subfaults as proposed by Tanioka et
al. (2006), Model B, would require an okada_parameter_file
like
# Lon Lat Slip[m] Length[m] Width[m] Strike[degr] Dip[degr] Depth[m] Rake[degr]
95.55 2.37 26.10 100000. 100000. 340.00 10.00 10000. 90.00
95.20 3.23 0.00 160000. 100000. 340.00 10.00 10000. 90.00
94.20 4.46 29.60 150000. 90000. 340.00 10.00 10000. 90.00
93.68 5.75 7.30 150000. 100000. 340.00 10.00 10000. 90.00
94.33 5.51 10.90 150000. 100000. 340.00 10.00 27000. 90.00
92.87 6.79 7.80 150000. 100000. 340.00 10.00 5000. 90.00
93.70 7.02 0.00 150000. 100000. 340.00 10.00 22000. 90.00
92.40 8.14 12.10 150000. 100000. 340.00 10.00 5000. 90.00
93.24 8.38 16.50 150000. 100000. 340.00 10.00 22000. 90.00
92.34 9.63 16.60 100000. 110000. 340.00 10.00 10000. 90.00
92.04 10.47 7.70 150000. 110000. 340.00 3.00 10000. 90.00
92.22 12.11 1.40 100000. 125000. 10.00 17.00 5000. 90.00
The second file, okada_fault_list_file
, states which subfault
ruptures in how many seconds after the initial rupture. It does not have
to refer to all subfaults defined in the
okada_parameter_file
. This is a convenient feature to collect many
possible faults for a region into one okada_parameter_file
and
trigger the desired subfault(s) for a simulation in the okada_fault_list_file
.
For the Tanioka et al. (2006), Model B, example, it reads
10
1 3 4 5 6 8 9 10 11 12
0.0 60.0 180.0 180.0 300.0 420.0 420.0 480.0 600.0 720.0
The first figure gives the total number of rupturing subfaults. The second row defines the subfaults that are to be considered. And the third row gives the time in seconds after the initial rupture at which each subfault is taken into account. This file must not contain comments!
USGS finite fault format .param
¶
A major provider of earthquake information is the United States Geological Survey, USGS, https://earthquake.usgs.gov/. TsunAWI supports the basic inversion format ‘PARAM’. More information on finite faults is given in https://earthquake.usgs.gov/data/finitefault/
Here is the head of an example, a finite fault of the 2011 Tohoku Tsunami, downloaded from https://earthquake.usgs.gov/archive/product/finite-fault/usp000hvnu/us/1539808472261/basic_inversion.param
#Total number of fault_segments= 3
#Fault_segment = 1 nx(Along-strike)= 25 Dx= 25.00km ny(downdip)= 5 Dy= 16.60km
#Boundary of Fault_segment 1. EQ in cell 12,3. Lon: 142.3700 Lat: 38.3200
#Lon. Lat. Depth
143.80890 40.66050 13.96590
141.60339 35.33500 13.96590
140.75380 35.55160 34.83410
142.95930 40.87710 34.83410
143.80890 40.66050 13.96590
#Lat. Lon. depth slip rake strike dip t_rup t_ris t_fal mo
40.660500 143.808900 13.965900 57.353820 117.143200 198.000000 15.000000 148.000000 12.000000 12.000000 9.758958e+25
40.446500 143.720310 13.965900 141.030810 87.102590 198.000000 15.000000 140.000000 12.000000 12.000000 2.399689e+26
40.232500 143.631700 13.965900 34.988530 83.757710 198.000000 15.000000 128.000000 12.000000 12.000000 5.953423e+25
40.018600 143.543110 13.965900 219.910710 101.953100 198.000000 15.000000 100.000000 16.000000 16.000000 3.741859e+26
39.804600 143.454500 13.965900 521.369870 92.399470 198.000000 15.000000 76.000000 12.000000 12.000000 8.871303e+26
39.590600 143.365910 13.965900 595.401120 106.877900 198.000000 15.000000 60.000000 12.000000 12.000000 1.013096e+27
[...]
For the use in TsunAWI, we assume that a param file always starts with
a header of 4 lines, of which we analyse the second line to retrieve
the number nx
* ny
, the length Dx
and the width Dy
of
the subfaults. The bounding box given in the following 5 lines and the
following comment is ignored.
For each subfault, TsunAWI scales the slip from [cm] to [m], and the length, width, and depth from [km] to [m]. Finally, the parameters are transformed from the center of the plate to TsunAWI’s default, the origin corner and passed to the routine to compute the displacement.
QuakeML¶
Experimental. So far, only Earthquake epicenter and magnitude are used to set up an idealised source (cosine bell).
In contrast to the other options to initialise TsunAWI, which are usually specified in the namelist, the QuakeML is passed via the command line.
It requires TsunAWI to be compiled with FoXy (Fortran XML parser for poor people, https://github.com/Fortran-FOSS-Programmers/FoXy) to parse XML input.
The approach is quite simple and needs further discussions with seimologists. We assume that the first of multiple entries is the most important/probable one. The quakeml input file is thus parsed as follows:
- Find the first block
<q:quakeml>
- In this block, find the first entry
<eventParameters>
- Step further down to the first
<event>
- From the first
<origin>
, extract the first<longitude>
,<value>
<latitude>
,<value>
- From the first
<magnitude>
, extract the<value>
If a scenario ID is not given on the command line (-id), the name of the QuakeML is taken. However, as they are usually just called quakeml.ml or similar, this is not an optimal choice.
We plan to add the momentum tensor, which can be specified in QuakeML format, as an initial condition to TsunAWI.
However, to get more out of a typical QuakeML file, e.g. to start multiple tsunami simulations for multiple entries or for earthquake parameters specified with confidence intervalls, consider to parse the QuakeML input in a preprocessing step. Furthermore, Fortran is really not the best tool to read XML format…
RuptGen scenarios¶
Switch on with enable_ruptgen_scenario=.true.
.
A RuptGen scenario is a special case of a simulation with initial
conditions read from a file. If
enable_read_initial_field=.false.
, the input file name is set
automatically in TsunAWI as ssh0_mwM.M_XXX_YY.out
with M.M
,
XXX
, YY
being string representation of mw
, Epi_i
, Epi_j
.
The netcdf output file is named SZ_mwM.M_XXX_YY.nc
.
These initial conditions at the nodes of the computational grid have to be calculated in advance with RuptGen (A. Babeyko, GFZ). The meta data in the netcdf file and the netcdf filename itself are then set according to the GITEWS conventions.