Giter VIP home page Giter VIP logo

collocate's Introduction

collocate

Build Status

collocate un-structured xarray DataArray's (or Iris Cube's) in arbitrary physical dimensions.

For example, taking a dataset with mutli-dimensional latitude and longitude coordinates

>>> da
 <xarray.DataArray (x: 5, y: 3)>
array([[ 0,  1,  2],
       [ 3,  4,  5],
       [ 6,  7,  8],
       [ 9, 10, 11],
       [12, 13, 14]])
Coordinates:
    longitude  (x, y) float64 -10.0 -10.0 -10.0 -5.0 -5.0 -5.0 0.0 0.0 0.0 ...
    latitude   (x, y) float64 -5.0 0.0 5.0 -5.0 0.0 5.0 -5.0 0.0 5.0 -5.0 ...
Dimensions without coordinates: x, y

And a set of arbitrary points

>> points
<xarray.DataArray (obs: 3)>
array([ 0.,  0.,  0.])
Coordinates:
    latitude   (obs) float64 0.5 5.4 12.0
    longitude  (obs) float64 -0.7 0.2 3.0
Dimensions without coordinates: obs

We can perform a collocation to find the mean value of the data with 500km of each sample point like so

>>> collocate(points, da, h_sep=500)
 
<xarray.Dataset>
Dimensions:    (obs: 3)
Coordinates:
  * obs        (obs) int64 0 1 2
Data variables:
    latitude   (obs) float64 0.5 5.4 12.0
    longitude  (obs) float64 -0.7 0.2 3.0
    var        (obs) float64 5.5 8.0 nan

Note this is still a prototype and the API is likely to change!

Contact

[email protected]

collocate's People

Contributors

duncanwp avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

collocate's Issues

Grid (data) Dataset cannot have latitude/longitude as dims

Due to the way the data variable in collocate() is converted to a dataframe, if data has latitude and longitude as dims (instead of through dummey x/y dims) it will fail when indexing data.

I have made an example notebook that shows 3 possible dims configurations. The 3rd one fails, and below a workaround by swamping dims with dummy variables.

https://github.com/NicWayand/collocate/blob/master/Test_dim_issue.ipynb

There is probably a better way to do this in the to_dataframe() step.

Install error

Hi @duncanwp, first thanks for writing this great package!

I got the below error upon installing with:
pip install .

error in collocate setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.

Help online suggested updating setuptools but that didn't work for me.

Removing extras_require=optional_dependencies, in setup.py temporarily allowed successful installation. Maybe you or someone else with better knowledge of dependency syntax can help?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.