https://github.com/pysat/pysat
Generalized data analysis workflow via a consistent easy to use interface.
https://github.com/pysat/pysat
cubesat electric-fields ionosphere magnetosphere measurements nasa nasa-data netcdf plasma python radar-measurements satellite-data science-research space space-science thermosphere
Last synced: 29 days ago
JSON representation
Generalized data analysis workflow via a consistent easy to use interface.
- Host: GitHub
- URL: https://github.com/pysat/pysat
- Owner: pysat
- License: bsd-3-clause
- Created: 2015-04-05T18:04:29.000Z (about 10 years ago)
- Default Branch: main
- Last Pushed: 2024-05-06T16:25:34.000Z (12 months ago)
- Last Synced: 2024-06-11T19:51:21.841Z (11 months ago)
- Topics: cubesat, electric-fields, ionosphere, magnetosphere, measurements, nasa, nasa-data, netcdf, plasma, python, radar-measurements, satellite-data, science-research, space, space-science, thermosphere
- Language: Python
- Homepage: https://join.slack.com/t/pysat/shared_invite/zt-tb9p2fhs-MgFVmA6TwmBhfqpuZeD4rA
- Size: 29.6 MB
- Stars: 148
- Watchers: 11
- Forks: 36
- Open Issues: 60
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Roadmap: docs/roadmap.rst
Awesome Lists containing this project
README
![]()
![]()
# pysat: Python Satellite Data Analysis Toolkit

[](https://pypi.python.org/pypi/pysat)
[](https://github.com/pysat/pysat/actions/workflows/main.yml/badge.svg)
[](http://pysat.readthedocs.io/en/latest/?badge=latest)
[](https://coveralls.io/github/pysat/pysat?branch=main)
[](https://zenodo.org/badge/latestdoi/33449914)The Python Satellite Data Analysis Toolkit (pysat) provides a simple and
flexible interface for robust data analysis from beginning to end - including
downloading, loading, cleaning, managing, processing, and analyzing data.
Pysat's plug-in design allows analysis support for any data, including user
provided data sets. The pysat team provides a variety of plug-ins to support
public scientific data sets in packages such as pysatNASA, pysatMadrigal, and
more, available as part of the general [pysat ecosystem](https://github.com/pysat).Full [Documentation](http://pysat.readthedocs.io/en/latest/index.html)
JGR-Space Physics [Publication](https://doi.org/10.1029/2018JA025297)
Pysat Ecosystem [Publication](https://www.frontiersin.org/articles/10.3389/fspas.2023.1119775/full)
[Citation Info](https://pysat.readthedocs.io/en/latest/citing.html)
Come join us on Slack! An invitation to the pysat workspace is available
in the 'About' section of the
[pysat GitHub Repository.](https://github.com/pysat/pysat)
Development meetings are generally held fortnightly.# Main Features
* Instrument independent analysis routines.
* Instrument object providing an interface for downloading and analyzing a wide
variety of science data sets.
* Uses pandas or xarray for the underlying data structure;
capable of handling the many forms scientific measurements take in a
consistent manner.
* Standard scientific data handling tasks (e.g., identifying, downloading,
and loading files and cleaning and modifying data) are built into the
Instrument object.
* Supports metadata consistent with the netCDF CF-1.6 standard. Each variable
has a name, long name, and units. Note units are informational only.
* Simplifies data management
* Iterator support for loading data by day/file/orbit, independent of data
storage details.
* Orbits are calculated on the fly from loaded data and span day breaks.
* Iterate over custom seasons
* Supports rigorous time-series calculations that require spin up/down time
across day, orbit, and file breaks.
* Includes helper functions to reduce the barrier in adding new science
instruments to pysat# Installation
The following instructions provide a guide for installing pysat and give some
examples on how to use the routines.## Prerequisites
pysat uses common Python modules, as well as modules developed by and for the
Space Physics community. This module officially supports Python 3.9+.| Common modules | Community modules |
| -------------- | ----------------- |
| dask | netCDF4 |
| numpy >= 1.12 | |
| pandas | |
| portalocker | |
| pytest | |
| scipy | |
| toolz | |
| xarray | |## PyPi Installation
```
pip install pysat
```## GitHub Installation
```
git clone https://github.com/pysat/pysat.git
```Change directories into the repository folder and run the pyproject.toml or
setup.py file. For a local install use the "--user" flag after "install".```
cd pysat/
python -m build .
pip install .
```# Using pysat
* The first time pysat is run, you will need to specify a directory to store
the data. In Python, run:
```
pysat.params['data_dirs'] = 'path/to/directory/that/may/or/may/not/exist'
```
* Nominal organization of data is top_dir/platform/name/tag/inst_id/filesDetailed examples and tutorials for using pysat are available in the
[documentation](http://pysat.readthedocs.io/en/latest/index.html).