Pattern 10 - NDVI and NDWI vegetation indexes v1.0.0
This pattern shows how to flatten an array of array of Directory
This software is licensed under the terms of the Apache License 2.0 license - SPDX short identifier: Apache-2.0
2025-01-01 - 2026-08-28T13:27:21.416 Copyright Make Earth Observation Great Again - > https://ror.org/9999cx000
Project Team
Authors
| Name | Organization | Role | Identifier | |
|---|---|---|---|---|
| Lane, Lois | lois.lane@meoga.com | Make Earth Observation Great Again | Project administration | https://orcid.org/0000-9999-0000-9999 |
| Kent, Clark | clark.kent@meoga.com | Make Earth Observation Great Again | Supervision | https://orcid.org/9999-0000-9999-0000 |
Contributors
| Name | Organization | Role | Identifier | |
|---|---|---|---|---|
| Luthor, Lex | lex.luthor@meoga.com | Make Earth Observation Great Again | Software | None |
User Manual
User Manual can be found on https://eoap.github.io/application-package-patterns/pattern-1/.
Runtime environment
Supported Operating Systems
- Linux
- macOS
- macOS Server
Requirements
pattern-10
CWL Class
Requirements
Inputs
| Id | Type | Label | Doc |
|---|---|---|---|
aoi |
string | area of interest | area of interest as a bounding box |
epsg |
string | EPSG code | EPSG code |
indexes |
array of string |
indexes | indexes to compute |
items |
array of Directory |
Landsat-8/9 acquisition reference | Landsat-8/9 acquisition reference |
Steps
| Id | Runs | Label | Doc |
|---|---|---|---|
| subworkflow | #vegetation_indexes |
Compute vegetation indexes | Compute NDVI and NDWI vegetation indexes from the Landsat-8/9 acquisitions |
| flatten | #flatten_array |
Flatten Directory[][] → Directory[] | Flatten the nested array of Directories into a single array |
Outputs
| Id | Type | Label | Doc |
|---|---|---|---|
vegetation_indexes |
array of Directory |
Vegetation indexes | Vegetation indexes from Landsat-8/9 acquisitions |
OGC API - Processes
When pattern-10 Workflow is exposed through OGC API - Processes - Part 1: Core, inputs and outputs fields below represent the interface of the getProcessDescription API.
Inputs
Outputs
UML Diagrams
Activity diagram
Learn more about the Activity diagram below.
Component diagram
Learn more about the Component diagram below.
Class diagram
Learn more about the Class diagram below.
Sequence diagram
Learn more about the Sequence diagram below.
State diagram
Learn more about the State diagram below.
Run in step
subworkflow
vegetation_indexes
CWL Class
Requirements
Inputs
| Id | Type | Label | Doc |
|---|---|---|---|
aoi |
string | area of interest | area of interest as a bounding box |
epsg |
string | EPSG code | EPSG code |
indexes |
array of string |
indexes | indexes to compute |
item |
Directory | STAC item reference | Reference to a STAC item |
Steps
| Id | Runs | Label | Doc |
|---|---|---|---|
| step | #clt |
None | None |
Outputs
| Id | Type | Label | Doc |
|---|---|---|---|
vegetation_indexes |
array of Directory |
Vegetation indexes | Vegetation indexes |
OGC API - Processes
When vegetation_indexes Workflow is exposed through OGC API - Processes - Part 1: Core, inputs and outputs fields below represent the interface of the getProcessDescription API.
Inputs
Outputs
UML Diagrams
Activity diagram
Learn more about the Activity diagram below.
Component diagram
Learn more about the Component diagram below.
Class diagram
Learn more about the Class diagram below.
Sequence diagram
Learn more about the Sequence diagram below.
State diagram
Learn more about the State diagram below.
Run in step
step
clt
CWL Class
Inputs
| Id | Option | Type |
|---|---|---|
item |
--input-item |
Directory |
aoi |
--aoi |
string |
epsg |
--epsg |
string |
index |
--vegetation-index |
string |
Execution usage example:
runner pattern-5 \
--input-item <ITEM> \
--aoi <AOI> \
--epsg <EPSG> \
--vegetation-index <INDEX>
Run in step
flatten
flatten_array
CWL Class
Inputs
| Id | Option | Type |
|---|---|---|
nested |
--nested |
array of array of Directory |