Skip to main content

Atlas

atlas release version build codecov

Project home: https://confluence.ecmwf.int/display/ATLAS
Contact: Willem Deconinck (willem.deconinck@ecmwf.int)
Publication:

Deconinck et al, 2017 --- Atlas: A library for numerical weather prediction and climate modelling

Atlas is a ECMWF library for parallel data-structures supporting unstructured grids and function spaces, with the aim to investigate alternative more scalable dynamical core options for Earth System models, and to support modern interpolation and product generation software

Atlas is predominantly C++ code, with main features available to Fortran codes through a F2003 interface. It requires some flavour of Unix (such as Linux). It is known to run on a number of systems, some of which are directly supported by ECMWF.

Requirements

Tested compilers include:

  • GCC 4.9.1, 5.3.0, 6.3.0, 7.2.0
  • Intel 15.0.2, 16.0.3, 17, 18
  • CCE 8.4.5, 8.5.8, 8.6.2
  • PGI-Fortran 17.7 combined with GNU-C/C++ 6.3
  • PGI 17.7

Known compilers to fail include:

  • PGI-Fortran 17.10, 18.1

Required dependencies:

  • CMake --- For use and installation see http://www.cmake.org/
  • ecbuild --- ECMWF library of CMake macros
  • eckit (with MPI support) --- C++ support library

Recommended dependencies:

  • fckit --- For enabling Fortran interfaces
  • python (only when Fortran bindings are required)

Optional dependencies:

  • gridtools-storage --- For GPU interoperability
  • transi --- For enabling IFS spherical harmonics transforms ( not open-source )
  • CGAL --- For enabling Delaunay triangulation of unstructured grids
  • Eigen3 -- For certain linear algebra operations
  • FFTW -- For enabling inverse spherical harmonics transforms (TransLocal)

Installation

Atlas employs an out-of-source build/install based on CMake.

Make sure ecbuild, eckit and fckit are installed and the ecbuild executable script is found ( which ecbuild ). Following environment variables help the build system to detect the right dependencies:

# For finding eckit
ECKIT_PATH               # Path to eckit prefix

# For finding fckit
FCKIT_PATH               # Path to fckit prefix

Other environment variables that could be required for optional features:

# For finding gridtools-storage
GRIDTOOLS_STORAGE_PATH   # Path to gridtools-storage prefix

# For finding transi
TRANSI_PATH              # Path to transi prefix

# For finding CGAL
BOOST_ROOT               # Path to Boost prefix
CGAL_DIR                 # Path to directory containing CGALConfig.cmake
Eigen3_DIR               # Path to directory containing Eigen3Config.cmake
FFTW_PATH                # Path to FFTW prefix

Now proceed with installation as follows

# Environment --- Edit as needed
ATLAS_SRC=$(pwd)
ATLAS_BUILD=build
ATLAS_INSTALL=$HOME/local

# 1. Create the build directory:
mkdir $ATLAS_BUILD
cd $ATLAS_BUILD

# 2. Run CMake
ecbuild --prefix=$ATLAS_INSTALL -- $ATLAS_SRC

# 3. Compile / Install
make -j10
make install

# 4. Check installation
$ATLAS_INSTALL/bin/atlas --info

Extra flags maybe added to step 2 to fine-tune configuration.

  • --build=DEBUG|RELEASE|BIT --- Optimisation level
    • DEBUG: No optimisation (-O0 -g)
    • BIT: Maximum optimisation while remaning bit-reproducible (-O2 -g)
    • RELEASE: Maximum optimisation (-O3)
  • -DENABLE_OMP=OFF --- Disable OpenMP
  • -DENABLE_FORTRAN=OFF --- Disable Compilation of Fortran bindings

Note: By default compilation is done using shared libraries. Some systems have linking problems with static libraries that have not been compiled with -fPIC. In this case, also compile atlas using static linking, by adding to step 2: --static

Runtime Configuration

Atlas behaviour can be configured through some environment variables with defaults marked in square brackets

  • ATLAS_INFO=<0|[1]> --- Control printing of Atlas standard information
  • ATLAS_DEBUG=<[0]|1> --- Control printing of Atlas debug information
  • ATLAS_TRACE=<[0]|1> --- Control printing of Atlas traces (includes timings)

Contributing

Contributions to Atlas are welcome. In order to do so, please open an issue where a feature request or bug can be discussed. Then issue a pull request with your contribution. Pull requests must be issued against the develop branch.

Citing Atlas

If you publish work which mentions Atlas, or Atlas has been useful in your research, please cite the following paper:

@article{DECONINCK2017188,
title = "Atlas : A library for numerical weather prediction and climate modelling",
journal = "Computer Physics Communications",
volume = "220",
pages = "188 - 204",
year = "2017",
issn = "0010-4655",
doi = "https://doi.org/10.1016/j.cpc.2017.07.006",
url = "http://www.sciencedirect.com/science/article/pii/S0010465517302138",
author = "Willem Deconinck and Peter Bauer and Michail Diamantakis and Mats Hamrud and Christian Kühnlein and Pedro Maciel and Gianmarco Mengaldo and Tiago Quintino and Baudouin Raoult and Piotr K. Smolarkiewicz and Nils P. Wedi",
keywords = "Numerical weather prediction, Climate, Earth system, High performance computing, Meteorology, Flexible mesh data structure"
}

Release files for atlaslib-ecmwf 0.46.0.30

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for atlaslib-ecmwf 0.46.0.30
File
atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_x86_64.whl CPython 3.14 CPython 3.14 macOS 15.0+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_arm64.whl CPython 3.14 CPython 3.14 macOS 15.0+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_x86_64.whl CPython 3.13 CPython 3.13 macOS 15.0+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_arm64.whl CPython 3.13 CPython 3.13 macOS 15.0+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_x86_64.whl CPython 3.12 CPython 3.12 macOS 15.0+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_arm64.whl CPython 3.12 CPython 3.12 macOS 15.0+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_x86_64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ x86-64 Details
atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.30-cp311-cp311-macosx_15_0_arm64.whl CPython 3.11 CPython 3.11 macOS 15.0+ ARM64 Details

Total release size: 87.9 MB

Release files / atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.14 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
82ee3b8ba9c21923151f58ea8f0815f767bde4932b0c108aecd20a4fc5654bf7
BLAKE2b-256 checksum
How to use checksums
c0645abcf55a3c6bbb192d67578dde90e5e018443c3e0e950b96b332673101fc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp314-cp314-manylinux_2_28_aarch64.whl
Size 6.1 MB
Tags CPython 3.14 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
60459ab5fe0c94d5da54a939828e44eecff2ac9c011c7b948aeb4a281e3539e2
BLAKE2b-256 checksum
How to use checksums
5d1928cce10a0521c23f3da3757b4fcdf931e52c4bacfe234e771e5f2fa9b482
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0

Release files / atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_x86_64.whl
Size 5.7 MB
Tags CPython 3.14 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
f5650f841f420739811637bbd435c97fd6af8ebf1a03298eabb0e39e04cbb282
BLAKE2b-256 checksum
How to use checksums
ca10f9299ee71a40467c62b239bd1f8f76c16104eece892f5e3a39c524a2cdf2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.0b3

Release files / atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_arm64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp314-cp314-macosx_15_0_arm64.whl
Size 5.2 MB
Tags CPython 3.14 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
c7f6b2e1f329c25b2fe62aa253c92ec556962937b54ee8f7fc5b7e8a758e1e1e
BLAKE2b-256 checksum
How to use checksums
3891f62d3a2e5dbb9b7ffddb4edeedfd24b6e725df188af95a6852b643bb402a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.13 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
6302a467ae350eb7e3ee1ef285c628470be683d307411d49507cd33ebebca270
BLAKE2b-256 checksum
How to use checksums
1a875415b11bc59fe55e4012006bceb2133736f5f46abd709e49fb802589a182
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp313-cp313-manylinux_2_28_aarch64.whl
Size 6.1 MB
Tags CPython 3.13 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
556b1d599dd8cd106f6f6f79fcdc271c0ca02f60402bffb65cbd3504a51568bb
BLAKE2b-256 checksum
How to use checksums
431e46a42597cee27c2ad6a5967f1d67ad3ed00cba6aa0695d88bdf55798c396
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.9

Release files / atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_x86_64.whl
Size 5.7 MB
Tags CPython 3.13 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
226367c9afb02695284eaaa423b786f1a1e84216d1c232d677705995ce9b597b
BLAKE2b-256 checksum
How to use checksums
e53336427949ffea25ec32575162092da6635bc1d29a6e99c904f8161c8650d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.2

Release files / atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_arm64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp313-cp313-macosx_15_0_arm64.whl
Size 5.2 MB
Tags CPython 3.13 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
9d30561c393decd0400a5bedf49e984777342178625601776a15e8bb07e89c18
BLAKE2b-256 checksum
How to use checksums
25677ff8f630718a8c6225f954581691de15c42dec7fae85f190cf1a04e52d08
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.15

Release files / atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
54f13955641339f5c56b86e22fc31cd032f0889a06cde7d4e8e1d399487571fd
BLAKE2b-256 checksum
How to use checksums
ffced4ac5da2bf2f82b084c797049b6b8f8a9a0dcf3e90cc4af76cef497a69e5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp312-cp312-manylinux_2_28_aarch64.whl
Size 6.1 MB
Tags CPython 3.12 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
9fccb5573f931f8796d750b9eb583bda80086cb2bf447e10132d6f8dc09f9dc5
BLAKE2b-256 checksum
How to use checksums
fe10d3bcd3905b04f62f8c9d88265707901397d48cc085b04c86a1a7d3e54721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.12

Release files / atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_x86_64.whl
Size 5.7 MB
Tags CPython 3.12 macOS 15.0+ x86-64
SHA-256 checksum
How to use checksums
a05e6a831392aac4504af60fbe566d9bc56bb2c1a52200aceb209a18e2505499
BLAKE2b-256 checksum
How to use checksums
47bd1752072c331767cd4fb61d0d456fe860f9cf079bf7cbbf072e22ea0b6769
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.9

Release files / atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_arm64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp312-cp312-macosx_15_0_arm64.whl
Size 5.2 MB
Tags CPython 3.12 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
bfc99381ad8fea46c40f77b7d1ed38f1a72f91102c4208591830b6fb2c2b413e
BLAKE2b-256 checksum
How to use checksums
6cb29dbc5deec1f5cdf8d3b47387ff37f957e5622d75e536fc6237528411a742
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.14

Release files / atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.11 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
f912e0d10f9755897e0ffc8d65047cd9fd6e8f6a2ac75fe79ecac5ea07f5c1eb
BLAKE2b-256 checksum
How to use checksums
470fcf756eea51814ebcabd62c0252efb24b326496dbdcbdf65222edaddd48d5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.14

Release files / atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp311-cp311-manylinux_2_28_aarch64.whl
Size 6.1 MB
Tags CPython 3.11 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
da2cbadde2485bf77f5d0d376bbb4be3a1df27285f26a14dded44e3b7e8dfcc8
BLAKE2b-256 checksum
How to use checksums
0238755ed44c825ce988b55990d9d3fc86b67ff94cc8792859b4738f36793b4b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.14

Release files / atlaslib_ecmwf-0.46.0.30-cp311-cp311-macosx_15_0_arm64.whl

Download URL atlaslib_ecmwf-0.46.0.30-cp311-cp311-macosx_15_0_arm64.whl
Size 5.2 MB
Tags CPython 3.11 macOS 15.0+ ARM64
SHA-256 checksum
How to use checksums
8dc45d39f935edadc0a92b73a9e4fda0c54b3dff1f7a55bf47fdcacaefa011ea
BLAKE2b-256 checksum
How to use checksums
ddb0695258430edfb44c234b71079385f1c9b381edc1c560995c82373d8eacc1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.16
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page