Collocate xarray trajectories in arbitrary physical dimensions
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
collocate
.gitignore
.travis.yml
LICENSE
README.md
requirements.txt
setup.py

README.md

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

Duncan.Watson-Parris@physics.ox.ac.uk