Skip to content

forestdatapartnership/whisp

Repository files navigation

whisp

License: MIT Privacy Policy DOI

Whisp_OpenForis_Banner_Github

Convergence of Evidence

Whisp stands for "What is in that plot"?

Numerous publicly available Earth Observation maps provide data on tree cover, land use, and forest disturbances. However, these maps often differ from one another because they use various definitions and classification systems. As a result, no single map can provide a complete picture of any specific area. To address this issue, the Forest Data Partnership (FDaP) and the AIM4Forests Programme advocate for the Convergence of Evidence approach.

The Forest Data Partnership promotes this approach for forest and commodities monitoring, assuming that

  • no single source of geospatial data can tell the whole story around any given plot of land;
  • all the existing, published and available datasets contribute to telling that story.

Contents


Whisp pathways

Whisp can currently be used directly or implemented in your own code through three different pathways:

  1. The Whisp App with its simple interface can be used right here or called from other software by API. The Whisp App currently supports the processing of up to 1000 geometries per job. The original JS & Python code behind the Whisp App and API can be found here.

  2. Whisp in Earthmap supports the visualization of geometries on actual maps with the possibility to toggle different relevant map products around tree cover, commodities and deforestation. It is practical for demonstration purposes and spot checks of single geometries but not recommended for larger datasets.

  3. Datasets of any size, especially when holding more than 1000 geometries, can be "whisped" through the python package on pip. See example Colab Notebook for implementation with a geojson input. For the detailed procedure please go to the section Whisp notebooks.

Whisp datasets

Whisp implements the convergence of evidence approach by providing a transparent and public processing flow using datasets covering the following categories:

  1. Tree and forest cover (at the end of 2020);
  2. Commodities (i.e., crop plantations and other agricultural uses at the end of 2020);
  3. Disturbances before 2020 (i.e., degradation or deforestation until 2020-12-31);
  4. Disturbances after 2020 (i.e., degradation or deforestation from 2021-01-01 onward).

There are multiple datasets for each category. Find the full current list of datasets used in Whisp here. Whisp checks the plots provided by the user by running zonal statistics on them to answer the following questions:

  1. Was there tree cover in 2020?
  2. Were there commodity plantations or other agricultural uses in 2020?
  3. Were there disturbances until 2020-12-31?
  4. Were there disturbances after 2020-12-31 / starting 2021-01-01?

If no treecover dataset indicates any tree cover for a plot by the end of 2020, Whisp will categorize the deforestation risk as low.

If one or more treecover datasets indicate tree cover on a plot by the end of 2020, but a commodity dataset indicates agricultural use by the end of 2020, Whisp will categorize the deforestation risk as low.

If treecover datasets indicate tree cover on a plot by late 2020, no commodity datasets indicate agricultural use, but a disturbance dataset indicates disturbances before the end of 2020, Whisp will categorize the deforestation risk as low. Such deforestation has happened before the EUDR cutoff date and is therefore not considered high risk for the EUDR.

Now, if the datasets under 1., 2. & 3. indicate that there was tree cover, but no agriculture and no disturbances before or by the end of 2020, the Whisp algorithm checks whether degradation or deforestation have been reported in a disturbance dataset after 2020-12-31. If they have, Whisp will categorize the deforestation risk as high.
However, under the same circumstances but with no disturbances reported after 2020-12-31 there is insufficient evidence and the Whisp output will be "More info needed". Such can be the case for, e.g., cocoa or coffee grown under the shade of treecover or agroforestry.

The Whisp algorithm visualized: CoE_Graphic 5

Run Whisp python package from a notebook

For most users we suggest using the Whisp App to process their plot data. But for some, using the python package directly will fit their workflow.

A simple example of the package functionality can be seen in this Colab Notebook

Requirements for running the package

  • A Google Earth Engine (GEE) account.
  • A registered cloud GEE project.
  • Some experience in Python or a similar language.

More info on Whisp can be found in here

Python package installation

The Whisp package is available on pip https://pypi.org/project/openforis-whisp/

It can be installed with one line of code:

pip install -pre openforis-whisp

If running locally we recommend a virtual environment to keep your main python installation clean.

The package relies upon the google earth engine api being setup correctly using a registered cloud project.

More info on Whisp can be found in here

How to add data layers to Whisp

There are two main approaches: to request a layer be incorporated into the core Whisp inputs, or to add in your own data directly to complement the core ones in Whisp. Currently the latter approach is under revision since moving to implementation in a python package. In the meantime please contact us through the issues page if this is functionality is useful to you.

Contributing to the Whisp code base

Contributions to the Whisp code in GitHub are welcome. They can be made by forking the repository making and pushing the required changes, then making a pull request to the Whisp repository. After briefly reviewing the request, we can make a branch for which to make a new pull request to. After final checks we can then incorporate the code in main. If in doubt get in contact first or log as an issue here.

Install the package in editable mode with the additional dependencies required for testing and running pre-commit hooks:

git clone https://github.com/forestdatapartnership/whisp.git
cd whisp/
pip install -e .[dev]

Setup the pre-commit hooks:

pre-commit install

You should be able to run the Pytest suite by simple running the pytest command from the repo's root folder.

Please read the contributing guidelines for good practice recommendations.

Code of Conduct

Purpose We are dedicated to maintaining a safe and respectful environment for all users. Harassment or abusive behavior will not be tolerated.

Scope This Code applies to all interactions on the repository and on the app.

Expectations
- Respect others: Treat all contributors and users with courtesy and kindness.
- Constructive communication: Engage respectfully, even in disagreements.
- Protect privacy: Do not share personal information without consent.

Prohibited Conduct
- Harassment: Unwanted or abusive communication, stalking, threats, or bullying.
- Discrimination: Any form of hate speech or exclusion based on race, gender, orientation, or other identities.
- Inappropriate Content: Posting offensive, harmful, or explicit material.

Reporting Users can report violations directly to us by emailing the address listed in the "Contact Us" section of the website: https://openforis.org/solutions/whisp/

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •