Releases: ecmwf/atlas
Releases · ecmwf/atlas
0.44.1 - 2025-11-07
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
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
- Move mdspan from atlas to pluto and update mdspan to latest by @wdeconinck in #303
- Update MeshBuilder API by @wdeconinck in #305
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
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
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
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
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
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
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
Added
- Added (lon, lat) to (alpha, beta) transforms to cubed sphere projection
0.32.0 - 2023-01-23
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