-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/fortran api redistribution #160
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Very good! I have some minor suggestions only.
Further to in-code suggestions, please in atlas_module, add a line to export atlas_redistribution type.
type(atlas_Redistribution) :: this | ||
type(atlas_Config) :: config | ||
config = empty_config() | ||
call config%set("type", "RedistributeGeneric") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would remove this line call config%set("type", "RedistributeGeneric")
and allow to pass down an empty config.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This config%set has been removed now. I had to create a default case to be "RedistributeGeneric".
const functionspace::FunctionSpaceImpl* fspace1, const functionspace::FunctionSpaceImpl* fspace2, | ||
const eckit::Configuration* config) { | ||
ATLAS_ASSERT(config != nullptr); | ||
std::string type; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
std::string type; | |
std::string type = detail::RedistributeGeneric::static_type(); |
and add include #include "atlas/redistribution/detail/RedistributeGeneric.h"
below line 16
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This catches passing down the empty config in Fortran
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## develop #160 +/- ##
===========================================
+ Coverage 79.40% 79.63% +0.22%
===========================================
Files 822 847 +25
Lines 62223 62715 +492
===========================================
+ Hits 49410 49943 +533
+ Misses 12813 12772 -41
☔ View full report in Codecov by Sentry. |
Please also address failed compilation with Intel compiler, see e.g. https://github.com/ecmwf/atlas/actions/runs/6708816197/job/18230465722?pr=160#step:14:2303 |
@@ -7,6 +7,15 @@ | |||
|
|||
if( atlas_HAVE_ATLAS_FUNCTIONSPACE ) | |||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The add_fctest
command needs to be guarded by
if( HAVE_FORTRAN )
add_fctest(...)
endif()
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good now. Thanks!
27e849d
to
adbb751
Compare
* release/0.36.0: (25 commits) Update Changelog Version 0.36.0 Add atlas_Redistribution to atlas_module Performance improvement in EqualAreaPartitioner for StructuredGrid Add EqualAreaPartitioner which is geometry based compared to EqualRegionsPartitioner which is loadbalanced Add fallback mechanism to MatchingMeshPartitionerLonLatPolygon Fix MatchingMeshPartitionerBruteForce Fix MDPI_gulfstream: 180 degrees phase shift corrected Feature/fortran api init functions (#165) Fix failing tests for IntelLLVM Release builds GHA: Install intel-oneapi with mpi-devel for access to MPI headers and Fortran modules Fix intel compiler version in github actions, and add IntelLLVM Add compile flag -fno-finite-math-only for Intel LLVM compiler (icx, icpx) Add Fortran API for functionspace::CellColumns (#164) Cleanup Fix logic Fix interpolation warnings Add Fortran interface for Redistribution (#160) Add atlas_TriangularMeshBuilder with Fortran interface for serial meshes Reduce header dependency on atlas_io to prepare for eckit_codec adaptor library ...
Add Fortran API for atlas::Redistribution
(with Willem D.)