Changes to master since v5.14.0¶
Follow the links to see changes that have been made to the master branch of each repository since the last release (v5.14.0) on January 26, 2026.
These changes should appear in the next release. If you need them now, see Developers’ Guide for instructions on cloning and installing from the master branch.
To see documentation that has already been developed to accompany any new features listed below, click on the “dev” branch of the documentation, in the menu on the left hand side of this page.
Changes that are not backward compatible¶
NetCDF input units are now required, and recognized units are converted automatically (geoclaw). NetCDF input variables must declare a CF
unitsattribute. A variable already in the contract unit (topo/dtopom, windm/s, pressurePa) passes through unchanged; a recognized non-contract unit (e.g.km/cm,hPa/mbar,knots, or a"hours since ..."time axis) is now converted automatically – Python resolves it to a multiplicative scale factor that Fortran applies on read. A missingunitsattribute or an unrecognized unit still raises aValueErrorrather than being silently misread (met forcing falls back to the storm format’s documented unit when the attribute is absent, e.g. NWS13/OWI pressurembar). Passassume_units(TopoInspector/Topography.readvianc_params, orMetInspector(assume_units=True)) for a file that omits the attribute. A resolved field is also magnitude-checked: a pressure field mislabeledPabut reallyhPa/mbaris auto-corrected with a warning, and a physically implausible field raises (bypass withskip_sanity_check). Met NetCDF forcing requires a CF absolute datetime time axis; a bare numeric time axis with no reference date is rejected. See netcdf_input.
General changes¶
Changes to classic¶
See classic diffs
Changes to clawutil¶
See clawutil diffs
Changes to visclaw¶
See visclaw diffs
Changes to riemann¶
See riemann diffs
Changes to amrclaw¶
See amrclaw diffs
Changes to geoclaw¶
Overview of changes related to topo and dtopo files See Changes to topo and dtopo handling (planned for v5.15.0).
Topography preprocessing attributes.
Topographynow supports seven preprocessing attributes (crop_extent,coarsen,buffer,align,x_shift,z_shift,negate_z) that are applied automatically whenread()loads a file. See Topography preprocessing attributes for the full table and Python tools for working with topo and dtopo for usage examples and operation order.CF-aware NetCDF reading. NetCDF topography files (
topo_type=4) are now read viaTopoInspector, which auto-detects coordinate variable names using CF conventions (standard_name,axis, and common fallback names). Files with non-standard coordinate names and non-standard dimension orders are handled automatically.read_header()also uses CF detection for type-4 files, enabling a lazy-load pattern where coordinates are available without loading the elevation array. See Python tools for working with topo and dtopo for an example.Python-owned priority ordering. Topography files in
topo.dataare now sorted entirely in Python by_compute_priority_order()before writing. Files are written coarsest-first (finest last), matching the traditional GeoClaw listing order; the last file listed intopo.datais assigned rank 1 (highest priority) by Fortran, with no Fortran-side sorting.rundata.topo_data.override_order = Truepreserves user-specified list order; when used, the finest (highest-resolution) file should be listed last. See Topography file ordering.topo_type=1 deprecated. Reading and writing
topo_type=1(x y zone-point-per-line ASCII) now emit aDeprecationWarning. Setting any preprocessing attribute before reading a type-1 file raisesNotImplementedError. To convert:topo = Topography() topo.read('old.tt1', topo_type=1) # gives DeprecationWarning topo.write('new.tt2', topo_type=2)
New
topo.dataformat. Each per-file block intopo.datanow contains 9 lines (up from 2), recording all preprocessing attributes. See topodata_format for the complete format specification.dtopo NetCDF (
dtopo_type=4).DTopographyreads and writes CF-compliant NetCDF dtopo files. The optionaltime_referenceattribute selects a CF datetime time axis (units = "seconds since <ref>") that a plainxarray.open_datasetdecodes todatetime64; without it a bareunits = "seconds"(simulation-relative) axis is written. The reader scales the time axis by its CFunits, fixing an earlier bug where a"hours"/"minutes"axis was misread as seconds. See netcdf_input and dtopo file formats.NetCDF write dtype control.
Topography.write(topo_type=4, z_dtype=...)andDTopography.write(dtopo_type=4, dz_dtype=...)override the on-disk elevation/deformation dtype (default"float32"; pass"float64"for full double precision).Robust NetCDF file opening. A NetCDF backend engine is now selected explicitly, so a valid file opens even when its name uses a non-standard extension (e.g.
.dtt3) that xarray’s extension-based engine guessing would not recognize.
See geoclaw diffs
Changes to PyClaw¶
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.