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.44.1.dev3-cp313-cp313-manylinux_2_28_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.28+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-manylinux_2_28_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-manylinux_2_28_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-manylinux_2_28_x86_64.whl (10.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c6b9b8bd4b0f207946e6d7c65136841d7e36151ab8ae0445205fac5b48478878
MD5 dfaa83b12c88b1d606b1add2b9886729
BLAKE2b-256 37f28a6539d20a00433bacba49271fff0d68dcb9df76c6ccd3c8667a5ac8ed15

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 2ce19e5ee511ee4ad025b8a03b5e142445b9b84f1f3ad9a953a3d3f8bcc64aa5
MD5 37acc2d1cf28e1b8e3e75f7cba898790
BLAKE2b-256 92b3ff869220933459bdc942dbf3722375f658a4cf84066756319e37b0732166

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 2bb71d10cc6926f617e29885b13be1eec4c9e92ab6e89452ef2116c65a4920d2
MD5 09fbd27954b229172d6939cd1b322765
BLAKE2b-256 da9017b94394896fd312ac36502cc0ef6c69c15d6c614e062c6d24278e176534

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8e0b4818ec646f030bb41688026c942b8070b1c28523bf2beebae902f9ac8a13
MD5 077d1f6a4ed50e7f473df66ef6d01727
BLAKE2b-256 4f94e53afbbd7db940a59c2bf59975514b7cdd16ba7d08d9814502a220f67ee1

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 57f7c4b2b3c70e2931716c2b2f117d1e35ffc8fa0568c7f7bf6a92ee60785cb3
MD5 de41a3dbcf9edb1a8598848ae21b862b
BLAKE2b-256 9a165c6c4e36a8be46b6aec48eca17275f00b7c5798471a6d2196f0b5d0f5f3d

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 73c3854338b85e09206008cbd0f6784184e6e00b3e18ebf548ee906d829800dc
MD5 ac2afeae6bdfc0c64184746aa3273839
BLAKE2b-256 fe62e3697f8714aebf89aa5e0fc8d5ab90e66f8f7f18e22e9da919843e93c850

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8465ddf367a871e50d85c853ece2373f859bcc7ef38a2311a9439c6ac43e7b53
MD5 3fc282cf20fc8f6d092c351b48325ad6
BLAKE2b-256 9d19028da7de797394f90e65ef2c1a9b929fdb4b870c7568f0d04a8e3225cc03

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3367eab07e0dac57b6cf564967beade700305590858b257fdc4d17a72c1d6f63
MD5 c0ad72e59fb7fefac81a8cf070021f66
BLAKE2b-256 55038ec380f5487e4566b2438401e7285a8156ab1fe4c87c135140235e532a43

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d727defa2a9695eb2f1dc24ecdb507043795be53d24724cd8a64182282c5fd7e
MD5 fe72f94f39acc4336a61981a17889996
BLAKE2b-256 4135991d032d3858cb5cb8305433f6b0550f7fa71d102ff641d7f04616cc612d

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3d5b677b2e701c7b8294b4e9b690fd9da607c477e86a0bc86eadcd01e62c67be
MD5 9d8479c7c8ae8aefc2fe5653966acd49
BLAKE2b-256 9c065294db73313ce170bd2c700b06ff78a1235c6678d3fc72ce54d96e6b6b5f

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev3-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 6adbb7d35d5ffcbd5416fb3099ea73248d783c1ced2ba177c8a322448fb25aa0
MD5 488d725bafcae0ebd10dda114f585c28
BLAKE2b-256 2020a1284ba63ee040fa67ca5d95999cdcea1710700e0f80ba6a94e0d32316ae

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