Earth Engine to xarray interface
Project description
.. image:: https://raw.githubusercontent.com/aazuspan/wxee/main/docs/_static/wxee.png :alt: wxee :width: 200 :target: https://github.com/aazuspan/wxee
|
.. image:: https://img.shields.io/pypi/v/wxee :alt: PyPI :target: https://pypi.org/project/wxee/ .. image:: https://img.shields.io/conda/vn/conda-forge/wxee.svg :alt: conda-forge :target: https://anaconda.org/conda-forge/wxee .. image:: https://readthedocs.org/projects/wxee/badge/?version=latest&style=flat :alt: Read the Docs :target: https://wxee.readthedocs.io/en/latest/?badge=latest .. image:: https://colab.research.google.com/assets/colab-badge.svg :alt: Open in Colab :target: https://colab.research.google.com/github/aazuspan/wxee/blob/main/docs/examples/image_collection_to_xarray.ipynb .. image:: https://img.shields.io/badge/code%20style-black-000000.svg :alt: Black code style :target: https://github.com/psf/black .. image:: https://img.shields.io/badge/License-GPLv3-blue.svg :alt: GLP3 License :target: https://www.gnu.org/licenses/gpl-3.0
.. image:: https://raw.githubusercontent.com/aazuspan/wxee/main/docs/_static/demo_001.gif :alt: Demo downloading weather data to xarray using wxee.
What is wxee?
wxee <https://github.com/aazuspan/wxee>
_ was built to make processing gridded, mesoscale time series data quick
and easy by integrating the data catalog and processing power of Google Earth Engine <https://earthengine.google.com/>
_ with the
flexibility of xarray <https://github.com/pydata/xarray>
_, with no complicated setup required. To accomplish this, wxee implements
convenient methods for data processing, aggregation, downloading, and ingestion.
wxee <https://github.com/aazuspan/wxee>
_ can be found in the Earth Engine Developer Resources <https://developers.google.com/earth-engine/tutorials/community/developer-resources#python>
_!
Features
- Time series image collections to xarray, NetCDF, or GeoTIFF in one line of code
- Climatological anomalies, temporal aggregation, and temporal interpolation in Earth Engine
- Parallel processing for fast downloads
To see some of the capabilities of wxee and try it yourself, check out the interactive notebooks here <https://wxee.readthedocs.io/en/latest/examples.html>
_!
Install
Pip
.. code-block:: bash
pip install wxee
Conda
.. code-block:: bash
conda install -c conda-forge wxee
From Source
.. code-block:: bash
git clone https://github.com/aazuspan/wxee
cd wxee
make install
Quickstart
----------
Setup
~~~~~
Once you have access to Google Earth Engine, just import and initialize :code:`ee` and :code:`wxee`.
.. code-block:: python
import ee
import wxee
ee.Initialize()
Download Images
Download and conversion methods are extended to :code:ee.Image
and :code:ee.ImageCollection
using the
:code:wx
accessor. Just :code:import wxee
and use the :code:wx
accessor.
xarray ^^^^^^
.. code-block:: python
ee.ImageCollection("IDAHO_EPSCOR/GRIDMET").wx.to_xarray()
NetCDF ^^^^^^
.. code-block:: python
ee.ImageCollection("IDAHO_EPSCOR/GRIDMET").wx.to_xarray(path="data/gridmet.nc")
GeoTIFF ^^^^^^^
.. code-block:: python
ee.ImageCollection("IDAHO_EPSCOR/GRIDMET").wx.to_tif()
Create a Time Series
Additional methods for processing image collections in the time dimension are available through the :code:`TimeSeries` subclass.
A :code:`TimeSeries` can be created from an existing :code:`ee.ImageCollection`...
.. code-block:: python
col = ee.ImageCollection("IDAHO_EPSCOR/GRIDMET")
ts = col.wx.to_time_series()
Or instantiated directly just like you would an :code:`ee.ImageCollection`!
.. code-block:: python
ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET")
Aggregate Daily Data
Many weather datasets are in daily or hourly resolution. These can be aggregated to coarser resolutions using the :code:aggregate_time
method of the :code:TimeSeries
class.
.. code-block:: python
ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET") monthly_max = ts.aggregate_time(frequency="month", reducer=ee.Reducer.max())
Calculate Climatological Means
Long-term climatological means can be calculated using the :code:`climatology_mean` method of the :code:`TimeSeries` class.
.. code-block:: python
ts = wxee.TimeSeries("IDAHO_EPSCOR/GRIDMET")
mean_clim = ts.climatology_mean(frequency="month")
Contribute
----------
Bugs or feature requests are always appreciated! They can be submitted `here <https://github.com/aazuspan/wxee/issues>`_.
Code contributions are also welcome! Please open an `issue <https://github.com/aazuspan/wxee/issues>`_ to discuss implementation,
then follow the steps below. Developer setup instructions can be found `in the docs <https://wxee.readthedocs.io/en/latest/contributing.html>`_.
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 wxee-0.1.0.tar.gz
.
File metadata
- Download URL: wxee-0.1.0.tar.gz
- Upload date:
- Size: 36.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.2 importlib_metadata/4.6.3 pkginfo/1.7.1 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.2 CPython/3.9.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f425ad7c0f0bd4c2cb7fbda99d74c7930cb7eb68ac9436cae0cfb59456acb31b |
|
MD5 | d9c12ab7c502f912deb3be92ab8a476f |
|
BLAKE2b-256 | 5ca02ade7787d540dfeff1acddfca5d2de183220aee44431f2ebecbdd83ce204 |