Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions _freeze/docs/force/guide/level2/execute-results/html.json

Large diffs are not rendered by default.

16 changes: 16 additions & 0 deletions _freeze/docs/force/guide/processes/execute-results/html.json

Large diffs are not rendered by default.

12 changes: 12 additions & 0 deletions _freeze/docs/force/guide/processes_alt/execute-results/html.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"hash": "022f19f714a3830b15ad0bdb6c418d37",
"result": {
"engine": "jupyter",
"markdown": "---\nformat:\n html:\n code-fold: false\n panel: fill\n page-navigation: true\nexecute:\n # Cache is necessary to avoid having to authenticate \n freeze: true\n---\n\n# openEO processes\n\nUsing an openEO client, we can control FORCE through a number of [openEO processes](https://openeo.org/documentation/1.0/datacubes.html). The FORCE openEO integration is specific to the backend deployed on CDSE, so the processes described here are not listed among the [standard processes](https://openeo.org/documentation/1.0/processes.html) and are generally experimental.\n\nTo discover the processes, we must first connect to the CDSE openEO backend\n\n::: {#e2240125 .cell execution_count=1}\n``` {.python .cell-code}\nimport openeo\n#connection = openeo.connect(\"https://openeo-staging.dataspace.copernicus.eu\")\n#connection.authenticate_oidc()\n```\n:::\n\n\nCannot end with a code block...\n\n## Another title\n\n\nWe can use either the openEO process `query_stac` or another method to select input products for processing with FORCE. See the [next section](query.qmd) for an in depth discussion on how to access inputs.\n\n\n## Level 2\n\n\n## Time Series Analysis\n\n\n:::{.callout-warning}\nThe `force_tsa` process is not yet deployed\n:::\n<!-- TODO: set eval to true force TSA once it is available -->\n\n\n# openEO job management\n\n",
"supporting": [
"processes_alt_files"
],
"filters": [],
"includes": {}
}
}
16 changes: 16 additions & 0 deletions _freeze/docs/force/guide/query/execute-results/html.json

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
16 changes: 16 additions & 0 deletions _freeze/docs/force/guide/tsa/execute-results/html.json

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions _freeze/docs/force/site_libs/clipboard/clipboard.min.js

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 4 additions & 0 deletions docs/force/SOURCE.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
repository: bcdev/apex-force-openeo
release: manual
commit: d74a305e529b8313bdfe787d999261854b118435
Generated: Fri Jul 10 14:31:56 UTC 2026
9 changes: 9 additions & 0 deletions docs/force/_developer_guide/intro.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
# Introduction

This guide is inteded to provide information for developers and those who wish to deploy the
FORCE EOAP outside the CDSE openEO backend.

::: {.callout-warning title="WIP"}
This page and guide are work in progress
:::

42 changes: 42 additions & 0 deletions docs/force/_quarto.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
project:
type: website
pre-render:
- typst compile img/src/onion-concrete.typ img/onion-concrete.svg

website:
title: "FORCE with openEO on CDSE"
navbar:
left:
- href: index.qmd
text: Home
- href: guide/intro.qmd
text: Guide
- href: feature_overview.qmd
text: Feature overview
sidebar:
style: "docked"
search: true
contents:
#- section: "Home"
# href: index.qmd
# contents:
- section: "Guide"
href: guide/intro.qmd
contents:
- guide/intro.qmd
- guide/processes.qmd
- guide/query.qmd
- guide/level2.qmd
- guide/tsa.qmd
- guide/parametrization.qmd

format:
html:
theme:
dark: darkly
light: flatly
respect-user-color-scheme: true
css: styles.css
toc: true
link-external-icon: true

5 changes: 5 additions & 0 deletions docs/force/about.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
--
title: "About"
---

About this site
42 changes: 42 additions & 0 deletions docs/force/feature_overview.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
---
title: Features and Limitations

---


The FORCE integration into to CDSE is in a proof-of-concept stage. It is possible to use the FORCE level 2 and Time Series Analysis (TSA) modules on a small scale. Most parameters supported by FORCE are available through the openEO interface.

Unsupported parameters are usually either managed by the implementation (parallelization options, input/output directores) or reuqire supplementary files which are not avaiable on the backend.
The `aoi` (openEO interface) / `FILE_AOI` (FORCE parameter file) parameter is good example of a parameter that is exposed in a different way in openEO to avoid the file interface. Instead of a shape file, a GEOJSON string is passed.

If you encounter limitations not mentioned here, please raise an issue in the [Github repository](https://github.com/bcdev/apex-force-openeo/issues)

## Features

- FORCE level 2 processing through openEO on CDSE
- FORCE Time Series Analysis (TSA) through openEO on CDSE
- Automatic STAC generation for FORCE datacubes
- Discover parameters of cloudified FORCE modules using the openEO client
- Run level 2 processing once and re-use results without downloading multiple times
- Area of interest selection (level 2) with GEOJSON: parameter `aoi` of `force_level2`.
- Automatic DEM download based on selected area

## Limitations

- Each FORCE Job runs on a single virtual machine -> Not suited for large scale processing in a single job
- The executors have limited memory available. Large jobs will not run successfully. You can parallelize time series analysis computations to avoid running into memory issues (see Tips & Tricks below).
- Many parameters relying on auxiliary files are not supported. See the [guide on parametrization](guide/parametrization.qmd) for details.

### TSA

- Python and R user defined functions (UDFs) are not supported
- Spectral Mixture Analyis is not supported

## Tips & Tricks

### Parallelizing large Time Series Analysis jobs

Server-side parallelization of the TSA module is not currently enabled. It is possible to parallelize TSA by creating one openEO job per tile by setting the `x_tile_range` and `y_tile_range` arguments to a single tile per job.
Furthermore, consider computing spatio-temporal metrics (STM) in separate jobs to reduce memory usage.

Finally, you may reduce the `chunk_size` which will reduce memory usage at the cost of a longer processing time.
43 changes: 43 additions & 0 deletions docs/force/guide/intro.qmd
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
# Introduction

The FORCE integration on CDSE makes it possible to use selected functionality of the FORCE processing engine on the CDSE infrastructure through the openEO API.

Instead of installing FORCE locally, manually downloading data and annotating your results with metadata, the FORCE integration runs on cloud hardware, takes care of the input data staging and automatically generates a STAC catalog and item from the resulting FORCE data cube.


## Prerequisites

This guide assumes basic familiarity with the FORCE processing engine.
You do not need to be an expert FORCE user to make use of the CDSE deployment.

::: {.callout-tip title="What to read if you are unfamiliar with FORCE"}
If you are an openEO user who wants to get familiar with FORCE, we recommend to have a look at the FORCE documentation pages for

- **The [data cube](https://force-eo.readthedocs.io/en/latest/howto/datacube.html) concept and organization**: This is the file structure you will receive when running FORCE processing modules
- **The [level 2 processing system](https://force-eo.readthedocs.io/en/latest/howto/l2-ard.html#level-2-ard)**: the basic FORCE module to generate analysis ready data cubes from raw Satellite input products
- (Optional) **The [Time Series Analysis (TSA)](https://force-eo.readthedocs.io/en/latest/components/higher-level/tsa/index.html#time-series-analysis) module**: This is the higher level processing module made available through openEO
:::

::: {.callout-tip title="What to read if you are unfamiliar with openEO"}
If you are a FORCE user curious how to process in the cloud and the openEO interface, it will be helpful to be familiar with

- The [openEO vocabulary](https://openeo.org/documentation/1.0/glossary.html#processes)
- **The [openEO Python client](https://open-eo.github.io/openeo-python-client/api.html)**: The main interface used to interact with the openEO backend. You may want to use the [R client](https://open-eo.github.io/openeo-r-client/) or [Javascript client](https://open-eo.github.io/openeo-js-client/latest/) instead, if you prefer. However, in this guide, examples will be given with the Python client.
:::

::: {.callout-important title="Data cube representation"}
Please note that the FORCE integration does not make use of [openEO's data cube concept](https://openeo.org/documentation/1.0/datacubes.html), processing is done on FORCE's native data cubes.
:::

## Scope

In this guide, you will learn how to create a full processing pipeline using FORCE and openEO:

1. Discover inputs: Query a STAC catalog to determine input products
2. Generate an Analysis Ready (ARD) data cube with the FORCE level 2 processing system
3. Analyze time series with FORCE's higher level processing system

On the way, we will cover how to

- Download data cubes for local processing / visualization / permanent storage
- Apply higher level processing without having to download intermediate results
Loading
Loading