Releases: ecmwf/atlas
Releases · ecmwf/atlas
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
0.31.1 - 2022-11-11
Fixed
- Fix bug introduced in StructuredMeshGenerator global numbering with release 0.31.0 in commit a63fc62
- Fix healpix global numbering for pentagon pole elements in parallel
- Fix validity check of atlas::HealpixGrid
0.31.0 - 2022-11-10
Added
- Extend PointCloud functionspace to do halo exchanges, including Fortran API
- Add FunctionSpace::gather and FunctionSpace::scatter abstraction
Changed
- Improve performance of MatchingMeshPartitionerLonLatPolygon using OpenMP
- Improve performance of BuildHalo using OpenMP and unordered_map
- Improve performance of StructuredMeshGenerator using OpenMP
- Improve performance of ATLAS_TRACE
- Reduce memory peak in GatherScatter setup
- Global element numbering of RegularLonLat grids is now following rows independent of partitioning
Fixed
- Running CI with Github Actions
- Fix output of atlas-grids y-range for shifted grids
- Fix building with ATLAS_BITS_LOCAL=64