fgmax_tools module for working with topography data

Documentation auto-generated from the module docstrings

fgmax_tools module: $CLAW/geoclaw/src/python/geoclaw/fgmax_tools.py

Tools to specify an fgmax grid for keeping track of maximum flow depth, etc. and to read in the fgmax output after doing a GeoClaw run.

class clawpack.geoclaw.fgmax_tools.FGmaxGrid

New class introduced in 5.2.1 to keep store information both about the fgmax input data and the output generated by a GeoClaw run.


Return the bounding box of the grid as a list [x1,x2,y1,y2]

interp_dz(dtopo_path, dtopo_type)

Compute approximate values of deformation dz on X,Y grid using a specified dtopo file. Also calculates B0 = B - dz, attempting to recover the pre-event topography from the GeoClaw run topography stored in B.


for point_style==4, convert lists of fgmax values into masked arrays based on the topo_style==3 file self.xy_fname that was used to specify the fgmax points in the GeoClaw run.

read_fgmax_grids_data(fgno, data_file='fgmax_grids.data')

Read input info for fgmax grid number fgno from the data file fgmax_grids.data, which should have been created by setrun.py. This file now contains info about all fgmax grids.

read_output(fgno=None, outdir=None, verbose=True, indexing='ij')

Read the GeoClaw results on the fgmax grid numbered fgno.

indexing=’ij’ gives backward compatibility.

X[i,j],Y[i,j] corresponds to point x[i],y[j]

Alternatively, can set indexing==’xy’ so that X,Y and other arrays have same layout as topo arrays:

X[j,i],Y[j,i] corresponds to point x[i],y[j]

This is useful if you want to save the fgmax results in same format as topofiles, using topotools.Topography.write().


Write the fgmax grid data to the file specified by fid, normally the fgmax_grids.data file that is read in by the GeoClaw Fortran code.

clawpack.geoclaw.fgmax_tools.adjust_fgmax_1d(x1_desired, x2_desired, x1_domain, dx)

Adjust the upper and lower limits of a grid so that equally spaced grid points with spacing dx lie exactly at cell centers, so that no interpolation is needed for fgmax values. Note that parameter names refer to x limits, but works equally well for y values.

  • x1_desired, x2_desired: approximate desired limits of fgmax grid

  • x1_domain: lower edge of computational domain

  • dx: Mesh spacing on fine grid that fgmax grid should conform to

  • x1_new, x2_new: limits to set so (x2-x1) is integer multiple of dx and points are at cell centers of computational grid

  • npoints: number of points to specify, so that linspace(x1_new, x2_new, npoints) gives points with spacing `dx.