Pattern 5
2025-09-08 11:00:06.572 | DEBUG | cwl_loader:load_cwl_from_location:196 - Loading CWL document from ../cwl-workflow/pattern-5.cwl...
2025-09-08 11:00:06.573 | DEBUG | cwl_loader:_load_cwl_from_stream:199 - Reading stream from ../cwl-workflow/pattern-5.cwl...
2025-09-08 11:00:06.589 | DEBUG | cwl_loader:load_cwl_from_stream:173 - CWL data of type <class 'ruamel.yaml.comments.CommentedMap'> successfully loaded from stream
2025-09-08 11:00:06.589 | DEBUG | cwl_loader:load_cwl_from_yaml:124 - Updating the model of type 'CommentedMap' to version 'v1.2'...
2025-09-08 11:00:06.594 | DEBUG | cwl_loader:load_cwl_from_yaml:135 - Raw CWL document successfully updated to v1.2! Now converting to the CWL model...
2025-09-08 11:00:06.603 | DEBUG | cwl_loader:load_cwl_from_yaml:143 - Raw CWL document successfully updated to v1.2! Now dereferencing the FQNs...
2025-09-08 11:00:06.603 | DEBUG | cwl_loader:_clean_process:66 - Cleaning Workflow pattern-5...
2025-09-08 11:00:06.604 | DEBUG | cwl_loader:_clean_process:66 - Cleaning CommandLineTool clt...
2025-09-08 11:00:06.605 | DEBUG | cwl_loader:load_cwl_from_yaml:151 - CWL document successfully dereferenced!
2025-09-08 11:00:06.606 | DEBUG | cwl_loader:_load_cwl_from_stream:207 - Stream from ../cwl-workflow/pattern-5.cwl successfully load!
Application Package Pattern 5¶
The CWL includes:
- one input parameter of type
Directory
- scatter on an output parameter of type
Directory[]
This scenario takes as input an acquisition, applies an algorithm and generates several outputs
Implementation: process the NDVI and NDWI taking as input a Landsat-8/9 acquisition and generating a stack of STAC Catalogs
Inputs¶
Id | Type | Label | Doc |
---|---|---|---|
aoi |
string |
area of interest | area of interest as a bounding box |
epsg |
string |
EPSG code | EPSG code |
indexes |
string[] |
indexes | indexes to compute |
item |
Directory |
Landsat-8/9 acquisition reference | Landsat-8/9 acquisition reference |
Steps¶
Id | Runs | Label | Doc |
---|---|---|---|
step |
#clt |
None | None |
Outputs¶
Id | Type | Label | Doc |
---|---|---|---|
vegetation_indexes |
Directory[] |
Vegetation indexes | Vegetation indexes from Landsat-8/9 acquisitions |
Data flow management¶
2025-09-08 11:00:07.287 | DEBUG | cwl_loader:load_cwl_from_location:196 - Loading CWL document from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in.cwl...
2025-09-08 11:00:07.319 | DEBUG | cwl_loader:_load_cwl_from_stream:199 - Reading stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in.cwl...
2025-09-08 11:00:07.326 | DEBUG | cwl_loader:load_cwl_from_stream:173 - CWL data of type <class 'ruamel.yaml.comments.CommentedMap'> successfully loaded from stream
2025-09-08 11:00:07.326 | DEBUG | cwl_loader:load_cwl_from_yaml:124 - Updating the model of type 'CommentedMap' to version 'v1.2'...
2025-09-08 11:00:07.327 | DEBUG | cwl_loader:load_cwl_from_yaml:135 - Raw CWL document successfully updated to v1.2! Now converting to the CWL model...
2025-09-08 11:00:07.469 | DEBUG | cwl_loader:load_cwl_from_yaml:143 - Raw CWL document successfully updated to v1.2! Now dereferencing the FQNs...
2025-09-08 11:00:07.469 | DEBUG | cwl_loader:_clean_process:66 - Cleaning CommandLineTool my-asthonishing-stage-in-directory...
2025-09-08 11:00:07.470 | DEBUG | cwl_loader:load_cwl_from_yaml:151 - CWL document successfully dereferenced!
2025-09-08 11:00:07.470 | DEBUG | cwl_loader:_load_cwl_from_stream:207 - Stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in.cwl successfully load!
2025-09-08 11:00:07.471 | DEBUG | cwl_loader:load_cwl_from_location:196 - Loading CWL document from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in-file.cwl...
2025-09-08 11:00:07.503 | DEBUG | cwl_loader:_load_cwl_from_stream:199 - Reading stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in-file.cwl...
2025-09-08 11:00:07.509 | DEBUG | cwl_loader:load_cwl_from_stream:173 - CWL data of type <class 'ruamel.yaml.comments.CommentedMap'> successfully loaded from stream
2025-09-08 11:00:07.509 | DEBUG | cwl_loader:load_cwl_from_yaml:124 - Updating the model of type 'CommentedMap' to version 'v1.2'...
2025-09-08 11:00:07.510 | DEBUG | cwl_loader:load_cwl_from_yaml:135 - Raw CWL document successfully updated to v1.2! Now converting to the CWL model...
2025-09-08 11:00:07.660 | DEBUG | cwl_loader:load_cwl_from_yaml:143 - Raw CWL document successfully updated to v1.2! Now dereferencing the FQNs...
2025-09-08 11:00:07.661 | DEBUG | cwl_loader:_clean_process:66 - Cleaning CommandLineTool my-asthonishing-stage-in-file...
2025-09-08 11:00:07.662 | DEBUG | cwl_loader:load_cwl_from_yaml:151 - CWL document successfully dereferenced!
2025-09-08 11:00:07.662 | DEBUG | cwl_loader:_load_cwl_from_stream:207 - Stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-in-file.cwl successfully load!
2025-09-08 11:00:07.663 | DEBUG | cwl_loader:load_cwl_from_location:196 - Loading CWL document from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-out.cwl...
2025-09-08 11:00:07.700 | DEBUG | cwl_loader:_load_cwl_from_stream:199 - Reading stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-out.cwl...
2025-09-08 11:00:07.710 | DEBUG | cwl_loader:load_cwl_from_stream:173 - CWL data of type <class 'ruamel.yaml.comments.CommentedMap'> successfully loaded from stream
2025-09-08 11:00:07.710 | DEBUG | cwl_loader:load_cwl_from_yaml:124 - Updating the model of type 'CommentedMap' to version 'v1.2'...
2025-09-08 11:00:07.711 | DEBUG | cwl_loader:load_cwl_from_yaml:135 - Raw CWL document successfully updated to v1.2! Now converting to the CWL model...
2025-09-08 11:00:07.874 | DEBUG | cwl_loader:load_cwl_from_yaml:143 - Raw CWL document successfully updated to v1.2! Now dereferencing the FQNs...
2025-09-08 11:00:07.875 | DEBUG | cwl_loader:_clean_process:66 - Cleaning CommandLineTool my-super-stage-out...
2025-09-08 11:00:07.875 | DEBUG | cwl_loader:load_cwl_from_yaml:151 - CWL document successfully dereferenced!
2025-09-08 11:00:07.875 | DEBUG | cwl_loader:_load_cwl_from_stream:207 - Stream from https://raw.githubusercontent.com/eoap/application-package-patterns/refs/heads/develop/templates/stage-out.cwl successfully load!
2025-09-08 11:00:07.876 | INFO | eoap_cwlwrap.types:_validate_stage_in:273 - Validating stage-in 'my-asthonishing-stage-in-directory'...
2025-09-08 11:00:07.876 | INFO | eoap_cwlwrap.types:_validate_stage_in:295 - stage-in 'my-asthonishing-stage-in-directory' is valid
2025-09-08 11:00:07.877 | INFO | eoap_cwlwrap.types:_validate_stage_in:273 - Validating stage-in 'my-asthonishing-stage-in-file'...
2025-09-08 11:00:07.877 | INFO | eoap_cwlwrap.types:_validate_stage_in:295 - stage-in 'my-asthonishing-stage-in-file' is valid
2025-09-08 11:00:07.878 | INFO | eoap_cwlwrap.types:validate_stage_out:331 - Validating stage-out 'my-super-stage-out'...
2025-09-08 11:00:07.878 | INFO | eoap_cwlwrap.types:validate_stage_out:353 - stage-out 'my-super-stage-out' is valid
2025-09-08 11:00:07.878 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:90 - Building the CWL Orchestrator Workflow...
2025-09-08 11:00:07.879 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:119 - Analyzing pattern-5 inputs...
2025-09-08 11:00:07.880 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:135 - * pattern-5/aoi: string
2025-09-08 11:00:07.880 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:135 - * pattern-5/epsg: string
2025-09-08 11:00:07.881 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:135 - * pattern-5/indexes: string[]
2025-09-08 11:00:07.881 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:135 - * pattern-5/item: Directory
2025-09-08 11:00:07.882 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:148 - Directory type detected, creating a related 'directory_stage_in_0'...
2025-09-08 11:00:07.882 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:150 - Converting Directory to URL-compatible type...
2025-09-08 11:00:07.883 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:154 - Directory converted to https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI
2025-09-08 11:00:07.883 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:195 - Connecting 'app/item' to 'directory_stage_in_0' output...
2025-09-08 11:00:07.884 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:246 - Analyzing pattern-5 outputs...
2025-09-08 11:00:07.884 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:252 - * pattern-5/vegetation_indexes: Directory[]
2025-09-08 11:00:07.885 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:257 - Directory type detected, creating a related 'stage_out_0'...
2025-09-08 11:00:07.885 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:259 - Converting Directory[] to URL-compatible type...
2025-09-08 11:00:07.886 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:263 - Directory[] converted to https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI[]
2025-09-08 11:00:07.888 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:284 - Array detected, scatter required for stac_catalog:app/vegetation_indexes
2025-09-08 11:00:07.888 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:304 - Connecting 'app/vegetation_indexes' to 'stage_out_0' output...
2025-09-08 11:00:07.889 | INFO | eoap_cwlwrap:_build_orchestrator_workflow:379 - Orchestrator Workflow built in 0.0104 seconds
Workflow components diagram¶
Inputs¶
Id | Type | Label | Doc |
---|---|---|---|
aoi |
string |
area of interest - pattern-5/aoi | area of interest as a bounding box - This parameter is derived from pattern-5/aoi |
epsg |
string |
EPSG code - pattern-5/epsg | EPSG code - This parameter is derived from pattern-5/epsg |
indexes |
string[] |
indexes - pattern-5/indexes | indexes to compute - This parameter is derived from pattern-5/indexes |
another_input |
string |
Another Input - my-asthonishing-stage-in-directory/another_input | An additional input for demonstration purposes - This parameter is derived from my-asthonishing-stage-in-directory/another_input |
item |
https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI |
Landsat-8/9 acquisition reference - pattern-5/item | Landsat-8/9 acquisition reference - This parameter is derived from pattern-5/item |
s3_bucket |
string |
my-super-stage-out/s3_bucket | This parameter is derived from: my-super-stage-out/s3_bucket |
sub_path |
string |
my-super-stage-out/sub_path | This parameter is derived from: my-super-stage-out/sub_path |
aws_access_key_id |
string |
my-super-stage-out/aws_access_key_id | This parameter is derived from: my-super-stage-out/aws_access_key_id |
aws_secret_access_key |
string |
my-super-stage-out/aws_secret_access_key | This parameter is derived from: my-super-stage-out/aws_secret_access_key |
region_name |
string |
my-super-stage-out/region_name | This parameter is derived from: my-super-stage-out/region_name |
endpoint_url |
string |
my-super-stage-out/endpoint_url | This parameter is derived from: my-super-stage-out/endpoint_url |
Steps¶
Id | Runs | Label | Doc |
---|---|---|---|
directory_stage_in_0 |
#my-asthonishing-stage-in-directory |
None | None |
app |
#pattern-5 |
None | None |
stage_out_0 |
#my-super-stage-out |
None | None |
Outputs¶
Id | Type | Label | Doc |
---|---|---|---|
vegetation_indexes |
https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI[] |
Vegetation indexes | Vegetation indexes from Landsat-8/9 acquisitions |
Execution¶
Inputs¶
{
"aoi": "-118.985,38.432,-118.183,38.938",
"epsg": "EPSG:4326",
"indexes": [
"ndvi",
"ndwi"
],
"item": {
"class": "https://raw.githubusercontent.com/eoap/schemas/main/url.yaml#URL",
"value": "https://planetarycomputer.microsoft.com/api/stac/v1/collections/landsat-c2-l2/items/LC08_L2SP_042033_20231007_02_T1"
}
}
Outputs¶
{
"vegetation_indexes": [
{
"value": "s3://my-bucket/my/sub/path-grw26j/catalog.json",
"type": "https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI"
},
{
"value": "s3://my-bucket/my/sub/path-nb82k3/catalog.json",
"type": "https://raw.githubusercontent.com/eoap/schemas/main/string_format.yaml#URI"
}
]
}