18
The GeoClaw software for depth-averaged flows with adaptive refinement Marsha J. Berger, David L. George, Randall J. LeVeque, and Kyle T. Mandli Courant Institute of Mathematical Sciences, NYU, Cascades Volcano Observatory, U.S. Geological Survey, 1300 SE Cardinal Ct. #100, Vancouver, WA 98683 Department of Applied Mathematics, University of Washington, Box 352420, Seattle, WA 98195-2420 Abstract Many geophysical flow or wave propagation problems can be modeled with two-dimensional depth-averaged equations, of which the shallow water equations are the simplest example. We describe the GeoClaw software that has been designed to solve problems of this nature, consisting of open source Fortran programs together with Python tools for the user interface and flow visualization. This software uses high-resolution shock- capturing finite volume methods on logically rectangular grids, including latitude–longitude grids on the sphere. Dry states are handled automatically to model inundation. The code incorporates adaptive mesh refinement to allow the efficient solution of large-scale geophysical problems. Examples are given illustrating its use for modeling tsunamis and dam-break flooding problems. Documentation and download information is available at www.clawpack.org/geoclaw. 1. Introduction Many geophysical flow or wave propagation prob- lems take place over very large spatial domains, for which detailed three-dimensional modeling of the fluid dynamics is not an efficient option. Fortu- nately, two-dimensional depth-averaged equations such as the shallow water equations often provide models that are sufficiently accurate for many appli- cations. Even with two-dimensional models, how- ever, it is often necessary to use adaptive mesh re- finement (AMR) techniques in order to concentrate grid cells in regions of interest, and to follow such regions as the flow evolves. This is often the only efficient way to obtain results that have sufficient spatial resolution where needed without undue re- finement elsewhere, such as regions the flow or wave has not yet reached or points distant from the study area. We will briefly describe and illustrate the use of GeoClaw, an open source research code that uses high-resolution finite volume methods together with adaptive mesh refinement to tackle geophysi- cal flow problems. In particular, this code has re- cently been used together with the shallow water equations to model tsunamis and dam-break floods. In Section 7 we give a brief illustration of each. For other geophysical flow problems it may be necessary to replace the shallow water equations by a differ- ent set of depth-averaged equations. For example, in modeling landslides, debris flows, or lahars, it is necessary to incorporate terms modeling internal stress or pore pressure (e.g. [13, 41]). The software is written in a manner that allows such extensions. GeoClaw is based on the Clawpack software and is incorporated as a part of the general Clawpack distribution [30]. Clawpack (Conservation Laws Package) is an open source software package that has been under development since 1994 and is widely used for both teaching and research pur- poses. It is designed to solve hyperbolic systems of partial differential equations (PDEs) in one, two, and three space dimensions. This class of PDEs generally models wave propagation or fluid trans- port, and a wide variety of physical problems give rise to mathematical models of hyperbolic form, in- cluding for example compressible gas dynamics, lin- ear and nonlinear acoustics, and elastic wave propa- gation. The theory of nonlinear hyperbolic systems and a variety of applications are described in [27], which also describes in detail the high-resolution finite volume methods implemented in Clawpack. Nearly all of the examples given in this text are available as working examples via the Clawpack website. Preprint submitted to Elsevier October 29, 2018 arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

The GeoClaw software for depth-averaged flows with adaptive refinement

Marsha J. Berger, David L. George, Randall J. LeVeque, and Kyle T. Mandli

Courant Institute of Mathematical Sciences, NYU,Cascades Volcano Observatory, U.S. Geological Survey, 1300 SE Cardinal Ct. #100, Vancouver, WA 98683

Department of Applied Mathematics, University of Washington, Box 352420, Seattle, WA 98195-2420

Abstract

Many geophysical flow or wave propagation problems can be modeled with two-dimensional depth-averagedequations, of which the shallow water equations are the simplest example. We describe the GeoClaw softwarethat has been designed to solve problems of this nature, consisting of open source Fortran programs togetherwith Python tools for the user interface and flow visualization. This software uses high-resolution shock-capturing finite volume methods on logically rectangular grids, including latitude–longitude grids on thesphere. Dry states are handled automatically to model inundation. The code incorporates adaptive meshrefinement to allow the efficient solution of large-scale geophysical problems. Examples are given illustratingits use for modeling tsunamis and dam-break flooding problems. Documentation and download informationis available at www.clawpack.org/geoclaw.

1. Introduction

Many geophysical flow or wave propagation prob-lems take place over very large spatial domains, forwhich detailed three-dimensional modeling of thefluid dynamics is not an efficient option. Fortu-nately, two-dimensional depth-averaged equationssuch as the shallow water equations often providemodels that are sufficiently accurate for many appli-cations. Even with two-dimensional models, how-ever, it is often necessary to use adaptive mesh re-finement (AMR) techniques in order to concentrategrid cells in regions of interest, and to follow suchregions as the flow evolves. This is often the onlyefficient way to obtain results that have sufficientspatial resolution where needed without undue re-finement elsewhere, such as regions the flow or wavehas not yet reached or points distant from the studyarea.

We will briefly describe and illustrate the useof GeoClaw, an open source research code thatuses high-resolution finite volume methods togetherwith adaptive mesh refinement to tackle geophysi-cal flow problems. In particular, this code has re-cently been used together with the shallow waterequations to model tsunamis and dam-break floods.In Section 7 we give a brief illustration of each. Forother geophysical flow problems it may be necessary

to replace the shallow water equations by a differ-ent set of depth-averaged equations. For example,in modeling landslides, debris flows, or lahars, itis necessary to incorporate terms modeling internalstress or pore pressure (e.g. [13, 41]). The softwareis written in a manner that allows such extensions.

GeoClaw is based on the Clawpack software andis incorporated as a part of the general Clawpackdistribution [30]. Clawpack (Conservation LawsPackage) is an open source software package thathas been under development since 1994 and iswidely used for both teaching and research pur-poses. It is designed to solve hyperbolic systems ofpartial differential equations (PDEs) in one, two,and three space dimensions. This class of PDEsgenerally models wave propagation or fluid trans-port, and a wide variety of physical problems giverise to mathematical models of hyperbolic form, in-cluding for example compressible gas dynamics, lin-ear and nonlinear acoustics, and elastic wave propa-gation. The theory of nonlinear hyperbolic systemsand a variety of applications are described in [27],which also describes in detail the high-resolutionfinite volume methods implemented in Clawpack.Nearly all of the examples given in this text areavailable as working examples via the Clawpackwebsite.

Preprint submitted to Elsevier October 29, 2018

arX

iv:1

008.

0455

v2 [

phys

ics.

geo-

ph]

13

Jan

2011

Page 2: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Clawpack is written in a formulation that al-lows the user to specify the system of equationsbeing solved by providing a “Riemann solver” asdescribed in Section 3. The software incorporatesa general form of AMR as reviewed briefly in Sec-tion 4, in a manner that is easy to apply to manyhyperbolic problems. However, there are severaldifficulties that arise when solving depth-averagedequations over realistic topography or bathymetrythat required some substantial modifications to thegeneral approach taken in Clawpack. The GeoClawvariant of the code provides an implementation spe-cific to such problems.

In particular, this code addresses the followingissues:

• The flow takes place over topography orbathymetry that may be specified via multi-ple data sets covering overlapping regions atdifferent resolutions. (Henceforth we will gen-erally use the term topography to refer also tobathymetry.)

• Some problems can be tackled on purely Carte-sian grids, but many applications require usinglongitude–latitude grids on the earth’s surface.

• The flow is of bounded extent; the depth goesto zero at the margins and the “wet-dry inter-face” is a moving boundary that must be cap-tured as part of the flow. This is handled byallowing the fluid depth to be zero in some gridcells (“dry cells”). Cells can change dynami-cally between wet and dry to model evolvingflows or inundation, and AMR can be used toprovide sufficient resolution of the shoreline ormargin.

• There often exist nontrivial steady states (suchas an ocean at rest) that should be maintainedexactly. Often the desired flow or wave prop-agation is a small perturbation of this steadystate, as in tsunamis. For finite volume meth-ods that conserve mass by using the depthas a primary variable, this requires the useof a “well-balanced” numerical method as dis-cussed in Section 3.

These issues and the algorithms in GeoClaw are dis-cussed in more detail elsewhere [17, 18, 21, 32, 33]and here we give only a brief summary of some keyaspects of the numerical algorithms (in Section 3)and the AMR procedure (in Section 4).

The computational core of GeoClaw is writtenin Fortran, but a user interface written in Pythonis provided to simplify the setup of a single run,or of a series of runs as is often required for pa-rameter studies, sensitivity studies, or probabilisticassessments of hazards. Python and Matlab plot-ting tools are also provided for viewing the resultsin various forms, either on the dynamically chang-ing set of adaptive grids or on a set of fixed grids, orin other forms such as gauge plots of depth vs. timeat fixed spatial locations. Some of these softwaretools are described briefly in Section 6, and moredetails can be found in the on-line documentation[31].

2. Depth-averaged mathematical models

The simplest depth-averaged set of fluid equa-tions in two lateral space dimensions are the shallowwater equations

ht + (hu)x + (hv)y = 0,

(hu)t + (hu2 +1

2gh2)x + (huv)y = −ghBx −Du,

(hv)t + (huv)x + (hv2 +1

2gh2)y = −ghBy −Dv,

(1)

where u(x, y, t) and v(x, y, t) are the depth-averaged velocities in the two horizontal directions,B(x, y, t) is the topography or bathymetry, andD = D(h, u, v) is the drag coefficient. Coriolisterms can also be added to the momentum equa-tions. The equations (1) have the form

qt + f1(q)x + f2(q)y = ψ(q, x, y) (2)

where q = (h, hu, hv) is the vector consisting of thedepth and momentum of the fluid. In the absenceof bathymetry (B ≡ constant, so Bx = By = 0)and drag (D ≡ 0), the source terms would be zero(ψ ≡ 0) and these equations would express the con-servation of mass and horizontal momentum. Weuse conservative finite volume methods that in gen-eral conserve mass to machine precision (since thereis no source term in the mass equation) and wouldalso conserve momentum in the absence of sourceterms. This is true even when AMR is applied, withthe exception of cells that intersect the coastline, asdiscussed further in Section 4.

Note that for an ocean at rest, in which h(x, t) +B(x, y) ≡ 0 (sea level) in all wet cells, the topog-raphy source terms exactly cancel the derivatives

2

Page 3: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

of the hydrostatic pressure 12gh

2. Maintaining thisbalance numerically is critical and is discussed inSection 3. The drag term could have many forms;for the experiments reported here we use

D =gM2

√(u2 + v2)

h5/3(3)

where M is the Manning coefficient, which we taketo be 0.025. (Typical values for the Manning coef-ficient for a given substrate are empirically based.See [10] for a description and examples of valuesused in various applications.)

Most tsunamis are generated by motion of the seafloor due to an earthquake or submarine landslide,setting the entire water column in motion. Thewave length is generally very long compared to thedepth of the ocean, and under these conditions theshallow water equations (1) are generally appropri-ate. This has been confirmed in comparisons doneby many groups (e.g. [50, 25, 34, 44]), althoughin some cases it is believed that dispersive termsmay need to be included (e.g. [22, 43]), particularlywhen modeling tsunamis generated by submarinelandslides, which typically have short wavelengths(e.g. [35, 48]). In Section 7 we illustrate the use ofGeoClaw for tsunami modeling using the shallowwater equations. Adding dispersive terms wouldgenerally require the use of implicit time steppingalgorithms, which are not yet implemented in Geo-Claw. Development of an implicit version of theAMR routines in Clawpack is a current project andthis may be possible in the future.

For other applications it is less clear that theclassical shallow water equations are sufficient. Forshallow flow on steep terrain, such as following adam break for example, vertical acceleration termsmay need to be added to improve the model. How-ever, the simple equations (1) are often still usedfor many practical problems and can give fairly ac-curate results. In Section 7.3 we display some dam-break results from [19]. Some possible extensionsto other depth-averaged systems of equations arementioned in Section 8.

3. Numerical methods

The algorithms used in GeoClaw are describedin detail elsewhere; see in particular [33]. Here weonly give a brief summary with pointers to othersources for further reading. GeoClaw is based onClawpack, which provides a general implementation

of “wave-propagation algorithms”, a class of high-resolution finite volume methods in which each gridcell is viewed as a volume over which cell averagesof the solution variables q are computed. Logicallyrectangular grids are used and Qn

ij denotes the cellaverage in cell (i, j) at time tn. In each time stepthe cell averages are updated by waves propagat-ing into the grid cell from each cell edge. Theseare Godunov-type methods in which the waves arecomputed by solving a “Riemann problem” at eachcell edge. The Riemann problem is an initial valueproblem using the shallow water equations togetherwith piecewise constant data determined by the cellaverages of the dependent variables and topogra-phy on each side of the interface. The advantage ofGodunov-type methods is that they provide a ro-bust approach to solving problems with discontin-uous solutions, in particular shock waves that gen-erally arise in the solution to nonlinear hyperbolicequations. In the shallow water equations, shocksare “hydraulic jumps” or “bores”, as often arise inpractical flow problems. The Riemann problem de-fined at each cell interface allows for shock wavesin each Riemann solution and “approximate Rie-mann solvers” are used that rapidly produce ro-bust solutions as a building block for the numericalmethod. Correction terms are also incorporated sothat the computed solution is second-order accuratein smooth regions of the flow.

GeoClaw employs a variant of the f-wave formu-lation, described in [18], which allows the topogra-phy source terms to be directly incorporated intothe Riemann problem. The f-wave formulation ofthe wave-propagation algorithms was originally pre-sented for the shallow water equations in [4]. Inthis approach it is the difference in the flux normalto the cell interface that is split into propagatingwaves (rather than the jump in Q), but only aftermodifying the momentum components of the fluxdifference by the topography source terms. Thisis done in such a way that the methods are well-balanced for the ocean at rest: if the initial datais in equilibrium with zero velocities and a flat sur-face (h+B = constant) then the modified flux dif-ference is the zero vector, leading to zero-strengthf-waves and no change to the solution. This ap-proach to well balancing is discussed in more detailin [4, 29, 33] and Section 17.14 of [27].

The f-waves modify the cell averages on each sideof the interface. We also solve a “transverse Rie-mann problem” in which the waves moving normalto the cell edge are split in the transverse direction

3

Page 4: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

and modify the cell averages in adjacent rows ofgrid cells. This improves stability and accuracy ofthe method and this general approach is discussedin more detail in [26] and Chapters 20–21 of [27], forexample. The f-waves are also used to define cor-rection terms modeling second derivatives normalto the interface that, together with the transverseterms, make the method second order accurate forsmooth solutions. Before calculating these terms,however, wave limiters are applied to the f-waves toreduce their amplitude in regions where the solutionvaries rapidly. This results in a “high-resolutionmethod” that avoids nonphysical oscillations in re-gions where the solution is rapidly varying. Thismethodology has been well developed in the contextof shock-capturing for general nonlinear hyperbolicsystems of equations and leads to a robust method.

Developing a Riemann solver that works robustlyin the presence of dry states is particularly challeng-ing — it must handle the case where one state inthe Riemann problem is already dry as well as situ-ations where a cell dries out as a wave recedes, andmust work robustly when the topography has arbi-trary jumps from one cell to the next. Details of thesolver we use are given in [17, 18, 19]. Incorpora-tion of these dry state solvers is an important aspectof GeoClaw, since we model the moving shoreline ormargin of a flow implicitly as the interface betweenwet and dry cells. This generally means that theshoreline is represented by a stair-step pattern ona Cartesian grid. By using adaptive refinement weare able to use fine enough grids in regions of inter-est that this can provide sufficient resolution, butthis also means that the dry-state algorithms mustalso function well in conjunction with AMR gridsand at the interfaces between grids at different lev-els of refinement. This was one of the more difficultaspects of developing and debugging the GeoClawextension.

The topography source terms (those involving Bx

and By on the right hand side of (1)) are incorpo-rated in the Riemann solver in order to obtain awell-balanced method and to handle the dry stateproblem. On the other hand, the drag source termsare handled via a fractional step approach: aftereach time step of the hyperbolic problem a time stepis taken in which the momenta are adjusted due tothe drag terms. Coriolis terms can also be incor-porated in the same manner and this is included asan option in GeoClaw, though for tsunami model-ing at least this appears to be a negligible effect,both in our own experiments and elsewhere in the

literature, e.g., [25].

In general Clawpack allows the solution of hy-perbolic problems on any logically rectangular grid,with an arbitrary mapping function specified thatmaps points in computational space (a rectangulargrid with uniform spacing) to the physical domain.In two space dimensions the grid cells are alwaysassumed to be quadrilaterals with linear cell edgesjoining vertices that are obtained by applying themapping function to the rectangular grid of ver-tices in the computational domain. On the spherewith longitude–latitude coordinates, the cell edgesare great-circle geodesics and the edge lengths andcell areas must be measured on the sphere.

The wave-propagation algorithms with trans-verse Riemann solvers work very robustly, even onhighly distorted grids or with non-smooth map-ping functions. Unlike many approaches to mappedgrids, we do not incorporate metric terms that de-pend on derivatives of the mapping function intothe differential equations. Instead, we always solveRiemann problems for the original set of equationsin the direction orthogonal to each cell edge. Thelengths of the edges and the area of the quadri-lateral cell then come into the formulas for updat-ing cell averages. The transverse wave propaga-tion also takes account of the fact that adjacentcell edges are not necessarily orthogonal to one an-other. For propagation on the earth, we use dis-tances and areas as measured on a sphere, althoughin principle this could be replaced by a geoid orother surface. Currently in GeoClaw the domainchoices are limited to the sphere with longitude–latitude coordinates or purely Cartesian domains,primarily because the more general routines for in-tegrating topography data sets (see Section 5) overa general quadrilateral have not yet been devel-oped. Longitude–latitude coordinates are suitablefor modeling tsunamis on the earth, where the do-main of interest is bounded away from the poles. Inrecent work we have also explored another class ofquadrilateral grids on the sphere and present someresults using AMR for a tsunami-type problem oversynthetic bathymetry on the whole sphere in [5].

4. Adaptive mesh refinement

In this section we describe the patch-based meshrefinement that is used to span the orders of magni-tude in spatial scales exhibited by many geophysicalflow problems. For example, to go from ocean scale

4

Page 5: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

propagation to the resolution of small-scale coast-line features in a single tsunami model, meter-scaleresolution may be needed in a small subset of adomain that covers millions of square kilometers.Multiple levels of patches can be used until a suffi-ciently fine resolution is reached. We also give anoverview of the numerical algorithms needed to ini-tialize and remove fine grid patches, and present theorganization of the time stepping procedures on thegrid hierarchy.

The time step on the refined patches is chosen sothat stability of the explicit finite volume methodis maintained. This generally requires refining intime by the same factor as in space. For example,if the level 2 grids are refined in both x and y by afactor of 4 relative to level 1, then four time stepson all level 2 grids must be taken for each time stepon level 1. The code is organized so that the timestep is first taken on level 1, which covers the entiredomain. Then four time steps are taken on eachof the level 2 grids. In each time step it is neces-sary to fill in “ghost cell” values around the edgesof each level 2 grid in order to provide boundaryconditions for the time step. For each ghost cell,the value is either taken from a neighboring gridat the same level, if one exists, or otherwise is ob-tained by space-time interpolation from the valueson the underlying coarse grid, which has alreadybeen advanced in time.

This same procedure is used recursively at alllevels: after each time step on the level 2 grids,the required number of time steps will be takenfor all level 3 grids and so on. This AMR proce-dure is described in more detail in [7, 33] and hasbeen successfully used for many years in Clawpackfor problems such as shock wave propagation wheredozens of grid patches are used to track shock wavesoblique to the grid.

The application to tsunami modeling promptedthe addition of a new feature to the code: the capa-bility of specifying anisotropic refinement in time,in which the time step from one level to the nextmay be refined by a different factor than the refine-ment in space. This is crucial for problems wherevery fine grids are used only near the coast of anocean, since in the shallow water equations the wavespeed is given by

√gh. In an ocean with a maxi-

mum depth of 4000 m, say, this gives a wave speedof 200 m/s (and in some regions the maximumocean depth is much greater). If a fine grid levelcovers only portions of the continental shelf witha maximum depth of 100 m, say, then the max-

imum wave speed on this level is roughly 32m/s.Hence the refinement factor in time could be up to6 times smaller than the spatial refinement factoron this level. Since the bulk of the computationalwork is often on the finest grids, this can make asubstantial difference in computing time.

Grids are refined by flagging cells where the reso-lution is insufficient and then clustering the flaggedcells into refinement patches. Flagging is done ei-ther using an error estimate (Richardson extrapola-tion), by examining gradients of the solution (whichwill detect where the largest waves are), or for thetsunami application simply by flagging cells wherethe surface elevation is perturbed from sea levelabove a specified level. In addition, it is possibleto specify rectangular regions where a certain levelof resolution is required. This can be used to in-sure that particular portions of a coastline are al-ways refined to a resolution of meters whereas thedeep ocean uses a mesh width of many kilometers.These routines are all part of the GeoClaw software,controlled by user-specified tolerances along withoptional user-specified regions in space and timewhere a minimum and maximum allowable level re-finement is specified. Regardless of which method(or combination of methods) is used to control therefinement criteria, the result is a set of flagged cellsneeding to be covered by finer grids.

Using heuristics from the pattern recognition lit-erature [8], these flagged cells are clustered intogrid patches that are efficient, in the sense thatthe grids do not contain too many unflagged cells(which would be wasteful), while also not intro-ducing too many separate patches (since there isboundary overhead associated with each fine gridpatch). The grids also should obey a proper nest-ing criterion — a grid patch at level 4 should besurrounded by a level 3 patch, and not border di-rectly on level 2 patches. Figures 3 and 4 showseveral frames from a 5 level computation. In thisexample the grids were refined by a factor of 4 ingoing from each level to the next (hence a total re-finement factor of 44 = 256 in each direction fromcoarsest to finest grids).

Every few timesteps the features in the solutionneeding refinement will have moved, and the gridpatches should move too. The grids do not actu-ally move; rather, at discrete times new grid patchesare created and their solution is interpolated fromthe finest previously existing grids, which are thenremoved. This interpolation step must be donecarefully. For example, a constant sea level should

5

Page 6: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

be maintained even in the presence of variablebathymetry so that no waves are generated solelyfrom grid refinement. This is accomplished by inter-polating the surface elevation h+B for coarser gridsand then computing the depth h in the fine cellsby subtracting the fine cell value of topography B.This maintains conservation of mass provided thatthe fine and coarse topography are consistent, in thesense that the topography value used in a coarse cellshould be the average of the values in all fine cellsthat cover this cell. This is ensured by computingexact integrals of a single piecewise bilinear repre-sentation of the topography, as described further inthe next section.

Similarly when a grid is removed, the coarsegrid solution underneath it should be the volume-weighted average of the fine grid cells it containedso that mass is not lost or gained. Most of the timethese numerical procedures are straightforward, butthere are difficulties associated with the wet-dry in-terfaces. A coarse cell that covers a shoreline regionwill be either wet or dry, depending on the level ofthe averaged topography. Suppose it is dry, for ex-ample. When the cell is refined, typically some ofthe fine cells will have to be initialized with nonzerodepth in order to represent the shoreline and tomaintain the constant sea level required before awave arrives. Hence it is essential that water be in-troduced (mass increased) in this situation. Thesesubtleties are described more fully in [33].

5. Topography data sets

To use GeoClaw the user must provide one ormore files that specify the topography for the ter-rain on which the flow evolves. Each topographydata set specifies the z coordinate (relative to sealevel, for example) at a set of points on a rectangu-lar grid (a longitude–latitude grid if this coordinatesystem is being used). Several different formats areallowed (see the documentation [31]).

Appropriate data sets for many regions of theearth are available online, for example from theNational Geophysical Data Center (NGDC) [39].A few data sets for test problems are available inthe GeoClaw topographic database [16], and morewill be added in the future. The test problems inGeoClaw include Python scripts to automaticallydownload this data as needed. Some example in-stead use synthetic data (for example the tsunamimodel presented in Section 7.1) and again a Pythonscript is provided to create this.

Some applications also require a dataset that de-scribes the motion of the topography relative to aninitial topography, for example if seafloor motionresulting from an earthquake or submarine land-slide is used to generate a tsunami. In this case oneor more files must also be provided to specify therelative displacement at one or more times.

Often more than one topography file is used atdifferent resolutions. For example, in a tsunamisimulation a large region of the ocean may be mod-eled, for which a fairly coarse resolution such asthe 10-minute or 4-minute ETOPO2 data availablefrom NGDC is sufficient. These have resolutionsof roughly 18.5 km or 7.5 km respectively in eachdirection near the equator. Since the wavelengthof tsunami waves is typically 10s to 100s of kmthis is sufficient for modeling propagation across theocean. However, it is not sufficient for modeling in-undation of specific regions along the coast, and sothis data must generally be supplemented with oneor topography files at much higher resolution oversmall regions.

In GeoClaw, an arbitrary number of topographyfiles can be provided for a single run and at eachpoint in space the topography will be determinedfrom the dataset covering this point at the finestresolution. The user should be aware, however, thatthis means there will generally be discontinuitiesin the effective topography along the boundaries offine scale datasets.

In the same way that hnij represents the cell av-erage of the fluid depth for a finite volume method,we also need a cell average Bij of the topographyin each grid cell. Topography data sets generallygive the pointwise value of B(x, y) on a grid of spa-tial locations. To convert this into cell averages, weconstruct a piecewise bilinear function that inter-polates the pointwise values and then compute theexact integral of this interpolating function over agrid cell to obtain Bij . This is easy to do if there is asingle best-resolution data set in the region arounda cell, but if a grid cell covers an area where two ormore different data sets must be sampled then com-putation of the integral is more difficult. This oftenhappens in realistic tsunami simulations. Fine gridtopography for a small region of the coast may lieentirely within one grid cell on the coarsest compu-tational grids, for example. We have implementedthis quadrature in full generality to guarantee thatthe topography values used are consistent betweendifferent adaptive mesh refinement levels.

6

Page 7: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

6. Software tools and user interface

GeoClaw is comprised of a set of library routineswritten in Fortran 77 and 95, in addition to a setof Python modules called PyClaw. The Fortran li-brary builds on the AMRClaw library of Clawpack,which was developed to apply AMR more generallyto hyperbolic problems. GeoClaw replaces many ofthe routines in AMRClaw with new ones specifi-cally designed for geophysical flow problems. Mostof the core computation is done in the Fortran rou-tines. Python is used to fetch and operate on thetopography, setup the simulation run parameters,setup the plotting options and create plots. Moredetails about many of the tools mentioned in thissection can be found in the on-line GeoClaw docu-mentation [31].

We use the Subversion version control softwareand the Trac interface as a development wiki andfor its ticket system for bug tracking. These can befound via the Clawpack webpage [30].

6.1. Problem specification

GeoClaw uses a Python script to prescribe mostof the input parameters. The script constructs adata object that contains values for all parame-ters that GeoClaw needs to run, and then writesthem out to a set of ASCII files that are read intothe GeoClaw Fortran code at run time. Thereare several reasons for taking this approach to pre-scribing the input files. A major advantage is thatit is easier to maintain backward compatibility asClawpack and GeoClaw evolve. If a new featureis added that requires new input parameters, thesecan be added to the Fortran code and default valuesadded to PyClaw so that old applications continueto run without change to the user’s input script. Itis also easier to write a flexible parser in Pythonthan in Fortran, and the use of a Python script forsetting the parameters allows the user to use loopsor functions, for example to define an array of de-sired output times using the linspace commandof NumPy. Sample input files can be viewed in thedocumentation (see the sections on setrun.py orthe sample codes to accompany this paper at [6].

The Fortran code is a stand-alone code that readsthe input files created by the Python script as dataand handles memory allocation using a combina-tion of Fortran 95 dynamic memory operations anda large work array that is managed by our own For-tran routines to efficiently allocate and deallocate

storage needed for all of the AMR grids. The For-tran allocate statement is used only if the sizeof the work array needs to be increased during thecomputation, in which case it is generally doubledin size. Software such as f2py allows one to eas-ily call Fortran from Python code and a futureproject is the ability to control time-stepping froma Python wrapper that would be able to produceplots as the computation proceeds, for example. Inone space dimension the PyClaw software also in-cludes a pure Python version of the finite volumemethods with no Fortran component. This is usefulas a test bed and teaching tool but runs consider-ably slower than the Fortran version.

6.2. Plotting

Early versions of the Clawpack software includeda set of Matlab plotting routines for visualizing theresults. Some specialized versions of the Matlabplotting routines were created for dealing with to-pographic data sets and are available in GeoClaw.Recently, however, the main development of plot-ting tools for Clawpack has shifted from Matlab toPython for a number of reasons. Many users ofClawpack do not have access to Matlab and it isdesirable to have an open source alternative. More-over, in the past few years substantial improve-ments have been made in Python plotting packagesthat provide quality that equals or exceeds that ofMatlab graphics. For two-dimensional plots of thetype shown in this paper, we use the matplotlib

module [36].We have developed a Python plotting module

that allows the user to easily specify a set of plots tobe produced for each frame of a simulation. WhenAMR is being used it is necessary to loop over allgrids and combine the solution on each grid into asingle plot. It is often desirable to combine severalplots in a single figure. For example, we may wantto do a pseudo-color plot of the water surface el-evation using one color map while the topographyin dry regions is also plotted with a different colormap. Contour lines of bathymetry may be addedto this along with indications of locations of tidegauges, resulting in a plot such as the ones shownin Section 7. The logic of looping over the gridsis handled by the plotting module and the inter-face provides a mechanism for specifying a varietyof different plots or combinations of plots on a sin-gle axis without the user needing to deal with theAMR data structures. Other useful tools such ascodes for dealing with the topographic data sets

7

Page 8: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

and colormaps appropriate for these problems arealso included.

There are also several ways the user can viewplots coming from a simulation. There is an in-teractive Python module Iplotclaw for steppingthrough the frames of a simulation and produc-ing the plots on the screen, facilitating data ex-ploration via zooming in on features of interest, forexample. Alternatively, it is easy to generate a setof hardcopy files in formats such as png or jpg,one for each figure at each time frame, togetherwith a set of webpages designed to easily browsethrough the collection of plots. Webpages are au-tomatically created to loop through all frames ofeach figure, creating an animation that is often ex-tremely useful in developing a better understand-ing of the time-evolution of the flow. This set ofwebpages also simplifies the process of archivingpast experiments for later viewing, or for sharingsharing simulations with others. Examples can beviewed on the webpages that accompany this paper[6] and in the gallery of Clawpack and GeoClawapplications in the documentation. Many of thesetools have been developed with the aim of encour-aging users to adopt the paradigm of reproducibleresearch in computational science. The approachwe have taken with Clawpack is discussed in moredetail in [28].

For three-dimensional surface plots we arecurrently investigating several options, includ-ing Mayavi [37], which is included (along withmatplotlib) in the Enthought Python Distribution[14], and VisIt, an open source visualization pack-age being developed at Lawrence Livermore Na-tional Laboratory [47]. VisIt provides more func-tionality for large scale visualization problems andis designed to work well with AMR data and dis-tributed memory supercomputers. Development of3D plotting tools for GeoClaw and Clawpack moregenerally is an on-going project.

6.3. Extending GeoClaw

An important aspect of GeoClaw is the ease atwhich GeoClaw can be extended to include otherphysics and algorithms. These extensions can beadded in a number of ways, for example throughmodification of the Riemann solvers or by addinga source term. Different physics can be incorpo-rated into the Riemann solver, to model problemsfor which the shallow water equations are not suf-ficient. Source terms, represented by ψ on the

right hand side of equation (2), are used to incorpo-rate bottom friction terms and Coriolis terms, forexample. These can be extended to model otherterms, such as the wind forcing of a tropical stormto model storm surge. A fractional step procedureis used in which time steps on the homogeneous hy-perbolic system are alternated with time steps onthe source terms, and so the user need only supplya subroutine that takes a time step on the systemqt = ψ(q).

Another aspect that users may way want to mod-ify is the algorithm used to flag grid cells for re-finement. Currently, GeoClaw uses displacementfrom sea level in addition to a set of fixed refine-ment regions that can be specified by the user. Onecould alternatively refine based on the momentumor speed of the fluid, for example.

The Clawpack and GeoClaw documentation con-tains more information on these routines and howthey can be extended. A number of other exten-sions are currently being developed and some ofthese are briefly discussed in Section 8.

7. Applications

We briefly describe three applications of Geo-Claw. The first is a new synthetic tsunami testproblem. The second example models the 27 Febru-ary 2010 earthquake in Chile as an illustration ofthe use of real data sets, and is included in the Geo-Claw distribution. Variants of these problems arealso presented in [33]. The third example is the sim-ulation of the Malpasset dam catastrophe of 1959,which has been well studied and often used as abenchmark problem, and for this problem we givea summary of the GeoClaw results that were firstpresented in [19].

7.1. Synthetic tsunami test

First we present some results obtained using asynthetic data set that has been designed to illus-trate the power of our adaptive refinement approachwith a realistic range of spatial scales, but in a con-text where it is also possible to assess the accuracyof the solution. We start with a radially symmet-ric ocean that has a depth depending only on dis-tance from some central point, which we take to belongitude x0 = 0 and latitude y0 = 40◦N (see Fig-ure 1(a)). Distance is measured as the great circle

8

Page 9: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

distance on a spherical earth by the formula

d(x, y; x0, y0) = 2R arcsin((sin(0.5(y − y0))2

+ cos(y0) cos(y) sin(0.5(x− x0))2)1/2).

where R = 6367.5 × 106m is the average radius ofthe earth. In this formula we assume the longitude-latitude pairs (x, y) and (x0, y0) are in radians toavoid the factors π/180. The bathymetry profile isshown in Figure 1(b), where the horizontal scale isin kilometers and the vertical scale in meters. Thecentral portion of the ocean is flat and is boundedby a continental slope and flat continental shelf, fol-lowed by a linear beach. We use a continuous piece-wise cubic function whose derivative is also contin-uous except at r3, the start of the beach:

B(d) =

z1 if d ≤ r1C(d) if r1 ≤ d ≤ r2z2 if r2 ≤ d ≤ r3z2 + σ(r − r3) if d ≥ r3.

(4)

where the cubic C(d) is given by

C(d) = z1 +(x2 − z1)(d− r1)

r2 − r1

(1− 2

d− r2r2 − r1

)and smoothly connects the ocean floor to the conti-nental shelf. Here r1 = 1500× 103m is the start ofthe continental slope, r2 = 1580×103m is the startof the flat continental shelf, and r3 = 1640× 103mis the start of the beach, which has slope σ = 0.02.We take z1 = −4000m for the depth of the oceanand z2 = −100m for the depth of the shelf. Theinitial shoreline is at 1645× 103m.

As a smaller scale feature we add an island on thecontinental shelf at one point that can be varied.The island is defined by a piecewise function of dis-tance about a specified center point (x1, y1) (againusing great circle distance). The center point is cho-sen to have distance 1600 km from the center of theocean (hence 45 km off shore). The island is speci-fied by B2(d) = 120(1−(d/r4)2(1−2(d−r4)/r4)) ford ≤ r4 and zero outside this radius. Here d is thedistance from (x1, y1) and the radius of the islandis r4 = 30 × 103m. The island rises from the con-tinental shelf to a peak height of 20 m above sealevel. Figure 1(c) shows how the cross section ismodified along the radial slice that passes throughthe center of the island.

The full bathymetry at any longitude–latitudepoint is thus given by

B(x, y) = B1(d(x, y; x0, y0) +B2(d(x, y; x1, y1))

A Python script that can be used to generatebathymetry files with arbitrary resolution is pro-vided in the directory for this example, which canbe downloaded from [6]. Figure 1(a) shows the en-tire ocean in longitude–latitude coordinates. Thedashed line indicates the extent of the continentalshelf. As initial data we take an ocean at rest andadd a Gaussian hump of water at the center of theocean:

h(x, y, 0) = 20 exp(−0.5× 10−9d(x, y; x0, y0)2)

−B(x, y).

The innermost contour on Figure 1(a) shows thecontour where the initial hump has an elevation of2m above sea level, 10% of its peak value.

We have performed several different runs in whichthe central point of the island (x1, y1) always hasthe same distance from (x0, y0) but is located atdifferent angular locations. The solution to theshallow water equations with this set up should beexactly radially symmetric if there were no island.With the island the solution with different island lo-cations should ideally be rotations of one another.This is a good test of the numerical method sincethe grid orientation to the shoreline near the islandvaries greatly depending on the its location. Thetwo nearshore boxed regions in Figure 1(a) indicatethe two test cases considered here. In each case anisland is centered in the 2-degree square box seenin Figure 1(a). See Figure 4 for closeups of theseregions for the two tests.

The longitude–latitude domain [−20, 20]×[20, 60]is covered with a coarse 40 × 40 grid, so the meshwidth is one degree on this level 1 grid. Notethat one degree of latitude is about 111km andone degree longitude varies from 38km at 60◦N to96km at 20◦N. We use 5 levels of mesh refinement,with refinement factor 4 in going from each levelto the next, and hence a total refinement factor of44 = 256 from the coarsest to finest grids. The level5 grid has a mesh width 1/256 ≈ .0039 degrees,or 434m in the latitude direction. (More levels orhigher refinement ratios could be used to refine fur-ther at particular points along the shoreline. Inthe tsunami computation presented in [32], for ex-ample, we used a total factor of 4096 refinementbetween coarsest and finest levels.)

Refinement to level 3 is allowed over the portionof the ocean that is in the direction of the studyarea. Refinement to levels 4 and 5 is only allowedin a small region near the island, as seen in Figure 4.

9

Page 10: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 1: (a) Geometry of the radially symmetric ocean. The outer solid curve is the position of the shoreline, with constantdistance from the center when measured on the surface of a sphere. The dashed line shows the extent of the continental shelf.The boxes labelled Test 1 and Test 2 are regions where an island is located in the tests presented in the following figures. Thesmall circle near the center shows the extent of the hump of water used as initial data. (b) The topography defined by thepiecewise cubic function (4). (c) A zoom view of the topography of the continental shelf along the ray going throug the centerof the island.

Figure 2: Topography in regions near the island for Test 1 and Test 2. The solid contour lines are shoreline (B = 0) and thedashed contour lines are at elevations B = −40,−80,−120,−160m. Note that the continental shelf has a uniform depth of−100m. The level 4 grid is shown onshore. The rectangle around the island shows the level 5 grid in each computation, whichis refined by an additional factor of 4 in each direction from the level 4 grids. The location of four gauges is also shown. Thetime history of the surface at these gauges is shown in Figure 5.

10

Page 11: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

The Gaussian initial hump spreads out into awave that propagates radially. Figure 3 shows thesea surface elevation at time t = 5000 seconds, fora calculation in which only 3 levels of refinementhave been allowed so far, in the case where the is-land is located in the square indicated as Test 1 inFigure 1(a). The edges of refinement patches aredrawn and the spreading wave is poorly resolvedon the coarse grid, but well resolved in the refinedregions.

Note also that the calculation is done on the sur-face of the sphere and so the wave spreads as a circleon the sphere, but in longitude–latitude space thewave front is not circular. The wave appears to beon track to reach all points at the shore simulta-neously, as should happen, and this is confirmed inFigures 4 and 5 which show nearly identical timehistories at two locations near the shore. The toprow of Figure 4 shows three later times for an islandlocated in the box labelled Test 1 in Figure 1(a).The bottom row of this figure shows the same threetimes for a second test run, in which the island waslocated in the box labelled Test 2 in Figure 1(a).

Figure 5 shows tide gauge data from the com-putation at four gauge locations on the radial linefrom the center of the ocean that passes throughthe center of the island. Gauges 1 and 2 are dis-tance 1570 km and 1590 km from the center, onthe seaward side of the island, while Gauges 3 and4 are distance 1610 km and 1630 km from the cen-ter of the ocean, on the lee side. Gauges 1 and 4are in regions that are never refined beyond level4, while Gauges 2 and 3 are with the region refinedto level 5. Each figure shows two curves for eachgauge, one from Test 1 (solid lines) and one fromTest 2 (dashed lines). In principle these should lieon top of each other and in fact the agreement isquite good.

Each of these calculations (for Test 1 and Test2) required roughly 18 minutes of one processoron a 32 bit, 2.26GHz MacBook Pro laptop com-puter. Approximately 55 million grid cells wereadvanced in time over the entire computation, ofwhich roughly 14M were on level 3, 28M on level4, and 11M on level 5. Levels 1 and 2 combinedaccounted for less than 1M.

7.2. The 27 February 2010 tsunami

The GeoClaw code has been used to model sev-eral historical tsunamis using bathymetry and to-pography data sets obtained from NDGC [39] and

other sources. Some simulations of the 26 Decem-ber 2004 tsunami in the Indian Ocean followingthe Sumatra-Andaman earthquake are presented in[21, 32] and several other studies are under way tobe published elsewhere. See [6] or [31] for links tosome animations.

Here we present some results for the 27 February2010 Chile event. This example is included in Geo-Claw as a sample to illustrate the use of topographydata sets. In this case we use 10-minute ETOPO2topography from NGDC [39]. The seafloor motionis generated using the Okada model [40], whichtranslates earthquake parameters taken from [45]into seafloor deformation, using a general Pythonfunction implementing the Okada model that is in-cluded in GeoClaw.

It should be noted that there are many uncer-tainties in the data used for tsunami modeling. Inparticular, the motion of the seafloor that generatesthe tsunami is generally not well determined. Evenafter seismologists use a multitude of seismic sig-nal measurements to perform source inversion anddetermine the slip of the earthquake, this typicallytakes place many km beneath the seafloor. Theseafloor displacement is dependent on the subsur-face geologic structure and is only approximatedby the Okada model, which assumes an isotropicmaterial in a half-space. One use of tsunami mod-eling is to perform source inversion directly frommeasurements of the tsunami to estimate directlythe seafloor displacements. This is the primarypurpose of the DART buoys (Deep-ocean Assess-ment and Reporting of Tsunamis), and other de-vises that measure the pressure at the seafloor indeep water and make possible the early estimationof a tsunami’s magnitude and destructive potential[38]. However, the paucity of such data makes itdifficult to obtain detailed reconstructions of theseafloor displacement.

Figure 6 shows four frames from a 3 level simu-lation. Level 1 has cell size 2 degrees. Refinementfactors of 2 and 6 are used, so the finest grid hascell size of 10′ and matches the topography data.The dot labelled 32412 shows the position of DARTbuoy 32412 [11], which collected data during theevent. Figure 7 shows this data together someGeoClaw modeling results. The 3 level simulationis as described above. The uniform grid simulationwas performed on a 360× 360 grid with 10′ resolu-tion, corresponding to the finest level of the 3 levelrun. The 3 level results lie on top of the uniformgrid results at early times, as one would hope to

11

Page 12: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 3: Computed surface elevation for Test 1 at two different times. Left: at time t = 5000 seconds, at which point at mostthree refinement levels are allowed, and only in part of the domain. Right: at time t = 10000, when 5 levels are allowed butonly near the island, which is not visible on this scale. See Figure 4 for a zoom of the region around the island.

Figure 4: Top row: Surface elevation at two times for Test 1. Bottom row: Same times for Test 2. At time t = 10000 secondsthe wave is approaching the shore. At time t = 12000 the wave has reflected off the shore and is outgoing. In all cases thesame contour levels are shown: the solid contours are at elevations of 0.4m and 0.8m above sea level, the dashed contours areat the same elevations below sea level. The inner rectangle is the interface between level 4 and level 5 grids. The level 4 gridis shown onshore. The level 5 grid is finer by a factor of 4 in each direction.

12

Page 13: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 5: Comparison of gauge output from Test 1 and Test 2, showing the surface elevation (vertical axis, (m)) as a functionof time (horizontal axis, (s)) for the gauges shown in Figure 2. In each case the solid blue curve is from Test 1 and the dashedred curve is from Test 2.

see. At later times the 3 level simulation is less ac-curate because the region near the DART buoy isno longer refined once the main tsunami wave hasmoved past it. Figure 7 also shows results obtainedwith a 4 level simulation using refinement factors2,6, and 8, so that the finest has 1.25′ resolution.With this resolution the leading peak is capturedbetter and the amplitude of the primary wave iswell estimated.

Note that there is very little evidence of spuriousreflected waves at the refinement boundaries in thisfigure (or in the figures from the previous example).This is true in general with the AMR approachused in Clawpack. Moreover, for problems wherethe computational domain does not cover the fullocean (such as in Figure 6), it is important that themethod does not generate spurious numerical reflec-tions at these outflow boundaries. The Godunov-type wave-propagation algorithms do a very goodjob of providing non-reflecting boundary conditionssimply by using constant extrapolation into ghostcells at the domain boundaries: the values in inte-rior cells adjacent to the boundaries are copied intoghost cells. Then solving the Riemann problems atthe interfaces along the boundaries results in zero-strength waves propagating into the domain, andhence no apparent reflection of the out-going waves.

The 3-level computation ran in about 1.5 minuteson a 64 bit, 2.26GHz MacBook Pro laptop, advanc-ing 21 million grid cells. By contrast, the 360×360uniform grid computation on this domain (at theresolution of the finest AMR grid) required about8 minutes of computer time, advancing 137 million

grid cells.The advantage of AMR is clear, even for this

problem where we are not zooming in on regionsof the coast to model inundation.

The uniform grid calculation exhibits a largernumber of “cells advanced per second of compu-tation” (285K vs. 233K), due to the overhead ofadaptive refinement. This overhead is greater inGeoClaw than normally found in Clawpack becauseof the need to recompute the topography in eachgrid cell each regridding time. In this calculationwe regrid every 3 time steps to insure waves do notleave refinement patches between regridding. In thefuture we hope to improve the efficiency of regrid-ding the topography.

7.3. Riverine and overland flooding

The shallow water equations are often used tomodel riverine or overland flooding problems, suchas those due to dam/levee breaches (e.g. [23, 46, 2]).For flooding problems in rugged mountainous ter-rain, where rapidly varying contours in the topogra-phy create highly irregular domains, adaptive meshrefinement can be a valuable tool because the op-timal grid resolution is highly spatially and tem-porally dependent yet unpredictable before doingthe computation. A common approach for model-ing floods in complicated topographic regions is touse static irregular meshes that are fit to the to-pography in some fashion (e.g. [46]). However, byusing adaptive mesh refinement, uniform rectangu-lar grids can be used for such problems, resolvingthe flood on an evolving patchwork of finer grids

13

Page 14: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 6: Four frames from a 3 level simulation of the 27 February 2010 Chile event. The location of DART buoy 32412 is alsoindicated, for which the time history is shown in Figure 7. Note the reflection from the Gallapagos near the equator at 6 hours.

14

Page 15: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 7: Time history at DART buoy 32412, together with computational results from three GeoClaw runs as described inthe text.

that advance with the flood waves through topogra-phy. This makes it much simpler to set up a generalproblem.

We have tested GeoClaw in this context by mod-eling the historic Malpasset dam-break flood, whichoccurred in southern France in 1959 (see [19]).This thin-arch dam failed suddenly and explosively,sending a roughly 60 m deep flood wave into thewinding ravine below, eventually inundating theReyran River Valley. This disaster has served asa valuable test case for code validation due to theextensive field data, such as high water marks, col-lected after the event. For this problem we used a6.47 km east–west (x-direction) by 16.58 km north–south (y-direction), rectangular grid. The coars-est level 1 grid was 16 by 40 grid cells respectively(∆x × ∆y ≈ 404.4m × 414.5m) . Level 2, level3 and level 4 grids were then used to refine theflowing water, with refinement ratios of 8, 4 and 4,yielding ≈ 3m × 3m grid cells on the finest level.Some snapshots from the simulation are shown inFigure 8. The maximum water depth computed byGeoClaw at various points was compared to othercodes and empirical field and model data, shown inFigure 9. A detailed explanation of this test prob-lem and comparison can be found in [19].

8. Conclusions and future plans

The GeoClaw software project grew out of theTsunamiClaw code developed by one of the authorsin his 2006 PhD thesis [17], which itself grew out ofClawpack. It has undergone several more years ofdevelopment and testing, primarily on tsunami sim-ulation. The version recently released with Claw-pack 4.5 (in July, 2010) is fairly robust and sta-ble, but will continue to be developed and improvedin the future. We are also incorporating OpenMPinto the code to take advantage of multi-core sharedmemory computers.

A number of on-going projects by the authorsmake use of this software. We are currently devel-oping depth-averaged models for two-phase flowsconsisting of granular-fluid mixtures, applicable todebris-flow floods and volcanic lahars or mudslides(e.g. [20, 24, 12, 13]). These flows often occur inrugged mountainous regions, and present many ofthe same difficulties as overland flooding in terms ofdomain geometry. The shallow water equations arealso often used to model storm surge, e.g. [42, 49],and we are currently investigating the use of bothstandard single layer shallow water equations andalso a multi-layer versions of the code as a possi-ble improvement. The multi-layer version may alsobe useful for modeling tsunamis generated by sub-marine landslides, as done for example in [15], al-though the multilayer shallow water equations in-

15

Page 16: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Figure 8: A GeoClaw simulation of the Malpasset dam-break flood from [19]. Initial and later times are shown from left toright. A very coarse level 1 grid is used where the flood has yet to arrive. The reservoir in the northeast corner (upper right)is resolved on a level 2 grid. Level 3 and 4 grids surround and evolve with the flood as it winds down a ravine, eventuallyentering the Reyran River Valley. Individual level 3 and 4 grids are outlined; their grid lines are omitted for clarity.

Figure 9: Comparison of the maximum water depths produced by a GeoClaw simulation from [19] with those presented by otherauthors [46, 23] using static topography-fit irregular meshes. Simulation results are compared with field data for high-watermarks collected after the flood at 17 surveyed points (left), and with a physical scale-model experiment, where the maximumwater level was recorded by electronic gauges at 12 locations (right). Depths not computed by GeoClaw are estimated bysubtracting interpolated topography from the reported surface elevations. Figures are adapted from [19], where total surfaceelevations are shown.

16

Page 17: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

troduce a number of new mathematical and numer-ical challenges (see e.g. [1, 3, 9]). In the future theGeoClaw webpage and the application gallery willshow some results from these new application areas.Animations and some GeoClaw code to accompanythe simulations presented in this paper are availableat [6].

Acknowledgments. This research was sup-ported in part by DOE grant DE-FG02-88ER25053,AFOSR grant FA9550-06-1-0203, NSF Grant DMS-0914942, ONR Grant N00014-09-1-0649, and theFounders Term Professorship in Applied Mathe-matics at the University of Washington.

References

[1] R. Abgrall and S. Karni. Two-layer shallow water sys-tems: a relaxation approach. SIAM J. Sci. Comput.,31:1603–1627, 2009.

[2] F. Alcrudo. River valley flooding simulation. InR. Vilsmeier, F. Benkhaldoun, and D. Hanel, editors,Proceedings of Finite Volumes for Complex Applica-tions II, pages 543–550, Duisburg, Germany, 1999. Edi-tions Hermes, Paris.

[3] E. Audusse. A multilayer Saint-Venant model. Disc.Cont. Dyn. Sys. B, 6:1–14, 2000.

[4] D. Bale, R. J. LeVeque, S. Mitran, and J. A. Ross-manith. A wave-propagation method for conservationlaws and balance laws with spatially varying flux func-tions. SIAM J. Sci. Comput., 24:955–978, 2002.

[5] M. J. Berger, D. A. Calhoun, C. Helzel, and R. J. LeV-eque. Logically rectangular finite volume methods withadaptive refinement on the sphere. Phil. Trans. R. Soc.A, 367:4483–4496, 2009.

[6] M. J. Berger, D. L. George, R. J. LeVeque, andK. M. Mandli. Simulations to accompany this paper.www.clawpack.org/links/papers/awr10, 2010.

[7] M. J. Berger and R. J. LeVeque. Adaptive mesh refine-ment using wave-propagation algorithms for hyperbolicsystems. SIAM J. Numer. Anal., 35:2298–2316, 1998.

[8] M. J. Berger and I. Rigoutsos. An algorithm for pointclustering and grid generation. IEEE Trans. Sys. Man& Cyber., 21:1278–1286, 1991.

[9] M. Castro, J. A. Garcia, J. M. Gonzalez, J. Macias, andC. Pares. Improved FVM for two-layer shallow-watermodels: Application to the Strait of Gibraltar. Adv.Eng. Soft., 38:386–398, 2007.

[10] V. T. Chow. Open Channel Hydraulics. McGraw-Hill,1959.

[11] DART Buoy 32412.http://www.ndbc.noaa.gov/station page.php?station=32412.

[12] R. P. Denlinger and M. Iverson. Flow of variably flu-idized granular masses across three-dimensional terrain:2. numerical predictions and experimental tests. J. Geo-phys. Res., 106:553–566, 2001.

[13] R. P. Denlinger and R. M. Iverson. Granular avalanchesacross irregular three-dimensional terrain: 1. theoryand computation. J. Geophys. Res., 109:F01014, 2004.

[14] Enthought Python Distribution.http://www.enthought.com/products/epd.php.

[15] E. D. Fernandez-Nieto, F. Bouchut, D. Bresch, M. J.Castro Diaz, and A. Mangeney. A new savage-huttertype model for submarine avalanches and generatedtsunami. J. Comput. Phys., 227(16):7720–7754, 2008.

[16] GeoClaw topography files.http://www.clawpack.org/topo.

[17] D. L. George. Finite Volume Methods and AdaptiveRefinement for Tsunami Propagation and Inundation.PhD thesis, University of Washington, 2006.

[18] D. L. George. Augmented Riemann solvers for theshallow water equations over variable topography withsteady states and inundation. J. Comput. Phys.,227(6):3089–3113, March 2008.

[19] D. L. George. Adaptive finite volume methods withwell-balanced Riemann solvers for modeling floods inrugged terrain: Application to the Malpasset dam-break flood (France, 1959). Int. J. Numer. Meth. Flu-ids, pages Published online, May 2010, 2010.

[20] D. L. George and R. M. Iverson. A two-phase debris-flow model that includes coupled evolution of volumefractions, granular dilatency, and pore-flud pressure.submitted to Italian Journal of Engineering, Geologyand Environment, 2010.

[21] D. L. George and R. J. LeVeque. Finite volume meth-ods and adaptive refinement for global tsunami propa-gation and local inundation. Science of Tsunami Haz-ards, 24(5):319–328, 2006.

[22] F. I. Gonzalez and Y. A. Kulikov. Tsunami disper-sion observed in the deep ocean. In S. Tinti, editor,Tsunamis in the World, volume 1 of Advances in Nat-ural and Technological Hazards Research, pages 7–16.Kluwer Academic Publishers, 1993.

[23] J. M. Hervouet and A. Petitjean. Malpasset dam breakrevisited with two-dimensional computations. J. Hy-draul. Res., 37:777–788, 1999. 6.

[24] R. M. Iverson. The physics of debris flows. Rev. Geo-phys., 35(3):245–296, 1997.

[25] Z. Kowalik, W. Knight, T. Logan, and P. Whitmore.Modeling of the global tsunami: Indonesian Tsunamiof 26 December 2004. Science of Tsunami Hazards,23(1):40–56, 2005.

[26] R. J. LeVeque. Wave propagation algorithms for multi-dimensional hyperbolic systems. J. Comput. Phys.,131:327–353, 1997.

[27] R. J. LeVeque. Finite Volume Methods for HyperbolicProblems. Cambridge University Press, 2002.

[28] R. J. LeVeque. Python tools for reproducible researchon hyperbolic problems. Computing in Science and En-gineering, 11:19–27, 2009.

[29] R. J. LeVeque. A well-balanced path-integral f-wavemethod for hyperbolic problems with source terms.Submitted, www.clawpack.org/links/wbfwave10, 2010.

[30] R. J. LeVeque, M. J. Berger, et al. clawpack software.www.clawpack.org (http://www.clawpack.org).

[31] R. J. LeVeque, M. J. Berger, D. L. George,et al. GeoClaw software. www.clawpack.org/geoclaw(http://www.clawpack.org/geoclaw).

[32] R. J. LeVeque and D. L. George. High-resolution finitevolume methods for the shallow water equations withbathymetry and dry states. In P. L. Liu, C. Synolakis,and H. Yeh, editors, Advanced Numerical Models forSimulating Tsunami Waves and Runup, volume 10 ofAdvances in Coastal and Ocean Engineering, pages 43–73. World Scientific, 2008.

[33] R. J. LeVeque, D. L. George, and M. J. Berger.

17

Page 18: arXiv:1008.0455v2 [physics.geo-ph] 13 Jan 2011

Tsunami modeling with adaptively refined finite vol-ume methods. Acta Numerica, page To appear, 2011.http://www.clawpack.org/links/an11.

[34] P. L. Liu, C. Synolakis, and H. Yeh, editors. AdvancedNumerical Models for Simulating Tsunami Waves andRunup, volume 10 of Advances in Coastal and OceanEngineering. World Scientific, 2008.

[35] P. Lynett and P. L. Liu. A numerical studyof submarine- landslide-generated waves and run-up.Proc. R. Soc. Lond. A, 458:2885–2910, 2002.

[36] matplotlib software.http://matplotlib.sourceforge.net/.

[37] mayavi software.http://code.enthought.com/projects/mayavi/.

[38] C. Meinig, S. E. Stalin, A. I. Nakamura, F. Gonzalez,and H. B. Milburn. Technology developments in real-time tsunami measuring, monitoring and forecasting.OCEANS, 2005. Proceedings of MTS/IEEE, pages1673–1679, 2006.

[39] National geophysical data center (NGDC) GEODASgrid translator, 2010.http://www.ngdc.noaa.gov/mgg/gdas/gd designagrid.html.

[40] Y Okada. Surface deformation due to shear and tensilefaults in a half-space. Bull. Seism. Soc. Am., 75:1135–1154, 1985.

[41] Marica Pelanti, Francois Bouchut, and Anne Mangeney.A Roe-type scheme for two-phase shallow granular flowsover variable topography. Mathematical Modelling andNumerical Analysis, 42(5):851–885, July 2008.

[42] Donald T Resio and Joannes J Westerink. Modeling thephysics of storm surges. Physics Today, pages 33–38,2008.

[43] T. Saito, T. Matsuzawa, K. Obara, and T. Baba. Dis-persive tsunami of the 2010 Chile earthquake recordedby the high-sampling- rate ocean-bottom pressuregauges. Geophys. Res. Lett., 37:L22303, 2010.

[44] C. Synolakis, E. Bernard, V. Titov, U. Kanoghu, andF. Gonzalez. Standards, criteria, and procedures fornoaa evaluation of tsunami numerical models. Techni-cal report, United States Department of Commerce, Na-tional Oceanic and Atmospheric Adminstration, PacificMarine Environmental Laboratory, Seattle WA, May2007.

[45] USGS earthquake data.http://earthquake.usgs.gov/earthquakes/eqinthenews/2010/us2010tfan/.

[46] A. Valiani, V. Caleffi, and A. Zanni. Case study: Mal-passet dam-break simulation using a two-dimensionalfinite volume method. J. Hydraul. Eng., 128(5):460–472, May 2002.

[47] VisIt software. Lawrence Livermore National Labora-tory, http://www.llnl.gov/visit/.

[48] P Watts, S Grilli, J Kirby, G. J. Fryer, and D. R. Tap-pin. Landslide tsunami case studies using a boussinesqmodel and a fully nonlinear tsunami generation model.Nat. Haz. Earth Sys. Sci., 3:391–402, 2003.

[49] Joannes J Westerink, Richard A Luettich, Jesse CFeyen, John H Atkinson, Clint Dawson, Hugh JRoberts, Mark D Powell, Jason P Dunion, Ethan J Ku-batko, and Hasan Pourtaheri. A basin- to channel-scaleunstructured grid hurricane storm surge model appliedto southern louisiana. Monthly Weather Review, page833, 2008.

[50] Harry Yeh, Phillip Liu, and Costas Synolakis, editors.Long-wave runup models. World Scientific, 1995. FridayHarbor, USA, 12-17 September 1995.

18