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 Email 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 Email 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

Workflow

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

pattern-10 OGC API Processes JSON Inputs schema

Outputs

pattern-10 OGC API Processes JSON Outputs schema

UML Diagrams

Activity diagram

Learn more about the Activity diagram below.

pattern-10 flow diagram

Component diagram

Learn more about the Component diagram below.

pattern-10 flow diagram

Class diagram

Learn more about the Class diagram below.

pattern-10 flow diagram

Sequence diagram

Learn more about the Sequence diagram below.

pattern-10 flow diagram

State diagram

Learn more about the State diagram below.

pattern-10 flow diagram

Run in step

subworkflow

vegetation_indexes

CWL Class

Workflow

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

vegetation_indexes OGC API Processes JSON Inputs schema

Outputs

vegetation_indexes OGC API Processes JSON Outputs schema

UML Diagrams

Activity diagram

Learn more about the Activity diagram below.

vegetation_indexes flow diagram

Component diagram

Learn more about the Component diagram below.

vegetation_indexes flow diagram

Class diagram

Learn more about the Class diagram below.

vegetation_indexes flow diagram

Sequence diagram

Learn more about the Sequence diagram below.

vegetation_indexes flow diagram

State diagram

Learn more about the State diagram below.

vegetation_indexes flow diagram

Run in step

step

clt

CWL Class

CommandLineTool

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

ExpressionTool

Inputs

Id Option Type
nested --nested array of array of Directory