{
  "version": 1,
  "generatedAt": "2026-08-16",
  "race": {
    "slug": "ironman-copenhagen",
    "name": "IRONMAN Copenhagen",
    "editionId": "ironman-copenhagen-2026",
    "date": "2026-08-16",
    "course": {
      "verifiedAt": "2026-08-13",
      "source": "https://www.ironman.com/races/im-copenhagen/course",
      "swim": {
        "laps": 1,
        "distance": "3.8 km",
        "water": "Sea lagoon, salt",
        "detail": "One loop of the artificial lagoon at Amager Strandpark. It is sheltered, shallow at the edges and usually flat, which takes most of the fear out of a first full distance swim. Spectators line the shore and the bridge across the lagoon, so you are never out there on your own."
      },
      "bike": {
        "laps": 2,
        "distance": "180 km",
        "detail": "Two loops out of the city into North Zealand, mixing city centre, coast road, forest and open countryside. Gradients rarely bite, so the day is decided by how long you can hold an aero position at steady watts, not by any climb."
      },
      "run": {
        "laps": 4,
        "distance": "42.2 km",
        "detail": "Four laps through the middle of Copenhagen, past the Little Mermaid, Amalienborg and Nyhavn, finishing at Parliament. Four laps is four chances to see your people and four chances to talk yourself out of it. Decide your splits before the gun, not at halfway."
      },
      "transitions": {
        "t1": "Amager Strandpark, a couple of kilometres from the city centre. You run straight out of the water into transition and collect the blue bike bag under your race number.",
        "t2": "Kongens Nytorv, in the middle of the city, not back at the beach. Bike catchers take the bike at the entrance while you go for the red run bag. Plan your bag drop and your supporters around the two sites being separate.",
        "facilities": "Toilets, changing area, pumps. Bike mechanics and a spare-bag info point at T1 only; bike catchers, penalty tent and marshals at T2 only"
      },
      "weather": {
        "airHighC": 22,
        "airLowC": 12,
        "waterAvgC": 19
      },
      "unverified": [
        "bike elevation gain",
        "cut-off times",
        "aid station spacing",
        "water temperature history"
      ]
    },
    "intelligence": {
      "slug": "ironman-copenhagen",
      "name": "IRONMAN Copenhagen",
      "editionId": "ironman-copenhagen-2026",
      "updatedAt": "2026-08-14T22:14:40.345Z",
      "course": {
        "swim": {
          "value": {
            "distanceKm": 3.8,
            "gainM": null,
            "reliefM": 0,
            "points": 18
          },
          "evidenceType": "gpx_derived",
          "status": "observed",
          "sampleSize": 18,
          "confidence": "medium",
          "source": "https://www.ironman.com/races/im-copenhagen/course",
          "verifiedAt": "2026-08-13",
          "method": "haversine distance; positive elevation deltas; source GPX"
        },
        "bike": {
          "value": {
            "distanceKm": 176.7,
            "gainM": 861,
            "reliefM": 75,
            "points": 4110
          },
          "evidenceType": "gpx_derived",
          "status": "observed",
          "sampleSize": 4110,
          "confidence": "high",
          "source": "https://www.ironman.com/races/im-copenhagen/course",
          "verifiedAt": "2026-08-13",
          "method": "haversine distance; positive elevation deltas; source GPX"
        },
        "run": {
          "value": {
            "distanceKm": 42.1,
            "gainM": 124,
            "reliefM": 10,
            "points": 4877
          },
          "evidenceType": "gpx_derived",
          "status": "observed",
          "sampleSize": 4877,
          "confidence": "high",
          "source": "https://www.ironman.com/races/im-copenhagen/course",
          "verifiedAt": "2026-08-13",
          "method": "haversine distance; positive elevation deltas; source GPX"
        }
      },
      "climate": {
        "value": {
          "years": 10,
          "windowDays": 15,
          "samples": 150,
          "medianAirHighC": 20.5,
          "medianAirLowC": 14.9,
          "medianRainMm": 0.4,
          "medianMaxWindKph": 21.9,
          "source": "https://open-meteo.com/en/docs/historical-weather-api",
          "note": "Ten prior calendar years, 15-day window centred on the current race date; historical context, not a forecast."
        },
        "evidenceType": "historical_api",
        "status": "observed",
        "sampleSize": 150,
        "confidence": "high",
        "source": "https://open-meteo.com/en/docs/historical-weather-api",
        "verifiedAt": "2026-08-14T22:14:40.345Z"
      },
      "travel": {
        "value": {
          "nearestAirport": "Copenhagen Airport (CPH)",
          "airportDistanceKm": 10,
          "arrival": "Metro M2 serves Femøren and Amager Strand, the closest stations to the swim start.",
          "carNeeded": false,
          "spectatorMobility": "Strong public transport; T1 and T2 are separate locations.",
          "accommodationPressure": "high",
          "source": "https://www.ironman.com/sites/default/files/2024-11/im_copenhagen_first_timer_guide_english_2024.pdf",
          "verifiedAt": "2026-08-14",
          "evidenceType": "official"
        },
        "evidenceType": "official",
        "status": "observed",
        "sampleSize": null,
        "confidence": "high",
        "source": "https://www.ironman.com/sites/default/files/2024-11/im_copenhagen_first_timer_guide_english_2024.pdf",
        "verifiedAt": "2026-08-14"
      },
      "results": {
        "value": {
          "status": "awaiting_aggregate",
          "sampleSize": 0
        },
        "evidenceType": "official",
        "status": "pending",
        "sampleSize": 0,
        "confidence": "pending",
        "source": "https://www.ironman.com/races/4184-copenhagen/results",
        "verifiedAt": null,
        "available": false,
        "minimumSample": 50
      },
      "modelled": {
        "available": true,
        "label": "Modelled athlete fit"
      },
      "observed": {
        "available": false,
        "label": "Observed course performance"
      },
      "community": {
        "available": false,
        "label": "Community rating"
      }
    }
  }
}
