Skip to content

Commit 306039c

Browse files
committed
Merge branch 'release/0.16.0'
* release/0.16.0: (202 commits) Update changelog Version 0.16.0 Fix failing tests introduced since commit 6060345 ATLAS-220 ATLAS_FINALISES_MPI environment variable ATLAS-219 Fix broken parallel interpolation from regular lonlat grids bug fix: number of levels needed min instead of max Fix compilation for travis clang build Fix compilation for travis clang build Fix compilation for travis clang build Provide Trans::listBackends( std::ostream& ) Fix compilation with GPU Cleanup interpolation method factories Cleanup TransFactory Add missing license headers ATLAS-218 Remove atlas_mpi_module ATLAS-217 Remove error handling Fix compilation reported by Nils on Summit with gnu 8.1 Be more explicit about which clang-format is used apply clang-format (5.0.1) Fix warnings ...
2 parents a508fe0 + 7e84f0a commit 306039c

File tree

614 files changed

+27190
-18823
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

614 files changed

+27190
-18823
lines changed

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,6 @@ doc/html
55
doc/latex
66
*.sublime-workspace
77
.nfs*
8+
build/*
9+
install/*
10+
env.sh

.travis.yml

Lines changed: 21 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,13 @@ matrix:
6767
- CXX_COMPILER='clang++' C_COMPILER='clang' Fortran_COMPILER='gfortran'
6868
- MPI=openmpi
6969
- ATLAS_CMAKE_OPTIONS="-DCMAKE_BUILD_TYPE=DEBUG"
70-
osx_image: xcode9
70+
osx_image: xcode10.1
71+
addons:
72+
homebrew:
73+
packages:
74+
- openmpi
75+
- cgal
76+
- fftw
7177

7278
##################################
7379
# KNOWN TO FAIL, so comment
@@ -92,16 +98,6 @@ matrix:
9298

9399
before_install:
94100

95-
#################################################################
96-
# Fixes to pre-installed packages
97-
#################################################################
98-
- |
99-
### Fix pre-installed packages
100-
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
101-
brew update
102-
brew list oclint || brew cask uninstall oclint # Prevent conflict with gcc
103-
fi
104-
105101
#################################################################
106102
# Set compilers
107103
#################################################################
@@ -135,7 +131,9 @@ install:
135131
- |
136132
### Install gcc (homebrew)
137133
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
138-
brew upgrade gcc || brew install gcc
134+
export HOMEBREW_NO_AUTO_UPDATE=1
135+
brew install gcc
136+
brew link gcc
139137
fi
140138
- |
141139
### Install PGI community edition
@@ -165,28 +163,26 @@ install:
165163
mkdir -p ${DEPS_DIR}/cmake && travis_retry wget --no-check-certificate --quiet -O - ${CMAKE_URL} | tar --strip-components=1 -xz -C ${DEPS_DIR}/cmake
166164
fi
167165
export PATH=${DEPS_DIR}/cmake/bin:${PATH}
168-
else
169-
brew upgrade cmake || brew install cmake
170166
fi
171167
cmake --version
172168
173169
#################################################################
174170
# Install FFTW
175171
#################################################################
176-
- |
177-
### Install FFTW
178-
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
179-
brew upgrade fftw || brew install fftw
180-
fi
172+
# - |
173+
# ### Install FFTW
174+
# if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
175+
# brew ls --versions fftw || brew install fftw
176+
# fi
181177

182178
#################################################################
183179
# Install CGAL
184180
#################################################################
185-
- |
186-
### Install CGAL
187-
if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
188-
brew upgrade cgal || brew install cgal
189-
fi
181+
# - |
182+
# ### Install CGAL
183+
# if [[ "${TRAVIS_OS_NAME}" == "osx" ]]; then
184+
# brew ls --versions cgal || brew install cgal
185+
# fi
190186

191187
#################################################################
192188
# Install ecbuild
@@ -240,7 +236,7 @@ script:
240236
#################################################################
241237
# Test Atlas
242238
#################################################################
243-
- ctest -VV
239+
- ctest
244240

245241
after_success:
246242

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,28 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
77

88
## [Unreleased]
99

10+
## [0.16.0] - 2018-02-14
11+
### Changed
12+
- Interpolation makes use of OpenMP
13+
- Cleanup of header includes
14+
- fypp Fortran preprocessor is ported to fckit 0.6
15+
16+
### Added
17+
- Parallel structured interpolation methods (2D,3D): linear, cubic, quasicubic
18+
- Interpolation for multi-level and multi-variable fields
19+
- atlas_Trace: Fortran API and use within OpenMP parallel regions
20+
- StructuredColumns halo-exchange for vector fields
21+
- Field::halo_exchange() function
22+
23+
### Fixed
24+
- Fortran compilation with PGI 18.10
25+
- Access to Field view within OpenMP parallel region
26+
- FunctionSpaces use only required halo, even if larger halo is available in mesh
27+
- Fixed faulty name of a Field when created through Fortran API, wrapping existing memory
28+
- Fix NodeColumns functionspace when mesh is created from projected grid.
29+
- Parallel interpolation from regular lonlat grid.
30+
- Spectral spherical harmonics transforms for large cases
31+
1032
## [0.15.2] - 2018-08-31
1133
### Changed
1234
- Initialisation of Fields to signalling NaN in debug builds, uninitialised in
@@ -58,6 +80,7 @@ This project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html
5880
## 0.13.0 - 2018-02-16
5981

6082
[Unreleased]: https://github.com/ecmwf/atlas/compare/master...develop
83+
[0.16.0]: https://github.com/ecmwf/atlas/compare/0.15.2...0.16.0
6184
[0.15.2]: https://github.com/ecmwf/atlas/compare/0.15.1...0.15.2
6285
[0.15.1]: https://github.com/ecmwf/atlas/compare/0.15.0...0.15.1
6386
[0.15.0]: https://github.com/ecmwf/atlas/compare/0.14.0...0.15.0

CMakeLists.txt

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ ecbuild_find_python()
4444

4545
ecbuild_add_option( FEATURE FORTRAN
4646
DESCRIPTION "Provide Fortran bindings"
47-
REQUIRED_PACKAGES "PROJECT fckit VERSION 0.5" )
47+
REQUIRED_PACKAGES "PROJECT fckit VERSION 0.6" )
4848

4949
if( ATLAS_HAVE_FORTRAN )
5050

@@ -123,6 +123,9 @@ if( ATLAS_HAVE_TESSELATION )
123123
list( APPEND CGAL_INCLUDE_DIRS ${Boost_INCLUDE_DIRS} )
124124
if ( TARGET CGAL::CGAL )
125125
list( APPEND CGAL_LIBRARIES CGAL::CGAL ${CGAL_3RD_PARTY_LIBRARIES} ${GMP_LIBRARIES} ${MPFR_LIBRARIES} ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} )
126+
# Reset INTERFACE_COMPILE_OPTIONS ( see ATLAS-193 )
127+
get_target_property( CGAL_COMPILE_FLAGS CGAL::CGAL INTERFACE_COMPILE_OPTIONS )
128+
set_target_properties( CGAL::CGAL PROPERTIES INTERFACE_COMPILE_OPTIONS "" )
126129
else()
127130
list( APPEND CGAL_LIBRARIES ${CGAL_LIBRARY} ${CGAL_3RD_PARTY_LIBRARIES} ${GMP_LIBRARIES} ${MPFR_LIBRARIES} ${Boost_THREAD_LIBRARY} ${Boost_SYSTEM_LIBRARY} )
128131
endif()
@@ -187,6 +190,7 @@ ecbuild_add_option( FEATURE EIGEN
187190
### Type for Global indices and unique point id's
188191

189192
set( ATLAS_BITS_GLOBAL 64 )
193+
set( ATLAS_BITS_LOCAL 32 )
190194

191195
### Bounds checking
192196
if( ${CMAKE_BUILD_TYPE} MATCHES "Debug" )

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
Atlas
22
=====
33

4+
[![atlas release version](https://img.shields.io/github/release/ecmwf/atlas.svg)](https://github.com/ecmwf/atlas/releases/latest)
45
[![travis master](https://img.shields.io/travis/ecmwf/atlas/master.svg?label=master&logo=travis)](http://travis-ci.org/ecmwf/atlas "master")
56
[![travis develop](https://img.shields.io/travis/ecmwf/atlas/develop.svg?label=develop&logo=travis)](http://travis-ci.org/ecmwf/atlas "develop")
67
[![codecov](https://codecov.io/gh/ecmwf/atlas/branch/develop/graph/badge.svg)](https://codecov.io/gh/ecmwf/atlas)
78

8-
Project home: https://software.ecmwf.int/wiki/display/ATLAS
9+
Project home: https://confluence.ecmwf.int/display/ATLAS
910
Contact: Willem Deconinck ([email protected])
1011
Publication:
1112
> [Deconinck et al, 2017](https://doi.org/10.1016/j.cpc.2017.07.006) ---

VERSION.cmake

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,5 +6,5 @@
66
# granted to it by virtue of its status as an intergovernmental organisation nor
77
# does it submit to any jurisdiction.
88

9-
set ( ${PROJECT_NAME}_VERSION_STR "0.15.2" )
9+
set ( ${PROJECT_NAME}_VERSION_STR "0.16.0" )
1010

bamboo/CLANG-env.sh

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,24 @@
1-
# No module environment on the Mac
2-
[[ $(uname) == "Darwin" ]] && return
3-
# Initialise module environment if it is not
1+
#!/bin/bash
2+
3+
if [[ $(uname) == "Darwin" ]]; then
4+
# Up to date CMake version required
5+
export PATH=${HOME}/Applications/CMake.app/Contents/bin:${PATH}
6+
# No module environment on the Mac
7+
return
8+
fi
9+
10+
# initialise module environment if it is not
411
if [[ ! $(command -v module > /dev/null 2>&1) ]]; then
512
. /usr/local/apps/module/init/bash
613
fi
714

15+
module unload grib_api
816
module unload eccodes
917
module unload emos
1018
module unload fftw
1119
module unload libemos
20+
module unload metview
1221

13-
module switch gnu clang
14-
export FC=/usr/local/apps/gcc/6.3.0/bin/gfortran
22+
module load cmake/3.10.2
1523

24+
module switch gnu clang

bamboo/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
file( GLOB_RECURSE bamboo_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*" )
2+
3+
ecbuild_add_resources( TARGET ${PROJECT_NAME}_bamboo
4+
SOURCES_DONT_PACK ${bamboo_files} )

bamboo/GCC-env.sh

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#!/bin/bash
2+
3+
[[ $(uname) == "Darwin" ]] && return
4+
5+
# initialise module environment if it is not
6+
if [[ ! $(command -v module > /dev/null 2>&1) ]]; then
7+
. /usr/local/apps/module/init/bash
8+
fi
9+
10+
module unload grib_api
11+
module unload eccodes
12+
module unload emos
13+
module unload fftw
14+
module unload libemos
15+
module unload metview
16+
17+
module load cmake/3.10.2

bamboo/INTEL-env.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@ module unload eccodes
1010
module unload emos
1111
module unload fftw
1212
module unload libemos
13+
module unload metview
1314

1415
module load cmake/3.10.2
1516

16-
module switch gnu intel/16.0.3
17+
module switch gnu intel/17.0.3

bamboo/env.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#!/usr/bin/env bash
2+
3+
# export ctest_parallel="no"
4+

cmake/CompileFlags.cmake

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,11 @@
1+
# (C) Copyright 2013 ECMWF.
2+
#
3+
# This software is licensed under the terms of the Apache Licence Version 2.0
4+
# which can be obtained at http://www.apache.org/licenses/LICENSE-2.0.
5+
# In applying this licence, ECMWF does not waive the privileges and immunities
6+
# granted to it by virtue of its status as an intergovernmental organisation nor
7+
# does it submit to any jurisdiction.
8+
19
if( CMAKE_CXX_COMPILER_ID MATCHES Cray )
210

311
ecbuild_add_cxx_flags("-hnomessage=3140") # colon separated numbers

cmake/atlas_host_device.cmake

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@ function( create_cuda_wrapper variable )
1515
get_filename_component(directory ${_PAR_SOURCE} DIRECTORY)
1616
get_filename_component(base ${_PAR_SOURCE} NAME_WE)
1717
get_filename_component(name ${_PAR_SOURCE} NAME)
18+
get_filename_component(abspath ${_PAR_SOURCE} ABSOLUTE)
19+
1820
if( directory )
1921
set(cuda_wrapper ${CMAKE_CURRENT_BINARY_DIR}/${directory}/${base}.cu)
2022
else()
@@ -25,7 +27,9 @@ function( create_cuda_wrapper variable )
2527
"
2628
#include \"atlas/${directory}/${name}\"
2729
")
28-
file(WRITE ${cuda_wrapper} "${content}")
30+
if( ${abspath} IS_NEWER_THAN ${cuda_wrapper} )
31+
file(WRITE ${cuda_wrapper} "${content}")
32+
endif()
2933
endfunction()
3034

3135

doc/user-guide/core-functionalities/fields/fields.cc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
using atlas::Field;
99
using atlas::FieldSet;
1010
using atlas::Log;
11-
using atlas::array::ArrayView;
1211
using atlas::array::make_datatype;
1312
using atlas::array::make_shape;
1413
using atlas::array::make_view;

doc/user-guide/core-functionalities/functionspace/NodeColumns.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,17 @@
55
#include "atlas/library/Library.h"
66
#include "atlas/mesh/Mesh.h"
77
#include "atlas/mesh/Nodes.h"
8-
#include "atlas/meshgenerator/StructuredMeshGenerator.h"
8+
#include "atlas/meshgenerator.h"
99
#include "atlas/output/Gmsh.h"
1010
#include "atlas/runtime/Log.h"
1111

1212
using namespace atlas;
13+
using atlas::StructuredMeshGenerator;
1314
using atlas::array::make_shape;
1415
using atlas::array::make_view;
1516
using atlas::functionspace::NodeColumns;
1617
using atlas::gidx_t;
1718
using atlas::grid::StructuredGrid;
18-
using atlas::meshgenerator::StructuredMeshGenerator;
1919
using atlas::output::Gmsh;
2020

2121
int main( int argc, char* argv[] ) {

doc/user-guide/core-functionalities/functionspace/StructuredColumns.cc

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,14 @@
55
#include "atlas/grid.h"
66
#include "atlas/library/Library.h"
77
#include "atlas/mesh.h"
8-
#include "atlas/meshgenerator/StructuredMeshGenerator.h"
8+
#include "atlas/meshgenerator.h"
99
#include "atlas/output/Gmsh.h"
1010
#include "atlas/util/CoordinateEnums.h"
1111

1212
using namespace atlas;
13-
using atlas::array::ArrayView;
13+
using atlas::StructuredMeshGenerator;
1414
using atlas::array::make_view;
1515
using atlas::functionspace::StructuredColumns;
16-
using atlas::meshgenerator::StructuredMeshGenerator;
1716
using atlas::output::Gmsh;
1817

1918
int main( int argc, char* argv[] ) {

doc/user-guide/core-functionalities/meshes/meshes-Structured.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
#include "atlas/grid/Grid.h"
22
#include "atlas/library/Library.h"
33
#include "atlas/mesh/Mesh.h"
4-
#include "atlas/meshgenerator/StructuredMeshGenerator.h"
4+
#include "atlas/meshgenerator.h"
55
#include "atlas/output/Gmsh.h"
66
#include "atlas/util/Config.h"
77

88
using atlas::Grid;
99
using atlas::Mesh;
10-
using atlas::meshgenerator::StructuredMeshGenerator;
10+
using atlas::StructuredMeshGenerator;
1111
using atlas::output::Gmsh;
1212
using atlas::util::Config;
1313

0 commit comments

Comments
 (0)