Fusion Policy DSL
TopoBathySim logic is defined in Fusion Policy files (YAML). A policy describes what data to fetch and how to combine it to create a variable (e.g., elevation).
Structure
A policy file consists of metadata and a list of variables (layers) to generate.
name: "Western Long Island Sound Fusion"
version: "1.1.0"
crs: "EPSG:3857" # Output Coordinate Reference System
variables:
- name: "elevation"
description: "Topobathymetry (Meters)"
steps:
# List of composition steps (Bottom-Up order)
- provider: "gebco"
product: "sub_ice_topo_bathymetry"
operator: "overwrite"
- provider: "usgs_3dep"
product: "1m"
operator: "overwrite"
Variables
Currently, the runtime supports generating a single variable: elevation. Future versions may support uncertainty or source masks.
Composition Steps
The steps list defines the fusion order. Steps are processed sequentially. Later steps are applied on top of previous steps using the specified Operator.
Fields
provider: The registered provider alias (e.g.,
gebco,usgs_3dep,ncei_bag).product: (Optional) Product sub-type passed to the provider.
operator: The blending operation to apply.
description: (Optional) Human-readable note.
transitions: (Optional) A list of rules for smoothing edges based on what lies beneath.
Operators
overwrite
Hard replacement. Where the new layer has data (valid), it replaces the underlying value.
operator: "overwrite"
metric_feather
Smooths the transition between the new layer and the base layer over a specified distance.
operator: "metric_feather"
blend_distance: 100.0 # Meters
Topologies (Transition Rules)
For advanced fusion, you can specify Transition Rules to apply different operators depending on which provider is currently at a pixel in the base layer.
Example: Feather into GEBCO (Bathymetry), but Hard-Cut against USGS Lidar (Land).
- provider: "noaa_bluetopo"
operator: "overwrite" # Default
transitions:
- target_provider: "gebco"
operator: "metric_feather"
blend_distance: 500.0