Skip to content

Releases: ecmwf/atlas

0.44.1 - 2025-11-07

07 Nov 20:06

Choose a tag to compare

Fixed

  • Fix loop bounds for gcc+OpenMP compiler by @fmahebert in #324
  • Fix compilation of atlas_fctest_fvm_nabla with NAG compiler (#326) by @wdeconinck in #330
  • Set Eigen version to eigen@3 in CI to prevent 5.0.0 update

0.44.0 - 2025-10-06

06 Oct 08:39

Choose a tag to compare

Added

  • Add Collect communication pattern by @wdeconinck in #301
  • Add array::View interoperability with mdspan by @wdeconinck in #304
  • Add support for pocketfft by @wdeconinck in #308, #320
  • Improvement in spherical-polygon intersection by @sbrdar in #310
  • Improvement in the conservative interpolation for general meshes by @sbrdar in #318
  • Add Field::syncHost and Field::syncDevice by @wdeconinck in #311
  • Add more GPU tracing capabilities for device allocations and host-device data transfers by @wdeconinck in #312
  • Improve HaloExchange on_device, checking state flags by @wdeconinck in #313
  • Update interpolation to support hicsparse backend by @l90lpa in #275
  • Add Locator to find at which partition and at which index a global index is located by @wdeconinck in #317
  • Add matrix halo exchange to "binning" interpolation method. by @odlomax in #315
  • Introduce atlas-interpolations app by @wdeconinck in #321
  • Support building of StructuredColumns with halos for grids with uneven points at poles e.g. N80 grid

Changed

Fixed

  • Fix out-of-range in RegionalLinear2D with FORTRAN feature disabled by @wdeconinck in #322
  • Fix empty adjoint matrix for SphericalVector for scalar fields by @wdeconinck in #314
  • Support CUDA 13.0 by @wdeconinck in #316
  • Fix out-of-range in RegionalLinear2D with FORTRAN feature disabled by @wdeconinck in #322
  • Allow BlockStructuredColumns to be used for MatchingPartitioner

0.37.0 - 2024-04-09

09 Apr 14:56

Choose a tag to compare

Added

  • Add SphericalVector interpolation method using parallel transport (#163)
  • Added arrayForEachDim method

Fixed

  • Bugfix for regional grids with ny > nx
  • Fix build for configuration setting ATLAS_BITS_LOCAL=64

Changed

  • Use new LocalConfiguration baseclass functions in util::Config and util::Metadata instead of eckit::Value backdoor
  • atlas_io is an adaptor library when eckit_codec is available (#181)

0.36.0 - 2023-12-11

11 Dec 12:24

Choose a tag to compare

Added

  • Add TriangularMeshBuilder with Fortran API, so far for serial meshes only
  • Add Fortran API for CellCollumns functionspace
  • Add EqualAreaPartitioner which is geometry based rather than loadbalanced like EqualRegionsPartitioner

Fixed

  • Compilation with Intel LLVM compiler
  • Fix 180 degrees phase shift error in MDPI_gulfstream function

Changed

  • Update install scripts
  • Preparation for using eckit::codec as backend for atlas_io

0.35.1 - 2023-10-24

24 Oct 20:16

Choose a tag to compare

Added

  • Don't output with output::Gmsh the triangle elements with wrong orientation when coordinates are "lonlat"
  • Add control to skip Gmsh-output of triangles with too large edge length ratio
  • Configurable geometry in KDTree
  • Use configurable KDTree geometry in PointCloud
  • atlas-grid-points executable to list grid points
  • Allow constructor of atlas::io::ArrayShape with different integer types
  • Support atlas_io with vector<std::int64_t>

Fixed

  • Control FPE in StructuredColumns::checksum to avoid overflow and invalid in unimportant halo regions
  • Fixes to MeshBuilder validate_mesh_vs_grid

Changed

  • Use search radius in FiniteElement interpolation when mesh defines metadata to do so

0.35.0 - 2023-02-10

05 Oct 11:55

Choose a tag to compare

Added

  • Add accessors for the GridBox class (MIR-632)
  • Add FunctionSpace::partition() field
  • Add configurable MPI communicator to data structures (#131)
  • Add single precision support for fvm::Nabla
  • Implement PointCloud parallel construction with halo_radius

Fixed

  • Fix StructuredMeshGenerator for Gaussian grids that don't start at 0 degrees (ATLAS-375)
  • Remove functionspace::Spectral via Trans initialisation (fixes #153)
  • Enable MeshBuilder to set up the Grid (#152)
  • Fix use of cmake option ATLAS_ENABLE_TRANS as in a bundle

Changed

  • Cleanup long-standing temporary element types. API change but with deprecated old API
  • Deprecated rename Mesh::nb_partitions -> Mesh::nb_parts
  • Implement Delaunay triangulation using Qhull instead of CGAL but CGAL can still be enabled instead for now

0.34.0 - 2023-07-10

05 Oct 11:54

Choose a tag to compare

Added

  • Fieldset::metadata (#126)
  • Fieldset::adjointHaloExchange
  • Field/Fieldset::clone method
  • Functions to enable/disable FPE
  • Add function to build mesh from imported connectivity data (#135)
  • Implement field::for_each capabilities (#139)
  • Introduce colon-separated environment variable ATLAS_PLUGIN_PATH to simplify plugin detection
  • Introduce atlas::mdspan, contributed from github.com/kokkos/mdspan
  • Add function Field::horizontal_dimension() -> std::vector<idx_t>
  • Setup horizontal_dimensions() for BlockStructuredColumns fields
  • Upgrade the halo exchange procedure for the function space 'PointCloud' (#120)

Fixed

  • Enable latitude normalisation in KDTree coordinate transform (#140)
  • Fix LocalView indexing bug for non-contiguous slices
  • C++17 flag public propagation to downstream C++ CMake packages
  • Fix cells().global_index() metadata for RegularLonLat grids in StructuredMeshGenerator
  • BuildHalo: mark interior added cells as ghost

0.33.0 - 2023-04-03

05 Oct 11:53

Choose a tag to compare

Added

  • Add support for StructuredPartitionPolygon with halo > 0
  • Add information on atlas having PROJ support

Changed

  • C++17 standard is now a requirement

Fixed

Fix StructuredInterpolation2D with retry for failed stencils

0.32.1 - 2023-02-09

09 Feb 14:12

Choose a tag to compare

Added

  • Added (lon, lat) to (alpha, beta) transforms to cubed sphere projection

0.32.0 - 2023-01-23

09 Feb 14:07

Choose a tag to compare

Added

  • Added BlockStructuredColumns FunctionSpace
  • Added function SolidBodyRotation
  • Added convenience Fortran constructors for ShiftedLonLat, SHiftedLon, ShiftedLat
  • Support for more FunctionSpaces in various interpolation methods

Changed

  • PolygonLocator now wraps around longitudes for non-matching domains
  • StructuredMeshGenerator can generate meshes with partitions without elements
  • SerialDistribution makes every MPI task have the entire mesh

Fixed

  • Remove assertion for checking of empty mesh in NodeColumns FunctionSpace
  • Gaussian latitudes can now be computed for very high resolution, without running out of memory.
  • Interpolation to functionspaces with empty partitions