Skip to content
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

Parallel transport generic vector interpolation method. #163

Merged
merged 31 commits into from
Dec 15, 2023
Merged
Changes from 1 commit
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
2c9512f
Implemented forward interpolation. TODO: adjoint and more tests.
odlomax Nov 17, 2023
7c0a5d7
Fixed race condition errors.
odlomax Nov 20, 2023
d01f5dd
Replaced rotation matrices with complex interpolation weights.
odlomax Nov 21, 2023
61ec2e7
Merge branch 'develop' into feature/parallel_transport
odlomax Nov 21, 2023
d5c9ef5
Fixed typos before discussion.
odlomax Nov 23, 2023
088403e
Renamed class to SphericalVector. Added Eigen3 matrices.
odlomax Nov 28, 2023
a6d0df9
Update SphericalVector.cc
odlomax Nov 28, 2023
5064f44
Tidied up SphericalVector class.
odlomax Nov 29, 2023
d0da681
Finalising for PR.
odlomax Nov 29, 2023
91de6bf
Merge branch 'develop' into feature/parallel_transport
odlomax Nov 29, 2023
6b43f84
Minor cosmetic changes.
odlomax Nov 30, 2023
35611a8
Replaced optional compilation with #if ATLAS_HAVE_EIGEN in source fil…
odlomax Nov 30, 2023
a913b18
Removed redundant macros.
odlomax Nov 30, 2023
c4481aa
Removed static factory linking.
odlomax Nov 30, 2023
6107e91
Fused horizontal and vertical component matrix-multiplications. TODO:…
odlomax Dec 1, 2023
77856f3
Tidied fused loop.
odlomax Dec 1, 2023
346f7f1
Uncovered and fixed differences in eckit and Eigen3 CRS format. Also
odlomax Dec 5, 2023
ee4c3ad
Added multiple levels to 3d fields.
odlomax Dec 5, 2023
a96057e
Add SphericalVector to MethodFactory
wdeconinck Dec 7, 2023
8b3e8f4
Added more consistent types to iteration indices.
odlomax Dec 7, 2023
d63503f
Further index consistency added.
odlomax Dec 7, 2023
636c6d8
Removed superfluous templates.
odlomax Dec 8, 2023
3d16b6b
Tided up macros.
odlomax Dec 8, 2023
ba8193c
Merge branch 'develop' into feature/parallel_transport
odlomax Dec 11, 2023
fd77d76
Disable OpenMP for older intel-classic compiler (< intel/2022.2)
wdeconinck Dec 12, 2023
3686d84
Enable test with CONDITION statement
wdeconinck Dec 12, 2023
09af7e7
Revert whitespace changes
wdeconinck Dec 12, 2023
1212789
Make greatCircleCourse private before moving to eckit
wdeconinck Dec 12, 2023
98ab54a
Fix header includes
wdeconinck Dec 13, 2023
96b28b2
Addressed reviewer comments.
odlomax Dec 14, 2023
56badc7
Merge branch 'feature/parallel_transport' of https://github.com/JCSDA…
odlomax Dec 14, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions src/atlas/interpolation/method/MethodFactory.cc
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It was still good to have it in this file, but not guarded by #if ATLAS_HAVE_EIGEN if that makes sense.

Copy link
Contributor Author

@odlomax odlomax Nov 30, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can see that it adds unnecessary marcro mess. I'm just marvelling at how the factories can register at run time instead of compile time!

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I meant is what I added to your branch with a96057e

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah! That looks far safer!

Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
* nor does it submit to any jurisdiction.
*/

#include "atlas/library/defines.h"
#include "MethodFactory.h"

// for static linking
Expand All @@ -17,7 +16,6 @@
#include "knn/GridBoxMaximum.h"
#include "knn/KNearestNeighbours.h"
#include "knn/NearestNeighbour.h"
#include "sphericalvector/SphericalVector.h"
#include "structured/Cubic2D.h"
#include "structured/Cubic3D.h"
#include "structured/Linear2D.h"
Expand Down Expand Up @@ -48,9 +46,6 @@ void force_link() {
MethodBuilder<method::GridBoxAverage>();
MethodBuilder<method::GridBoxMaximum>();
MethodBuilder<method::CubedSphereBilinear>();
#if ATLAS_HAVE_EIGEN
MethodBuilder<method::SphericalVector>();
#endif
}
} link;
}
Expand Down