A grid for spatial multidimensional processing
Project description
agrid
A grid for modelling, analyse, map and visualise multidimensional and multivariate data. The module contains a class for generating grid objects with variables and functions that defines a multidimensional space with defined extent.
Main features:
- Labelled dimensions coordinates using xarray
- Fast process of high resolution and low resolution data
- Using dask arrays
- 2D map plots and cross-sections
- 3D visualisation
- Features for modelling, analysis and visualisation
The repository contains:
- Module with class for functions and variables.
- Jupyter notebook tutorials:
-
- The grid object
-
- Import data
-
- Visualize data
-
- Introduction to processing and modelling using grid.
Software paper availible here: JORS
Instructions:
The package can be installed by adding it to your Python path, but can also be an incorporated part of you project.
Alternative 1
Using pip:
pip install agrid
or pip3 install agrid
Set up an envirinment for the installation. Use e.g. virtualenv or venv to set up your environment. For more complex isnallations, have a look at pipenv or poetry.
OSX users can set up an environment directely in conda.
conda install -c tobbetripitaka agrid
Alternative 2 Download module and import agrid from local path
See example in the Jupyter Notebook agrid.
To get started:
from agrid.grid import Grid
world = Grid()
# The grid is already populated with default coordinates
print(world.ds)
Further tutorials are available at GitHub tutorials
Methods to import data
Data can be imported from grids, vector data files, rasters or numerically.
Methods to export data
Data can be exported and saved as netCDF, raster files, text files.
Methods to visualise data
Visualisation is not the core use of agrid, but it contains basic functions to plot maps and 3D renderings.
Additional functions
Additional functions are included to download data and structure the content.
---
If used in publication, please cite:
@article{Staal2020a,
abstract = {Researchers use 2D and 3D spatial models of multivariate data of differing resolutions and formats. It can be challenging to work with multiple datasets, and it is time consuming to set up a robust, performant grid to handle such spatial models. We share 'agrid', a Python module which provides a framework for containing multidimensional data and functionality to work with those data. The module provides methods for defining the grid, data import, visualisation, processing capability and export. To facilitate reproducibility, the grid can point to original data sources and provides support for structured metadata. The module is written in an intelligible high level programming language, and uses well documented libraries as numpy, xarray, dask and rasterio.},
author = {St{\aa}l, Tobias and Reading, Anya M.},
doi = {10.5334/JORS.287},
issn = {20499647},
journal = {Journal of Open Research Software},
keywords = {Multivariate processing, Python, Regular grid, Spatial model},
month = {jan},
number = {1},
pages = {1--10},
publisher = {Ubiquity Press, Ltd.},
title = {{A grid for multidimensional and multivariate spatial representation and data processing}},
volume = {8},
year = {2020}
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.