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.0.5-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.0.5-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.0.5-cp313-cp313-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.0.5-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.0.5-cp312-cp312-macosx_13_0_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

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

Uploaded CPython 3.12macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.0.5-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.0.5-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.0.5-cp311-cp311-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.0.5-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.0.5-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.0.5-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.0.5-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 baefed591ec6ad00b6b4980a9683559c6fdce92086ced140010a858028f980c8
MD5 a73526ccce9ec603687984707df54776
BLAKE2b-256 adbf6f8478c9378930991b372ccd92d236745246b43d2d41870720f8731041ad

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7ab4e0895e7e0df94f7493948f4fbbec6171ff50a374c94d293facc2be2d4544
MD5 abe7d5244bd832d475f01bc172539f28
BLAKE2b-256 8360c73f07ea3b8c253974acdd3a3178e714df363adb1a09919a951f48046118

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp313-cp313-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 7035926da5e8faa574fedd384ade1fb25b6ecb00d312b92d05fc665fb06cab88
MD5 7affa5da72579517e1b4903473decac5
BLAKE2b-256 acea2359c0f63097449d450470ef828426b14ae9a5399b1a91742a5a4e126fa9

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0c1449e6a7b7112f4ab57c16e23d70390c71b8960cd2cae896892894d77b497a
MD5 8a66bf5cc67a5c32c32a1f11685d0636
BLAKE2b-256 5657ba3858682b922fa925b22b15a1252129d7c57d6453e3bde7e0f572895d2f

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 0a6fa405bfe26b960e46299e84596341348a07304d35e67f1d18b3857f8d9b73
MD5 830259860ce44958c1da8bda86d48e0a
BLAKE2b-256 4ed5ab61cfd7e626a241b04c39b6c77ffcec87cb78758b419afe1e543af77ab6

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp312-cp312-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 9f366fba2ca8ba945da92ebac3af57fbb0e15e9fcf8d84903f5f027e5521b2f5
MD5 e292c389c83519c428f42801ea3296c6
BLAKE2b-256 8b81f1e090494a588af218d722c85189366608f95c1af6db0eafe8c5832c4d0a

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 57489dcc16b39be89fee8320fc6aa382faffc29650a9a1f99ccd0bf67a85c9b2
MD5 ba3911ec813f3d673096d64e8ad54aba
BLAKE2b-256 24d1c97d325164edb9c46b611ef7a32982f0349d52f1826f65a5a2daec9b2081

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 8008356e5f229a602c1dac166fcb61a7099890c7e9575a23a6fc63750b778d32
MD5 f129d7dbe804858265690e2114739fd8
BLAKE2b-256 cca87ee2278c36c6d94934211ea02b0c5201037c87c7d2af2cfc7cc98611cf0b

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp311-cp311-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 cff446da8a26178665c84c5ac27cac0982a04bb3cb15c4761973fc07963d080e
MD5 0db8dd3ab1ccba9dadb13d7fda7317fa
BLAKE2b-256 11db6c92a63e7911298bd454b721e22c6aacf1aa093477b74a4da5f7ef923ab3

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d552f85cb263e5318c2c03d2ac414106e5f15feb0c9684d25c929a9157bfc751
MD5 930b728a8a1e2c4598b7f37160e688a2
BLAKE2b-256 c9965a30fcca51602c339591d60923ce539d3f2bf7e05293ba24c41bf898d7d2

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp310-cp310-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 137031a3b3791dbfae82804bb88389a5d719edac96b1470b3b73b427a931315b
MD5 5248850f945701ee56e3e0fe75106456
BLAKE2b-256 8b6b9999acc7b1a2402e6b88e3ef3106eb59906cae770b82dc12a343ea32f631

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.0.5-cp310-cp310-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.0.5-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 d5fac14de8aacf784605cbe23039b56da457a15663ea9c4c5bce5a429645fbd6
MD5 bb0f0a06e3fc7b63d6f9d0af4bdbc61d
BLAKE2b-256 0e65ee4496723df47c35fa6b301369fc816a50838f575fb1374e8c2749873d02

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