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

Uploaded CPython 3.13macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.1.dev4-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.dev4-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.1.dev4-cp312-cp312-macosx_13_0_arm64.whl (6.0 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

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

Uploaded CPython 3.11macOS 13.0+ ARM64

atlaslib_ecmwf-0.44.1.dev4-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.dev4-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.dev4-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.dev4-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 453933d77c2a57e3af4f74564b7d895bff322c77cc8f08ad088bb91d0fdb0c01
MD5 56fd9514e686323e44684a669b658410
BLAKE2b-256 6210f51b921183930f190aa1dbd985cd0c302551a8964beb6204b5aa9530158f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e95f1c33b64eff26dc0f3b1d221423c9a2b13fce51f3c3e1bedf54973dac872e
MD5 2375ef78e309667b3a5eb8689880e96a
BLAKE2b-256 323bbebbd07fda82d8260cd27e549cd5b45d45ae9e1280ee07129d926771eca4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 ebc31984f521a41ab9b52745a13c2f74f2452b97b3cf170e8beb013a3b00fee3
MD5 db59db34e8dc5265c18ccdb0e0de99bf
BLAKE2b-256 23788796498263b6453dd25729554535491e1b41a5d4ccd867c6c91e2e02d43c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9edc71169ebe7569184a71b22ad973333558f616ac4a8de2de914fa7288113af
MD5 c53f24c72510c598d4049da948cb8918
BLAKE2b-256 b893298c9c15994ae25ab5774c7b192e4ff2849d020df3f2408c68cfe1c2691b

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.44.1.dev4-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 c5cbaabd4ba9f214d8e1b18b081da8e55114a626c2ef13356ec0864efb624ebb
MD5 7e687129e5eccabdb3a871b8d367bb83
BLAKE2b-256 ad333e613c56bee5920005c7c8d73e2bee2817d21460b243d2af720180a6a1a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 42fabcabf4958a35d5688c83511e5913a136dae0c6afb8254a45a10f8f280fa1
MD5 baee007ef003f494c03dbb99680e3760
BLAKE2b-256 c45727a0e8dee23cf0d358bd6762a5cf1e02795a4e59a680f8447805870bebb5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 77d6a75a240166df50ab8f0af44e89cda10ec53c9fb41314d80494d721ca99fb
MD5 4cd97956db49106e24a038fcd919c3e2
BLAKE2b-256 f60dc3cec4f044ee0b7c8c559f6bcbb609d40bc5a58f7d8a04cd074833a98c22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 d3a1e2b943fa856945bf4f303f9de626c3cbef332e96b36e0ab17d99c1c3cc44
MD5 29c6cc1c643f2a2ac47afd54a22a54fd
BLAKE2b-256 eee717f4a2159694ec2754451f62b390f43a6eb56699e95421af4b0cc9b643e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 e05d55134864e5e13dc0126db24995f9d47cedfb8ff1560f6fcaa69d01e11eca
MD5 76d995074646d44d8c3d978fa000125d
BLAKE2b-256 8e4668101f070787bd7868a8ecd313af7c30d7b46e8f86cd6b63366f18ac5292

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b15ce571a7f6b82c0f036ea07adbf8cfbe8cbeaf7148b4fe4637686ef83bef0
MD5 29a86f2f941f138dcd0eca52b66a9bb0
BLAKE2b-256 94d6acde24a1228ead00c6a8f5c9a2b3b516d89028b64ae0d2f491ae5cd883aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 07beb5d9a0458b47c6343f2e621e965d0d4964d39de55115c1206325edce822c
MD5 e4da3a205b47233f82da5d66743da5d1
BLAKE2b-256 29d2d21db5a1f1979423081de81f8615f126403c0921a4d2b86f567f8cd01e99

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.44.1.dev4-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 f11f127fc525def7885465028c8803d2fe857e97952d02ae7b556907c2b574ac
MD5 c69d0b22526befb20cc2eb11e7ba1535
BLAKE2b-256 2eac4a11f6b767ab88744a0aca9951b714c4a666204438f51021570ff986bab5

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