numpy array with grids and associated operations
Project description
Spacegrids is an open source library providing a Numpy array with grids, labelled axes and associated grid-related mathematical methods such as regridding and integration. Spacegrids provides an object data model of Netcdf data that ensures consistency between a Numpy data array and its grid under common operations (and so avoiding common pitfalls related to axis interpretation), and much more. It is a write less do more library for everyday use.
These interactive plots from Netcdf data are based on Spacegrids.
The Field, Gr (grid) and Coord objects make everyday use easy:
>>> import spacegrids as sg >>> D = sg.info(nonick = True) >>> P = sgPproject(D['my_project'] , nonick = True) >>> P.load(['temperature','u']) >>> # obtain the axes objects under their names T,X,Y,Z: >>> for c in P['some_experiment'].axes: >>> exec c.name + ' = c' # now we can refer to X,Y >>> TEMP = P['some_experiment']['temperature'] >>> U = P['some_experiment']['u'] # zonal velocity >>> TEMP_sliced = TEMP[Y,:50] # slice. Note Y axis object >>> m_TEMP = TEMP_sliced/(X*Y) # take hor. mean >>> TEMP_regridded = TEMP.regrid(U.gr) # U grid differs
Features
A numpy array with grid allowing automatic alignment and dimension broadcasting
Easy to use and intuitive regridding functionality
A data object model corresponding closely to Netcdf
Easier IO via abstraction of IO with multiple Netcdf files
Makes working with output of many experiments easy via aggregation methods
The Field class eliminates errors arising from picking the wrong array index
Quicker plotting due to automatic labels, axes etc.
Distance-related methods such as spatial differentiation and integration on sphere
Extensive unit tests and documentation
There is lots of documentation, both in the source code and elsewhere. Other documentation can be found at:
Installation
Install spacegrids simply by running (on command line):
pip install spacegrids
Dependencies: numpy, scipy, matplotlib (NetCDF4 optional). On Ubuntu/ Debian, install dependencies via package manager if pip install fails:
apt-get install python-{tk,numpy,matplotlib,scipy}
On Mac, pip can be installed via “sudo easy_install pip”.
Contribute
Issue Tracker: github.com/willo12/spacegrids/issues
Source Code: github.com/willo12/spacegrids
Support
If you are having issues, please let us know.
License
The project is licensed under the BSD license.
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.
Source Distribution
File details
Details for the file spacegrids-1.9.tar.gz
.
File metadata
- Download URL: spacegrids-1.9.tar.gz
- Upload date:
- Size: 91.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79bce87fb777899b0d014c1222e645849fab3c2f815bd44899f766a37d592d30 |
|
MD5 | 64345c263dc711ce1a89ba00f7284990 |
|
BLAKE2b-256 | 272fae92422f65f2c76c9c9a5fcdaff39df466b7d223f241eb6ddfda50ca2238 |