A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

atlas

A library for numerical weather prediction and climate modeling.
https://github.com/ecmwf/atlas

Category: Climate Change
Sub Category: Earth and Climate Modeling

Keywords from Contributors

bufr meteorology grib weather decoding encoding wmo earth-science odb climate

Last synced: about 7 hours ago
JSON representation

Repository metadata

A library for numerical weather prediction and climate modelling

README.md

Atlas

atlas release version
build
codecov

Project home: https://confluence.ecmwf.int/display/ATLAS
Contact: Willem Deconinck ([email protected])
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"
}

Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 4,773
Total Committers: 55
Avg Commits per committer: 86.782
Development Distribution Score (DDS): 0.354

Commits in past year: 216
Committers in past year: 18
Avg Commits per committer in past year: 12.0
Development Distribution Score (DDS) in past year: 0.259

Name Email Commits
Willem Deconinck w****k@e****t 3081
Tiago Quintino t****o@e****t 341
Pedro Maciel P****l@e****t 313
carlos osuna c****a@m****h 132
cosunae c****a@e****h 106
Avi Bahra A****a@e****t 102
Andreas Mueller a****r@e****t 90
Oliver Lomax o****x@m****k 81
Willem Deconinck n****d@e****t 77
Florian Rathgeber f****r@e****t 73
Baudouin Raoult b****t@e****t 66
MarekWlasak m****y@g****m 53
Slavko Brdar s****r@e****t 47
Philippe Marguinaud p****d@m****r 20
Daan Degrauwe d****e@m****e 20
Willem Deconinck n****d@c****) 17
danholdaway d****y 17
Gianmarco Mengaldo G****o@e****t 16
Dusan Figala d****a@p****m 14
James Hawkes m****h@e****t 11
Toby Searle 1****e 8
Benjamin Menetrier 3****r 7
Rahul Mahajan a****l 7
Mats Hamrud n****r@c****t 7
Benjamin Menetrier b****r@i****r 7
Olivier Iffrig o****g@e****t 6
Liam Adams l****0@g****m 6
Iain Russell c****i@e****t 5
Christian Kuehnlein c****n@e****t 4
Francois Hebert h****t@u****u 4
and 25 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 69
Total pull requests: 211
Average time to close issues: 2 months
Average time to close pull requests: 15 days
Total issue authors: 18
Total pull request authors: 33
Average comments per issue: 2.12
Average comments per pull request: 4.22
Merged pull request: 128
Bot issues: 0
Bot pull requests: 0

Past year issues: 16
Past year pull requests: 73
Past year average time to close issues: 24 days
Past year average time to close pull requests: 11 days
Past year issue authors: 7
Past year pull request authors: 18
Past year average comments per issue: 1.75
Past year average comments per pull request: 3.77
Past year merged pull request: 55
Past year bot issues: 0
Past year bot pull requests: 0

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/ecmwf/atlas

Top Issue Authors

  • pmarguinaud (14)
  • DJDavies2 (11)
  • odlomax (10)
  • fmahebert (5)
  • twsearle (4)
  • MarekWlasak (4)
  • wdeconinck (3)
  • l90lpa (3)
  • benjaminmenetrier (2)
  • sbrdar (2)
  • jeromebarre (2)
  • tom-j-h (2)
  • yangjinhui11 (2)
  • andreapiacentini (1)
  • iajzenszmi (1)

Top Pull Request Authors

  • odlomax (38)
  • wdeconinck (31)
  • pmarguinaud (22)
  • MarekWlasak (19)
  • sbrdar (14)
  • benjaminmenetrier (11)
  • figi44 (10)
  • twsearle (8)
  • geier1993 (6)
  • l90lpa (6)
  • fmahebert (5)
  • mo-lormi (4)
  • MO-marcomilan (4)
  • ytremolet (4)
  • pmaciel (4)

Top Issue Labels

  • Type: Enhancement (6)
  • Status: In Progress (3)
  • Status: Available (3)
  • Status: Merged (2)
  • Type: Question (2)
  • Status: Resolved (2)
  • Type: Bug (2)
  • Status: Review Needed (1)

Top Pull Request Labels

  • contributor (58)
  • Status: Merged (57)
  • approved-for-ci (24)
  • Type: Enhancement (16)
  • Type: Bug (7)
  • Status: Resolved (4)
  • alternative approach merged (3)
  • Status: In Progress (2)
  • Status: Review Needed (1)

Package metadata

pypi.org: atlaslib-ecmwf

"atlaslib-ecmwf"

  • Homepage:
  • Documentation: https://atlaslib-ecmwf.readthedocs.io/
  • Licenses: apache-2.0
  • Latest release: 0.41.1.dev0 (published about 2 months ago)
  • Last Synced: 2025-04-26T13:03:38.190Z (1 day ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 3,150 Last month
  • Rankings:
    • Dependent packages count: 9.564%
    • Average: 31.711%
    • Dependent repos count: 53.858%
  • Maintainers (1)

Dependencies

.github/workflows/build.yml actions
  • Homebrew/actions/setup-homebrew master composite
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
  • ecmwf-actions/build-package v2 composite
  • pat-s/always-upload-cache v2.1.5 composite
.github/workflows/cd.yml actions
.github/workflows/check-release-version.yml actions
.github/workflows/ci.yml actions
  • ecmwf-actions/dispatch-private-downstream-ci v1 composite
.github/workflows/label-public-pr.yml actions

Score: 17.080088163804668