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.1-cp313-cp313-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.1-cp313-cp313-macosx_13_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.13macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.1-cp312-cp312-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.1-cp312-cp312-macosx_13_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.12macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.1-cp311-cp311-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.1-cp311-cp311-macosx_13_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.11macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.1-cp310-cp310-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.10macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.1-cp310-cp310-macosx_13_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.10macOS 13.0+ ARM64

atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_x86_64.whl (6.4 MB view details)

Uploaded CPython 3.9macOS 13.0+ x86-64

atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_arm64.whl (5.7 MB view details)

Uploaded CPython 3.9macOS 13.0+ ARM64

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 ef599cd770aeeed8ab2f782703d98dad44ff2abea6e000a8442bebbcde1194c4
MD5 4f12d18c7335792be7a6ef579282779f
BLAKE2b-256 b1c4621788d9feb7587c135595b2e85b7ab965a95ec9a47e03eb6cc3d540a502

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp313-cp313-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3cc14d35eccf0abcbc667dd16190bb8ce6766060a31e9b54a536e30364df60b6
MD5 a30ba52319c63593f5613c3c46e267dd
BLAKE2b-256 25b3dd3144b6d9f267a49f0d72c031117e1a159f90d1f46c281f70c64a1bc677

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 81a41de8c9a5f1b559b8fbde2382fbd18dafd487f78f316a319274a9cea5ea78
MD5 46ed40f9732dd8e18bf502127d910388
BLAKE2b-256 f0c593be478d9729a8590bb91bbb227b147755093d6cdcb1a4ee5c8ab80a3db7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp312-cp312-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 a7ffd4f1605e1771f11557841ea7565ac2c6fc33dc06d42ae40e6265014bb156
MD5 18e2869f845a37fca9b9802dca33fd57
BLAKE2b-256 51a03fcede1a1973e2c91ca5591de204493e6f89ff82cdf138407d083c1ba4f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7593d55d707e378c8c62b73e3f4c2d7e0b5f952ee332f101bb8b119c374ace88
MD5 f6d22529ace6f1182c1bb86935dece94
BLAKE2b-256 77d988a6ecdde108a57fe489cca7fc8c820144f8fc90dd700f2c0c6ea8074584

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp311-cp311-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 32eeadb8f69667010e3467f3250d21504f6f7b46263eb0070d71331418fd7b90
MD5 9e133ac0a1ba83b1dbc577c67c5c6e47
BLAKE2b-256 8231b925c55ef70752fab49ef4b9c1f36e41c199e090005a0a817f7a934eef4f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp310-cp310-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 e20499af40de24a81c3005e6f7b5542906c49f8ed0e7b9dd2df0dd2405decf1d
MD5 86e360468255b014ddafd4e00c21574d
BLAKE2b-256 9ecc4aa5e339d1839cff2182207a60a82b822be7ba13fcb0ee941ff1f1f53cf0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp310-cp310-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 b8d8bbd7b648787b686f519c93678d5e9f78837f7101c1dd7d48a90604c85d22
MD5 620df2cc336f78a9bc1771e4afdd49d2
BLAKE2b-256 a1dc157eb727f13abd5b1b78d81facb2d09c58fbc3f0a2baffaf2dd6da184d1e

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 4e561a1071ace2d486bd7b9a2f691d95db75a98592c1ae2b757fcfd4d7bcf744
MD5 190cb45b8c0c94628897cad0a7d25e35
BLAKE2b-256 8672fe6c9580c44236289a06c4929ad296b7cb8a76a957c308d714c1c7fc35a0

See more details on using hashes here.

File details

Details for the file atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_arm64.whl.

File metadata

File hashes

Hashes for atlaslib_ecmwf-0.43.1-cp39-cp39-macosx_13_0_arm64.whl
Algorithm Hash digest
SHA256 3e79f12d66746bc043fbb92dc9a309b636297bb73c60e2b768301e46a29cfe5b
MD5 0f6b5e0ad502dae2497b2072ff4c9e0b
BLAKE2b-256 752ea4187424c8a88dd241627d20465dadb1bdb945208f2b5f2db44fa83f99d5

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