pytesmo, the Python Toolbox for the Evaluation of Soil Moisture Observations, is a package/python toolbox which aims it is to provide a library that can be used for the comparison and validation of geospatial time series datasets with a (initial) focus on soil moisture.
To see the latest full documentation click on the docs badge at the top.
If you use the software in a publication then please cite it using the Zenodo DOI. Be aware that this badge links to the latest package version.
Please select your specific version at https://doi.org/10.5281/zenodo.596422 to get the DOI of that version. You should normally always use the DOI for the specific version of your record in citations. This is to ensure that other researchers can access the exact research artefact you used for reproducibility.
You can find additional information regarding DOI versioning at http://help.zenodo.org/#versioning
This package should be installable through pip which downloads the package from the python package repository Pypi. However, pytesmo also needs some packages that depend on C or Fortran libraries (like netCDF4
). They should be installed first with conda. See http://conda.pydata.org/docs/ on how to use it. We recommend using either Anaconda or Miniconda.
$ conda install -c conda-forge numpy scipy pandas netCDF4 cython pyresample pyresample
Afterwards pytesmo
can be installed via pip.
$ pip install pytesmo
You can also install all needed (conda and pip) dependencies at once using the following commands after cloning this repository. This is recommended for developers of the package. Note that the git --recursive
flag will clone test-data, which is needed by some tests.
$ git clone https://github.com/TUW-GEO/pytesmo.git --recursive
$ cd pytesmo
$ conda create -n pytesmo python=3.6 # or any supported python version
$ source activate pytesmo
$ conda update -f environment.yml -n pytesmo
$ python setup.py develop
Note
If you are using windows and conda is missing a package then always check http://www.lfd.uci.edu/~gohlke/pythonlibs/ to see if there is already a precompiled .exe or .whl file for you to easily install.
Soil moisture is observed using different methods and instruments, in this version several satellite datasets as well as in situ and reanalysis data are supported through independent and optional (reader) packages:
- ERS & H-SAF ASCAT products
- SMAP
- GLDAS Noah
- ERA5 and ERA5-Land
- SMOS
- C3S SM
- ESA CCI SM
- MERRA
- Data from the International Soil Moisture Network (ISMN)
- In case of the ISMN, two different formats are provided: An example of how to use the dataset in the pytesmo validation framework can be found in the "Examples" chapter.
- Variables stored in separate files (CEOP formatted)
We are happy if you want to contribute. Please raise an issue explaining what is missing or if you find a bug. We will also gladly accept pull requests against our master branch for new features or bug fixes.
Guidelines
If you want to contribute please follow these steps:
- Fork the pytesmo repository to your account
- Clone the repository, make sure you use
git clone --recursive
to also get the test data repository. - make a new feature branch from the pytesmo master branch
- Add your feature
- please include tests for your contributions in one of the test directories We use py.test so a simple function called test_my_feature is enough
- submit a pull request to our master branch
Release Windows
In order to make a working release for windows the whl
files for windows from appveyor CI have to be uploaded to PyPI. They can be found on the appveyor CI run for the created tag under the jobs/Artifacts
tab. All the .whl
files should be downloaded into a folder. They can then be added to the release on PyPI using e.g. twine upload pytesmo-0.7.1*whl
This project has been set up using PyScaffold 3.2.3. For details and usage information on PyScaffold see https://pyscaffold.org/.