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

Refactor Interpolation #7

Closed
mpu-creare opened this issue Mar 13, 2018 · 3 comments
Closed

Refactor Interpolation #7

mpu-creare opened this issue Mar 13, 2018 · 3 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@mpu-creare
Copy link
Contributor

  • Right now interpolation is a large if-else statement as part of DataSource.
  • The logic for determining the data that's included in the get_data request is fully determined by the Coordinates.intersect method -- this should not be the case.
    • Nearest-neighbor interpolation needs considerably fewer points that bi=linear interpolation
    • How are out-of-extents cases handles
    • point vs. segment coordinates now matter a lot more
  • What do to about different CRS?
  • Interpolation should be its own module
    • Interpolants should be easy to add
    • There should be an order of priority for interpolators
    • Each interpolator should know what coordinates it can interpolate to/from
    • Each interpolator should know how to select appropriate coordinates from the datasource
    • Multiple interpolators may be required for each request:
      • Time could use NN interpolation
      • lat/lon could use bilinear with a specified CRS/Projection
    • The order of these multiple interpolators matters from an optimization perpsective
      • Consider the size of the dataset before/after interpolation
      • Consider the cost of the interpolation operation
@mlshapiro
Copy link
Contributor

mlshapiro commented Sep 17, 2018

Rough overview of plan:

  • define Interpolator abstract class architecture and API
  • define DataSource integration and configuration of Interpolator
  • move current interpolation methods to Interpolator classes and achieve current functionality with old methods (using new API)
  • implement new Interpolator features
  • refactor old methods to support new interpolator features
  • add new interpolators

@mpu-creare mpu-creare moved this from Ready to In progress in 0.2.0 Release Sep 17, 2018
@mpu-creare
Copy link
Contributor Author

  • Note, this will break the SMAP node. Interpolation_tolerance will be the problem. See MPU when this is ready.

@mlshapiro
Copy link
Contributor

@mpu-creare ready to merge - I am going to close this issue and restart a new issue for 0.2.1 to fix the open issues above.

See 0caf984 for interpolation_tolerance refactor in SMAP. You can show me how to test this today

0.2.0 Release automation moved this from In progress to Done Nov 2, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
No open projects
Development

No branches or pull requests

2 participants