PRO Production

Workflow-grade Pro analysis with audit-ready outputs.

workflow pro

## Workflow Narrative

Emergency Accessibility Scenario Planning

### Who It Is For

- Emergency management teams planning resilience under flood/fire/closure scenarios.
- Public safety routing analysts evaluating critical-facility reachability under disruptions.

### Primary User

Emergency management, public safety operations, and municipal resilience planning teams.

### What It Does

- Simulates emergency network accessibility under multiple disruption scenarios.
- Compares scenario accessibility against baseline service-area coverage.
- Supports scenario-specific blocked-edge simulation using network attribute mapping.
- Outputs baseline and worst-case service areas, scenario KPI table, and simulation report JSON.

### How It Works

- Runs baseline merged multi-ring service areas from critical facilities using network_service_area.
- Reads scenario CSV (`scenario_id,max_cost_multiplier[,blocked_value]`).
- For each scenario:
- Scales max travel cost by `max_cost_multiplier`.
- Optionally maps `blocked_value` to scenario-blocked edges using `scenario_block_source_field`.
- **Scope boundary:** Emergency Accessibility Scenario Planning simulates disrupted-network conditions for critical facility coverage — it is the service-area tool for emergency resilience and response planning. Service Area Planning and Coverage Optimization (6.2) addresses public infrastructure coverage under normal operating conditions. Market Access and Site Planning (6.7) evaluates commercial expansion by drive-time access and competitive positioning. Choose this tool for resilience analysis, 6.2 for infrastructure coverage gaps, and 6.7 for commercial site decisions.
- Computes scenario service area polygons and demand-point coverage percent.
- Computes `delta_from_baseline_pct` per scenario and identifies best/worst scenario outcomes.

## Inputs

Parameter | Type | Required | Description
--- | --- | --- | ---
`network` | LineVector path | Required | Network layer for routing
`critical_facilities` | PointVector path | Required | Origin facilities (hospitals/fire/EMS/etc.)
`demand_points` | PointVector path | Optional | Demand points for scenario coverage KPIs
`ring_costs` | array[float] | Required | Service area ring costs (e.g., [5,10,15])
`scenario_csv` | path | Required | CSV: scenario_id,max_cost_multiplier[,blocked_value]
`scenario_template` | string | Optional | Scenario authoring template: `custom` | `flood` | `wildfire` | `earthquake`; applies template guardrails
`scenario_block_source_field` | string | Optional | Network attribute used to match scenario blocked_value
`baseline_service_areas` | vector path | Required | Output baseline service areas
`worst_case_service_areas` | vector path | Required | Output worst-scenario service areas
`scenario_summary_csv` | path | Required | Output scenario KPI summary CSV
`simulation_report` | path | Required | Output simulation summary JSON

## Outputs

Output | Type | Contents
--- | --- | ---
`baseline_service_areas` | Vector | Baseline merged service area polygons
`worst_case_service_areas` | Vector | Worst-performing scenario service area polygons
`scenario_summary_csv` | CSV | scenario_id, blocked_value, covered_pct, delta_from_baseline_pct and related KPIs
`simulation_report` | JSON | baseline stats, scenario comparisons, best/worst scenario summary

## Python Example

    env = WbEnvironment(license_tier="pro")

    result = env.run_tool("emergency_scenario_routing_and_accessibility_simulator",
        network="city_network.gpkg",
        critical_facilities="critical_facilities.gpkg",
        demand_points="demand_points.gpkg",
        ring_costs=[5, 10, 15],
        scenario_csv="scenarios.csv",
        scenario_block_source_field="STATUS",
        baseline_service_areas="output/baseline_service_areas.gpkg",
        worst_case_service_areas="output/worst_service_areas.gpkg",
        scenario_summary_csv="output/scenario_summary.csv",
        simulation_report="output/simulation_report.json",
    )

    print(result)

## License Notice

Use of this function requires a license for Whitebox Workflows Professional (WbW-Pro). Please visit www.whiteboxgeo.com to purchase a license.

## Project Links

WbW Homepage User Manual Support WbW