Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ioos/xarray-subset-grid

xarray-subset-grid

Subset Xarray datasets in space while retaining the original grid for complex grid systems.

Installation

pip

This package is available on pypi:

python -m pip install xarray-subset-grid

conda / pixi

This package is available on conda-forge:

conda install -c conda-forge xarray-subset-grid

Usage

This package is designed to be used in conjunction with xarray. Given a CF Compliant xarray dataset named ds, this package can be accessed using the xsg accessor:

import numpy as np
# xarray_subset_gris should detect the grid type.
# To check what it found:
grid = ds.xsg
# subsetting to include only certain variables:
# Only temperature
ds_temp = ds.xsg.subset_vars(["temp"])
# subset by bounding box
ds_subset_bbox = ds.xsg.subset_bbox([-72, 32, -70, 35])
# or by polygon
poly = np.array(
 [
 [-72, 32],
 [-72, 33],
 [-73, 33],
 [-73, 31],
 [-72, 32],
 ]
)
ds_subset_poly = ds.xsg.subset_polygon(poly)

For full usage, see the example notebooks and the Sphinx documentation on Read the Docs.

Development

pip

First, create a new virtualenv and activate it:

python -m venv venv
source venv/bin/activate # Linux and macOS
# venv\Scripts\activate # Windows cmd
# venv\Scripts\Activate.ps1 # Windows PowerShell

Then install the project in local edit mode:

pip install -e .

Once installed, the tests can be run:

python -m pytest

Or alternatively run the notebooks in the same virtualenv

pixi

Learn about pixi here: https://prefix.dev/

See the pixi docs for details, but for this setup:

There are three "environments" set up for pixi:

  • default
  • dev
  • examples

And three "tasks":

  • lint
  • test : run most of the tests
  • test_all : run the tests that access AWS -- i.e. download data directly.

To run the tests in an isolated environment:

pixi run -e dev test

Or with a specific python version:

pixi run -e test312 test

Options are: test310 test311 test312 test313

To run a shell to do development work:

pixi shell -e dev

To run a shell in which you can run the examples (notebooks and all that):

pixi shell -e examples

To run a shell with everything (dev and example deps:

pixi shell -e all

Finally, when the pixi.toml file is updated, be sure to update the pixi lockfile:

pixi update

conda

If you are using (or want to use) conda, you can install the dependencies with:

conda install --file conda_requirements.txt

That will get you the full set, including what you need to run the examples, etc.

If you need the development tools, you can also install:

conda install --file conda_requirements_dev.txt

(requirements should all be on the conda-forge channel)

AltStyle によって変換されたページ (->オリジナル) /