nodes.viz_decision
nodes.viz_decision
Decision Support Visualizations
Visualizations for investment, operations, and compliance decision support. All charts use data from the decision_metrics layer created in Phase 2.
Functions
| Name | Description |
|---|---|
| viz_efficiency_frontier_png | Generate scatter plot of scale vs intensity with efficiency contours. |
| viz_mac_curve_png | Generate MAC curve with cumulative reduction potential on X-axis. |
| viz_opportunity_vs_realized_reduction_png | Generate scatter plot of opportunity_score vs realized emissions reduction. |
| viz_reduction_heatmap_png | Generate heatmap showing vent+flare reduction potential as share of operator emissions. |
| viz_regulatory_threshold_png | Generate bar chart of operators near regulatory reporting threshold. |
| viz_risk_return_scatter_png | Generate scatter plot of NPV vs regulatory risk with bubble size by reduction potential. |
| viz_scenario_rank_shift_png | Generate heatmap of rank changes from baseline across scenarios. |
| viz_top10_investment_opportunities_png | Generate bar chart of top investment opportunities ranked by NPV. |
viz_efficiency_frontier_png
nodes.viz_decision.viz_efficiency_frontier_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
)Generate scatter plot of scale vs intensity with efficiency contours.
Args: operator_viz_view: Pre-filtered operator view docs_assets_dir: Output directory for PNG
Returns: Path to saved PNG file
viz_mac_curve_png
nodes.viz_decision.viz_mac_curve_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
_top_n: int = 20,
)Generate MAC curve with cumulative reduction potential on X-axis.
Args: operator_viz_view: Pre-filtered operator view docs_assets_dir: Output directory for PNG _top_n: Number of top operators to show (unused, kept for API compatibility)
Returns: Path to saved PNG file
viz_opportunity_vs_realized_reduction_png
nodes.viz_decision.viz_opportunity_vs_realized_reduction_png(
operator_panel_multiyear: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
)Generate scatter plot of opportunity_score vs realized emissions reduction.
This visualization compares heuristic opportunity scores against actual year-over-year emission changes, identifying: - Prime targets: High opportunity + actual reduction - “All talk”: High opportunity + emission increases - Hidden gems: Low opportunity + actual reduction
Data is loaded from the multi-year panel and realized reductions are computed directly (no ML training required). This is a purely descriptive analysis of 2022→2023 changes.
Args: operator_panel_multiyear: Multi-year operator panel (operator_baid, year) docs_assets_dir: Output directory for PNG
Returns: Path to saved PNG file
viz_reduction_heatmap_png
nodes.viz_decision.viz_reduction_heatmap_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
top_n: int = 20,
)Generate heatmap showing vent+flare reduction potential as share of operator emissions.
Operators are sorted by absolute reduction potential (kt) rather than percentage, and only operators with E_total_kt > 10 are included to focus on material opportunities.
Args: operator_viz_view: Pre-filtered operator view docs_assets_dir: Output directory for PNG top_n: Number of top operators to show
Returns: Path to saved PNG file
viz_regulatory_threshold_png
nodes.viz_decision.viz_regulatory_threshold_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
threshold_kt: float = 100.0,
)Generate bar chart of operators near regulatory reporting threshold.
Args: operator_viz_view: Pre-filtered operator view docs_assets_dir: Output directory for PNG threshold_kt: Regulatory threshold (kt CO2e)
Returns: Path to saved PNG file
viz_risk_return_scatter_png
nodes.viz_decision.viz_risk_return_scatter_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
)Generate scatter plot of NPV vs regulatory risk with bubble size by reduction potential.
Args: operator_viz_view: Pre-filtered operator view docs_assets_dir: Output directory for PNG
Returns: Path to saved PNG file
viz_scenario_rank_shift_png
nodes.viz_decision.viz_scenario_rank_shift_png(
operator_viz_view: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
top_n: int = 20,
)Generate heatmap of rank changes from baseline across scenarios.
Args: operator_viz_view: Pre-filtered operator view with scenario ranks docs_assets_dir: Output directory for PNG top_n: Number of top operators to show
Returns: Path to generated PNG file
viz_top10_investment_opportunities_png
nodes.viz_decision.viz_top10_investment_opportunities_png(
investment_opportunities: pd.DataFrame,
docs_assets_dir: str = 'docs/assets/figures',
top_n: int = 10,
)Generate bar chart of top investment opportunities ranked by NPV.
Args: investment_opportunities: Pre-filtered opportunities DataFrame docs_assets_dir: Output directory for PNG top_n: Number of top opportunities to show
Returns: Path to saved PNG file