{
 "schemaVersion": "1.0.0",
 "constitutionVersion": "1.0.0",
 "createdAt": "2026-08-12T00:00:00Z",
 "description": "Append-only Evidence Passport records. Old revisions are immutable; corrections create a new revision and preserve the previous permalink.",
 "entity": {
  "type": "project",
  "id": "copenhagen-bathing-water-forecast",
  "title": "Copenhagen Bathing Water Forecast & Overflow Warning System",
  "canonicalUrl": "https://1001smartcities.org/projects/copenhagen-bathing-water-forecast/"
 },
 "currentRevisionId": "2026-08-22-evidence-baseline",
 "revisions": [
  {
   "id": "2026-08-22-evidence-baseline",
   "createdAt": "2026-08-22T09:03:00Z",
   "effectiveAt": "2026-07-23",
   "changeType": "baseline",
   "summary": "Created the first structured Evidence Passport with 8 claims and 3 source dossiers.",
   "preparedBy": {
    "type": "automation",
    "label": "AI-assisted evidence preparation",
    "humanApproved": false
   },
   "review": {
    "status": "unreviewed",
    "by": null,
    "date": null,
    "note": "Awaiting operator and domain-expert review; publication of this revision implies neither."
   },
   "changes": [
    {
     "operation": "add",
     "path": "/evidencePassport",
     "summary": "Added claim-level evidence mapping and source dossiers."
    },
    {
     "operation": "add",
     "path": "/revisionHistory",
     "summary": "Established a permanent, hash-addressed baseline revision."
    }
   ],
   "snapshotHash": "sha256:5692230a7a3ec64f7700801b1d4626d604dd6267926e8dc6a0a1e5e0e566962f",
   "snapshot": {
    "asOf": "2026-07-23",
    "projectFingerprint": "sha256:546c4c1e97f868e097a1fafbf375f0b035279860545f35b42cd2f0ce74d07e9c",
    "assurance": {
     "status": "unreviewed",
     "scope": "evidence-passport-revision",
     "statement": "AI-assisted structural preparation. This revision has not been reviewed by a human or subject-matter expert.",
     "machineChecks": [
      "schema",
      "publication-diff-contract",
      "material-project-fingerprint",
      "claim-text-drift",
      "source-reference-resolution",
      "complete-source-dossier",
      "snapshot-hash"
     ]
    },
    "projectState": {
     "status": "live",
     "outcome": "succeeded",
     "evidenceGrade": "official",
     "timeline": {
      "started": 2002,
      "ended": null
     }
    },
    "governance": {
     "operator": "City of Copenhagen & HOFOR (system developed by DHI)",
     "actorTypes": [
      "city-government",
      "utility"
     ],
     "fundingModel": null,
     "fundingDescription": null,
     "cost": null,
     "ownership": null,
     "decisionRights": null,
     "exitConditions": null
    },
    "claims": [
     {
      "id": "clm-c70c609c107d35de",
      "field": "snippet",
      "text": "Since 2002",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-7d1bb9cffc4460ad"
      ],
      "supportNote": "The municipal committee record of 12 April 2021 dates the warning system by its age rather than by a start year: \"Det nuværende varslingssystem er snart 20 år gammelt\" (\"The current warning system is almost 20 years old\"), which places its introduction around 2001 or 2002.",
      "caveat": "No listed source names the year 2002. It is inferred from a 2021 municipal record that calls the warning system almost twenty years old, and the developer's own project page gives no start year at all.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-c9b5c20db7c75f8d",
      "field": "snippet",
      "text": "a bathing-water forecast system developed by DHI",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-41e0cde0a10c8b78"
      ],
      "supportNote": "DHI's project page describes the system and its own role: \"DHI - in collaboration with the City and HOFOR (the provider of the sewer data) - developed an innovative Bathing Water Forecast (BWF) system\", and says the system \"constantly monitors the harbour's water and predicts the concentration of the indicator bacteria Escherichia coli and Enterococci at specified locations\". The page lists the City of Copenhagen as its client.",
      "caveat": "This is the developer's own project page and therefore promotional material. It says DHI developed the system; \"has run\" is stronger than anything the page states, and the municipal record refers only to \"the operator that runs the warning system\" without naming DHI.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-14daa91753b25154",
      "field": "snippet",
      "text": "with the City of Copenhagen and water utility HOFOR",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-41e0cde0a10c8b78",
       "src-7d1bb9cffc4460ad"
      ],
      "supportNote": "The developer's page names all three parties: the system was built \"in collaboration with the City and HOFOR (the provider of the sewer data)\", with the City of Copenhagen listed as client. The municipal record confirms the city's part: the Technical and Environmental Administration supervises the bathing water, is responsible for warning bathers, and \"har kontrakten med den operatør, som driver selve varslingssystemet\" (\"holds the contract with the operator that runs the warning system\").",
      "caveat": "HOFOR appears only as the supplier of the sewer data, not as an operator of the forecast, and the municipal record does not mention HOFOR at all.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-42e8ed334c5d2df4",
      "field": "snippet",
      "text": "A predictive model combines rainfall data with the utility's overflow data",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-41e0cde0a10c8b78",
       "src-7d1bb9cffc4460ad"
      ],
      "supportNote": "The developer's page sets out the model chain: \"DHI collects meteorological data from forecast suppliers and runs hydrodynamic models\", feeding \"a MIKE 11 (now MIKE+ Rivers) model to estimate the inflow of water from the city into the harbour\", then \"a MIKE 3 FM model calculating the transport of pollutants and a MIKE ECO Lab model for describing the fate of the bacteria\". HOFOR is named as the provider of the sewer data, and the municipal record says the replacement system \"har opdaterede data om overløb\" (\"has updated data on overflows\").",
      "caveat": "The developer's page describes meteorological forecast data rather than measured rainfall, and no listed source states that the sewer input comes from overflow sensors: the sewer data is only attributed to the water utility.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-d1fc47b1ccd37e0a",
      "field": "snippet",
      "text": "to estimate bacteria risk after storms",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-41e0cde0a10c8b78"
      ],
      "supportNote": "The developer's page names the threats as \"heavy rainfall, frequent release of sewage water and induced pathogenic bacteria\", and says the system \"predicts the concentration of the indicator bacteria Escherichia coli and Enterococci at specified locations along the water courses from the city to the harbour\".",
      "caveat": "Rain-driven overflow is one cause among several. The April 2025 closure reported in the press followed an accidental discharge from a treatment plant, not a storm.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-2d821d02501eab58",
      "field": "snippet",
      "text": "triggering red-flag closures",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-7d1bb9cffc4460ad",
       "src-efa41a7f83c1910b"
      ],
      "supportNote": "The municipal record describes what the 2021 update changed: warnings are now given by additional warning signs and \"røde lamper, der blinker ved forureninger\" (\"red lamps that flash during pollution events\"), with a warning time of at most 20 minutes; the bathing-water wardens who used to hoist the flags are no longer needed for this (\"det ikke er nødvendigt med badevandsvagter til at sætte flag\") and were wound down from 2022, and sites reopen seven hours after \"systemet har sagt god for badning\" (\"the system has cleared bathing\"). The press report shows the effect in April 2025: red flags on the forecast site, and \"Red warning signs have been placed at the harbour baths by Copenhagen Municipality\".",
      "caveat": "What follows is an advisory rather than an enforced closure: bathers are warned and advised not to swim, and the harbour itself is not shut. The rules the warning runs on - the safety distance to an overflow point and how long a site stays closed - are set by the city administration, and the developer's page describes its dashboards as helping authorities \"make informed and timely decisions\" rather than acting alone.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-8c67294cbc098540",
      "field": "snippet",
      "text": "shown on badevand.dk",
      "statementKind": "descriptive",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-efa41a7f83c1910b"
      ],
      "supportNote": "The article states that Denmark's water quality forecast, which can be viewed on badevand.dk, \"shows a chain of red flags around the coast of Copenhagen\".",
      "caveat": "badevand.dk is the national Danish bathing-water site, which the article describes as Denmark's forecast rather than a service of the City of Copenhagen.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     },
     {
      "id": "clm-b2ffc43e1ab78ea3",
      "field": "snippet",
      "text": "a closure in April 2025 confirms the warnings are still issued",
      "statementKind": "quantitative",
      "textMode": "verbatim-from-project-record",
      "mappingStatus": "mapped",
      "sourceRefs": [
       "src-efa41a7f83c1910b"
      ],
      "supportNote": "Published on 23 April 2025, the article reports that \"Danish authorities currently advise against swimming in most of Copenhagen Harbour\" after the wastewater company Biofos \"accidentally discharged 12,000 cubic metres of sewage into a stream which flows directly into the harbour\", with red flags visible on badevand.dk and red warning signs placed at the baths by the municipality.",
      "caveat": "The article describes an advisory against swimming rather than a formal closure, and the cause was an accidental discharge from a treatment plant rather than a storm overflow.",
      "interpretation": {
       "added": false,
       "interpolation": false,
       "note": "The passport copies the published claim and its recorded source mapping without adding a conclusion."
      }
     }
    ],
    "sources": [
     {
      "id": "src-41e0cde0a10c8b78",
      "title": "DHI — Safe bathing water in the heart of Copenhagen Harbour",
      "url": "https://www.dhigroup.com/projects/safe-bathing-water-in-the-heart-of-copenhagen-harbour",
      "publisher": {
       "name": null,
       "domain": "dhigroup.com",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-c9b5c20db7c75f8d",
       "clm-14daa91753b25154",
       "clm-42e8ed334c5d2df4",
       "clm-d1fc47b1ccd37e0a"
      ],
      "temporal": {
       "publishedAt": null,
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-23",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "record-date-only"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Technical operator/developer; 2002 launch, MIKE 3 FM/ECO Lab forecast model, sewer-overflow sensor inputs, app/website warnings.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-7d1bb9cffc4460ad",
      "title": "City of Copenhagen (kk.dk) — update of the bathing-water warning system",
      "url": "https://www.kk.dk/dagsordener-og-referater/Teknik-%20og%20Milj%C3%B8udvalget/m%C3%B8de-12042021/referat/punkt-3",
      "publisher": {
       "name": null,
       "domain": "kk.dk",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-c70c609c107d35de",
       "clm-14daa91753b25154",
       "clm-42e8ed334c5d2df4",
       "clm-2d821d02501eab58"
      ],
      "temporal": {
       "publishedAt": "2021-04-12",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-23",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Municipal committee record confirming badevandsudsigten/Badevand app/flag system and its 2021 update.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     },
     {
      "id": "src-efa41a7f83c1910b",
      "title": "The Local Denmark — sewage overflow closes Copenhagen harbour baths (April 2025)",
      "url": "https://www.thelocal.dk/20250423/faeces-in-the-water-why-you-should-not-swim-in-copenhagens-harbour-baths-this-week",
      "publisher": {
       "name": null,
       "domain": "thelocal.dk",
       "classification": "not-classified"
      },
      "sourceType": "web-page",
      "language": "und",
      "role": "claim-evidence",
      "claimRefs": [
       "clm-2d821d02501eab58",
       "clm-8c67294cbc098540",
       "clm-b2ffc43e1ab78ea3"
      ],
      "temporal": {
       "publishedAt": "2025-04-23",
       "updatedAt": null,
       "sourceCheckedAt": null,
       "recordLastVerifiedAt": "2026-07-23",
       "dossierCreatedAt": "2026-08-22",
       "retrievedAt": null,
       "status": "publication-and-record-dates-recorded"
      },
      "locator": {
       "type": "descriptive-source-note",
       "value": "Independent press confirming the system was actively issuing warnings via badevand.dk as recently as April 2025.",
       "exact": false
      },
      "preservation": {
       "archiveUrl": null,
       "archivedAt": null,
       "contentHash": null,
       "status": "not-captured"
      }
     }
    ],
    "coverage": {
     "claimsTotal": 8,
     "claimsMapped": 8,
     "sourcesTotal": 3,
     "sourcesUsedByClaims": 3,
     "sourcesWithPublicationDate": 2,
     "sourcesWithArchive": 0,
     "sourcesWithExactLocator": 0,
     "sourcesWithContentHash": 0
    },
    "limits": [
     "Publisher names and source languages have not yet been classified; domains are recorded without guessing.",
     "Existing source notes are descriptive locators, not page- or paragraph-exact citations.",
     "A missing archive, publication date or content hash is shown as null rather than inferred.",
     "The project-level evidence grade ranks the strongest source in the entry; it is not a truth score for every claim."
    ]
   }
  }
 ]
}
