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’ \times 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:

  1. Find the first block <q:quakeml>
  2. In this block, find the first entry <eventParameters>
  3. Step further down to the first <event>
  4. From the first <origin>, extract the first
    • <longitude>, <value>
    • <latitude>, <value>
  5. 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.