From d1df898466b5f6b4e3ae2ee6701c8ba1bc5e0af6 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 20:34:21 +0200 Subject: [PATCH 01/26] Default env name `worldcereal` --- environment.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/environment.yml b/environment.yml index 0f98125c..ce60860b 100644 --- a/environment.yml +++ b/environment.yml @@ -1,4 +1,4 @@ -name: worldcereal-official +name: worldcereal channels: - pytorch - conda-forge From a7f86ff2d3d63c3d7f8906994ca81389e02f2f97 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 20:41:40 +0200 Subject: [PATCH 02/26] Some readme already --- README.md | 56 +++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 52 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index d552e8e2..7f6a81fe 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,59 @@ # WorldCereal classification module -[![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) +[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://your-terrascope-url) -This repository contains the code for running the WorldCereal classification module. -|:exclamation: Note that this package is actively undergoing significant updates. For the version accompanying the paper below, [please check this release](https://github.com/WorldCereal/worldcereal-classification/tree/v1.1.1). | -|:-----------------------------------------| +
+ + logo + +
+## Overview + +**WorldCereal** is a Python package designed for generating cropland and crop type maps at a wide range of spatial scales, leveraging satellite and auxiliary data, and state-of-the-art classification workflows. It uses [openEO](https://openeo.org/) to run classification tasks in the cloud, by default the [Copernicus Data Space Ecosystem (CDSE)](https://dataspace.copernicus.eu/). + +Users can leverage the system in a notebook environment through [Terrascope](https://your-terrascope-url) or set up the environment locally using the provided installation options. + +In order to run classification jobs on CDSE, users can get started with **monthly free processing credits** by registering on the CDSE platform. Additional credits can be purchased, or users may soon be able to request them through the **ESA Network of Resources**. + +--- + +## Features + +- **Scalable**: Generate maps at a wide range of spatial scales. +- **Cloud-based Processing**: Leverages openEO to run classifications in the cloud. +- **Customizable**: Users can pick any region or temporal range and apply either default models or train their own and produce custom maps. +- **Easy to Use**: Integrates into Jupyter notebooks and other Python environments. + +## Quick Start + +#### Option 1: Run on Terrascope + +You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. + +[Run WorldCereal on Terrascope](https://your-terrascope-url) + +#### Option 2: Install Locally + +If you prefer to install the package locally, you can create the environment using **Conda** or **pip**. + +##### Conda Installation + +To create the Conda environment: + +1. Clone the repository: + ```bash + git clone https://github.com/WorldCereal/worldcereal-classification.git + cd worldcereal-classification + +2. Create the environment using the provided environment file: + ``` + conda env create -f environment.yml + conda activate worldcereal + ``` +Installation instructions: +For Conda: `conda env create -f environment.yml` +For Pip: `pip install .` Launch the _beta_ version of a V1 version of the new system: From 23c1148d5cc0eda4a55f91c171407dd8661150ec Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 20:42:11 +0200 Subject: [PATCH 03/26] Added logo --- assets/worldcereal_logo.jpg | Bin 0 -> 35213 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assets/worldcereal_logo.jpg diff --git a/assets/worldcereal_logo.jpg b/assets/worldcereal_logo.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fa430e98365bea71c16d831dddd31b4ff9b2269a GIT binary patch literal 35213 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 literal 0 HcmV?d00001 From 357a170c411b8a241a45a915079610289e1e09a8 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:06:36 +0200 Subject: [PATCH 04/26] Readme updates --- README.md | 64 ++++++++++++++++++++++++++++++++++++++++--------------- 1 file changed, 47 insertions(+), 17 deletions(-) diff --git a/README.md b/README.md index 7f6a81fe..0d219278 100644 --- a/README.md +++ b/README.md @@ -37,27 +37,57 @@ You can use a preconfigured environment on [**Terrascope**](https://terrascope.b If you prefer to install the package locally, you can create the environment using **Conda** or **pip**. -##### Conda Installation +First clone the repository: +```bash +git clone https://github.com/WorldCereal/worldcereal-classification.git +cd worldcereal-classification +``` +Next, install the package locally: +- for Conda: `conda env create -f environment.yml` +- for Pip: `pip install .` -To create the Conda environment: +#### Cloud Processing with openEO and CDSE +WorldCereal uses openEO under the hood to run classifications in the cloud, taking advantage of the Copernicus Data Space Ecosystem. -1. Clone the repository: - ```bash - git clone https://github.com/WorldCereal/worldcereal-classification.git - cd worldcereal-classification +#### Usage Example -2. Create the environment using the provided environment file: - ``` - conda env create -f environment.yml - conda activate worldcereal - ``` -Installation instructions: -For Conda: `conda env create -f environment.yml` -For Pip: `pip install .` +``` +simple code snippet +``` -Launch the _beta_ version of a V1 version of the new system: +#### Usage Example -[![Binder](https://replay.notebooks.egi.eu/badge_logo.svg)](https://replay.notebooks.egi.eu/v2/gh/WorldCereal/worldcereal-binder/main?urlpath=git-pull%3Frepo%3Dhttps%253A%252F%252Fgithub.com%252FWorldCereal%252Fworldcereal-classification%26urlpath%3Dlab%252Ftree%252Fworldcereal-classification%252Fnotebooks%252Fsystem_v1_demo.ipynb%26branch%3Dsystem-v1-demo) +Comprehensive documentation is available at the following link: +#### License + +This project is licensed under the terms of the MIT License. See the [LICENSE](/home/kristofvt/git/worldcereal-classification/LICENSE) file for details. + +#### Acknowledgments + +... + + +#### How to cite + +If you use the WorldCereal classification package in your work, please cite it as follows: + +```bibtex + +@article{van_tricht_worldcereal_2023, + title = {{WorldCereal}: a dynamic open-source system for global-scale, seasonal, and reproducible crop and irrigation mapping}, + volume = {15}, + issn = {1866-3516}, + shorttitle = {{WorldCereal}}, + url = {https://essd.copernicus.org/articles/15/5491/2023/}, + doi = {10.5194/essd-15-5491-2023}, + number = {12}, + urldate = {2024-03-01}, + journal = {Earth System Science Data}, + author = {Van Tricht, Kristof and Degerickx, Jeroen and Gilliams, Sven and Zanaga, Daniele and Battude, Marjorie and Grosu, Alex and Brombacher, Joost and Lesiv, Myroslava and Bayas, Juan Carlos Laso and Karanam, Santosh and Fritz, Steffen and Becker-Reshef, Inbal and Franch, Belén and Mollà-Bononad, Bertran and Boogaard, Hendrik and Pratihast, Arun Kumar and Koetz, Benjamin and Szantoi, Zoltan}, + month = dec, + year = {2023}, + pages = {5491--5515}, +} +``` -*Van Tricht, K., Degerickx, J., Gilliams, S., Zanaga, D., Battude, M., Grosu, A., Brombacher, J., Lesiv, M., Bayas, J. C. L., Karanam, S., Fritz, S., Becker-Reshef, I., Franch, B., Mollà-Bononad, B., Boogaard, H., Pratihast, A. K., & Szantoi, Z. (2023). WorldCereal: A dynamic open-source system for global-scale, seasonal, and reproducible crop and irrigation mapping. Earth System Science Data Discussions, 1–36. https://doi.org/10.5194/essd-2023-184* From 78172ba71db719fcc89e304a932e981a2ba0aefd Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:19:11 +0200 Subject: [PATCH 05/26] Updates --- README.md | 37 +++++++++++++++++++++++-------------- 1 file changed, 23 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 0d219278..ae65e391 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ -# WorldCereal classification module -[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://your-terrascope-url) +# WorldCereal classification module +[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) +

@@ -8,6 +9,17 @@
+- [Overview](#overview) +- [Features](#features) +- [Quick Start](#quick-start) +- [Usage Example](#usage-example) +- [Documentation](#documentation) +- [License](#license) +- [Acknowledgments](#acknowledgments) +- [How to cite](#how-to-cite) + + + ## Overview **WorldCereal** is a Python package designed for generating cropland and crop type maps at a wide range of spatial scales, leveraging satellite and auxiliary data, and state-of-the-art classification workflows. It uses [openEO](https://openeo.org/) to run classification tasks in the cloud, by default the [Copernicus Data Space Ecosystem (CDSE)](https://dataspace.copernicus.eu/). @@ -27,13 +39,13 @@ In order to run classification jobs on CDSE, users can get started with **monthl ## Quick Start -#### Option 1: Run on Terrascope +#### Option 1: Run on Terrascope You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. -[Run WorldCereal on Terrascope](https://your-terrascope-url) +[![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) -#### Option 2: Install Locally +#### Option 2: Install Locally If you prefer to install the package locally, you can create the environment using **Conda** or **pip**. @@ -46,29 +58,26 @@ Next, install the package locally: - for Conda: `conda env create -f environment.yml` - for Pip: `pip install .` -#### Cloud Processing with openEO and CDSE -WorldCereal uses openEO under the hood to run classifications in the cloud, taking advantage of the Copernicus Data Space Ecosystem. - -#### Usage Example +## Usage Example ``` simple code snippet ``` -#### Usage Example +## Documentation -Comprehensive documentation is available at the following link: +Comprehensive documentation is available at the following link: https://worldcereal.github.io/worldcereal-documentation/ -#### License +## License This project is licensed under the terms of the MIT License. See the [LICENSE](/home/kristofvt/git/worldcereal-classification/LICENSE) file for details. -#### Acknowledgments +## Acknowledgments ... -#### How to cite +## How to cite If you use the WorldCereal classification package in your work, please cite it as follows: From c08f63c58e5749f1bc868287ed52831aae001699 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:20:10 +0200 Subject: [PATCH 06/26] No TOC --- README.md | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index ae65e391..beb79bdc 100644 --- a/README.md +++ b/README.md @@ -9,17 +9,6 @@ -- [Overview](#overview) -- [Features](#features) -- [Quick Start](#quick-start) -- [Usage Example](#usage-example) -- [Documentation](#documentation) -- [License](#license) -- [Acknowledgments](#acknowledgments) -- [How to cite](#how-to-cite) - - - ## Overview **WorldCereal** is a Python package designed for generating cropland and crop type maps at a wide range of spatial scales, leveraging satellite and auxiliary data, and state-of-the-art classification workflows. It uses [openEO](https://openeo.org/) to run classification tasks in the cloud, by default the [Copernicus Data Space Ecosystem (CDSE)](https://dataspace.copernicus.eu/). @@ -39,13 +28,13 @@ In order to run classification jobs on CDSE, users can get started with **monthl ## Quick Start -#### Option 1: Run on Terrascope +#### Option 1: Run on Terrascope You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) -#### Option 2: Install Locally +#### Option 2: Install Locally If you prefer to install the package locally, you can create the environment using **Conda** or **pip**. From 209515c303fb366e3811add20874962008570a66 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:20:30 +0200 Subject: [PATCH 07/26] Increase logo size --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index beb79bdc..4d14cac4 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ From c055acbd22b74628c839f139ae9ed547aab36791 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:24:57 +0200 Subject: [PATCH 08/26] Attempt to center --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4d14cac4..10621a3b 100644 --- a/README.md +++ b/README.md @@ -3,11 +3,12 @@ -
+

logo -

+

+ ## Overview From d0b90d87f14f339a606f5e4b556b4371f56301f7 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:26:45 +0200 Subject: [PATCH 09/26] Updated link --- README.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/README.md b/README.md index 10621a3b..8e688219 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,17 @@ # WorldCereal classification module [![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) - -

logo

- ## Overview **WorldCereal** is a Python package designed for generating cropland and crop type maps at a wide range of spatial scales, leveraging satellite and auxiliary data, and state-of-the-art classification workflows. It uses [openEO](https://openeo.org/) to run classification tasks in the cloud, by default the [Copernicus Data Space Ecosystem (CDSE)](https://dataspace.copernicus.eu/). -Users can leverage the system in a notebook environment through [Terrascope](https://your-terrascope-url) or set up the environment locally using the provided installation options. +Users can leverage the system in a notebook environment through [Terrascope](https://terrascope.be/en) or set up the environment locally using the provided installation options. In order to run classification jobs on CDSE, users can get started with **monthly free processing credits** by registering on the CDSE platform. Additional credits can be purchased, or users may soon be able to request them through the **ESA Network of Resources**. From d1a44dbf187b011b6b7684daaf3fe5dd9f9970ad Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:27:44 +0200 Subject: [PATCH 10/26] Removed horizontal line --- README.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/README.md b/README.md index 8e688219..180c5526 100644 --- a/README.md +++ b/README.md @@ -15,8 +15,6 @@ Users can leverage the system in a notebook environment through [Terrascope](htt In order to run classification jobs on CDSE, users can get started with **monthly free processing credits** by registering on the CDSE platform. Additional credits can be purchased, or users may soon be able to request them through the **ESA Network of Resources**. ---- - ## Features - **Scalable**: Generate maps at a wide range of spatial scales. From 3097eb4ce2a17f24f365355c2726bdb0d0dd62ad Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:28:45 +0200 Subject: [PATCH 11/26] Updated ingo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 180c5526..e15f017d 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ In order to run classification jobs on CDSE, users can get started with **monthl - **Scalable**: Generate maps at a wide range of spatial scales. - **Cloud-based Processing**: Leverages openEO to run classifications in the cloud. -- **Customizable**: Users can pick any region or temporal range and apply either default models or train their own and produce custom maps. +- **Customizable**: Users can pick any region or temporal range and apply either default models or train their own and produce custom maps, interacting with publicly available training data. - **Easy to Use**: Integrates into Jupyter notebooks and other Python environments. ## Quick Start From 3e36f22c2b7aab8b2a6f9f10d4b3e6266bb78e27 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:29:13 +0200 Subject: [PATCH 12/26] Change in `run on` --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e15f017d..14160a38 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ In order to run classification jobs on CDSE, users can get started with **monthl You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. -[![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) +[![Terrascope Environment](https://img.shields.io/badge/run%20on-Terrascope-blue)](https://terrascope-url) #### Option 2: Install Locally From 1da414b6c3d623e6291aab481d0abd82315fbf0e Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:30:33 +0200 Subject: [PATCH 13/26] Fixed path --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 14160a38..03ce87c7 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ Comprehensive documentation is available at the following link: https://worldcer ## License -This project is licensed under the terms of the MIT License. See the [LICENSE](/home/kristofvt/git/worldcereal-classification/LICENSE) file for details. +This project is licensed under the terms of the MIT License. See the [LICENSE](LICENSE) file for details. ## Acknowledgments From fbbb5c48c19602c33aedbfbd0e8620b4f901bef3 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:31:20 +0200 Subject: [PATCH 14/26] Small update --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03ce87c7..179c7279 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ This project is licensed under the terms of the MIT License. See the [LICENSE](L ## How to cite -If you use the WorldCereal classification package in your work, please cite it as follows: +If you use WorldCereal resources in your work, please cite it as follows: ```bibtex From 7ec6fe63ec9c5aa606a11051ef8b12473cd38ddb Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Mon, 14 Oct 2024 21:33:10 +0200 Subject: [PATCH 15/26] Added forum link --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 179c7279..75dde931 100644 --- a/README.md +++ b/README.md @@ -53,6 +53,9 @@ simple code snippet Comprehensive documentation is available at the following link: https://worldcereal.github.io/worldcereal-documentation/ +## Support +Questions, suggestions, feedback? Use [our forum**](https://forum.esa-worldcereal.org/) to get in touch with us and the rest of the community! + ## License This project is licensed under the terms of the MIT License. See the [LICENSE](LICENSE) file for details. From 3d57d5b1fb450d13a079062159d6ed6b31915d8b Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Tue, 15 Oct 2024 08:54:26 +0200 Subject: [PATCH 16/26] Updated formatting --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 75dde931..7615417e 100644 --- a/README.md +++ b/README.md @@ -54,7 +54,7 @@ simple code snippet Comprehensive documentation is available at the following link: https://worldcereal.github.io/worldcereal-documentation/ ## Support -Questions, suggestions, feedback? Use [our forum**](https://forum.esa-worldcereal.org/) to get in touch with us and the rest of the community! +Questions, suggestions, feedback? Use [our forum](https://forum.esa-worldcereal.org/) to get in touch with us and the rest of the community! ## License From 5e0d0d86b73976c03b13339dff0f3b38331c5de7 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Tue, 15 Oct 2024 09:58:27 +0200 Subject: [PATCH 17/26] Extra badges --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 7615417e..d82e7d3c 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # WorldCereal classification module -[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) +[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) [![Discuss Forum](https://img.shields.io/badge/discuss-forum-ED1965?logo=discourse&logoColor=white)](https://forum.esa-worldcereal.org/) +

From d8138b1e258d226cd2779172873c31058f1c83c7 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Tue, 15 Oct 2024 10:01:36 +0200 Subject: [PATCH 18/26] Updated DOI to ESSD paper --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index d82e7d3c..af7802e3 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ # WorldCereal classification module -[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![DOI](https://zenodo.org/badge/621251443.svg)](https://zenodo.org/badge/latestdoi/621251443) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) [![Discuss Forum](https://img.shields.io/badge/discuss-forum-ED1965?logo=discourse&logoColor=white)](https://forum.esa-worldcereal.org/) +[![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![DOI](https://img.shields.io/badge/DOI-10.5194/essd--15--5491--2023-blue)](https://doi.org/10.5194/essd-15-5491-2023) + [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) [![Discuss Forum](https://img.shields.io/badge/discuss-forum-ED1965?logo=discourse&logoColor=white)](https://forum.esa-worldcereal.org/)

From 3b86cdc2cb4e98b5f1a7562059b36984524b47f0 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht Date: Tue, 15 Oct 2024 13:24:13 +0200 Subject: [PATCH 19/26] Updated readme --- README.md | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index af7802e3..3e2c6816 100644 --- a/README.md +++ b/README.md @@ -46,9 +46,26 @@ Next, install the package locally: - for Pip: `pip install .` ## Usage Example - -``` -simple code snippet +In it's most simple form, a cropland mask can be generated with just few lines of code, triggering an openEO job on CDSE and downloading the result locally: + +```python +from openeo_gfmap import BoundingBoxExtent, TemporalContext +from worldcereal.job import generate_map + +# Specify the spatial extent +spatial_extent = BoundingBoxExtent( + west=44.432274, + south=51.317362, + east=44.698802, + north=51.428224, + epsg=4326 +) + +# Specify the temporal extent (this has to be one year) +temporal_extent = TemporalContext('2022-11-01', '2023-10-31') + +# Launch processing job (result will automatically be downloaded) +results = generate_map(spatial_extent, temporal_extent, output_dir='.') ``` ## Documentation @@ -64,7 +81,10 @@ This project is licensed under the terms of the MIT License. See the [LICENSE](L ## Acknowledgments -... +The WorldCereal project is funded by the European Space Agency under grant no. 4000130569/20/I-NB. + + + ## How to cite From 3eed9db45c7eb2da56c4a1484d0ac1703d51029a Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:06:50 +0200 Subject: [PATCH 20/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e2c6816..a5e0d535 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# WorldCereal classification module +# ESA WorldCereal classification module [![Tests](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml/badge.svg)](https://github.com/WorldCereal/worldcereal-classification/actions/workflows/ci.yaml) [![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit)](https://github.com/pre-commit/pre-commit) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![DOI](https://img.shields.io/badge/DOI-10.5194/essd--15--5491--2023-blue)](https://doi.org/10.5194/essd-15-5491-2023) [![Terrascope Environment](https://img.shields.io/badge/try%20on-Terrascope-blue)](https://terrascope-url) [![Documentation](https://img.shields.io/badge/docs-WorldCereal%20Documentation-blue)](https://worldcereal.github.io/worldcereal-documentation/) [![Discuss Forum](https://img.shields.io/badge/discuss-forum-ED1965?logo=discourse&logoColor=white)](https://forum.esa-worldcereal.org/) From c8864e1916e79aed518cf63d2753fa0998de6f18 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:10:37 +0200 Subject: [PATCH 21/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a5e0d535..362861e6 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ Users can leverage the system in a notebook environment through [Terrascope](https://terrascope.be/en) or set up the environment locally using the provided installation options. -In order to run classification jobs on CDSE, users can get started with **monthly free processing credits** by registering on the CDSE platform. Additional credits can be purchased, or users may soon be able to request them through the **ESA Network of Resources**. +In order to run classification jobs on CDSE, users can get started with [**monthly free openEO processing credits**](https://documentation.dataspace.copernicus.eu/Quotas.html) by registering on the CDSE platform. Additional credits can be purchased, or users may soon be able to request them through the **ESA Network of Resources**. ## Features From 6b3e4bed7233819353d00cdc192a9db4de88486b Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 14:13:12 +0200 Subject: [PATCH 22/26] Delete SEASONS.md --- SEASONS.md | 64 ------------------------------------------------------ 1 file changed, 64 deletions(-) delete mode 100644 SEASONS.md diff --git a/SEASONS.md b/SEASONS.md deleted file mode 100644 index 8589612f..00000000 --- a/SEASONS.md +++ /dev/null @@ -1,64 +0,0 @@ -This document describes how the WorldCereal system is triggered in the different cereal and maize seasons. Definition of the seasons is as follows: - - `tc-wintercereals` is the global "winter wheat" season which considers winter-planted wheat. This does not consider optional dormancy requirements nor wheat variety. Therefore, it is considered the main wheat season anywhere in the world. - - `tc-maize-main` is the main "maize" season, although in some regions of the world (parts of the Northern Hemisphere) this season also covers spring-planted wheat ("spring wheat"). This season therefore targets maize globally, and additionally spring wheat in dedicated regions. - - `tc-maize-second` is an optional second "maize" season occurring in some parts of the world. There will be no wheat mapping in this season. - -The temporary crops layer, which is used as a mask for all crop type, active marker and irrigation products, is typically generated after the end of the LATEST season within a given reference year and AEZ. So production of the temporary crops layer can coincide with the tc-wintercereals, tc-maize-main and tc-maize-second season depending on the timing of eah of these seasons within the AEZ. - -Based on these definitions, the triggers, periods considered, and detector models are described below. - -## Season / Detector Mapping: - -### Winter wheat triggers - -| `tc-wintercereals` trigger | -| -------------------------- | - -| Product | Period | Detector | Model | Remarks | -| ---------------------- | :----------------------------------------: | ---------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------: | -| Temporary crops | [season_end - 1 year, season_end] | Temporary crops detector | [WorldCerealPixelCatBoost_temporarycrops](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v750/cropland_detector_WorldCerealPixelCatBoost_v750-realms) | :exclamation: Only when this season is the LAST season to end in the reference year | -| Winter cereals | [season_start - buffer, season_end] | Wintercereals detector | [WorldCerealPixelCatBoost_wintercereals](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v751/wintercereals_detector_WorldCerealPixelCatBoost_v751/config.json) | - | -| Active cropland marker | [season_start - buffer, season_end] | Season detector | None | - | -| Irrigation | [season_start - buffer, season_end] | Irrigation detector | [WorldCerealPixelCatBoost_irrigation](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v420/irrigation_detector_WorldCerealPixelCatBoost_v420/config.json) | - | - - -### Maize triggers - -| `tc-maize-main` trigger | -| ----------------- | - -| Product | Period | Detector | Model | Remarks | -| ---------------------- | :-----------------------------------------: | ----------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------: | -| Temporary crops | [season_end - 1 year, season_end] | Temporary crops detector | [WorldCerealPixelCatBoost_temporarycrops](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v750/cropland_detector_WorldCerealPixelCatBoost_v750-realms) | :exclamation: Only when this season is the LAST season to end in the reference year | -| Maize | [season_start - buffer, season_end] | Maize detector | [WorldCerealPixelCatBoost_maize](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v751/maize_detector_WorldCerealPixelCatBoost_v751/config.json) | - | -| Spring cereals | [season_start - buffer, season_end] | Spring cereals detector | [WorldCerealPixelCatBoost_springcereals](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v751/springcereals_detector_WorldCerealPixelCatBoost_v751/config.json) | :exclamation: Only when AEZ `trigger_sw = 1` | -| Active cropland marker | [season_start - buffer, season_end] | Season detector | None | - | -| Irrigation | [season_start - buffer, season_end] | Irrigation detector | [WorldCerealPixelCatBoost_irrigation](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v420/irrigation_detector_WorldCerealPixelCatBoost_v420/config.json) | - | - - -| `tc-maize-second` trigger | -| ----------------- | - -| Product | Period | Detector | Model | Remarks | -| ---------------------- | :-----------------------------------------: | ------------------: | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | ----------------------------------------------------------------------------------: | -| Temporary crops | [season_end - 1 year, season_end] | Temporary crops detector | [WorldCerealPixelCatBoost_temporarycrops](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v750/cropland_detector_WorldCerealPixelCatBoost_v750-realms) | :exclamation: Only when this season is the LAST season to end in the reference year | -| Maize | [season_start - buffer, season_end] | Maize detector | [WorldCerealPixelCatBoost_maize](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v751/maize_detector_WorldCerealPixelCatBoost_v751/config.json) | - | -| Active cropland marker | [season_start - buffer, season_end] | Season detector | None | - | -| Irrigation | [season_start - buffer, season_end] | Irrigation detector | [WorldCerealPixelCatBoost_irrigation](https://artifactory.vgt.vito.be:443/auxdata-public/worldcereal/models/WorldCerealPixelCatBoost/v420/irrigation_detector_WorldCerealPixelCatBoost_v420/config.json) | - | - - - -## Required processing buffers -While the system takes into account the globally prescribed seasonality of wheat and maize, actual processing needs to include a buffer before the exact start of each season. -The purpose of the buffer is to capture a potential slight shift in the growing season of a particular year. Especially a backward shift would impact GDD normalization and detection of phenological features. - -The default buffer (in days) prior to the prescribed season start is the amount of days that will be subtracted from the original season start and become the new season start as used by the system: -``` -SEASON_BUFFER = { - 'tc-wintercereals': 15, - 'tc-maize-main': 15, - 'tc-maize-second': 15, - 'tc-annual': 0, - 'custom': 0 -} -``` From 5c1cb42b966a4bb8d400fb4362f61a90f896e237 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:14:32 +0200 Subject: [PATCH 23/26] Update README.md --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 362861e6..a6b71ea6 100644 --- a/README.md +++ b/README.md @@ -83,9 +83,7 @@ This project is licensed under the terms of the MIT License. See the [LICENSE](L The WorldCereal project is funded by the European Space Agency under grant no. 4000130569/20/I-NB. - - - +The pre-configured Jupyter notebook environment in which users can train custom models and launch WorldCereal jobs is provided by [Terrascope](https://terrascope.be/en), the Belgian Earth observation data space, managed by [VITO Remote Sensing](https://remotesensing.vito.be/) on behalf of the [Belgian Science Policy Office](https://www.belspo.be/belspo/index_en.stm) ## How to cite From 13dc2cde541a85eee47295d0337ebdc0ee86d92a Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:15:23 +0200 Subject: [PATCH 24/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a6b71ea6..194fd450 100644 --- a/README.md +++ b/README.md @@ -81,7 +81,7 @@ This project is licensed under the terms of the MIT License. See the [LICENSE](L ## Acknowledgments -The WorldCereal project is funded by the European Space Agency under grant no. 4000130569/20/I-NB. +The WorldCereal project is funded by the [European Space Agency (ESA)](https://www.esa.int/) under grant no. 4000130569/20/I-NB. The pre-configured Jupyter notebook environment in which users can train custom models and launch WorldCereal jobs is provided by [Terrascope](https://terrascope.be/en), the Belgian Earth observation data space, managed by [VITO Remote Sensing](https://remotesensing.vito.be/) on behalf of the [Belgian Science Policy Office](https://www.belspo.be/belspo/index_en.stm) From 2e1c19bcc4596c3b424ae0827afd12e23ad29b81 Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Tue, 15 Oct 2024 20:18:36 +0200 Subject: [PATCH 25/26] Added Presto to main Features --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 194fd450..e993f259 100644 --- a/README.md +++ b/README.md @@ -21,6 +21,7 @@ In order to run classification jobs on CDSE, users can get started with [**month - **Scalable**: Generate maps at a wide range of spatial scales. - **Cloud-based Processing**: Leverages openEO to run classifications in the cloud. +- **Powerful classification pipeline**: WorldCereal builds upon [**Presto**](https://arxiv.org/abs/2304.14065), a pretrained transformer-based model, leveraging global self-supervised learning of multimodal input timeseries, leading to better accuracies and higher generalizability in space and time of downstream crop classification models. The Presto backbone of WorldCereal classification pipelines is developed [here](https://github.com/WorldCereal/presto-worldcereal). - **Customizable**: Users can pick any region or temporal range and apply either default models or train their own and produce custom maps, interacting with publicly available training data. - **Easy to Use**: Integrates into Jupyter notebooks and other Python environments. From f1736630efa46ca54aeb56e51b3ba91317e1c58d Mon Sep 17 00:00:00 2001 From: Kristof Van Tricht <66418796+kvantricht@users.noreply.github.com> Date: Wed, 16 Oct 2024 08:29:54 +0200 Subject: [PATCH 26/26] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e993f259..4db54284 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ In order to run classification jobs on CDSE, users can get started with [**month #### Option 1: Run on Terrascope -You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. +You can use a preconfigured environment on [**Terrascope**](https://terrascope.be/en) to run the workflows in a Jupyter notebook environment. Just register as a new user on Terrascope or use one of the supported EGI eduGAIN login methods to get started. [![Terrascope Environment](https://img.shields.io/badge/run%20on-Terrascope-blue)](https://terrascope-url)