{
  "scenario_id": "rl10_snap50_high_tailwater_pumps",
  "label": "S6 50 m snap + actual pumps, high tailwater",
  "rainfall_id": "gurugram_10yr_openidf_12h",
  "rainfall_label": "Gurugram open-source 10-year design storm, 50.4 mm / 12 h",
  "run_id": "gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps",
  "status": "WARN",
  "created_at_utc": "2026-05-06T02:37:47+00:00",
  "reproducibility_ledger": {
    "scenario": {
      "scenario_id": "rl10_snap50_high_tailwater_pumps",
      "label": "S6 50 m snap + actual pumps, high tailwater",
      "run_id": "gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps",
      "rainfall_id": "gurugram_10yr_openidf_12h",
      "rainfall_label": "Gurugram open-source 10-year design storm, 50.4 mm / 12 h",
      "scenario_definition": "Same 50 m snap/high-tailwater drainage setup as S4, with actual MCG pump locations and capacities active and connected to the nearest defensible drainage/receptor nodes.",
      "pump_state": "active",
      "drain_state": "80% native, 40% local, 50 m snap, high tailwater"
    },
    "environment": {
      "created_at_utc": "2026-05-06T02:37:45+00:00",
      "hostname": "Udits-Mac-Studio-6.local",
      "platform": "macOS-26.2-arm64-arm-64bit-Mach-O",
      "system": "Darwin",
      "machine": "arm64",
      "python": "3.14.3 (main, Feb  3 2026, 15:32:20) [Clang 17.0.0 (clang-1700.6.3.2)]",
      "python_executable": "<SOURCE_WORKSPACE>/flood_model/.venv/bin/python",
      "cwd": "<SOURCE_WORKSPACE>/flood_model",
      "repo_root": "<SOURCE_WORKSPACE>/flood_model",
      "project_root": "<SOURCE_WORKSPACE>",
      "git": {
        "available": false,
        "reason": "CalledProcessError: Command '['git', 'rev-parse', '--show-toplevel']' returned non-zero exit status 128."
      },
      "preflight_report": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/gurugram_dss_preflight_with_wheelhouse_20260506.json",
        "exists": true,
        "size_bytes": 2833,
        "modified_utc": "2026-05-06T02:20:57.034598+00:00",
        "sha256": "3a48668da5e1973f8275c653fd07ee8f5bc42459af330936e09098c158597c2a",
        "hash_mode": "full"
      },
      "offline_wheelhouse_manifest": {
        "path": "<SOURCE_WORKSPACE>/offline_wheelhouse/darwin-arm64-cp314/WHEELHOUSE_MANIFEST.json",
        "exists": true,
        "size_bytes": 2466,
        "modified_utc": "2026-05-06T02:20:07.884157+00:00",
        "sha256": "e7ffc2680c6b1edcace582d2e517cefa8b1c72df3ce01cae5807bd049ab11ee6",
        "hash_mode": "full"
      }
    },
    "code_files": {
      "solver": {
        "path": "<SOURCE_WORKSPACE>/flood_model/scripts/run_gurugram_triangular_alpha.py",
        "exists": true,
        "size_bytes": 284002,
        "modified_utc": "2026-05-05T14:48:30.262754+00:00",
        "sha256": "961a1672647ee8ed12020a9b992d5aa518f6c63fe4e888d976016282e39147a0",
        "hash_mode": "full"
      },
      "scenario_matrix": {
        "path": "<SOURCE_WORKSPACE>/flood_model/scripts/run_mcg_scenario_matrix.py",
        "exists": true,
        "size_bytes": 39824,
        "modified_utc": "2026-05-05T17:20:10.812701+00:00",
        "sha256": "8808b27279f18507a4b093b61b5fae98a0e245dea5e0e2426d4af185184244e1",
        "hash_mode": "full"
      },
      "dss_builder": {
        "path": "<SOURCE_WORKSPACE>/flood_model/scripts/build_mcg_final_review_desiltation_dss.py",
        "exists": true,
        "size_bytes": 196614,
        "modified_utc": "2026-05-06T02:32:35.618140+00:00",
        "sha256": "6af4fe8f59a0c9a1a1e28614c6e17e8433e39bf315703e2b98d75c5e641bf997",
        "hash_mode": "full"
      },
      "qa_builder": {
        "path": "<SOURCE_WORKSPACE>/flood_model/scripts/build_gurugram_professional_qa.py",
        "exists": true,
        "size_bytes": 50232,
        "modified_utc": "2026-05-06T02:31:40.991060+00:00",
        "sha256": "693fbe77880b018856a790c39c1eb2a3816af1bec8465fc5e73861eee0bfce15",
        "hash_mode": "full"
      }
    },
    "source_files": {
      "run_npz": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/gpu_triangular/gpu_triangular_alpha_outputs.npz",
        "exists": true,
        "size_bytes": 136387845,
        "modified_utc": "2026-05-05T16:38:54.654505+00:00",
        "sha256_sample": "22b7c30125e65bf5b728b96e04121a69643b252cacfb2d0d076d60a1f71c3e77",
        "hash_mode": "first_last_8388608_bytes"
      },
      "report_json": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/gurugram_triangular_alpha_report.json",
        "exists": true,
        "size_bytes": 53987,
        "modified_utc": "2026-05-05T16:38:57.064382+00:00",
        "sha256": "708a3b865b3aa9090d8a97cda5017a8bb880c8648e2026ce2cfd6e054576d7a0",
        "hash_mode": "full"
      },
      "batch_json": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps/adaptive_gpu_batch_summary.json",
        "exists": true,
        "size_bytes": 40778,
        "modified_utc": "2026-05-05T16:38:47.535350+00:00",
        "sha256": "b5148614507e8ec4127eb6f6f9aeec45c191874ca61eb0e7202a840b26a5b27d",
        "hash_mode": "full"
      },
      "merged_manifest": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/merged_citywide_manifest.json",
        "exists": true,
        "size_bytes": 4949,
        "modified_utc": "2026-05-05T16:38:57.064636+00:00",
        "sha256": "52954c9dfd58220f8fd3e2bcb90df44a438e9b1872c0d1b7fa84136c1d769cd6",
        "hash_mode": "full"
      },
      "dss_html": {
        "path": "<SOURCE_WORKSPACE>/final_review/MCG_Flood_DSS_10yr_snap50_high_tailwater_pumps.html",
        "exists": true,
        "size_bytes": 24427881,
        "modified_utc": "2026-05-06T02:35:33.499167+00:00",
        "sha256": "5a65dd57f815a5758d1bc4a665b62bb47b9fc7b933d77fc1123cde5834394900",
        "hash_mode": "full"
      },
      "hyetograph_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/inputs/gurugram_full_city_physics_from_flood_agents_20260504/mac_office/floodcode/print_maps/ward22_detailed_modeling/galleria_wards_21_22_23_24_adaptive_grid/anuga_setup/forcing/decision_hyetographs/gurugram_10yr_openidf_12h_hourly.csv",
        "exists": true,
        "size_bytes": 769,
        "modified_utc": "2026-05-05T17:22:20.473177+00:00",
        "sha256": "e03db1a6d97a9194d5bee451edba2a626d542813084917cac49ff5d8dd40236f",
        "hash_mode": "full"
      },
      "surface_inlets_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_adaptive_bcr_fabdem5m_min25m2_supertile6/citywide_july2025_reported_133mm_12h_hourly_citywide_partial70/exchange_tables/surface_inlet_exchange_table.csv",
        "exists": true,
        "size_bytes": 1781122,
        "modified_utc": "2026-05-03T15:58:20+00:00",
        "sha256": "228f009772dc41ba9a45cba60ceca332077d714ec06a5f3ef4bb9976078100e3",
        "hash_mode": "full"
      },
      "pump_inventory_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_actual_pumps_20260504/mcg_actual_pump_inventory_normalized.csv",
        "exists": true,
        "size_bytes": 25359,
        "modified_utc": "2026-05-04T20:51:33.305209+00:00",
        "sha256": "67f5c5e970ce72f3fae94547aa88bc2706e6a59fd469ef71d68512660a6dab6d",
        "hash_mode": "full"
      },
      "pump_connections_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_pump_drainage_connections_20260505/pump_to_drainage_connections.csv",
        "exists": true,
        "size_bytes": 17508,
        "modified_utc": "2026-05-05T03:14:01.111149+00:00",
        "sha256": "99bdec889046d69b609e491c2af03f0af81c9422678a16f74e0240c6a56efe0a",
        "hash_mode": "full"
      },
      "desilted_segments_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_desilted_networks_20260505/desilted_network_segments.csv",
        "exists": true,
        "size_bytes": 22782683,
        "modified_utc": "2026-05-05T03:07:43.332655+00:00",
        "sha256": "d12f9affeb48a6f35ce6b649d6127e671dbd4f429141285dd0a3c01875d38ab2",
        "hash_mode": "full"
      },
      "reported_hotspots_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/refinement_points/full_city_155_plus_all_tile1_hotspots_20260504.csv",
        "exists": true,
        "size_bytes": 49927,
        "modified_utc": "2026-05-04T14:35:44.205807+00:00",
        "sha256": "687c6fb02ead778c9e9564c3933a451b95cc9b124c024bb51781470779f858ac",
        "hash_mode": "full"
      },
      "pump_receptors_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_pump_recharge_candidates_20260505/pump_output_receptor_candidates.csv",
        "exists": true,
        "size_bytes": 191357,
        "modified_utc": "2026-05-05T09:45:15.550914+00:00",
        "sha256": "3d1ee88a3527066f6c5a1316b8ca6ea1d4408fbb6bbc624a854f95b6c9007e05",
        "hash_mode": "full"
      },
      "recharge_candidates_csv": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_pump_recharge_candidates_20260505/groundwater_recharge_screen_candidates.csv",
        "exists": true,
        "size_bytes": 919350,
        "modified_utc": "2026-05-05T09:45:15.567045+00:00",
        "sha256": "47bc4adf193233d3417406ca8bdf0d53bdf84babf1b0987c3d0d359aaa6133d2",
        "hash_mode": "full"
      },
      "groundwater_monitor_csv": {
        "path": "<EXTERNAL_SOURCE_WORKSPACE>/Gurugram_narrative/08_citywide_adaptive_final/cgwb_naquim2023_groundwater_monitoring_points.csv",
        "exists": true,
        "size_bytes": 7364,
        "modified_utc": "2026-05-04T18:26:11.466080+00:00",
        "sha256": "35c908ff898d967808d3e68d58baa7860a5bf364d15ad29e54a0c773590ae9c6",
        "hash_mode": "full"
      }
    },
    "run_report_excerpt": {
      "backend_run": {
        "backend": "mlx",
        "completed_requested_duration": true,
        "duration_s": 43200.0,
        "edge_step_updates_per_s": 298510405.7667598,
        "final_node_volume_m3": 277144.1248779297,
        "final_park_volume_m3": 0.0,
        "final_sump_volume_m3": 0.0,
        "final_surface_volume_m3": 3102051.2421875,
        "finite_result": true,
        "infiltration_loss_m3": 10400267.859375,
        "initial_drainage_storage_volume_m3": 349475.40954589844,
        "is_gpu": true,
        "mass_residual_ratio": 0.0008494897117667188,
        "max_depth_m": 2.4448952674865723,
        "max_persistence_above_threshold_min": 719.671875,
        "max_velocity_depth_gated_mps": 11.587791442871094,
        "outfall_discharge_m3": 20757.258544921875,
        "overflow_surcharge_m3": 187069.5793762207,
        "park_overflow_m3": 0.0,
        "rainfall_input_m3": 19736756.78125,
        "runtime_s": 446.8992193331942,
        "snapshot_count": 25,
        "step_count": 278230.0,
        "steps_per_s": 622.578845438887,
        "sump_capture_m3": 0.0,
        "sump_full_bypass_m3": 0.0,
        "sump_pumped_to_drain_m3": 0.0,
        "sump_pumped_to_park_m3": 0.0,
        "surface_capture_m3": 1148558.6102294922,
        "surface_surcharge_m3": 1013055.0154304504,
        "timestep_max_s": 5.0,
        "timestep_mean_s": 0.9316033497466051,
        "timestep_min_s": 0.029479795375664253,
        "triangle_step_updates_per_s": 188245805.45144695,
        "wet_triangle_count_005m": 94792
      },
      "forcing": {
        "effective_infiltration_mode": "horton",
        "hyetograph_csv": "<SOURCE_WORKSPACE>/flood_model/inputs/gurugram_full_city_physics_from_flood_agents_20260504/mac_office/floodcode/print_maps/ward22_detailed_modeling/galleria_wards_21_22_23_24_adaptive_grid/anuga_setup/forcing/decision_hyetographs/gurugram_10yr_openidf_12h_hourly.csv",
        "hyetograph_rain_duration_s": 43200.0,
        "hyetograph_total_depth_mm": 50.41825066382212,
        "mode": "hyetograph_horton",
        "prepared_excess": null,
        "requested_infiltration_mode": "horton",
        "simulated_duration_s": 43200.0,
        "uniform_rainfall_mmhr": null
      },
      "coupling": {
        "mode": "dynamic_pipe_citywide_main_leg_routing",
        "capacity_reference": "nominal",
        "drain_capacity_factor": 0.8,
        "local_drain_capacity_factor": 0.4,
        "tailwater_case": "high",
        "trunk_invert_slope_mode": "terrain_or_design_low_0p05pct",
        "local_drain_main_leg_snap_distance_m": 50.0,
        "mapped_inlet_count": 2210,
        "network_links": 7074,
        "node_count": 7895,
        "enabled_outfall_count": 4,
        "virtual_outfalls_used": false,
        "native_desilted_drainage": {
          "capacity_factor_note": "Native desilted storm/sewer links use drain_capacity_factor; local_drain_capacity_factor applies only to non-desilted local drains.",
          "capacity_reference": "nominal",
          "drain_capacity_factor": 0.8,
          "included_segment_count": 6433,
          "included_sewer_segment_count": 4033,
          "included_storm_segment_count": 2400,
          "link_capacity_m3ps_sum": 5073.266399999991,
          "local_drain_capacity_factor": null,
          "manhole_inventory_note": "No full manhole point inventory was found in the MCG desilted KMZ-derived segment table; native nodes are derived from snapped segment endpoints and main-leg tie candidates.",
          "mode": "pipe_links",
          "native_link_count": 6433,
          "native_node_count_delta": 6295,
          "native_surface_inlet_count": 0,
          "native_tie_link_count": 118,
          "segment_table": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_desilted_networks_20260505/desilted_network_segments.csv",
          "skipped_segment_count": 0,
          "skipped_tie_count": 0,
          "storage_capacity_m3_sum": 83295.40484060797,
          "surface_inlet_capacity_m3ps_sum": 0.0,
          "surface_inlet_fraction": 0.05,
          "surface_inlet_network_types": [
            "storm"
          ],
          "surface_inlet_note": "Surface intake along desilted lines is disabled unless mode is pipe_links_and_surface_inlets; without verified manhole/inlet inventory, pipe_links is the hydraulic-safe default.",
          "tie_distance_m": 100.0,
          "tie_rule": "Native desilted endpoints are provisionally tied to the nearest prepared main-leg node when nearest_main_leg_distance_m is within tie_distance_m. This is a sensitivity prior until as-built storm-network connectivity is supplied.",
          "tile_bounds_utm43n": [
            691866.904,
            3135488.924,
            706945.348,
            3147567.917
          ]
        },
        "random_choking": {
          "choked_link_count": 0,
          "eligible_link_count": 7074,
          "mode": "off",
          "requested_fraction": 0.0,
          "residual_capacity_factor": 0.1,
          "seed": 20260505
        },
        "hotspot_choking": {
          "apply_to": "inlets_and_links",
          "buffer_m": 100.0,
          "mode": "off",
          "points_csv": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/refinement_points/full_city_155_plus_all_tile1_hotspots_20260504.csv",
          "residual_capacity_factor": 0.2
        }
      },
      "mesh": {
        "active_triangle_count": 1511773,
        "bcr_building_fraction_mean": 0.3080289661884308,
        "bcr_open_fraction_mean": 0.700205385684967,
        "bed_mode": "terrain",
        "boundary_mode": "outflow",
        "building_flow_mode": "bcr_parameter",
        "building_parameterization": {
          "building_fraction_max": 1.0,
          "building_fraction_mean": 0.30351969599723816,
          "building_fraction_min": 0.0,
          "covered_building_fraction_mean": 0.6537270545959473,
          "covered_triangle_count": 233889,
          "description": "Fast building-coverage-ratio treatment: building-covered triangles remain on the terrain bed as hydraulically active parameter cells; roof rainfall redistribution is inherited from the copied rainfall_multiplier field; Horton infiltration is multiplied by open fraction.",
          "min_open_fraction": 0.05,
          "mode": "bcr_parameter",
          "open_fraction_max": 1.0,
          "open_fraction_mean": 0.7039326429367065,
          "open_fraction_min": 0.05000000074505806
        },
        "edge_count": 2678549.0,
        "triangle_count": 1696257
      },
      "batch_aggregate": {
        "active_triangle_count_sum": 1038482.0,
        "cfl_evaluation_count_sum": 8698.0,
        "completed_or_skipped_tile_count": 6,
        "edge_count_sum": 2678549.0,
        "edge_step_updates_per_s_weighted": 298510405.7667598,
        "final_node_volume_m3_sum": 277144.1248779297,
        "final_park_volume_m3_sum": 0.0,
        "final_sump_volume_m3_sum": 0.0,
        "final_surface_volume_m3_sum": 3102051.2421875,
        "finite_tile_count": 6,
        "hotspot_choked_inlet_count_sum": 0.0,
        "hotspot_choked_inlet_node_count_sum": 0.0,
        "hotspot_choked_link_count_sum": 0.0,
        "hotspot_choked_selected_inlet_capture_m3ps_after_sum": 0.0,
        "hotspot_choked_selected_inlet_capture_m3ps_before_sum": 0.0,
        "hotspot_choked_selected_link_capacity_m3ps_after_sum": 0.0,
        "hotspot_choked_selected_link_capacity_m3ps_before_sum": 0.0,
        "hotspot_choked_total_inlet_capture_m3ps_after_sum": 0.0,
        "hotspot_choked_total_inlet_capture_m3ps_before_sum": 0.0,
        "hotspot_choked_total_link_capacity_m3ps_after_sum": 0.0,
        "hotspot_choked_total_link_capacity_m3ps_before_sum": 0.0,
        "hotspot_choking_hotspot_point_count_sum": 0.0,
        "inferred_local_to_main_leg_link_capacity_m3ps_sum_sum": 110.55760000000001,
        "inferred_local_to_main_leg_link_count_sum": 35.0,
        "infiltration_loss_m3_sum": 10400267.859375,
        "initial_drainage_storage_volume_m3_sum": 349475.40954589844,
        "mapped_inlet_count_sum": 7322.0,
        "mass_residual_ratio_max": 0.0008494897117667188,
        "max_depth_m_max": 2.4448952674865723,
        "max_velocity_depth_gated_mps_max": 11.587791442871094,
        "mesh_quality_deactivated_area_m2_sum": 1708487.4359703064,
        "mesh_quality_deactivated_triangle_count_sum": 50379.0,
        "native_desilted_included_segment_count_sum": 53990.0,
        "native_desilted_link_capacity_m3ps_sum_sum": 31141.6839999992,
        "native_desilted_native_link_count_sum": 53990.0,
        "native_desilted_node_count_delta_sum": 51589.0,
        "native_desilted_surface_inlet_count_sum": 0.0,
        "native_desilted_tie_link_count_sum": 3040.0,
        "network_links_sum": 60149.0,
        "node_count_sum": 58237.0,
        "outfall_discharge_m3_sum": 20757.258544921875,
        "overflow_surcharge_m3_sum": 187069.5793762207,
        "park_overflow_m3_sum": 0.0,
        "rainfall_input_m3_sum": 19736756.78125,
        "random_choked_link_capacity_m3ps_sum_after_sum": 0.0,
        "random_choked_link_capacity_m3ps_sum_before_sum": 0.0,
        "random_choked_link_count_sum": 0.0,
        "random_choked_total_link_capacity_m3ps_after_sum": 0.0,
        "random_choked_total_link_capacity_m3ps_before_sum": 0.0,
        "runtime_s_sum": 446.8992193331942,
        "snapshot_count_sum": 150.0,
        "step_count_sum": 278230.0,
        "steps_per_s_weighted": 622.578845438887,
        "sump_capture_m3_sum": 0.0,
        "sump_full_bypass_m3_sum": 0.0,
        "sump_pumped_to_drain_m3_sum": 0.0,
        "sump_pumped_to_park_m3_sum": 0.0,
        "surface_capture_m3_sum": 1148558.6102294922,
        "surface_surcharge_m3_sum": 1013055.0154304504,
        "timestep_max_s_max": 5.0,
        "timestep_mean_s_weighted": 0.9316033497466051,
        "timestep_min_s_min": 0.029479795375664253,
        "triangle_count_sum": 1696257.0,
        "triangle_step_updates_per_s_weighted": 188245805.45144695,
        "wet_triangle_count_005m_sum": 44924.0
      },
      "merged_manifest_counts": {
        "tile_count": 6,
        "triangle_count": 1696257,
        "node_count": 943219
      }
    }
  },
  "input_validation": {
    "status": "OK",
    "issues": [
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "batch_dir",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "merged_dir",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "run_npz",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/gpu_triangular/gpu_triangular_alpha_outputs.npz"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "report_json",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/gurugram_triangular_alpha_report.json"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "batch_json",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps/adaptive_gpu_batch_summary.json"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "merged_manifest",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/merged_citywide_manifest.json"
      },
      {
        "status": "OK",
        "area": "scenario_paths",
        "check": "dss_html",
        "detail": "Found <SOURCE_WORKSPACE>/final_review/MCG_Flood_DSS_10yr_snap50_high_tailwater_pumps.html"
      },
      {
        "status": "OK",
        "area": "hyetograph",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/inputs/gurugram_full_city_physics_from_flood_agents_20260504/mac_office/floodcode/print_maps/ward22_detailed_modeling/galleria_wards_21_22_23_24_adaptive_grid/anuga_setup/forcing/decision_hyetographs/gurugram_10yr_openidf_12h_hourly.csv"
      },
      {
        "status": "OK",
        "area": "hyetograph",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "hyetograph",
        "check": "rows",
        "detail": "12 rows."
      }
    ],
    "hyetograph": {
      "path": "<SOURCE_WORKSPACE>/flood_model/inputs/gurugram_full_city_physics_from_flood_agents_20260504/mac_office/floodcode/print_maps/ward22_detailed_modeling/galleria_wards_21_22_23_24_adaptive_grid/anuga_setup/forcing/decision_hyetographs/gurugram_10yr_openidf_12h_hourly.csv",
      "rows": 12,
      "duration_min": 720.0,
      "total_depth_mm": 50.41825066382212,
      "peak_intensity_mmhr": 19.7
    }
  },
  "hydraulic_qa": {
    "status": "WARN",
    "issues": [
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "duration",
        "detail": "Run completed requested duration."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "finite_result",
        "detail": "Solver reported finite result."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "finite_tiles",
        "detail": "6/6 tiles finite."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "mass_balance",
        "detail": "Mass residual ratio 8.495e-04."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "timestep_min",
        "detail": "Minimum timestep 0.0295 s."
      },
      {
        "status": "INFO",
        "area": "hydraulic",
        "check": "timestep_summary",
        "detail": "Mean timestep 0.932 s; max timestep 5.000 s."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "max_depth",
        "detail": "Maximum depth 2.44 m."
      },
      {
        "status": "WARN",
        "area": "hydraulic",
        "check": "max_velocity",
        "detail": "Maximum depth-gated velocity 11.59 m/s is high; inspect local slopes/channels."
      },
      {
        "status": "OK",
        "area": "hydraulic",
        "check": "persistence",
        "detail": "Max persistence 719.7 min within 720.0 min run."
      },
      {
        "status": "OK",
        "area": "drainage",
        "check": "network_active",
        "detail": "7074 links and 2210 mapped inlets active."
      },
      {
        "status": "OK",
        "area": "arrays",
        "check": "required_keys",
        "detail": "All required NPZ keys are present."
      },
      {
        "status": "OK",
        "area": "arrays",
        "check": "final_depth_m_negative",
        "detail": "final_depth_m has no material negative depths."
      },
      {
        "status": "OK",
        "area": "arrays",
        "check": "max_depth_m_negative",
        "detail": "max_depth_m has no material negative depths."
      },
      {
        "status": "OK",
        "area": "arrays",
        "check": "snapshot_times",
        "detail": "25 monotonic snapshot times."
      }
    ],
    "metrics": {
      "duration_s": 43200.0,
      "finite_tiles": 6.0,
      "tile_count": 6.0,
      "mass_residual_ratio": 0.0008494897117667188,
      "timestep_min_s": 0.029479795375664253,
      "timestep_mean_s": 0.9316033497466051,
      "timestep_max_s": 5.0,
      "max_depth_m": 2.4448952674865723,
      "max_velocity_depth_gated_mps": 11.587791442871094,
      "max_persistence_min": 719.671875,
      "volumes_m3": {
        "rainfall_input_m3": 19736756.78125,
        "infiltration_loss_m3": 10400267.859375,
        "surface_capture_m3": 1148558.6102294922,
        "surface_surcharge_m3": 1013055.0154304504,
        "overflow_surcharge_m3": 187069.5793762207,
        "outfall_discharge_m3": 20757.258544921875,
        "sump_pumped_to_drain_m3": 0.0,
        "initial_drainage_storage_volume_m3": 349475.40954589844
      },
      "runtime_s": 446.8992193331942,
      "wall_s": 482.1182455830276,
      "triangle_updates_per_s": 188245805.45144695
    },
    "array_profile": {
      "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_5scenario_final_12h_finest100m2/gurugram_10yr_openidf_12h_drain080_init020_twhigh_slopeterrain_or_design_low_0p05pct_localsnap050m_with_pumps_merged/gpu_triangular/gpu_triangular_alpha_outputs.npz",
      "exists": true,
      "deep_checks": true,
      "keys": [
        "active_surface_mask",
        "bcr_open_fraction",
        "bed_elevation_m",
        "building_fraction",
        "building_mask",
        "centroids_world",
        "depth_snapshots_m",
        "final_depth_m",
        "final_velocity_depth_gated_mps",
        "final_velocity_mps",
        "max_depth_m",
        "max_velocity_depth_gated_mps",
        "max_velocity_mps",
        "nodes_world",
        "persistence_above_threshold_min",
        "persistence_depth_threshold_m",
        "snapshot_times_s",
        "source_active_surface_mask",
        "triangles",
        "velocity_report_depth_threshold_m",
        "velocity_snapshots_depth_gated_mps",
        "velocity_snapshots_mps"
      ],
      "shapes": {
        "bed_elevation_m": [
          1696257
        ],
        "centroids_world": [
          1696257,
          2
        ],
        "final_depth_m": [
          1696257
        ],
        "max_depth_m": [
          1696257
        ],
        "max_velocity_depth_gated_mps": [
          1696257
        ],
        "nodes_world": [
          943219,
          2
        ],
        "persistence_above_threshold_min": [
          1696257
        ],
        "snapshot_times_s": [
          25
        ],
        "triangles": [
          1696257,
          3
        ]
      },
      "stats": {
        "final_depth_m": {
          "finite_fraction": 1.0,
          "min": -4.547473508864641e-13,
          "max": 2.44488525390625
        },
        "max_depth_m": {
          "finite_fraction": 1.0,
          "min": 0.0,
          "max": 2.4448952674865723
        },
        "max_velocity_depth_gated_mps": {
          "finite_fraction": 1.0,
          "min": 0.0,
          "max": 11.587791442871094
        },
        "persistence_above_threshold_min": {
          "finite_fraction": 1.0,
          "min": 0.0,
          "max": 719.671875
        },
        "bed_elevation_m": {
          "finite_fraction": 1.0,
          "min": 206.50465393066406,
          "max": 340.0943603515625
        }
      }
    }
  },
  "global_input_validation": {
    "status": "WARN",
    "issues": [
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_adaptive_bcr_fabdem5m_min25m2_supertile6/citywide_july2025_reported_133mm_12h_hourly_citywide_partial70/exchange_tables/surface_inlet_exchange_table.csv"
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "rows",
        "detail": "5922 rows."
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "duplicate_inlet_id",
        "detail": "No duplicate inlet_id values."
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "lat_lon",
        "detail": "Latitude/longitude ranges are valid."
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "scenario_local_capacity_m3s",
        "detail": "scenario_local_capacity_m3s values are valid."
      },
      {
        "status": "OK",
        "area": "surface_inlets",
        "check": "rim_level_m",
        "detail": "rim_level_m values are valid."
      },
      {
        "status": "OK",
        "area": "pump_inventory",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_actual_pumps_20260504/mcg_actual_pump_inventory_normalized.csv"
      },
      {
        "status": "OK",
        "area": "pump_inventory",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "pump_inventory",
        "check": "rows",
        "detail": "54 rows."
      },
      {
        "status": "OK",
        "area": "pump_inventory",
        "check": "duplicate_pump_id",
        "detail": "No duplicate pump_id values."
      },
      {
        "status": "WARN",
        "area": "pump_inventory",
        "check": "lat_lon",
        "detail": "3 non-solver-ready pump rows have missing/invalid latitude/longitude."
      },
      {
        "status": "OK",
        "area": "pump_inventory",
        "check": "assigned_capacity_lps",
        "detail": "assigned_capacity_lps values are valid."
      },
      {
        "status": "WARN",
        "area": "pump_inventory",
        "check": "solver_ready",
        "detail": "4 pump records are not solver-ready."
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_pump_drainage_connections_20260505/pump_to_drainage_connections.csv"
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "rows",
        "detail": "50 rows."
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "duplicate_pump_id",
        "detail": "No duplicate pump_id values."
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "pump_capacity_m3s",
        "detail": "pump_capacity_m3s values are valid."
      },
      {
        "status": "OK",
        "area": "pump_connections",
        "check": "connection_distance_m",
        "detail": "connection_distance_m values are valid."
      },
      {
        "status": "WARN",
        "area": "pump_connections",
        "check": "long_connections",
        "detail": "4 pump connections exceed 1000 m."
      },
      {
        "status": "WARN",
        "area": "pump_connections",
        "check": "target_capacity",
        "detail": "2 targets have pump utilization above 100%."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_desilted_networks_20260505/desilted_network_segments.csv"
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "rows",
        "detail": "38016 rows."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "duplicate_segment_id",
        "detail": "No duplicate segment_id values."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "length_m",
        "detail": "length_m values are valid."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "hydraulic_slope_used",
        "detail": "hydraulic_slope_used values are valid."
      },
      {
        "status": "OK",
        "area": "desilted_segments",
        "check": "effective_capacity_90pct_m3s",
        "detail": "effective_capacity_90pct_m3s values are valid."
      },
      {
        "status": "OK",
        "area": "reported_hotspots",
        "check": "exists",
        "detail": "Found <SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/refinement_points/full_city_155_plus_all_tile1_hotspots_20260504.csv"
      },
      {
        "status": "OK",
        "area": "reported_hotspots",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "reported_hotspots",
        "check": "rows",
        "detail": "180 rows."
      },
      {
        "status": "WARN",
        "area": "reported_hotspots",
        "check": "duplicate_point_id",
        "detail": "3 duplicate point_id values."
      },
      {
        "status": "OK",
        "area": "groundwater_monitor",
        "check": "exists",
        "detail": "Found <EXTERNAL_SOURCE_WORKSPACE>/Gurugram_narrative/08_citywide_adaptive_final/cgwb_naquim2023_groundwater_monitoring_points.csv"
      },
      {
        "status": "OK",
        "area": "groundwater_monitor",
        "check": "columns",
        "detail": "Required columns present."
      },
      {
        "status": "OK",
        "area": "groundwater_monitor",
        "check": "rows",
        "detail": "58 rows."
      },
      {
        "status": "OK",
        "area": "groundwater_monitor",
        "check": "lat_lon",
        "detail": "Latitude/longitude ranges are valid."
      }
    ],
    "tables": {
      "surface_inlets": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_adaptive_bcr_fabdem5m_min25m2_supertile6/citywide_july2025_reported_133mm_12h_hourly_citywide_partial70/exchange_tables/surface_inlet_exchange_table.csv",
        "rows": 5922,
        "columns": [
          "inlet_id",
          "asset_id",
          "asset_class",
          "ward",
          "longitude",
          "latitude",
          "rim_level_m",
          "normal_capture_efficiency",
          "clogged_capture_efficiency",
          "scenario_capture_efficiency",
          "best_guess_capacity_m3s",
          "scenario_local_capacity_m3s",
          "exchange_rule",
          "confidence"
        ],
        "capacity_m3s_sum": 7025.7502,
        "asset_classes": {
          "local storm drain": 5452,
          "master storm drain": 384,
          "main drain leg": 86
        }
      },
      "pump_inventory": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_actual_pumps_20260504/mcg_actual_pump_inventory_normalized.csv",
        "rows": 54,
        "columns": [
          "hotspot_id",
          "pump_id",
          "source",
          "candidate_source",
          "sheet_row",
          "sr_no",
          "ward_source",
          "department",
          "nearest_landmark",
          "pump_location_name",
          "pump_type",
          "raw_capacity",
          "raw_number_of_pump_set",
          "actual_pump_count",
          "pump_hp",
          "hp_values",
          "capacity_lpm_values",
          "capacity_lpm_total",
          "assigned_capacity_lps",
          "assigned_20hp_pumps",
          "pump_package",
          "capacity_basis",
          "outlet_discharge_point",
          "operator_contact",
          "remarks",
          "latitude",
          "longitude",
          "coordinate_basis",
          "coordinate_note",
          "local_geocode_match",
          "local_geocode_score",
          "activation_depth_m",
          "stop_depth_m",
          "screened_capacity_m3",
          "nearest_model_tile",
          "nearest_model_snap_m",
          "is_solver_ready",
          "qa_flags"
        ],
        "solver_ready_count": 50,
        "capacity_lps_sum": 2305.833333333333
      },
      "pump_connections": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_pump_drainage_connections_20260505/pump_to_drainage_connections.csv",
        "rows": 50,
        "columns": [
          "pump_id",
          "pump_location_name",
          "outlet_discharge_point",
          "outlet_intent",
          "selection_rule",
          "pump_capacity_lps",
          "pump_capacity_m3s",
          "selected_discharge_capacity_m3s",
          "target_asset_id",
          "target_name",
          "target_layer",
          "target_network_type",
          "target_capacity_m3s",
          "target_connection_source",
          "connection_distance_m",
          "connection_confidence",
          "qa_flags",
          "pump_x",
          "pump_y",
          "pump_lon",
          "pump_lat",
          "target_x",
          "target_y",
          "target_lon",
          "target_lat",
          "target_assigned_pump_capacity_m3s",
          "assigned_pump_count_on_target",
          "target_capacity_utilization_by_pumps"
        ],
        "capacity_m3s_sum": 2.01166,
        "max_connection_distance_m": 1396.43,
        "confidence": {
          "high": 25,
          "medium": 18,
          "field_check_required": 7
        }
      },
      "desilted_segments": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/mcg_desilted_networks_20260505/desilted_network_segments.csv",
        "rows": 38016,
        "columns": [
          "segment_id",
          "network_type",
          "source_name",
          "conveyance_mode",
          "rain_ingestion_enabled",
          "operational_capacity_fraction",
          "length_m",
          "vertex_count",
          "flow_reversed_from_kmz",
          "upstream_x",
          "upstream_y",
          "downstream_x",
          "downstream_y",
          "upstream_lon",
          "upstream_lat",
          "downstream_lon",
          "downstream_lat",
          "upstream_ground_m",
          "downstream_ground_m",
          "terrain_endpoint_slope",
          "hydraulic_slope_used",
          "slope_basis",
          "upstream_invert_m",
          "downstream_invert_m",
          "invert_basis",
          "upstream_crown_or_top_m",
          "downstream_crown_or_top_m",
          "minimum_cover_to_crown_or_top_m",
          "roughness_n",
          "nominal_width_m",
          "nominal_depth_m",
          "nominal_diameter_m",
          "capacity_full_m3s",
          "effective_capacity_90pct_m3s",
          "capacity_basis",
          "nearest_main_leg_id",
          "nearest_main_leg_name",
          "nearest_main_leg_distance_m",
          "main_leg_tie_candidate",
          "bbox_intersects_model_frame"
        ],
        "network_type_counts": {
          "sewer": 28037,
          "storm": 9979
        },
        "length_km_sum": 717.6494299999999,
        "effective_capacity_90pct_m3s_sum": 26774.72
      },
      "reported_hotspots": {
        "path": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/refinement_points/full_city_155_plus_all_tile1_hotspots_20260504.csv",
        "rows": 180,
        "columns": [
          "point_id",
          "x",
          "y",
          "crs",
          "target_cell_m",
          "buffer_m",
          "refinement_class",
          "source",
          "source_triangle_id",
          "max_depth_m",
          "qa_class",
          "lulc_class",
          "lulc_label",
          "nearest_inlet_distance_m",
          "point_name",
          "ward_no"
        ],
        "ward_counts": {
          "missing": 28,
          "15.0": 10,
          "34.0": 10,
          "20.0": 8,
          "35.0": 8,
          "16.0": 7,
          "21.0": 7,
          "27.0": 6,
          "24.0": 6,
          "33.0": 5,
          "2.0": 5,
          "8.0": 5,
          "25.0": 5,
          "11.0": 5,
          "12.0": 5,
          "13.0": 5,
          "18.0": 4,
          "3.0": 4,
          "4.0": 4,
          "14.0": 4,
          "36.0": 4,
          "19.0": 3,
          "31.0": 3,
          "32.0": 3,
          "1.0": 3,
          "7.0": 3,
          "9.0": 3,
          "22.0": 3,
          "10.0": 3,
          "29.0": 2,
          "23.0": 2,
          "26.0": 2,
          "17.0": 1,
          "28.0": 1,
          "30.0": 1,
          "6.0": 1,
          "5.0": 1
        }
      },
      "groundwater_monitor": {
        "path": "<EXTERNAL_SOURCE_WORKSPACE>/Gurugram_narrative/08_citywide_adaptive_final/cgwb_naquim2023_groundwater_monitoring_points.csv",
        "rows": 58,
        "columns": [
          "season",
          "site_name",
          "latitude",
          "longitude",
          "water_level_mbgl",
          "source"
        ]
      }
    }
  },
  "qa_json": "<SOURCE_WORKSPACE>/flood_model/outputs/gurugram_citywide_gpu/professional_qa/scenario_qa/rl10_snap50_high_tailwater_pumps.json"
}
