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

Accurate Spherical Operator User Guide #858

Open
hongyuchen1030 opened this issue Jul 18, 2024 · 0 comments · May be fixed by #856
Open

Accurate Spherical Operator User Guide #858

hongyuchen1030 opened this issue Jul 18, 2024 · 0 comments · May be fixed by #856
Labels
new feature New feature or request

Comments

@hongyuchen1030
Copy link
Contributor

Proposed new feature or change:

Issue: Create User Guide for Accurate Spherical Operator

Description

We have designed a suite of accurate operators specifically tailored for calculations on spherical surfaces. These operators significantly enhance the precision of computations involving normal vectors, intersections of geodesic arcs (GCAs), and intersections between geodesic arcs and constant latitude lines.

Features

Achieves an error tolerance as low as half the precision. For float64, this global error tolerance is approximately (10^{-8}).

  1. Accurate Normal Vector Calculation:

    • Our algorithm calculates the normal vector on a spherical surface with remarkable accuracy using floating-point arithmetic.
  2. Spherical Bounding Box:

    • Efficiently and accurately bounds each face within a lat-lon box on a unit sphere.
    • Minimizes rounding errors and adeptly handles pole point detection within polygons and antimeridian cases.
  3. GCA-GCA Intersection:

    • Computes the intersection points of two geodesic arcs with high precision.
    • Maintains the global error tolerance within the specified limits, ensuring reliable results in geospatial analysis.
  4. GCA-ConstLat Intersection:

    • Faster and more accurate than traditional methods, including those used in Climate Data Operators (CDO).
    • Ensures stability and precision, particularly around the poles.
    • Achieves the global error tolerance.

Objectives

  • User Guide Creation:
    • Document detailed steps for using the spherical operator functions.
    • Include explanations of the algorithms, their implementation, and the specific scenarios they address.
    • Provide examples and visual aids, such as the Spherical Bounding Box image, to illustrate the operators in action.

These advancements address long-standing geoscience issues, including the degeneration of closely positioned points, inconsistent intersection points, and other geometry problems caused by error propagation. As a result, our work significantly enhances the reliability of geospatial analysis. The enhanced methodologies are prepared for integration into UXarray, an open-source Python package for the automated analysis of various climate data inputs.

@hongyuchen1030 hongyuchen1030 added the new feature New feature or request label Jul 18, 2024
@hongyuchen1030 hongyuchen1030 linked a pull request Jul 18, 2024 that will close this issue
@philipc2 philipc2 linked a pull request Aug 15, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
new feature New feature or request
Projects
Status: 📚 Backlog
Development

Successfully merging a pull request may close this issue.

1 participant