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.27

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.27
File
atlaslib_ecmwf-0.46.0.27-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.27-cp314-cp314-manylinux_2_28_aarch64.whl CPython 3.14 CPython 3.14 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.27-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.27-cp313-cp313-manylinux_2_28_aarch64.whl CPython 3.13 CPython 3.13 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.27-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.27-cp312-cp312-manylinux_2_28_aarch64.whl CPython 3.12 CPython 3.12 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.27-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.27-cp311-cp311-manylinux_2_28_aarch64.whl CPython 3.11 CPython 3.11 Linux glibc 2.28+ ARM64 Details
atlaslib_ecmwf-0.46.0.27-cp310-cp310-manylinux_2_28_x86_64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ x86-64 Details
atlaslib_ecmwf-0.46.0.27-cp310-cp310-manylinux_2_28_aarch64.whl CPython 3.10 CPython 3.10 Linux glibc 2.28+ ARM64 Details

Total release size: 62.4 MB

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

Download URL atlaslib_ecmwf-0.46.0.27-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
97c7f51b8b0e3c80d2f300d55f5f5f49dc75c3eeae09462ea4da729772eae40f
BLAKE2b-256 checksum
How to use checksums
1064db7ac3849a62146ecb70cfb681e455c0bb3e87b03ecf6de1baadd1d73f12
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.27-cp314-cp314-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
943b92c120c8bc8c1c3fd4a069572a6e948cdd2943395e67aaab91e67f5489e7
BLAKE2b-256 checksum
How to use checksums
6d4ad84a896c3ecbdc5bec2e004b0da395e08dbe360d8457abccb43484e322cd
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.27-cp313-cp313-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
9f08d2603006ae84d45a5878e17fb06f64190df9c912b5c62e2f1dc16b27ad63
BLAKE2b-256 checksum
How to use checksums
67f62840edda1ec07384a7160f1cd48c5350ab4a5f98e4cd0511b7220a4f6299
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.27-cp313-cp313-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
6ba065bab0d72a559df4ac79a6d618f61f4c94c8248e9dfd5608e3ab6cc14d3c
BLAKE2b-256 checksum
How to use checksums
d50331ea887ce19cc8128836b4767534501c0d30c6cb21e35c20f98da7d19350
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.27-cp312-cp312-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
e3152fbb7dea75a0faa94c90b9a15136818be7392be5098cc213ab90dc6c4b1a
BLAKE2b-256 checksum
How to use checksums
b62a4daa56ef2eb920b8239bc3bef2ed083338d4c53f7c1caf56125e7d2b1bf9
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.27-cp312-cp312-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
50ae37201f83db49cdb1501c345ef629461af79c71000245569edf189b92c7d6
BLAKE2b-256 checksum
How to use checksums
fdaf8a605d0146aadc162795e99bc4c465851bfec9353d5a57079d09f5625d00
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.27-cp311-cp311-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
fe6907a7c71a94c756d87d909cbea626b35a6adc1c48d27bc1c48272bf603090
BLAKE2b-256 checksum
How to use checksums
530d26ca4dda50264c00152dc4786e46401fecea256cef6903efa5cc49c943ed
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.27-cp311-cp311-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.27-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
0c196f76448bf87ae6c396db3d63bf5b4216b87bf33969271b28ea4a33774545
BLAKE2b-256 checksum
How to use checksums
37cec150d8e71170c6735a12c656a07526980ca9e42964b4edec865d5e19aeb1
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.27-cp310-cp310-manylinux_2_28_x86_64.whl

Download URL atlaslib_ecmwf-0.46.0.27-cp310-cp310-manylinux_2_28_x86_64.whl
Size 6.4 MB
Tags CPython 3.10 Linux glibc 2.28+ x86-64
SHA-256 checksum
How to use checksums
d0bd08fd6f357f10383d75ef1aeafbd83de266b53f57881b8deb8a2f683b7122
BLAKE2b-256 checksum
How to use checksums
037019842340bae8e811cd80d3c98d3a50f1d9b4a0bd19d03cfbe7ca2e8e4997
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.19

Release files / atlaslib_ecmwf-0.46.0.27-cp310-cp310-manylinux_2_28_aarch64.whl

Download URL atlaslib_ecmwf-0.46.0.27-cp310-cp310-manylinux_2_28_aarch64.whl
Size 6.1 MB
Tags CPython 3.10 Linux glibc 2.28+ ARM64
SHA-256 checksum
How to use checksums
67d19e890b89c2b3eb145f4b2f9d2477206a075c2e1ecad5011320e52257617d
BLAKE2b-256 checksum
How to use checksums
95663303bfe2421074d3f5530032848e7025c5e3bba5d50ff3efce02e173f93c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.19
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