Skip to content

Releases: GeoscienceAustralia/anuga_core

v3.3.2

Choose a tag to compare

@stoiver stoiver released this 05 Apr 01:17

Just an update to the required packages.

ANUGA 3.3.1

Choose a tag to compare

@stoiver stoiver released this 05 Apr 01:20

ANUGA 3.3.1 Release Notes

New Features

Parallel mesh distribution improvements

Added distribute_collaborative(): a new MPI-collaborative domain distribution function that uses shared memory
windows to significantly reduce peak memory usage during decomposition. Exported in the public API as
anuga.distribute_collaborative.
New BasicMesh class and distribute_mesh() workflow enabling a "mesh-first" parallel pattern — build the mesh once
then distribute, without writing intermediate files.
New rectangular_basic_mesh and rectangular_cross_basic_mesh factory functions and create_basic_mesh_from_regions().
Added distribute_basic_mesh with full tests and examples.
Performance: replaced pickle-based isend with zero-copy buffer-protocol Isend; vectorised submesh_quantities ghost
triangle extraction; eliminated O(P×|boundary|) quadratic loop in submesh_full(); Cythonised ghost_layer() and
ghost_bnd_layer().
Added MPI shared-memory optimisation with graceful fallback when Win.Allocate_shared is unavailable.
TOML/Excel scenario runner

New anuga.scenario package and anuga_run_toml script for running simulations from TOML or Excel configuration files.
Support for omp_num_threads, multiprocessor_mode, outputstep in TOML config.
Replaced xlrd with openpyxl for Excel import.
Tees timestepping statistics to both terminal and log file.
Coordinate reference system (CRS/EPSG) support

Geo_reference class now carries an EPSG code and is_located() flag.
Support for non-UTM national grids via pyproj.
sww_merge now correctly preserves hemisphere, EPSG, and timezone in merged output.
SWW → VTU/PVD converter

New anuga/file_conversion/sww2vtu.py: converts SWW files to ParaView-compatible VTU+PVD format (no VTK dependency,
binary base64 encoding, derived depth/speed quantities, z-scale and absolute-coordinates options).
Mesh pipeline improvements

Domain() now accepts Pmesh objects directly (no intermediate mesh file required).
create_domain_from_regions() no longer needs a mesh_filename argument.
create_mesh_from_regions renamed to create_pmesh_from_regions (old name deprecated).
Documentation

NumPy-style docstrings added throughout.
New Sphinx pages: CRS/EPSG support, parallel MPI usage, visualisation guide, boundary conditions, domain setup
script.
Added VERSIONING.md describing the git-tag-based version scheme.
Dependency changes

Removed: osgeo / GDAL — replaced throughout by rasterio, fiona, and shapely.
All conda environment files updated accordingly.
pyproj, affine, rasterio, fiona, shapely are now the standard optional [data] dependencies.
Bug fixes and code quality

Fixed Set_stage_operator physics bug and related operator issues.
Fixed bare except: clauses in ~500 locations (production code, tests, and import guards).
Fixed TypeError when quantity_names=None in timefile2netcdf.
Fixed meshpy RuntimeError when point/element attributes are empty.
Fixed GUI mesh generation (anuga_pmesh_gui): snake_case method names, correct _generateMesh_impl call.
Fixed mesh_filename kwarg being clobbered in Generic_Domain.init.
Added named constants for multiprocessor_mode and low_froude flags.
sww_merge updated to preserve metadata correctly.
--run-fast pytest option to skip slow (MPI/parallel) tests for quick feedback.
CI: replaced osgeo in all test import guards; fixed sys.path ordering so installed package takes precedence over
source tree.
CI / packaging

GitHub Actions updated to use conda-forge compilers with OpenMP on all platforms.
Windows CI uses standard compilers package (covers OpenMP).
Python 3.14 added to CI matrix and classifiers.
actions/checkout bumped to v6, fetch-depth: 0 for correct git-tag versioning.

ANUGA 3.3.0

Choose a tag to compare

@stoiver stoiver released this 05 Apr 01:20
b9ca7a7

ANUGA 3.3.0 Release Notes

New Features

Parallel mesh distribution improvements

  • Added distribute_collaborative(): a new MPI-collaborative domain distribution function that uses shared memory
    windows to significantly reduce peak memory usage during decomposition. Exported in the public API as
    anuga.distribute_collaborative.
  • New BasicMesh class and distribute_mesh() workflow enabling a "mesh-first" parallel pattern — build the mesh once
    then distribute, without writing intermediate files.
  • New rectangular_basic_mesh and rectangular_cross_basic_mesh factory functions and create_basic_mesh_from_regions().
  • Added distribute_basic_mesh with full tests and examples.
  • Performance: replaced pickle-based isend with zero-copy buffer-protocol Isend; vectorised submesh_quantities ghost
    triangle extraction; eliminated O(P×|boundary|) quadratic loop in submesh_full(); Cythonised ghost_layer() and
    ghost_bnd_layer().
  • Added MPI shared-memory optimisation with graceful fallback when Win.Allocate_shared is unavailable.

TOML/Excel scenario runner

  • New anuga.scenario package and anuga_run_toml script for running simulations from TOML or Excel configuration files.
  • Support for omp_num_threads, multiprocessor_mode, outputstep in TOML config.
  • Replaced xlrd with openpyxl for Excel import.
  • Tees timestepping statistics to both terminal and log file.

Coordinate reference system (CRS/EPSG) support

  • Geo_reference class now carries an EPSG code and is_located() flag.
  • Support for non-UTM national grids via pyproj.
  • sww_merge now correctly preserves hemisphere, EPSG, and timezone in merged output.

SWW → VTU/PVD converter

  • New anuga/file_conversion/sww2vtu.py: converts SWW files to ParaView-compatible VTU+PVD format (no VTK dependency,
    binary base64 encoding, derived depth/speed quantities, z-scale and absolute-coordinates options).

Mesh pipeline improvements

  • Domain() now accepts Pmesh objects directly (no intermediate mesh file required).
  • create_domain_from_regions() no longer needs a mesh_filename argument.
  • create_mesh_from_regions renamed to create_pmesh_from_regions (old name deprecated).

Documentation

  • NumPy-style docstrings added throughout.
  • New Sphinx pages: CRS/EPSG support, parallel MPI usage, visualisation guide, boundary conditions, domain setup
    script.
  • Added VERSIONING.md describing the git-tag-based version scheme.

Dependency changes

  • Removed: osgeo / GDAL — replaced throughout by rasterio, fiona, and shapely.
  • All conda environment files updated accordingly.
  • pyproj, affine, rasterio, fiona, shapely are now the standard optional [data] dependencies.

Bug fixes and code quality

  • Fixed Set_stage_operator physics bug and related operator issues.
  • Fixed bare except: clauses in ~500 locations (production code, tests, and import guards).
  • Fixed TypeError when quantity_names=None in timefile2netcdf.
  • Fixed meshpy RuntimeError when point/element attributes are empty.
  • Fixed GUI mesh generation (anuga_pmesh_gui): snake_case method names, correct _generateMesh_impl call.
  • Fixed mesh_filename kwarg being clobbered in Generic_Domain.init.
  • Added named constants for multiprocessor_mode and low_froude flags.
  • sww_merge updated to preserve metadata correctly.
  • --run-fast pytest option to skip slow (MPI/parallel) tests for quick feedback.
  • CI: replaced osgeo in all test import guards; fixed sys.path ordering so installed package takes precedence over
    source tree.

CI / packaging

  • GitHub Actions updated to use conda-forge compilers with OpenMP on all platforms.
  • Windows CI uses standard compilers package (covers OpenMP).
  • Python 3.14 added to CI matrix and classifiers.
  • actions/checkout bumped to v6, fetch-depth: 0 for correct git-tag versioning.

Version 3.2.0

Choose a tag to compare

@stoiver stoiver released this 30 Sep 07:34

Release which uses openmp (in addition to MPI) to obtain speedup on multi core processors.

Also new additions to the Rate_operator which now takes an xarray as a rate.

What's Changed

New Contributors

Full Changelog: anuga-community/anuga_core@3.1.9...3.2.0

Version 3.1.9

Choose a tag to compare

@stoiver stoiver released this 30 Sep 07:33

Small update needed to allow the creation of an anuga conda-forge package.

Version 3.1.3

Choose a tag to compare

@stoiver stoiver released this 20 May 08:54

Improvements to the pip install

Version 3.1.1

Choose a tag to compare

@stoiver stoiver released this 20 May 08:55

Match release to pypi version

Version 3.1

Choose a tag to compare

@stoiver stoiver released this 20 May 08:57

We have move over to using meshpy as a wrapper for the triangle mesh generator. This wrapper is available on conda-forge and so we should be able to create a conda-forge package for anuga.

Version 3.0

Choose a tag to compare

@stoiver stoiver released this 23 Feb 02:05
861bf5b

The release of the python 3.X version of ANUGA.

If you need the latest version of the python 2.7 version of ANUGA, download the anuga_py2 branch from the GA anuga_core github repository

Version 2.1

Choose a tag to compare

@stoiver stoiver released this 03 Aug 09:04
8efbde2

Essentially the last version of the python 2.7 version of ANUGA.

Download ANUGA - Hydrodynamic Modeling