Skip to main content

"atlaslib-ecmwf"

Project description

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"
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

atlaslib_ecmwf-0.43.2.dev20250909-cp312-cp312-macosx_13_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.2.dev20250909-cp311-cp311-macosx_13_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_x86_64.whl (6.8 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_arm64.whl (5.9 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file atlaslib_ecmwf-0.43.2.dev20250909-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.2.dev20250909-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 62a4b40e2a1da1ee8b55e01309c337ff60047b8d593182629ef9febba74de2f9
MD5 aede0ddecb8cd4512a07fb843453bfd0
BLAKE2b-256 6c4d0da3e7cb3abf391084659b36079ba24ef5e58490e99597e55ffd3165904c

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.43.2.dev20250909-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.2.dev20250909-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 85bf6a87790dc0a96fc9cb01b0ba40bd9b3fe3659f34a4ffec45501b2846c940
MD5 926eadbf9c85ac4972ff30c3248c6b91
BLAKE2b-256 729f18b095ac786daf7e7e80c033244685d443e3bcfa16ebe23decdc8a21cc2c

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 51d94aa0620459958e9ebd3c118c3098d215b1f7ed52d3c5903d5b9cc89f4ee3
MD5 c50f29240a1cd03db3c729c840e20ec6
BLAKE2b-256 ac2f38d03d9ae0886d3f1289ba45d52dfef8e5d8d3ed9747fd782c725dfdbc29

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.2.dev20250909-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 08ff49d1d365f42a9b2c9d520dfc6736e854fa45bccd1323b3cb1155842b2f35
MD5 354591fa03b431bdba6315faa1bd3a35
BLAKE2b-256 faa3dc049037020b2ae948e6b98ee4aa24ca3da18d903e44a25b87dcb376bc67

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page