Middle East Technical University

Department of Civil Engineering

Ocean Engineering Research Center

Ankara Turkey



Special Research Bureau for Automation of Marine Researches, Far Eastern Branch of Russian Academy of Sciences, Uzhno-Sakhalinsk, Russia










NAMI DANCE is a computational tool developed by Profs Andrey Zaytsev, Ahmet Yalciner, Anton Chernov, Efim Pelinovsky and Andrey Kurkin especially for tsunami modeling. It provides direct simulation and efficient visualization of tsunamis to the user and for assessment, understanding and investigation of tsunami generation and propagation mechanisms. It is developed by C++ programming language by following leap frog scheme numerical solution procedures (Shuto, Goto and Imamura) and has several modules for development of all requirements. In addition to necessary tsunami parameters, NAMI DANCE also computes the distributions of current velocities, fluxes and their directions at selected time intervals, relative damage levels according to drag and impact forces, and it also prepares 3D plots of sea state at selected time intervals from different camera and light positions, and animates the tsunami propagation from source to target.


The following is the general information about the interface of NAMI-DANCE.


Important note: This manual is for NAMI DANCE version 5.0 and later. The developers do not take any responsibility if any hardware/software/network damage of the users property. The users accept the following term of conditions.


  1. There is no warranty for the program, to the extent permitted by applicable law. Except when otherwise stated in writing the copyright holders and/or other parties provide the program “as is” without warranty of any kind, either expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. The entire risk as to the quality and performance of the program is with you. Should the program prove defective, you assume the cost of all necessary servicing, repair or correction.
  2. The user must inform the developers if any output of using NAMI DANCE will be published or presented.
  3. If the user encounters any bug while using NAMI DANCE he/she must contact the developers for solutions.
  4. The user must reference NAMI DANCE and the developers Zaytsev, Chernov, Yalciner, Pelinovsky, Kurkin. 







3.1. “File” Menu. 5

3.2. “View” Menu. 5

3.3. “Bathymetry” Menu. 5






9. 3D PLOTTING.. 28

9.1 Plotting the Sea State at a Specific Time. 29

9.1.1 Multipliers. 31

9.1.2 Preparing BMP Plots for Animation. 32

9.2 Sample Applications for Indicating the Effect of Multipliers on Visualization. 32

9.3 Camera Settings. 35

9.4 Creating Animations from the Output Files. 36










State-of-the-artand Phases of Tsunami Modeling


Tsunami is one of the most important marine hazards generally triggered by earthquakes and/or submarine/subaerial landslides. In general, tsunami might affect not only the area where it is generated but add:alsoat substantial distance away from generation region. Tsunami science needs close cooperation between basic and applied sciences and also from international to local level authorities.  The tsunami modeling and risk analysis are necessary for better preparedness and proper mitigation measures in the framework of international collaborations. Better understanding, wider awareness, proper preparedness and effective mitigation strategies for tsunamis need close international collaboration from different scientific and engineering disciplines with exchange and enhancement of existing data, development and utilization of available computational tools.

Modeling is one of the essential components of tsunami studies in scientific and operational level. Tsunami modelling has several phases in which exchange and enhance of available earthquake and tsunami data, bathymetric and topographic data in sufficient resolution, selection of possible or credible tsunami scenarios, selection and application of the validated and verified numerical tools for tsunami generation, propagation, inundation and visualization must be covered.


In general, there are several unique phases of tsunami modeling for a specific region.







Tsunami numerical modeling by NAMI DANCE is based on the solution of nonlinear form of the long wave equations with respect to related initial and boundary conditions. There were several numerical solutions of long wave equations for tsunamis. In general the explicit numerical solution of Nonlinear Shallow Water (NSW). Equations are preferable for the use since it consumes reasonable computer time and memory, and also provides the results in acceptable error limit. The most important development in tsunami modeling has been achieved by Profs. Shuto and Imamura by developing model TUNAMI N2 and opened to the use of tsunami scientists under the umbrella of UNESCO (Imamura, 1989, Shuto, Goto, Imamura, 1990, Goto and Ogawa, 1991). TUNAMI N2 determines the tsunami source characteristics from earthquake rupture characteristics. It computes all necessary parameters of tsunami behavior in shallow water and in the inundation zone allowing for a better understanding of the effect of tsunamis according to bathymetric and topographical conditions. NAMI DANCE has been developed by Profs. Zaytsev, Chernov, Yalciner, Pelinovsky and Kurkin using the identical computational procedures of TUNAMI N2. Both codes are cross tested also verified in international workshops specifically organized for testing and verifications of tsunami models (Synolakis, Liu, Yeh, 2004, Yalciner et. al., 2007b). These models have been applied several tsunami application all over the world (some of references are Yalciner et. al. 1995, 2002 a,b,c 2007 a,b, Zahibo et. al. 2003 a,b)  As well as tsunami parameters, NAMI DANCE computes

i)            tsunami source from either rupture characteristics or pre-determined wave form,

ii)          propagation,

iii)        arrival time,

iv)        coastal amplification

v)          inundation (according to the accuracy of grid size),

vi)        distribution of current velocities and their directions at selected time intervals, 

vii)      distribution of discharge fluxes at selected time intervals, 

viii)    distribution of water surface elevations (sea state)  at selected time intervals,

ix)        relative damage levels (Froude Number and its square) according to drag force and impact force,

x)          time histories of water surface fluctuations at selected gauge locations,

xi)        3D plot of sea state at selected time intervals from different camera and light positions,

xii)      Animation of tsunami propagation between source and target regions (Yalciner et. al., 2006b, 2007b).





3.1. “File” Menu

Figure 1 : File menu

Using “File” menu, projects can be opened and saved in “.xnp” format. The project file contains type of input files, transparency percent, image file, landslide color, color palettes loaded for landscape and water, multipliers and camera position (also dynamic positions and camera target). User can save the parameters on 3D Plot panel and can load (Open) using “File” menu when NAMI DANCE is used next time.

3.2. “View” Menu


Figure 2 : View menu


Display of the toolbar and status bar can be selected using “View” menu.


3.3. “Bathymetry” Menu


Determination of Grid Size and Bathymetry Processing


Figure 3 : Bathymetry menu

“Bathymetry” window allows determination of grid size and bathymetry processing.

After entering the maximum and minimum GPS coordinates (longitude-latitude of left bottom and right top corners of the domains) and grid step of your study domain, click “Obtain” button. Then, you can read/obtain number of grid points in the latitudinal (Northing) and longitudinal (Easting) directions in your domain (i.e. grid sizes along X and Y directions). Sea bathymetry must be positive, and topography must be negative.



Figure 4 : Bathymetry information window


NAMI DANCE program uses the bathymetry of the area as input data. The bathymetry of the area is usually stored as data files. These files consist of three values; x coordinate, y coordinate and the depth values. However data files are typically randomly spaced files and these data must be converted into an evenly spaced grid before using as input file of the program. To convert into a grid file, a program called Surfer is used.


Surfer is a contouring and 3D surface mapping program that runs under Microsoft Windows. It quickly and easily converts your data into outstanding contour, surface, wireframe, vector, image, shaded relief, and post maps. Further information can be found and also purchased at the website of Golden Software; http://www.goldensoftware.com .


Below is the procedure for converting the bathymetry data file to grid file by SURFER.

1.  Start Surfer.

2.  Click on the Grid |Data command to display the Open dialog.  

3.  Specify the name of the XYZ data file which is the bathymetry data of the area, and then click OK.  

4.  In the Grid Data dialog, specify the parameters for the type of grid file you want to produce.















Figure 5 : Grid data on Surfer

The Grid Data Dialog

When creating a grid file you can usually accept all of the default gridding parameters

Data Columns

Individually specify the columns for the X data, the Y data, and the Z data. Surfer defaults to X: Column A, Y: Column B, and Z: Column C, which represent the x coordinate, y coordinate and the depth, respectively.

Gridding Method

The gridding method should be set to Kriging which is the recommended gridding method with the default linear variogram. This is actually the selected default gridding method because it gives good results for most XYZ data sets.

Output Grid File

Choose a path and file name for the grid in the Output Grid File group by clicking the button (shown by an arrow).   Save Grid As dialog will be opened. You can type a path and file name or browse to a new path and enter a file name in the box. TUNAMI N2 and TUNAMI N3 require a specific file format for the output grid file which is ASCII grid file format. To change the file format, use the drop down Save as type menu and choose GS ASCII (*.grd) format as shown below. Then click “Save” and return to Grid Data menu. 



Figure 6 : ASCII Grid File Format (.grd)




ASCII Grid File Format

ASCII grid files [.grd] contain five header lines that provide information about the size and limits of the grid, followed by a list of Z values. The fields within ASCII grid files must be space delimited (nonlimited??).


The listing of Z values follows the header information in the file. The Z values are stored in row-major order starting with the minimum Y coordinate. The first Z value in the grid file corresponds to the lower left corner of the map. This can also be thought of as the southwest corner of the map, or, more specifically, the grid node of minimum X and minimum Y. The second Z value is the next adjacent grid node in the same row (the same Y coordinate but the next higher X coordinate). When the maximum X value is reached in the row, the list of Z values continues with the next higher row, until all the rows of Z values have been included.

The general format of an ASCII grid file is:



The identification string DSAA that identifies the file as an ASCII grid file.

nx ny

nx is the integer number of grid lines along the X axis (columns)


ny is the integer number of grid lines along the Y axis (rows)

xlo xhi

xlo is the minimum X value of the grid


xhi is the maximum X value of the grid

ylo yhi

ylo is the minimum Y value of the grid


yhi is the maximum Y value of the grid

zlo zhi

zlo is the minimum Z value of the grid


zhi is the maximum Z value of the grid

grid row 1

grid row 2

grid row 3



These are the rows of Z values of the grid, organized in row order.

Each row has a constant Y coordinate.

Grid row 1 corresponds to ylo and the last grid row corresponds to yhi

(i.e. the first row in the grid file is the last row on the map).

Within each row, the Z values are arranged from xlo to xhi.


Table 1 : General format of an ASCII grid file


The following example grid file is ten rows high by ten columns wide. The first five lines of the file contain header information. X ranges from 0 to 9, Y ranges from 0 to 7, and Z ranges from 25 to 97.19. The first Z value shown corresponds to the lower left corner of the map and the following values correspond to the increasing X positions along the bottom row of the grid file. This file has a total of 100 Z values.




10 10

0.0 9.0

0.0 7.0

25.00 97.19

91.03 77.21 60.55 46.67 52.73 64.05 41.19 54.99 44.30 25.00

96.04 81.10 62.38 48.74 57.50 63.27 48.67 60.81 51.78 33.63

92.10 85.05 65.09 53.01 64.44 65.64 52.53 66.54 59.29 41.33

94.04 85.63 65.56 55.32 73.18 70.88 55.35 76.27 67.20 45.78

97.19 82.00 64.21 61.97 82.99 80.34 58.55 86.28 75.02 48.75

91.36 78.73 64.05 65.60 82.58 81.37 61.16 89.09 81.36 54.87

86.31 77.58 67.71 68.50 73.37 74.84 65.35 95.55 85.92 55.76

80.88 75.56 74.35 72.47 66.93 75.49 86.39 92.10 84.41 55.00

74.77 66.02 70.29 75.16 60.56 65.56 85.07 89.81 74.53 51.69

70.00 54.19 62.27 74.51 55.95 55.42 71.21 74.63 63.14 44.99

Figure 7 : An example of grid file

Grid Line Geometry

Grid line geometry defines the grid limits and grid density. Grid limits are the minimum and maximum X and Y coordinates for the grid. Grid density is usually defined by the number of columns and rows in the grid. The # of Lines in the X Direction is the number of grid columns, and the # of Lines in the Y Direction is the number of grid rows. By defining the grid limits and the number of rows and columns, the Spacing values are automatically determined as the distance in data units between adjacent rows and adjacent columns.


5.  Click OK and the grid file is created. During gridding, the status bar at the bottom of the Surfer window provides you with information about the progress of the gridding process.






Source Menu

“Source” window allows you to create the initial wave using the fault parameters. There are two different options as “User defined” and “Rupture” under the “Source” menu as shown in figure below.


Figure 8 : Source menu




“Rupture” Option:

In order to generate the initial wave due to an earthquake;

1. On the “Source”menu, click “Rupture”.

2. In “The name of the bathymetry file (input)” box, enter the name of the bathymetry file you want to use, or browse to locate the file.

3. In “The name of tsunami source file (output)” box, enter the name of the output file which is going to generateinitial wave (tsunami source) file, such as initialwave.grd, or browse to locate the file.

4. In the start point and end point of fault axis boxes, enter the coordinates of the start and end points of the fault.

5. In the “Parameters of fault” boxes, enter the requested parameters according to the data of the fault which produced the earthquake. Definitions of the fault break parameters are:

i)                 Epicenter coordinates 

ii)               Length of the fault (L)

iii)             The width of the fault (W)

iv)             Strike angle, the direction of the fault axis from North (Clockwise) (θ)

v)               The dip angle (δ)

vi)             The rake (slip) angle (λ)

vii)           Vertical displacement of the (slip) fault (D)

viii)         Focal depth (H)








Rupture characteristics:

Figure 9 : Origin of the movement of the fault planes

6. Click “Run” to generate the initial wave.

7. If you want to save the parameters, click “Save”. The window will be closed. In order to generate the initial wave, open the seismic fault window and click “Run”.



Figure 10 : Seismic source inputs

“User Defined” Panel:

In order to generate an initial wave due to an impact or another arbitrary disturbance in elliptical shape with leading elevation or depression wave condition, you can use user defined option.

1. On the “source” menu, click “user defined”.

2. In “The name of the bathymetry file” (input) box, enter the name of the bathymetry file you want to use, or browse to locate the file.

3. In “The name of tsunami source file” (output) box, enter the name of the output file which is going to generateinitial wave (tsunami source) file, such as initialwave.grd, or browse to locate the file.

4. Enter the “grid step” which is the distance between two grid nodes of the bathymetry file in meters.

5. Enter “amplitude of center”, “length of major axis” and “length of minor axis”, “amplitude of leading wave” and “width of leading wave”. Don’t forget to put a tick in the box near “for simulation with leading wave” option. These parameters are shown in the figures below.








   Wl : Width of the leading wave

    Lmajor : Length of the major axis

    Lminor : Length of the minor axis














 ac : amplitude at center



Figure 11 : Top and Side view of a wave


6. Click “Run” to generate the initial wave.


7. If you want to save the parameters, click “Save”. The window will be closed. In order to generate the initial wave, open the “test fault” window and click “Run”.

Sea bottom subsidence may be observed along the strike slip faults at some locations where the step over occurs. This is called pull apart mechanism as given in Figure.














Figure 12 : Subsidence at the tensile stress area


Similarly the caldera collapse of volcanoes can be inputted with this module.




“Tsunami simulation” option is used in order to generate the sea state at specific time intervals of tsunami.


Figure 13 : Tsunami simulation menu

Source Files

1. On the “tsunami simulation” menu, click “simulate”.


Figure 14 : Source files window

2. In the Source Files window, browse for tsunami source file. Chose your source file and click “open”.



Figure 15 : Source file as an input file


3. Enter the time when the disturbance occurs. If it is an earthquake, this is the time the fault is broken.

4. Click “Add Source”

5. If there is more than one source of disturbance at different times for the event, repeat the steps above until all the source files are listed on the menu.

6. If there are “Discharge fluxes in X/Y direction” which apear in governing equations as M and N. Browse them also in the discharge fluxes section.

Figure 16 : Added Source File

7. Click “Next”.


Bathymetry & Gauge Input


Figure 17 : Bathymetry & Gauges & Time Inputs


1. In order to load the bathymetry file, click ‘plus sign (+)’ in the Bathymetry&Gauges Setup part.  In the opening window, enter the name of the bathymetry file in the “Open bathymetry file” box or browse for the location of the file and then choose the bathymetry file.



Figure 18 : Bathymetry File as an Input File


2. Enter the name of the gauge file in the “Open gauges file” box or browse for the location of the file and choose the required gauge file. You do not need to enter gauge file to perform the calculation. Gauge file is needed only when warter surface fluctuations are needed at the specific coordinates (numerical gauge locations). The authors suggest the user input a gauge file containing the name and coordinates of numerical gauge points. Thos are included in the OUT-SUMMARY-RESULTS.dat file which is helpful or decision makers.


Figure 19 : Gauge File as an Input File


3. Put a click on the box for “Nonlinear cartesian shallow water equations” in the types of equations window. And press ‘OK’ in the window.


Figure 20 : Shallow Water Equation Types

4. The bathymetry and gauge file is added in the list now as seen in the following figure.


Figure 21 : Added Bathymetry File

5. To obtain the suggested time step for calculation use the “OBTAIN” option. It automatically computes the grid size of the bathymetry files (in Nested Domains if inputted)  in meter and automatically provide the maximum depth from bathymetry files and calculate the necessary time step in second.


Figure 22 : Time step calculation

6. Enter the obtained time step value in the “time step (sec) <” box into the “time step (sec)” in the lower part of the window. Use a smaller time step value than the obtained time step value.



Figure 23 : Obtained Time Step Value and Input Time Step Value

7. Enter the start and end time of the simulation in the “time start (min)” and “time end (min)” boxes on the left of “time step (sec)” box in the lower part of the window.

8. Enter the time step for the output files in the “output file time interval (sec)” boxes which will show the sea state at the entered time intervals.


Note: If you enable ASCII GRD box, then NamiDance produces the output files of the water elevation (and velocities and fluxes) in the ASCII GRD format of Golden Software Surfer (Version 8 or lover).


If you enable Binary GRD box, then NAMIDANCE produces the output files of the water elevation (and velocities and fluxes) in the binary format of Golden Software Surfer (Version 8 or over).


If the user wants to save outputs in NetCDF (Network Common Data Form) format, then the corresponding check box should be clicked by the user.


The user can control additions input output options from MORE OPTIONS panel.

10. Click “Simulate”.


Figure 24 : Start of the Simulation Process



Figure 25 : End of the Simulation Process



11. After the simulation ends, close the box from the cross sign (x) at the right top edge or click the cancel box.


Figure 26 : Completed Simulation Process



Important Note:


It is essential that the User must check the spatial grid size value of the bathymetry file. The spatial grid size is obtained from INF Button at left of the bathymetry file name box. The OBTAIN Button must be clicked to see the required maximum value of the time step for stable simulation.


More Options Panel






Figure 27 : Output request panel for Square Froude Number, Velocity and Discharge Fluxes at different times and also input from boundary  and also limitation of wall depth, velocity and flow depth

Note:n “More options” section, Froude number, current velocities and discharge fluxes can be outputtedat every grid point at specified time intervals if the check boxes are enabledand required time intervals are put in the box in second unit by the user. The maximum values of these parameters computed during simulation are also stored by NAMI DANCE at the end of the simulation.




The wall depth:  The user can also put a wall at a certain depth of elevation. Wall depth is a depth/elevation where a vertical impermeable barrier is located. No wave motion is permitted behind this barrier. If you want to put a barrier at land, insert negative depth.


The user can also put a limit of velocity which may have high values at very shallow flow depth conditions. The default value of velocity limit is 20 m/sec.


The user can also put a limit to the computation for the very small flow depths. The default value of the flow depth limit is suggested to be 0.4m. The computation is not performed for the flow depth less than thie inputted limit.