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

Adding robust vector-field interpolation functionality (current PR and further work). #166

Closed
6 tasks done
odlomax opened this issue Nov 30, 2023 · 1 comment · Fixed by #168
Closed
6 tasks done

Comments

@odlomax
Copy link
Contributor

odlomax commented Nov 30, 2023

Atlas PR #163 adds functionality to accurately interpolate vector field defined in lol-lat space on the unit-sphere. Here, we've added an interpolation::method::SphericalVector class. Doxygen given below:

  /// @brief   Interpolation post-processor for vector field interpolation
  ///
  /// @details Takes a base interpolation config keyed to "scheme" and creates
  ///          A set of complex intepolation weights which rotate source vector
  ///          elements into the target elements' individual frame of reference.
  ///          Method works by creating a great-circle arc between the source
  ///          and target locations; the amount of rotation is determined by the
  ///          difference the in the great-cricle course (relative to north) at
  ///          the source and target location.
  ///          Both source and target fields require the "type" metadata to be
  ///          set to "vector" for this method to be invoked. Otherwise, the
  ///          base scalar interpolation method is invoked.
  ///          Note: This method only works with matrix-based interpolation
  ///          schemes.

Currently, the code additions test the following.

  • Interpolation from a cubedsphere mesh to a gaussian mesh
  • Interpolation from a gaussian mesh to a cubedsphere mesh

Suggested further tests and functionality:

Code coverage

  • Tests needed for a vector interpolation on a horizontal field
  • Tests needed for 3d vectors fields with levels > 1
  • Tests needed for "meaningful" 3-vector fields.

Functionality

  • Implementation of adjoint methods (and relevant tests)

Scientific validation

  • Comparison with vector interpolation methods used with StructuredColumns functionspace.
  • Low-to-high resolution comparions.

@wdeconinck @pmaciel do you agree with the above points. Please feel free to add/delete change.

Are there any of the above that need to go into PR #163. I would personally prefer follow-up PRs for the three groups, but I'm completely open to alternatives.

@mo-lormi and myself are well positioned to address the code coverage and adjoint work.

@odlomax odlomax changed the title Adding robust vector-field interpolation functionality. Adding robust vector-field interpolation functionality (current PR and further work). Nov 30, 2023
@odlomax
Copy link
Contributor Author

odlomax commented Nov 30, 2023

Hi @fmahebert, @ytremolet,

Just bringing this issue and associated PR(s) to your attention. It's a generic method to interpolate vector fields in Atlas.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant