{
  "generated_on": "2026-05-27",
  "platform": "Hydraulic Transient Experiment Console",
  "benchmark": {
    "name": "TSNet Tnet3",
    "source": "https://github.com/glorialulu/TSNet",
    "local_source_file": "01_raw_benchmark_data/Tnet3.inp"
  },
  "inventory": {
    "junctions": 126,
    "reservoirs": 1,
    "tanks": 2,
    "pipes": 168,
    "pumps": 2,
    "valves": 8
  },
  "toolchain": [
    {
      "name": "OWA-EPANET",
      "status": "ready",
      "label": "API online",
      "detail": "Version 2.3.5 installed on the VPS behind /api for online hydraulic runs."
    },
    {
      "name": "WNTR",
      "status": "ready",
      "label": "Installed",
      "detail": "Version 1.4.0 installed for resilience and advanced EPANET scenario analysis."
    },
    {
      "name": "TSNet",
      "status": "ready",
      "label": "Installed",
      "detail": "Version 0.3.1 installed for MOC transient / water-hammer experiments."
    },
    {
      "name": "MATLAB",
      "status": "ready",
      "label": "Ready",
      "detail": "R2026a detected and analysis scripts are generated."
    },
    {
      "name": "PostgreSQL",
      "status": "ready",
      "label": "Running",
      "detail": "PostgreSQL 18 service detected; schema scripts prepared."
    },
    {
      "name": "Web Console",
      "status": "ready",
      "label": "Ready",
      "detail": "Static dashboard for planning, intake, and handoff."
    }
  ],
  "network": {
    "nodes": [
      {
        "id": "JUNCTION-0",
        "type": "junction",
        "elevation_m": 114.626136,
        "demand_m3s": 4.8171510018077606e-05
      },
      {
        "id": "JUNCTION-1",
        "type": "junction",
        "elevation_m": 58.52160000000001,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-2",
        "type": "junction",
        "elevation_m": 110.685072,
        "demand_m3s": 5.2364863012e-05
      },
      {
        "id": "JUNCTION-3",
        "type": "junction",
        "elevation_m": 130.475736,
        "demand_m3s": 0.00027759686416000003
      },
      {
        "id": "JUNCTION-4",
        "type": "junction",
        "elevation_m": 145.636488,
        "demand_m3s": 0.00024204339342192243
      },
      {
        "id": "JUNCTION-5",
        "type": "junction",
        "elevation_m": 150.64130400000002,
        "demand_m3s": 0.00022269785722920122
      },
      {
        "id": "JUNCTION-6",
        "type": "junction",
        "elevation_m": 153.924,
        "demand_m3s": 0.00011671686334000001
      },
      {
        "id": "JUNCTION-7",
        "type": "junction",
        "elevation_m": 163.13810400000003,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-8",
        "type": "junction",
        "elevation_m": 150.394416,
        "demand_m3s": 9.7158902456e-05
      },
      {
        "id": "JUNCTION-9",
        "type": "junction",
        "elevation_m": 148.830792,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-10",
        "type": "junction",
        "elevation_m": 101.687376,
        "demand_m3s": 2.1545112800010802e-05
      },
      {
        "id": "JUNCTION-11",
        "type": "junction",
        "elevation_m": 104.88168000000002,
        "demand_m3s": 6.623581050230761e-05
      },
      {
        "id": "JUNCTION-12",
        "type": "junction",
        "elevation_m": 115.67160000000001,
        "demand_m3s": 1.5866553492636002e-06
      },
      {
        "id": "JUNCTION-13",
        "type": "junction",
        "elevation_m": 99.34956,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-14",
        "type": "junction",
        "elevation_m": 127.05588000000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-15",
        "type": "junction",
        "elevation_m": 129.079752,
        "demand_m3s": 8.328959531079881e-05
      },
      {
        "id": "JUNCTION-16",
        "type": "junction",
        "elevation_m": 116.73840000000001,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-17",
        "type": "junction",
        "elevation_m": 117.36628800000001,
        "demand_m3s": 0.001622407301759552
      },
      {
        "id": "JUNCTION-18",
        "type": "junction",
        "elevation_m": 145.74012,
        "demand_m3s": 0.000390041574850774
      },
      {
        "id": "JUNCTION-19",
        "type": "junction",
        "elevation_m": 170.361864,
        "demand_m3s": 0.0002904391259980056
      },
      {
        "id": "JUNCTION-20",
        "type": "junction",
        "elevation_m": 188.284104,
        "demand_m3s": 0.000162772706712
      },
      {
        "id": "JUNCTION-21",
        "type": "junction",
        "elevation_m": 198.857616,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-22",
        "type": "junction",
        "elevation_m": 190.79260800000003,
        "demand_m3s": 0.000270656942556
      },
      {
        "id": "JUNCTION-23",
        "type": "junction",
        "elevation_m": 184.20283200000003,
        "demand_m3s": 0.00020154667961551202
      },
      {
        "id": "JUNCTION-24",
        "type": "junction",
        "elevation_m": 194.03872800000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-25",
        "type": "junction",
        "elevation_m": 199.317864,
        "demand_m3s": 0.000376648472508
      },
      {
        "id": "JUNCTION-26",
        "type": "junction",
        "elevation_m": 208.309464,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-27",
        "type": "junction",
        "elevation_m": 210.51012,
        "demand_m3s": 0.0007849780656794385
      },
      {
        "id": "JUNCTION-28",
        "type": "junction",
        "elevation_m": 213.87511200000003,
        "demand_m3s": 0.00013201957974740922
      },
      {
        "id": "JUNCTION-29",
        "type": "junction",
        "elevation_m": 257.946144,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-30",
        "type": "junction",
        "elevation_m": 193.8528,
        "demand_m3s": 0.007366722429422449
      },
      {
        "id": "JUNCTION-31",
        "type": "junction",
        "elevation_m": 183.011064,
        "demand_m3s": 0.000149523765468
      },
      {
        "id": "JUNCTION-32",
        "type": "junction",
        "elevation_m": 190.75908,
        "demand_m3s": 0.000388635609824
      },
      {
        "id": "JUNCTION-33",
        "type": "junction",
        "elevation_m": 189.823344,
        "demand_m3s": 6.046217426895801e-05
      },
      {
        "id": "JUNCTION-34",
        "type": "junction",
        "elevation_m": 60.96,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-35",
        "type": "junction",
        "elevation_m": 198.720456,
        "demand_m3s": 0.000582924077794674
      },
      {
        "id": "JUNCTION-36",
        "type": "junction",
        "elevation_m": 193.27672800000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-37",
        "type": "junction",
        "elevation_m": 206.36484,
        "demand_m3s": 0.00020737186053932042
      },
      {
        "id": "JUNCTION-38",
        "type": "junction",
        "elevation_m": 197.056248,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-39",
        "type": "junction",
        "elevation_m": 214.33231200000003,
        "demand_m3s": 0.00030959173237013563
      },
      {
        "id": "JUNCTION-40",
        "type": "junction",
        "elevation_m": 226.048824,
        "demand_m3s": 0.00021411027205601882
      },
      {
        "id": "JUNCTION-41",
        "type": "junction",
        "elevation_m": 213.42705600000002,
        "demand_m3s": 0.00019260623097386442
      },
      {
        "id": "JUNCTION-42",
        "type": "junction",
        "elevation_m": 221.90964,
        "demand_m3s": 0.0007201194510743465
      },
      {
        "id": "JUNCTION-43",
        "type": "junction",
        "elevation_m": 199.061832,
        "demand_m3s": 0.000208828550084
      },
      {
        "id": "JUNCTION-44",
        "type": "junction",
        "elevation_m": 206.8068,
        "demand_m3s": 0.00032601524611659084
      },
      {
        "id": "JUNCTION-45",
        "type": "junction",
        "elevation_m": 227.783136,
        "demand_m3s": 0.0005902066422553224
      },
      {
        "id": "JUNCTION-46",
        "type": "junction",
        "elevation_m": 250.00915200000003,
        "demand_m3s": 0.00027539085235267756
      },
      {
        "id": "JUNCTION-47",
        "type": "junction",
        "elevation_m": 195.215256,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-48",
        "type": "junction",
        "elevation_m": 194.29476000000003,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-49",
        "type": "junction",
        "elevation_m": 190.16472000000002,
        "demand_m3s": 7.1922823896e-05
      },
      {
        "id": "JUNCTION-50",
        "type": "junction",
        "elevation_m": 186.25718400000002,
        "demand_m3s": 0.0002404759805825608
      },
      {
        "id": "JUNCTION-51",
        "type": "junction",
        "elevation_m": 190.09766399999998,
        "demand_m3s": 0.00018990149116399998
      },
      {
        "id": "JUNCTION-52",
        "type": "junction",
        "elevation_m": 186.924696,
        "demand_m3s": 0.0003103014339894392
      },
      {
        "id": "JUNCTION-53",
        "type": "junction",
        "elevation_m": 185.205624,
        "demand_m3s": 0.000191163295092
      },
      {
        "id": "JUNCTION-54",
        "type": "junction",
        "elevation_m": 183.523128,
        "demand_m3s": 0.00026434792291600003
      },
      {
        "id": "JUNCTION-55",
        "type": "junction",
        "elevation_m": 183.89803200000003,
        "demand_m3s": 0.000194317804912
      },
      {
        "id": "JUNCTION-56",
        "type": "junction",
        "elevation_m": 184.995312,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-57",
        "type": "junction",
        "elevation_m": 188.357256,
        "demand_m3s": 2.7233198727042002e-05
      },
      {
        "id": "JUNCTION-58",
        "type": "junction",
        "elevation_m": 185.99200800000003,
        "demand_m3s": 0.001389246124728
      },
      {
        "id": "JUNCTION-59",
        "type": "junction",
        "elevation_m": 189.26556000000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-60",
        "type": "junction",
        "elevation_m": 190.19215200000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-61",
        "type": "junction",
        "elevation_m": 190.615824,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-62",
        "type": "junction",
        "elevation_m": 190.62192,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-63",
        "type": "junction",
        "elevation_m": 190.17996000000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-64",
        "type": "junction",
        "elevation_m": 189.930024,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-65",
        "type": "junction",
        "elevation_m": 188.78397600000002,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-66",
        "type": "junction",
        "elevation_m": 188.890656,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-67",
        "type": "junction",
        "elevation_m": 190.3476,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-68",
        "type": "junction",
        "elevation_m": 188.08598400000002,
        "demand_m3s": 0.0013185851047599999
      },
      {
        "id": "JUNCTION-69",
        "type": "junction",
        "elevation_m": 190.8048,
        "demand_m3s": 0.000155201883144
      },
      {
        "id": "JUNCTION-70",
        "type": "junction",
        "elevation_m": 188.70472800000002,
        "demand_m3s": 0.0003943137275
      },
      {
        "id": "JUNCTION-71",
        "type": "junction",
        "elevation_m": 192.68846399999998,
        "demand_m3s": 0.000128073098692
      },
      {
        "id": "JUNCTION-72",
        "type": "junction",
        "elevation_m": 189.69228,
        "demand_m3s": 0.0001762201928040708
      },
      {
        "id": "JUNCTION-73",
        "type": "junction",
        "elevation_m": 189.08877600000002,
        "demand_m3s": 0.000165927216532
      },
      {
        "id": "JUNCTION-74",
        "type": "junction",
        "elevation_m": 189.68923200000003,
        "demand_m3s": 6.7506510148e-05
      },
      {
        "id": "JUNCTION-75",
        "type": "junction",
        "elevation_m": 191.767968,
        "demand_m3s": 0.00016068145597192922
      },
      {
        "id": "JUNCTION-76",
        "type": "junction",
        "elevation_m": 189.75324,
        "demand_m3s": 0.000168450824388
      },
      {
        "id": "JUNCTION-77",
        "type": "junction",
        "elevation_m": 190.390272,
        "demand_m3s": 0.00011482415744800002
      },
      {
        "id": "JUNCTION-78",
        "type": "junction",
        "elevation_m": 188.372496,
        "demand_m3s": 0.0
      },
      {
        "id": "JUNCTION-79",
        "type": "junction",
        "elevation_m": 188.332872,
        "demand_m3s": 0.0
      }
    ],
    "pipes": [
      {
        "id": "LINK-0",
        "from": "JUNCTION-126",
        "to": "JUNCTION-118",
        "length_m": 2255.8248000000003,
        "diameter_m": 0.5195166393999999
      },
      {
        "id": "LINK-1",
        "from": "JUNCTION-17",
        "to": "JUNCTION-0",
        "length_m": 109.42320000000001,
        "diameter_m": 0.2031973076
      },
      {
        "id": "LINK-2",
        "from": "JUNCTION-0",
        "to": "JUNCTION-2",
        "length_m": 98.7552,
        "diameter_m": 0.2031973076
      },
      {
        "id": "LINK-3",
        "from": "JUNCTION-3",
        "to": "JUNCTION-4",
        "length_m": 212.4456,
        "diameter_m": 0.203195174
      },
      {
        "id": "LINK-6",
        "from": "JUNCTION-5",
        "to": "JUNCTION-4",
        "length_m": 174.95520000000002,
        "diameter_m": 0.20319509779999997
      },
      {
        "id": "LINK-7",
        "from": "JUNCTION-5",
        "to": "JUNCTION-6",
        "length_m": 72.5424,
        "diameter_m": 0.20319776479999999
      },
      {
        "id": "LINK-8",
        "from": "JUNCTION-6",
        "to": "JUNCTION-7",
        "length_m": 153.0096,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-9",
        "from": "JUNCTION-8",
        "to": "JUNCTION-6",
        "length_m": 120.7008,
        "diameter_m": 0.2031973076
      },
      {
        "id": "LINK-10",
        "from": "JUNCTION-9",
        "to": "JUNCTION-8",
        "length_m": 114.90960000000001,
        "diameter_m": 0.2031973076
      },
      {
        "id": "LINK-11",
        "from": "JUNCTION-18",
        "to": "JUNCTION-9",
        "length_m": 93.8784,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-12",
        "from": "JUNCTION-9",
        "to": "JUNCTION-8",
        "length_m": 255.1176,
        "diameter_m": 0.20319596139999999
      },
      {
        "id": "LINK-13",
        "from": "JUNCTION-2",
        "to": "JUNCTION-113",
        "length_m": 54.864000000000004,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-14",
        "from": "JUNCTION-114",
        "to": "JUNCTION-10",
        "length_m": 182.5752,
        "diameter_m": 0.2031974854
      },
      {
        "id": "LINK-15",
        "from": "JUNCTION-1",
        "to": "JUNCTION-109",
        "length_m": 38.1,
        "diameter_m": 0.4064
      },
      {
        "id": "LINK-16",
        "from": "JUNCTION-10",
        "to": "JUNCTION-11",
        "length_m": 124.6632,
        "diameter_m": 0.20319596139999999
      },
      {
        "id": "LINK-17",
        "from": "JUNCTION-110",
        "to": "JUNCTION-34",
        "length_m": 37.7952,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-18",
        "from": "JUNCTION-128",
        "to": "JUNCTION-1",
        "length_m": 97.536,
        "diameter_m": 0.762
      },
      {
        "id": "LINK-19",
        "from": "RESERVOIR-129",
        "to": "JUNCTION-128",
        "length_m": 46.6344,
        "diameter_m": 0.762
      },
      {
        "id": "LINK-20",
        "from": "JUNCTION-12",
        "to": "JUNCTION-13",
        "length_m": 181.96560000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-21",
        "from": "JUNCTION-12",
        "to": "JUNCTION-11",
        "length_m": 204.5208,
        "diameter_m": 0.203195174
      },
      {
        "id": "LINK-22",
        "from": "JUNCTION-14",
        "to": "JUNCTION-12",
        "length_m": 101.1936,
        "diameter_m": 0.2031965202
      },
      {
        "id": "LINK-23",
        "from": "JUNCTION-5",
        "to": "JUNCTION-15",
        "length_m": 636.7272,
        "diameter_m": 0.20319624079999998
      },
      {
        "id": "LINK-24",
        "from": "JUNCTION-15",
        "to": "JUNCTION-3",
        "length_m": 45.72,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-25",
        "from": "JUNCTION-15",
        "to": "JUNCTION-111",
        "length_m": 57.912000000000006,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-26",
        "from": "JUNCTION-112",
        "to": "JUNCTION-14",
        "length_m": 59.7408,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-27",
        "from": "JUNCTION-14",
        "to": "JUNCTION-16",
        "length_m": 282.8544,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-28",
        "from": "JUNCTION-17",
        "to": "JUNCTION-18",
        "length_m": 421.2336,
        "diameter_m": 0.406407366
      },
      {
        "id": "LINK-29",
        "from": "JUNCTION-18",
        "to": "JUNCTION-116",
        "length_m": 222.80880000000002,
        "diameter_m": 0.40640381000000003
      },
      {
        "id": "LINK-30",
        "from": "JUNCTION-0",
        "to": "JUNCTION-4",
        "length_m": 478.536,
        "diameter_m": 0.20319400559999998
      },
      {
        "id": "LINK-31",
        "from": "JUNCTION-29",
        "to": "JUNCTION-28",
        "length_m": 427.3296,
        "diameter_m": 0.6096124206
      },
      {
        "id": "LINK-32",
        "from": "JUNCTION-45",
        "to": "JUNCTION-46",
        "length_m": 551.9928,
        "diameter_m": 0.203195682
      },
      {
        "id": "LINK-33",
        "from": "JUNCTION-23",
        "to": "JUNCTION-124",
        "length_m": 562.356,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-34",
        "from": "JUNCTION-122",
        "to": "JUNCTION-123",
        "length_m": 741.5784,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-35",
        "from": "JUNCTION-34",
        "to": "JUNCTION-30",
        "length_m": 3127.3346064816,
        "diameter_m": 0.6096248666
      },
      {
        "id": "LINK-36",
        "from": "JUNCTION-41",
        "to": "JUNCTION-39",
        "length_m": 324.9168,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-37",
        "from": "JUNCTION-2",
        "to": "JUNCTION-3",
        "length_m": 324.9168,
        "diameter_m": 0.20319481839999998
      },
      {
        "id": "LINK-38",
        "from": "JUNCTION-11",
        "to": "JUNCTION-10",
        "length_m": 304.8,
        "diameter_m": 0.203195047
      },
      {
        "id": "LINK-39",
        "from": "JUNCTION-117",
        "to": "JUNCTION-17",
        "length_m": 468.4776,
        "diameter_m": 0.40640190499999995
      },
      {
        "id": "LINK-40",
        "from": "JUNCTION-20",
        "to": "JUNCTION-21",
        "length_m": 647.7,
        "diameter_m": 0.5080150875999999
      },
      {
        "id": "LINK-41",
        "from": "JUNCTION-20",
        "to": "JUNCTION-115",
        "length_m": 983.5896,
        "diameter_m": 0.4064083057999999
      },
      {
        "id": "LINK-42",
        "from": "JUNCTION-19",
        "to": "JUNCTION-125",
        "length_m": 647.7,
        "diameter_m": 0.5080042418
      },
      {
        "id": "LINK-43",
        "from": "JUNCTION-19",
        "to": "JUNCTION-20",
        "length_m": 287.1216,
        "diameter_m": 0.508
      },
      {
        "id": "LINK-44",
        "from": "JUNCTION-21",
        "to": "JUNCTION-22",
        "length_m": 383.1336,
        "diameter_m": 0.5080111506
      },
      {
        "id": "LINK-45",
        "from": "JUNCTION-22",
        "to": "JUNCTION-23",
        "length_m": 335.58480000000003,
        "diameter_m": 0.6096187705999999
      },
      {
        "id": "LINK-46",
        "from": "JUNCTION-23",
        "to": "JUNCTION-30",
        "length_m": 358.14000000000004,
        "diameter_m": 0.6096184658
      },
      {
        "id": "LINK-47",
        "from": "JUNCTION-22",
        "to": "JUNCTION-24",
        "length_m": 89.00160000000001,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-48",
        "from": "JUNCTION-24",
        "to": "JUNCTION-25",
        "length_m": 54.254400000000004,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-49",
        "from": "JUNCTION-25",
        "to": "JUNCTION-26",
        "length_m": 102.4128,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-50",
        "from": "JUNCTION-26",
        "to": "JUNCTION-27",
        "length_m": 59.7408,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-51",
        "from": "JUNCTION-27",
        "to": "JUNCTION-28",
        "length_m": 43.891200000000005,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-52",
        "from": "JUNCTION-30",
        "to": "JUNCTION-31",
        "length_m": 349.30080000000004,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-53",
        "from": "JUNCTION-31",
        "to": "JUNCTION-32",
        "length_m": 517.8552000000001,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-54",
        "from": "JUNCTION-32",
        "to": "JUNCTION-33",
        "length_m": 196.596,
        "diameter_m": 0.30479999999999996
      },
      {
        "id": "LINK-55",
        "from": "JUNCTION-33",
        "to": "JUNCTION-57",
        "length_m": 229.81920000000002,
        "diameter_m": 0.21371229799999997
      },
      {
        "id": "LINK-56",
        "from": "JUNCTION-19",
        "to": "JUNCTION-35",
        "length_m": 339.24240000000003,
        "diameter_m": 0.20319753619999997
      },
      {
        "id": "LINK-57",
        "from": "JUNCTION-35",
        "to": "JUNCTION-36",
        "length_m": 154.5336,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-58",
        "from": "JUNCTION-35",
        "to": "JUNCTION-37",
        "length_m": 74.9808,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-59",
        "from": "JUNCTION-37",
        "to": "JUNCTION-20",
        "length_m": 225.24720000000002,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-60",
        "from": "JUNCTION-35",
        "to": "JUNCTION-38",
        "length_m": 168.24960000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-61",
        "from": "JUNCTION-37",
        "to": "JUNCTION-39",
        "length_m": 106.0704,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-62",
        "from": "JUNCTION-39",
        "to": "JUNCTION-40",
        "length_m": 304.1904,
        "diameter_m": 0.210742149
      },
      {
        "id": "LINK-63",
        "from": "JUNCTION-40",
        "to": "JUNCTION-41",
        "length_m": 188.6712,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-64",
        "from": "JUNCTION-40",
        "to": "JUNCTION-42",
        "length_m": 163.9824,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-65",
        "from": "JUNCTION-42",
        "to": "JUNCTION-41",
        "length_m": 203.6064,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-66",
        "from": "JUNCTION-42",
        "to": "JUNCTION-27",
        "length_m": 786.6888,
        "diameter_m": 0.2037024882
      },
      {
        "id": "LINK-67",
        "from": "JUNCTION-24",
        "to": "JUNCTION-43",
        "length_m": 165.8112,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-68",
        "from": "JUNCTION-43",
        "to": "JUNCTION-25",
        "length_m": 128.01600000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-69",
        "from": "JUNCTION-43",
        "to": "JUNCTION-44",
        "length_m": 113.69040000000001,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-70",
        "from": "JUNCTION-44",
        "to": "JUNCTION-26",
        "length_m": 169.46880000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-71",
        "from": "JUNCTION-44",
        "to": "JUNCTION-28",
        "length_m": 229.20960000000002,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-72",
        "from": "JUNCTION-29",
        "to": "TANK-130",
        "length_m": 73.7616,
        "diameter_m": 0.6095999999999999
      },
      {
        "id": "LINK-73",
        "from": "JUNCTION-21",
        "to": "JUNCTION-47",
        "length_m": 27.736800000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-74",
        "from": "JUNCTION-47",
        "to": "JUNCTION-48",
        "length_m": 245.364,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-75",
        "from": "JUNCTION-48",
        "to": "JUNCTION-49",
        "length_m": 174.95520000000002,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-76",
        "from": "JUNCTION-49",
        "to": "JUNCTION-22",
        "length_m": 48.1584,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-77",
        "from": "JUNCTION-49",
        "to": "JUNCTION-50",
        "length_m": 175.86960000000002,
        "diameter_m": 0.2031986538
      },
      {
        "id": "LINK-78",
        "from": "JUNCTION-50",
        "to": "JUNCTION-51",
        "length_m": 118.2624,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-79",
        "from": "JUNCTION-51",
        "to": "JUNCTION-48",
        "length_m": 71.9328,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-80",
        "from": "JUNCTION-51",
        "to": "JUNCTION-52",
        "length_m": 119.7864,
        "diameter_m": 0.2032
      },
      {
        "id": "LINK-81",
        "from": "JUNCTION-52",
        "to": "JUNCTION-47",
        "length_m": 167.33520000000001,
        "diameter_m": 0.2031986538
      }
    ],
    "valves": [
      {
        "id": "VALVE-173",
        "type": "TCV",
        "from": "JUNCTION-111",
        "to": "JUNCTION-112",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-174",
        "type": "TCV",
        "from": "JUNCTION-113",
        "to": "JUNCTION-114",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-175",
        "type": "TCV",
        "from": "JUNCTION-115",
        "to": "JUNCTION-116",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-176",
        "type": "TCV",
        "from": "JUNCTION-117",
        "to": "JUNCTION-118",
        "setting": "0.2000"
      },
      {
        "id": "VALVE-177",
        "type": "TCV",
        "from": "JUNCTION-119",
        "to": "JUNCTION-120",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-178",
        "type": "TCV",
        "from": "JUNCTION-121",
        "to": "JUNCTION-122",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-179",
        "type": "TCV",
        "from": "JUNCTION-123",
        "to": "JUNCTION-124",
        "setting": "0.2000000"
      },
      {
        "id": "VALVE-180",
        "type": "TCV",
        "from": "JUNCTION-125",
        "to": "JUNCTION-126",
        "setting": "0.20000"
      }
    ],
    "pumps": [
      {
        "id": "PUMP-170",
        "type": "pump",
        "from": "JUNCTION-105",
        "to": "JUNCTION-106",
        "setting": "HEAD CURVE-1"
      },
      {
        "id": "PUMP-172",
        "type": "pump",
        "from": "JUNCTION-109",
        "to": "JUNCTION-110",
        "setting": "HEAD CURVE-1"
      }
    ]
  },
  "scenarios": [
    {
      "id": "valve_closure_sweep",
      "family": "Valve closure stability sweep",
      "target": "VALVE-173",
      "summary": "Sweep closure time and curve shape to study pressure peaks, damping, and settling.",
      "outputs": [
        "max_pressure",
        "min_pressure",
        "settling_time",
        "dominant_frequency",
        "damping_ratio"
      ]
    },
    {
      "id": "pump_trip_rampdown",
      "family": "Pump trip / ramp-down dynamics",
      "target": "PUMP-170",
      "summary": "Ramp pump speed down and inspect reverse flow, downsurge, upsurge, and decay.",
      "outputs": [
        "reverse_flow",
        "pressure_downsurge",
        "pressure_upsurge",
        "oscillation_decay"
      ]
    },
    {
      "id": "burst_leak_sensitivity",
      "family": "Burst/leak disturbance",
      "target": "JUNCTION-20",
      "summary": "Vary leak size and development time at TSNet documented disturbance nodes.",
      "outputs": [
        "pressure_drop",
        "recovery_time",
        "dominant_frequency",
        "critical_node_ranking"
      ]
    },
    {
      "id": "demand_pulse",
      "family": "Demand pulse response",
      "target": "JUNCTION-20",
      "summary": "Use sudden demand variation as an online-friendly disturbance template.",
      "outputs": [
        "event_delay",
        "settling_time",
        "overshoot",
        "dominant_frequency"
      ]
    }
  ]
}