Published: Apr 1, 2026 by The PISM Authors
We are pleased to announce the release of PISM v2.3.0.
Notable changes since v2.2.0:
-
Rename configuration parameters and command-line options related to reporting diagnostics (see issue #509).
Configuration parameters
- Everything with the prefix
output.extra.tooutput.spatial. - Everything with the prefix
output.timeseries.tooutput.scalar., exceptoutput.timeseries.filenametooutput.scalar.file time_stepping.hit_extra_timestotime_stepping.hit_spatial_timestime_stepping.hit_ts_timestotime_stepping.hit_scalar_timesoutput.ISMIP6_extra_variablestoISMIP6_spatial_variablesoutput.ISMIP6_ts_variablestooutput.ISMIP6_scalar_variables
Command-line options:
-extra_(append|file|times|vars|stop_missing|split)to-spatial_(append|file|times|vars|stop_missing|split)-ts_(append|file|times|vars)to-scalar_(append|file|times|vars)-extra_force_output_timesto-spatial_force_output_times
Using an old command-line option will make PISM stop with an error message.
- Everything with the prefix
- Implement asynchronous output to “snapshot” files and “spatial diagnostic” files (
-save_file ...and-spatial_file ...). Requires PISM built with YAC, PROJ and Python packagesnetCDF4,yac(Python bindings for YAC),mpi4pyand NumPy. - Implemented a more efficient algorithm for the solution of the Eikonal equation in PICO.
- Add the ability to read in inputs (e.g. climate forcing) on
longitude,latitudegrids, including rotated pole (rlon,rlat) grids. - Automatically build and upload Docker containers for each new PISM release to the GitHub Container Registry (uses Intel’s oneAPI compilers and Intel MPI; see ghcr.io/pism/pism).
- Remove dependency on the Python package
nosebecause it is old and unmaintained. Now we use Python’s built-inunittestto set up Python-based regression tests. - Spatially-variable diagnostic
diffusivity: at a grid point (i,j) reportmax(D(i,j,0), D(i, j, 1)), i.e. maximum over staggered grid locations just to the east and just to the north of the grid point (i,j). Previous versions averaged the SIA diffusivity from all adjacent icy locations, which makes it impossible to see the value of the maximum SIA diffusivity used to choose the time step length. - Add configuration parameter
output.experiment_id: if set to a string, PISM adds an extra dimension (length 1) to output files. This makes it possible to open several output files (e.g. different ensemble members) at once usingxarray’sxarray.open_mfdataset(). (Note: this feature needs further testing to ensure that PISM’s way of doing this is compatible with other tools. Implementation details are likely to change in the near future.) - Save the JSON string encoding PISM’s configuration parameters to the
pism_configvariable in output files. This makes it easier to look up configuration parameter values in output files opened usingxarray.open_mfdataset(). - Write run info (
wall_clock_time,step_counter,model_years_per_processor_hour) to time-dependent variables instead of using attributes of therun_statsvariable. - Fix a bug in the steady state hydrology model: we need to save the time of the last update of the estimate of the water flux Q to a time-dependent variable.
- Fix issue #568 (crash when reading isochrone deposition times)
- Fix issue #569 (improper handling of calving front B.C. at domain boundaries)
- Require CMake 3.20 or newer.
- Require PETSc 3.15 or newer.
- Require NetCDF 4.7 or newer.
- Require YAC 3.14.0 or newer.