v5.7.0 release notes

Clawpack 5.7.0 was released on April 23, 2020. See Installing Clawpack.

Permanent DOI: [DOI 10.5281/zenodo.3764278].

Changes relative to Clawpack 5.6.1 (October 28, 2019) are shown below.

To see more recent changes that are in the the master branch but not yet released, see Changes to master since v5.10.0.

Python support

As of v5.7.0 we are no longer supporting Python 2.7, and Python 3.x is expected. At this point we believe v5.7.0 still works with Python 2.7, but we are phasing out testing this in the future.

See Dropping support for Python 2.7 for more information about this.

Changes that are not backward compatible

Some of the .data files generated from setrun.py have been changed in both amrclaw and geoclaw, so if using these packages it is important to do:

make new

to recompile all the code and:

make data

to recreate .data files in the new form (the latter should happen automatically if you make .output, for example).

General changes

  • Support for particle tracking via “Lagrangian gauges” has been added to amrclaw, but this capability itself has so far only been added to geoclaw, see below. This has changed the format of gauges.data files generated from setrun.py.

  • A new way of specifying flagregions for guiding adaptive mesh refinement has been introduced in both amrclaw and geoclaw, and RuledRectangles have been introduced to assist in specifying non-rectangular flagregions. This has added a new flagregions.data file generated from setrun.py.

  • The AMR parameter max1d can now be set in setrun.py. This parameter controls the maximum size of each grid patch in each spatial dimension. Previously this was set in amrclaw/src/Nd/amr_module.f90 and changing it required recompiling all library files via make new. The default value is still 60, which seems to work well in relation to cache size and the desire to distribute grids among threads when OpenMP is used. If you want to change it for some application, set rundata.amrdata.max1d in setrun.py.

Changes to classic

None.

See classic diffs

Changes to clawutil

  • Support added for flagregions and FlagRegionData, see flagregions.html.

  • Support added for gzip/bzip2 unpacking in get_remote_file.

  • Changes to Makefile.common to add make notebook_htmls target to turn Jupyter notebooks into html files using nbconvert, and make readme to better handle converting README.rst into README.html.

See clawutil diffs

Changes to visclaw

  • Several updates to Matlab tools.

  • Added particle_tools.py for plotting particle paths when using Lagrangian gauges.

  • Added plottools.pcolorcells to better plot data on finite volume grid cells.

  • Improvements to how animations are made on html pages and other updates to animation_tools.py.

  • Improve colorbar options and better colorbars when using colormaps.add_colormaps.

  • Change default behavior in frametools.py when looping over all patches: skip those that lie outside of rectangle specified by xlimits and ylimits to improve speed. Can over-ride this by setting plotaxes.skip_patches_outside_xylimits = False.

See visclaw diffs

Changes to riemann

  • Updates to a few Riemann solvers

See riemann diffs

Changes to amrclaw

  • Allow setting max1d in setrun.py.

  • Close output files properly in valout.f90

  • Some support for Lagrangian gauges but not yet fully implemented except in geoclaw.

  • Introduce new flagregions to replace regions eventually, see flagregions.html.

  • New region_tools.py module with class RuledRectangle in particular, useful in specifying flagregions. See ruled_rectangles.

See amrclaw diffs

Changes to geoclaw

  • For an overview of changes to GeoClaw, see also this youtube video and the related materials from the 2020 GeoClaw Developers Workshop.

  • Support for “Lagrangian gauges” that can be used for particle tracking to help visualize the flow. See lagrangian_gauges.html.

  • Many changes to how fgmax grids are specified and handled. The new code is much faster if there are lots of fgmax points (tested up to around 7 million). You can now specify points near the coastline up to some elevation much more easily for problems where you know higher ground will never be inundated. Points can also be specifed using file specified with the same format as a topofile (with topo_type==3) with 0/1 values indicating which points are to be used as fgmax points. For more about all these changes, see fgmax.html. Note that now a file fgmax_grids.data is generated from information in setrun.py rather than fgmax.data, with a different format.

  • Improvements to fgmax_tools.py module.

  • New routine set_eta_init.f90 added that can be used to specify a spatially varying initial elevation eta = B + h. The default version handles subsidence or uplift specified in dtopo files. See set_eta_init.

  • Improvements to kmltools.py to facilitate making kml versions of plots, including pcolorcells_for_kml to make png files that align better, fgmax2kml for plotting fgmax results, and better support to plot polygonal outlines of flagregions that are RuledRectangles.

  • New option added to allow specifying a force_dry_init array that indicates cells that should be forced to be dry (h = 0) when initialized, even if the topography elevation is below sea_level. This allows better modeling of coastal regions where there is dry land below sea level but protected by dikes or levies. See force_dry.html.

  • New marching_front.py module with tools to identify dry land protected by dikes or to select fgmax points connected to the shore by land below some specified elevation. See marching_front.html.

  • Many other minor fixes and improvements.

See geoclaw diffs

Changes to PyClaw

Mostly minor changes.

For changes in PyClaw, see the PyClaw changelog.

See pyclaw diffs

Other Clawpack Repositories

The repositories below are not included in the Clawpack tarfile or pip install, but changes to these repositories may also be of interest.