:orphan: .. _release_5_5_0: ========================== v5.5.0 release notes ========================== Clawpack 5.5.0 was released on August 28, 2018. See :ref:`installing`. Changes relative to Clawpack 5.4.1 (June 28, 2017) are shown below. Changes to documentation ------------------------ For developers: There is no longer a `master` branch in the `clawpack/doc `_ repository. Use branch `v5.5.0` for updates to current documentation and the `dev` branch for developing documentation for changes or new features that are in the `master` branch of the code repositories but are not yet in an official release. Changes that are not backward compatible ---------------------------------------- - The format of checkpoint styles has changed for AMRClaw and GeoClaw, so old checkpoint files can not be used to restart with newer code. - In GeoClaw, the way some topofiles are interpreted has been changed to conform with the intended "grid registration". This is not backward compatable for files with headers that specify `xllower, yllower`. See below for more details. - Many of the previous storm surge capabilies in GeoClaw have been enhanced and simplified in terms of handling storm input. Some of these changes are not backwards compatible due to the way storm data is now specified and how time references to landfall are now specified. The examples in GeoClaw now are updated to reflect these changes however and it is highly recommended that users look at these examples for how to change their own existing examples. General changes --------------- - `LICENSE` file added to all repositories, with BSD license - `CODE_OF_CONDUCT.md` has been added to the super repository so as to define a code of conduct for the community. Changes to classic ------------------ - None other than addition of License. See `classic diffs `_ Changes to clawutil ------------------- - Minor changes See `clawutil diffs `_ Changes to visclaw ------------------ - The script `src/python/visclaw/plot_timing_stats.py` can be used to plot timing data that is now printed out following AMRClaw and GeoClaw runs. See the AMRClaw notes below for more details. - Minor changes to Matlab codes - Minor changes to kml functionality, and printing of more digits - `ClawPlotItem.colorbar_kwargs` added for setting other colorbar keyword arguments - `ClawPlotAxes.beforeframe` added to allow e.g. plotting on a background image, see `PR #226 `_ for an example. See `visclaw diffs `_ Changes to riemann ------------------ - Add some vectorized Riemann solvers - Changes to layered shallow water solvers - Add some Riemann solvers for adjoint equations See `riemann diffs `_ Changes to amrclaw ------------------ - The `valout.f` routine in `amrclaw/src/Nd` (for `N=1,2,3`) has been cleaned up as `valout.f90`, and now also prints out timing information to two files in the output directory: `timing.txt` contains a summary at the end of the run, while `timing.csv` contains cumulative timing information at each output time. - The boundary condition routines `amrclaw/src/Nd/bcNamr.f` (for `N=1,2,3`) have been replaced with modernized versions `amrclaw/src/Nd/bcNamr.f90` that should be easier to read and modify by users if necessary. - The script `$CLAW/visclaw/src/python/visclaw/plot_timing_stats.py` can be used to plot this data (or modify this script as desired). Information on both wall time and CPU time is included, particularly useful for multi-core simulations. - Write more digits in `regions.data` file. - Clean up some timing variables. - The maximum number of allowable refined grids is now variable, and no longer static. If the current maximum is exceeded, all arrays dimension at `maxgr`, namely `rnode`, `node`, and `listOfGrids` (currently set to 10000) are resized by another 10K. `bndList` is also now resizable. - The format of checkpoint files changed to include `maxgr`. **This is not backward compatible -- old checkpoint files can not be used to restart with the new code.** - `Makefile.amr_2d` changed to include the new files to initialize, restart, and resize the nodal arrays and boundary lists. - The gauges had one some variable that depended on `maxgr`. By changing the gauges algorithm, this was eliminated. The old algorithm did not scale well for `O(10^5)` grids and `O(100)` gauges. The new algorithm just has each grid patch sort the gauge list to see if it has any gauges to update. (The old algorithm sorted all grid owners and their owner gauges, (thus needing to save that mapping), and therefore was an index lookup by grid number. But again, 10^5 grids needing 2 arrays for only 100 gauges did not make sense. Also changed the algorithm for finding the best source grid for a gauge. By starting at the finest level, and rearranging the order of the loops, once a grid owner was found for a gauge there was no need to search the rest of the grids. See `amrclaw diffs `_ Changes to geoclaw ------------------ - Makefile.geoclaw changed to include the new files to initialize, restart, and resize the nodal arrays and boundary lists. - The way some topofiles are interpreted has been changed to conform with the intended "grid registration". In particular, topofiles with a header containing `xllower` and `yllower` contain data that should be viewed as cell-centered data on a uniform grid that starts at `(xllower + dx/2, yllower + dy/2)` and not at `(xllower, yllower)`. See `PR #303 `_ for more discussion and :ref:`grid_registration` for documentation. **This is not backward compatable for files with these headers.** Change the header to specify `xlower` and `ylower` (or `xllcenter, yllcenter`) if you want the data to be interpreted in the old manner. - The boundary condition routine `geoclaw/src/2d/shallow/bc2amr.f` have been replaced with a modernized version `geoclaw/src/2d/shallow/bc2amr.f` that should be easier to read and modify by users if necessary. (Similar to changes made in amrclaw.) In the case of extrapolation boundary conditions all aux variables are also copied rather than just bathymetry. - The format of checkpoint files changed to include `maxgr`. **This is not backward compatible -- old checkpoint files can not be used to restart with the new code.** - The `valout.f` routine in `src/2d/shallow` has been cleaned up as `valout.f90`, and now also prints out timing information to two files in the output directory. See the notes for amrclaw above for more details. - The storm surge capabilties have been significantly changed including: - A new storm format that GeoClaw now reads in directly. There is also a new Python storm module that contains the capability of converting many common formats into the format that GeoClaw now expects. These formats currently include ATCF, HURDAT, JMA, IBtRACS, and TCVITALS. - Time reference is now specific to landfall or anything else that the use requests. In other words you no longer need absolute values of start and stop times but everything is relative to landfall. - The Fortran code for storms is now simplified following the above restricted format. This is all handled via the Python module. - Additional parameterized wind and pressure fields are now included in addition to the existing Holland 1980 field. - Additional preliminary support for storm data beyond parameterized versions have been added. This is primarily in the form of stubs so that an API can be establised for the different data sources that we intend to add in the future including HWRF and other formats. - Changes to plotting storm surge applications have also been included that mimic the ones above. Again please refer to the examples in GeoClaw to see how to adapt your application. - Multi-layer shallow water solvers have been extended to work with AMR. (This is still under development and may have some bugs.) - There is a new Makefile.multilayer file that should be used for multilayer applications. - Makefile.geoclaw changed to include the new files to initialize, restart, and resize the nodal arrays and boundary lists. - New capabilities have been added to read topofiles in netCDF, and also to download topo DEMs from `.nc` files at remote URLs. This allows downloading only a subset of the DEM and at a coarsened resolution. See `topotools.read_netcdf` in :ref:`topotools_module`, and `tests/test_etopo1.py` for an example of usage. *More documentation needed.* - The `etopotools.py` module has been deprecated in favor of the `topotools.read_netcdf` function, which can be called with `path = 'etopo1` to read from the online etopo1 database in netCDF format. This allows downloading only a subset of the DEM and at a coarsened resolution. The old way of doing this is not robust and sometimes gave incorrect results due to issues with the old etopo1 server (which is no longer maintained). See :ref:`topo_netcdf` and `PR #308 `_. An example can be found in `tests/test_etopo1.py`. - More generally, topofiles can now be read in from netCDF files either locally or from the web. See :ref:`topo_netcdf` for some documentation. - New capabilities have been added to download NOAA tide gauge data, see `PR #287 `_. - Some plotting issues have been resolved. - `dtopotools.SiftFault` now has the rigidity `mu` set properly, which changes the magnitude `Mw` that is reported for a fault created using the NOAA SIFT database. - `dtopotools.SubFault` has been extended to allow triangular subfaults in addition to rectangular subfaults. Some examples illustrating this should be added to the `apps` repository. - `topotools.read` now allows `dx != dy` in a header for `topo_type in [2,3]`. - Many other minor changes. See `geoclaw diffs `_ Changes to PyClaw ------------------ 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. - `apps diffs `_ - `doc diffs `_ - `docker-files diffs `_