Skip to content

Repository files navigation

bblocks-process-profiles

OGC Building Blocks register holding process profiles for the deployable CWL processes of the OSPD 2026 reference workflows. Identifier prefix: ospd.process-profiles.

Workflow Source (linked, not copied)
W1 Algae Bloom crim-ca/ogc-ospd-phase1@5edd4ec (CC-BY-NC-SA-4.0)
W2 KindGrove GeoLabs/bblocks-eoap-cct@291a741
W3 Water Bodies GeoLabs/ogc-eo-application-package-hands-on@f472585 (license unassigned upstream and in this fork; CC-BY-SA-4.0 assumed, see scripts/sources.yaml w3; tool images from Terradue/ogc-eo-application-package-hands-on)
W2b KindGrove (step notebooks) GeoLabs/KindGrove release v0.0.2-rc2 (CC-BY-NC-SA-4.0; prerelease, a GitHub Release asset pinned by sha256 rather than a git commit — the CWL is never committed to the repo tree, see scripts/sources.yaml kindgrove_steps). A ground-up reimplementation added alongside kindgrove, not replacing it — see docs/WORKFLOW-COMPARISON.md

Building blocks

Identifier CWL class Phase(s) openEO
ospd.process-profiles.algae-bloom.workflow-earth-search Workflow Filter configuration, Selection / filtering, Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.algae-bloom.workflow-earth-search-process Workflow Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.algae-bloom.workflow-copernicus Workflow Filter configuration, Selection / filtering, Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.algae-bloom.workflow-copernicus-process Workflow Data retrieval, Scientific computation, Export / aggregation none
ospd.process-profiles.algae-bloom.select-products-sentinel2 CommandLineTool Selection / filtering closeMatch: processes.cubes.load_collection
ospd.process-profiles.algae-bloom.download-band-sentinel2-stac-item CommandLineTool Data retrieval closeMatch: processes.cubes.load_collection, processes.cubes.filter_bands
ospd.process-profiles.algae-bloom.download-band-sentinel2-product-safe CommandLineTool Data retrieval closeMatch: processes.cubes.load_collection, processes.cubes.filter_bands
ospd.process-profiles.algae-bloom.reproject-image CommandLineTool Pre-processing closeMatch: processes.cubes.resample_spatial
ospd.process-profiles.algae-bloom.calculate-band CommandLineTool Scientific computation closeMatch: processes.cubes.reduce_dimension
ospd.process-profiles.algae-bloom.plot-image CommandLineTool Export / aggregation closeMatch: processes.cubes.save_result
ospd.process-profiles.kindgrove.mangrove-workflow Workflow Filter configuration, Selection / filtering, Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.kindgrove.parse-aoi CommandLineTool Filter configuration none
ospd.process-profiles.kindgrove.mangrove CommandLineTool Selection / filtering, Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.water-bodies.water-bodies Workflow Data retrieval, Scientific computation, Export / aggregation none
ospd.process-profiles.water-bodies.detect-water-body Workflow Data retrieval, Scientific computation none
ospd.process-profiles.water-bodies.crop CommandLineTool Data retrieval closeMatch: processes.cubes.load_collection, processes.cubes.filter_bands
ospd.process-profiles.water-bodies.norm-diff CommandLineTool Scientific computation closeMatch: processes.math.indices.normalized_difference
ospd.process-profiles.water-bodies.otsu CommandLineTool Scientific computation none
ospd.process-profiles.water-bodies.stac CommandLineTool Export / aggregation closeMatch: processes.cubes.save_result
ospd.process-profiles.kindgrove-steps.mangrove-workflow-steps Workflow Filter configuration, Selection / filtering, Data retrieval, Pre-processing, Scientific computation, Export / aggregation none
ospd.process-profiles.kindgrove-steps.parse-aoi-steps CommandLineTool Filter configuration none
ospd.process-profiles.kindgrove-steps.select-scene CommandLineTool Selection / filtering closeMatch: processes.cubes.load_collection
ospd.process-profiles.kindgrove-steps.download-band CommandLineTool Data retrieval closeMatch: processes.cubes.load_collection, processes.cubes.filter_bands
ospd.process-profiles.kindgrove-steps.reproject-band CommandLineTool Pre-processing closeMatch: processes.cubes.resample_spatial
ospd.process-profiles.kindgrove-steps.calculate-indices CommandLineTool Scientific computation none
ospd.process-profiles.kindgrove-steps.estimate-biomass CommandLineTool Scientific computation none
ospd.process-profiles.kindgrove-steps.export-stac CommandLineTool Export / aggregation closeMatch: processes.cubes.save_result

Shared: ospd.process-profiles.process-type — schema of a candidate process-type register entry (Activity 4).

What each process profile contains

Artefact Validated against
processDescription (default schema) this profile = ogc.api.processes.v1.schemas.process + ogc.api.processes.v2.schemas.staticIndicator + id/input/output constraints
raw cwl-to-ogcprocess output (when a manual correction was needed) ogc.api.processes.v1.schemas.process
OGC Application Package (Part 2 deploy body, executionUnit = link to the CWL) ogc.api.processes.v2.schemas.ogcapppkg
execute request / results ogc.api.processes.v1.schemas.execute / results
provenance chain ogc.bbr.provenance.provenance
process run (CommandLineTool) ogc.bbr.wf4ever.wfprov.ProcessRun (gap GP-1 in the generic profile)
execution bundle (Workflow) ogc.bbr.provenance.execution
process-type entry ospd.process-profiles.process-type

Documentation

Regenerating

# needs jq, python3 (pyyaml, prov>=2 for the W3C PROV-JSONLD examples), git, cwltool + Docker
python3 scripts/run_workflows.py --sources-root DIR --runs-root DIR --build-images --generate
#   clones the pinned sources (scripts/sources.yaml `repo:`/`commit:`, or downloads+checksums a
#   `release:` source) under --sources-root when missing, runs each entry under `runs:` with
#   `cwltool --provenance` (asks for the Copernicus S3 credentials, or reads
#   CDSE_S3_ACCESS_KEY / CDSE_S3_SECRET_KEY), stores the research objects under --runs-root as
#   named in `runs:`, then regenerates; --only NAME picks runs, --force replaces an existing bag,
#   --no-fetch leaves the clones/downloads alone
python3 scripts/generate.py --sources-root DIR --runs-root DIR   # regenerate only, never downloads
python3 scripts/validate_offline.py --deps-root ../   # pre-check only
./build.sh                                             # authoritative validation (Docker)
./view.sh                                              # http://localhost:9090

Generated files are overwritten; hand-written content lives in scripts/profiles.yaml and docs/. The run-derived examples (times, engine, container images, output names and checksums) are read from real cwltool --provenance research objects declared under runs: in scripts/sources.yaml; those are local directories (the W1 one carries a 3.1 GB payload) and are not part of this repository. Without them the generator stops.

License

Apache-2.0 for this register. The W1 and W2b CWL files are CC-BY-NC-SA-4.0 and are referenced by URL only.

Releases

Packages

Contributors

Languages