# If you have data access we don't

## The three states, of which this page is one

<span class="claim" data-claim="C-DQ-U-STATES">This page sorts what the project could use into three states. An analysis written against the data on hand is worth only what that data is worth; one written against a stated file shape runs on whatever arrives in that shape.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-STATES "What this claim rests on")</sup>

| state | meaning | where it lives |
|---|---|---|
| **wanted** | nobody has measured it, anywhere. The measurement has to be invented or funded before the question is answerable at all. | [EXPERIMENTS.md](EXPERIMENTS.md), and <span class="claim" data-claim="C-DQ-U-UNSCORE">the [42](SOURCES.md#F-198b20fb90) hypotheses marked *unscoreable* in [hypodrafts/TRIAGE.md](hypodrafts/TRIAGE.md)</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-UNSCORE "What this claim rests on")</sup> |
| **gated** | it exists, and sits behind a credential, a registration or a closed door. | **this page** |
| **held** | on disk, with whatever faults it has. | everything else on this site, and the fault list in [DATA_SOURCES.md](DATA_SOURCES.md) |

<span class="claim" data-claim="C-DQ-U-WRITTEN">Where a slot has a script that reads it, better input gives a better answer without anyone rewriting an argument: `scripts/depth_clock.py` reads the CTD visit-time slot when a file is there, and counts the measurements each clock placed. The other slots fix a file shape so that the analysis can be written against something real.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-WRITTEN "What this claim rests on")</sup>

---

<span class="claim" data-claim="C-DQ-U-GENERATED">*Generated by `scripts/unlock.py` from `data_sources.json` and `data_sources_2.json` and the slots the script defines.*</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-GENERATED "What this claim rests on")</sup> *Do not hand-edit.*

<span class="claim" data-claim="C-DQ-U-CREDS">This project runs on what can be fetched openly and with the credentials its fetch scripts read from this machine, which [the fetch queue](DATA_QUEUE.md) lists.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-CREDS "What this claim rests on")</sup> <span class="claim" data-claim="C-DQ-U-HOLD">Some of what it cannot answer waits on data that exists and is **gated**: if you hold a utility login, a field sheet, a drainage archive or a service agreement, you may be able to supply it.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-HOLD "What this claim rests on")</sup>

<span class="claim" data-claim="C-DQ-U-NOCODE">**You do not have to write any code, and you do not have to send anything to anyone.**</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-NOCODE "What this claim rests on")</sup> Clone the repository, put your file in `data/dropin/` under the name given below, and run:

```sh
python3 scripts/unlock.py          # validates it, then runs what it unblocks
```

<span class="claim" data-claim="C-DQ-U-RUNS">The file stays on your machine. `unlock.py` checks its shape, runs the scripts that read that slot, and rewrites this page; the pages that read what those scripts write change when the site is rebuilt.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-RUNS "What this claim rests on")</sup>

<span class="claim" data-claim="C-DQ-U-LOCAL">**Nothing is transmitted, and nothing here decides what you may use.** The file is read on your machine and is never committed or uploaded — which is a materially different act from sending a dataset to anyone.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-LOCAL "What this claim rests on")</sup> <span class="claim" data-claim="C-DQ-U-PERMISSION">What this page records is that a given dataset *would answer* a given question, and in what shape. Whether your access permits that use is a legal question belonging to you, or to whoever granted it; it is not settled here and this project is not in a position to settle it.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-PERMISSION "What this claim rests on")</sup>

<span class="claim" data-claim="C-DQ-U-WHYLISTED">That distinction is why entries appear below that this project could never use itself, including registers provisioned for an entirely different purpose. What a register was built for does not determine what it is useful for. Leaving such an entry out would hide the question from the only people who can answer it — a holder deciding whether their access covers this, or a lawmaker deciding whether it should.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-WHYLISTED "What this claim rests on")</sup>

---

## 1. Slots — hand these in mechanically

<span class="claim" data-claim="C-DQ-U-SLOTS">Each slot has a fixed file name and a fixed shape, so an analysis can be written against it before anyone has the file. Today only `ctd_visit_times.csv` has such an analysis, marked below; for the others the slot exists so the data can arrive before the analysis is written.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-SLOTS "What this claim rests on")</sup> <span class="claim" data-claim="C-DQ-U-HYPLIST">Where a slot is filed under a register entry the fetch queue does not class as open, the hypotheses the entry names are listed with it.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-HYPLIST "What this claim rests on")</sup>

### `overflow_measured.csv` — SPILDEVANDSDATA

**Unlocks.** <span class="claim" data-claim="C-DQ-S-OVERFLOW">Overflow measured event by event. The register's entry under this id is the public spildevandsdata extract, which gives one annual volume and one annual event count per outfall, with no per-event dates or durations, and which the fetch queue puts in its open tier.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-OVERFLOW "What this claim rests on")</sup>

**Shape.** `one row per overflow event: outfall_id;lon;lat;start;end;volume_m3;rain_mm  (semicolon or comma, header required, ISO timestamps)`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-OVERFLOW">Not found for Copenhagen. The register's only per-event overflow entry is Nyborg Forsyning's telemetry, which it treats as request-only; the open extracts are annual, and PULS is closed.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-OVERFLOW "What this claim rests on")</sup>

### `puls_pointsources.csv` — PULS

**Unlocks.** <span class="claim" data-claim="C-DQ-S-PULS">The point-source register itself, per source and year. The source register records it as not public and names its public extracts, `MILJOEGIS-RBU-SAML` and `SPILDEVANDSDATA`.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-PULS "What this claim rests on")</sup>

**Shape.** `one row per point source per year: cvr;name;lon;lat;year;n_kg;p_kg;bod_kg;type`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-PULS">Miljoestyrelsen and Danmarks Miljøportal, the custodians the register records; DP02 puts the system's operation and support with Danmarks Miljøportal.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-PULS "What this claim rests on")</sup>

**Hypotheses waiting on it.** [B1](hypodrafts/B1.md "Combined sewer overflow") [B2](HYPOTHESES.md "Separate stormwater") [B3](HYPOTHESES.md "Treatment plant organic load") [A4](HYPOTHESES.md "Point-source discharge of nutrients") [B5](HYPOTHESES.md "Industrial organic discharge") [E5](HYPOTHESES.md "Direct chemical oxygen demand of discharges")

### `draenede_arealer.tif` — DK-DRAENKORT-AU

**Unlocks.** <span class="claim" data-claim="C-DQ-S-DRAIN">Which agricultural land is drained, as a map: the national map gives the probable extent of drained and undrained land at a resolution of [30.4](SOURCES.md#F-8378fdc19e) m, with an accuracy of [79](SOURCES.md#F-69521ba044)%, and a layer of the probability of drainage.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-DRAIN "What this claim rests on")</sup> <span class="claim" data-claim="C-DQ-S-DRAIN-ROUTE">The register has not located a route to the raster, and with no access text recorded, the fetch queue counts it as blocked.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-DRAIN-ROUTE "What this claim rests on")</sup>

**Shape.** `GeoTIFF, EPSG:25832, one band, drained=1 / not=0 or a probability in 0-1`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-DRAIN">Aarhus Universitet, DCA, which made it for Miljoestyrelsen, as the register records; where the raster is distributed was not found.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-DRAIN "What this claim rests on")</sup>

**Hypotheses waiting on it.** [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S6](HYPOTHESES.md "Retention capacity is saturable, so the coefficient is not constant")

### `cvr_bulk.jsonl` — CVR-BULK

**Unlocks.** <span class="claim" data-claim="C-DQ-S-CVR">Turning a CVR number into who and where, for the manure surplus join. The sibling project danish-livestock holds CVR records for part of it; the bulk register would complete it.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-CVR "What this claim rests on")</sup>

**Shape.** `one JSON object per line, must carry cvr and one of {name, industrycode, kommune}`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-CVR">Not recorded: the source register has no entry for it, so how the bulk register is reached, and on what terms, is not on file.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-CVR "What this claim rests on")</sup>

### `oda_mfs_biota.csv` — ODA-MFS-FISK

**Unlocks.** <span class="claim" data-claim="C-DQ-S-MFS">Contaminants measured in fish tissue: the ODA topic *MFS i biota / Fisk*, for the hypotheses the register names below.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-MFS "What this claim rests on")</sup>

**Shape.** `the ODA extract as downloaded - semicolon separated, ISO-8859-1, Parameter and Enhed columns preserved`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-MFS">Possibly this project: the register lists the topic behind a registration and a scripted extract, as for the ODA topics already fetched with this project's login, and it has not been fetched.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-MFS "What this claim rests on")</sup>

**Hypotheses waiting on it.** [E9](HYPOTHESES.md "PFAS and persistent novo-chemicals") [E7](openproblems/E7.md "Pesticides and degradation products") [E10](HYPOTHESES.md "Heavy metals") [F5](HYPOTHESES.md "Invasive species")

### `ler_ledninger.geojson` — LER

**Unlocks.** <span class="claim" data-claim="C-DQ-S-LER">Pipe geometry and connectivity for the Copenhagen sewer. None of the open sources in [DATA_SOURCES.md](DATA_SOURCES.md) gives surveyed invert levels for it, and a hydraulic model of the network needs them. Whether LER's answers carry diameters and invert levels was not found.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-LER "What this claim rests on")</sup>

**Shape.** `GeoJSON, EPSG:25832, LineString per pipe with at least {diameter_mm, material, invert_start_m, invert_end_m, type} where type distinguishes faelles / spildevand / regnvand`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-LER">The line owners, who answer an inquiry made through LER. LER's page for excavators gives them [2](SOURCES.md#F-214f326d29) hours to answer, and digging waits until all of them have.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-LER "What this claim rests on")</sup>

**Permission.** <span class="claim" data-claim="C-DQ-P-LER">An inquiry to LER is a dig inquiry, made before digging. This project plans no dig and does not query LER. LER's site also lists access for authorities and researchers (*Myndigheds- og forskeradgang*), whose terms this project has not read. Whether a given access covers hydraulic analysis is the holder's question, not this project's.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-P-LER "What this claim rests on")</sup>

### `sewer_model_results.csv` — UTILITY-HYDRAULIC-MODEL

**Unlocks.** <span class="claim" data-claim="C-DQ-S-HYDRO">A calibrated model's results for Copenhagen's network: flow, depth and overflow per node and time step. This project makes no spill prediction of its own to set beside them; DP02 calibrates such a model on measurement at the structure.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-HYDRO "What this claim rests on")</sup>

**Shape.** `one row per node or outfall per timestep: node_id;lon;lat;time;flow_m3s;depth_m;overflow_m3`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-HYDRO">Not recorded: the source register has no entry for it. DP02 says the structure data such a model needs should be derivable from the utilities' pipe records.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-HYDRO "What this claim rests on")</sup>

### `slurry_agreements.csv` — SLURRY-CONTRACTS

**Unlocks.** <span class="claim" data-claim="C-DQ-S-SLURRY">Where the manure from the [581](SOURCES.md#F-70de0de87a) landless pig holdings - [406,192](SOURCES.md#F-eefa58fbf2) animal units - actually goes. It leaves the farm by contract, and the contracts are in no public register, so the nitrogen is attributed to a holding that never spread it.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-SLURRY "What this claim rests on")</sup>

**Shape.** `supplier_cvr;receiver_cvr;year;tonnes;n_kg;p_kg  (a receiving parcel id instead of receiver_cvr is more useful still)`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-SLURRY">The parties to the contracts, which are in no register this project could find.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-SLURRY "What this claim rests on")</sup>

### `bathymetry_hires.tif` — DEFENCE-BATHYMETRY

**Unlocks.** <span class="claim" data-claim="C-DQ-S-BATHY">Bed morphology finer than the public depth model, `DDM`, which the register records as a single current-state grid with the per-survey dates and accuracies composited away.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-BATHY "What this claim rests on")</sup>

**Shape.** `GeoTIFF, EPSG:25832, one band of depth in metres, negative down; any grid finer than the public depth model, DDM`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-BATHY">Not recorded: the register has no entry for the surveys the public model is composited from. Its custodian is Klimadatastyrelsen, the Danish Hydrographic Office.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-BATHY "What this claim rests on")</sup>

### `ctd_visit_times.csv` — FIELD-SHEETS-CLOCK

**Unlocks.** <span class="claim" data-claim="C-DQ-S-CLOCK">A clock on oxygen at depth. The water-chemistry topic carries a clock value on every genuine row; CTD has no clock field, so its [53.7](SOURCES.md#F-4c570f3335)M readings have a date and no hour. `scripts/depth_clock.py` places [4,688,007](SOURCES.md#F-d4ab94d60c) CTD oxygen measurements with the observed clock of a same-day water-chemistry visit, counted after its quality filters; [2,454,520](SOURCES.md#F-566c0ca9ca) rows have no such clock to borrow, counted before them, so the two are not shares of one whole. The field sheets would time the casts directly and check the borrowing.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-CLOCK "What this claim rests on")</sup>

**Shape.** `station;date;time_utc  - one row per cast`

**Who holds it.** <span class="claim" data-claim="C-DQ-W-CLOCK">DCE, or whoever holds the original cruise logs</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-W-CLOCK "What this claim rests on")</sup>

<span class="claim" data-claim="C-DQ-S-CONSUMER">**Read by `scripts/depth_clock.py`.** It runs today on the borrowed clock; when this file is present its times take precedence, and the offset between them and the borrowed clock is measured wherever a station-day has both, so the borrowing is checked rather than trusted.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-S-CONSUMER "What this claim rests on")</sup>

---

## 2. Everything else the register classifies as gated

<span class="claim" data-claim="C-DQ-U-TABLE">Every entry of `data_sources.json` and `data_sources_2.json` that the fetch queue does not class as open, ordered by tier, then by how many hypotheses the entry names, with every hypothesis it names.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-TABLE "What this claim rests on")</sup> <span class="claim" data-claim="C-DQ-U-TIERS">*Held* means behind a credential this project holds, and some of those topics are already on disk; *account* means a registration, an account, a login or a token the fetch queue does not count as held; *blocked* means the access text says it is closed or unverified, or matches no tier word.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-TIERS "What this claim rests on")</sup>

| tier | source | serves | what it is |
|---|---|---|---|
| `held` | **ODA-CTD** | [C1](hypodrafts/C1.md "Stratification strength") [C2](HYPOTHESES.md "Wind work") [C6](hypodrafts/C6.md "Water temperature and solubility") [C7](HYPOTHESES.md "Bathymetry, sills and depth") [G1](hypodrafts/G1.md "Warming") [I1](hypodrafts/I1.md "Changing station network") [I2](HYPOTHESES.md "Changing analytical method") [I3](hypodrafts/I3.md "Changing sampling frequency and season") [I5](HYPOTHESES.md "Changing correction factors") [I6](HYPOTHESES.md "Changing custodian") [H1](HYPOTHESES.md "Alternative stable states and hysteresis") [H3](HYPOTHESES.md "Loss of resilience through diversity loss") | ODA - Hav / Feltmaaling / CTD |
| `held` | **ODA-MARINE-NEGATIVES** | [D8](HYPOTHESES.md "Loss of biostabilisation, and the mobile bed") [K3](HYPOTHESES.md "Macronutrient excess inducing micronutrient deficiency") [K5](HYPOTHESES.md "Cobalamin (B12) and cobalt limitation") [K6](HYPOTHESES.md "Iron bioavailability") [K9](HYPOTHESES.md "Selenium") [J1](openproblems/J1.md "Transparent exopolymer particles and marine gel") [J2](HYPOTHESES.md "Sea-surface microlayer enrichment") [J3](HYPOTHESES.md "Surfactants from detergents and personal care") [J4](HYPOTHESES.md "Sunscreen and UV filters") [J7](HYPOTHESES.md "Exudate from senescing blooms") [S4](HYPOTHESES.md "Total is not available") | The complete ODA marine parameter space - what is provably not in it |
| `held` | **ODA-STATION-COUNTS-CORRECTION** | [D9](HYPOTHESES.md "Fertility islands lost to homogenisation") [D10](HYPOTHESES.md "Winnowing and armouring") [K1](hypodrafts/K1.md "Silicon depletion and the diatom-to-flagellate shift") [K11](HYPOTHESES.md "Light as a depleted resource") [L3](hypodrafts/L3.md "The trend depends on the start year") [L5](HYPOTHESES.md "The reference sites are not references") [R3](HYPOTHESES.md "The decay relay stalls when a stage is removed") [T2](HYPOTHESES.md "Loss of the sulphide-detoxifying symbiosis") [K14](HYPOTHESES.md "Genetic and functional diversity depletion") | ODA station counts are period-dependent - the numbers in data_sources.json are the wrong o |
| `held` | **ODA-TILFOERSEL** | [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A2](HYPOTHESES.md "Phosphorus load") [A4](HYPOTHESES.md "Point-source discharge of nutrients") [A5](HYPOTHESES.md "Advected nutrients from outside Denmark") [A8](HYPOTHESES.md "Marine aquaculture") [C5](HYPOTHESES.md "Freshwater discharge buoyancy") [G2](HYPOTHESES.md "Changing precipitation and runoff timing") [H2](HYPOTHESES.md "Sediment legacy") [H4](HYPOTHESES.md "Subsidy-stress") | ODA - Naeringsstoftilfoersel til havet (nutrient input to the sea) |
| `held` | **ODA-VANDKEMI-HAV** | [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A2](HYPOTHESES.md "Phosphorus load") [A7](openproblems/A7.md "Sediment nutrient regeneration") [E2](HYPOTHESES.md "Nitrification demand") [E11](HYPOTHESES.md "Ammonia toxicity") [E12](HYPOTHESES.md "Hydrogen sulphide toxicity") [G4](HYPOTHESES.md "Acidification") [O4](HYPOTHESES.md "Turbidity and phytoplankton biomass") [I5](HYPOTHESES.md "Changing correction factors") | ODA - Hav / Vandkemi / Naeringsstof og Miljoefarligt stof |
| `held` | **ODA-BUNDFAUNA** | [F1](HYPOTHESES.md "Loss of filter feeders") [F2](HYPOTHESES.md "Loss of bioturbators") [H3](HYPOTHESES.md "Loss of resilience through diversity loss") [O3](HYPOTHESES.md "Loss of higher benthic life") [I1](hypodrafts/I1.md "Changing station network") [I3](hypodrafts/I3.md "Changing sampling frequency and season") [D1](hypodrafts/D1.md "Bottom trawling") [D3](HYPOTHESES.md "Dredged-material dumping") | ODA - Hav / Bundfauna / Artsliste + Sediment |
| `held` | **ODA-STOFTRANSPORT** | [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A2](HYPOTHESES.md "Phosphorus load") [B4](HYPOTHESES.md "Riverine particulate organic carbon") [E5](HYPOTHESES.md "Direct chemical oxygen demand of discharges") [G2](HYPOTHESES.md "Changing precipitation and runoff timing") [C5](HYPOTHESES.md "Freshwater discharge buoyancy") | ODA - Vandloeb / Stoftransport / Maanedstransport |
| `held` | **ODA-VEGETATION-FELTER** | [K11](HYPOTHESES.md "Light as a depleted resource") [L4](HYPOTHESES.md "Recovery is blocked by something other than the driver") [T4](HYPOTHESES.md "Marine replant failure: negative sediment feedback") [T3](HYPOTHESES.md "Wasting disease with stress-modulated virulence") [K12](HYPOTHESES.md "Loss of habitat-forming structure") [L6](HYPOTHESES.md "The degraded bed is classified as its own habitat type") | ODA - Hav / Vegetation, at field level (three separate topics) |
| `held` | **ODA-BUNDFAUNA-REPLICATES** | [D9](HYPOTHESES.md "Fertility islands lost to homogenisation") [D11](HYPOTHESES.md "Stabilisers against destabilisers") [K14](HYPOTHESES.md "Genetic and functional diversity depletion") [T2](HYPOTHESES.md "Loss of the sulphide-detoxifying symbiosis") [K10](HYPOTHESES.md "Salinity change and osmotic cost") | ODA - Hav / Bundfauna / Artsliste, at replicate-grab resolution |
| `held` | **ODA-BUNDFAUNA-SEDIMENT** | [D10](HYPOTHESES.md "Winnowing and armouring") [D8](HYPOTHESES.md "Loss of biostabilisation, and the mobile bed") [R7](HYPOTHESES.md "Estuarine flocculation deposits river carbon at the coast") [T7](HYPOTHESES.md "Anaerobic phytotoxins other than sulphide") [R3](HYPOTHESES.md "The decay relay stalls when a stage is removed") | ODA - Hav / Bundfauna / Sediment (grain size and sediment character at the fauna stations) |
| `held` | **ODA-SEDKEMI-MFS** | [E6](HYPOTHESES.md "Biocides and antifoulants") [E7](openproblems/E7.md "Pesticides and degradation products") [E9](HYPOTHESES.md "PFAS and persistent novo-chemicals") [E10](HYPOTHESES.md "Heavy metals") [H2](HYPOTHESES.md "Sediment legacy") | ODA - Hav / Sedimentkemi / MFS Sporstof (hazardous substances in sediment) |
| `held` | **ODA-MFS-FISK** **[slot]** | [E9](HYPOTHESES.md "PFAS and persistent novo-chemicals") [E7](openproblems/E7.md "Pesticides and degradation products") [E10](HYPOTHESES.md "Heavy metals") [F5](HYPOTHESES.md "Invasive species") | ODA - Hav / MFS i biota / Fisk |
| `held` | **ODA-MFS-MUSLING** | [E6](HYPOTHESES.md "Biocides and antifoulants") [E10](HYPOTHESES.md "Heavy metals") [E7](openproblems/E7.md "Pesticides and degradation products") [O3](HYPOTHESES.md "Loss of higher benthic life") | ODA - Hav / MFS i biota / Musling (Mytilus edulis soft parts) |
| `held` | **ODA-VANDLOEB-MFS** | [E7](openproblems/E7.md "Pesticides and degradation products") [E8](HYPOTHESES.md "Pharmaceuticals and personal care products") [B2](HYPOTHESES.md "Separate stormwater") [B5](HYPOTHESES.md "Industrial organic discharge") | ODA - Vandloeb / Vandkemi / Miljoefarligt stof |
| `held` | **ODA-LYSSVAEKKELSE** | [K11](HYPOTHESES.md "Light as a depleted resource") [T1](HYPOTHESES.md "Sulphide intrusion, gated by light") [D8](HYPOTHESES.md "Loss of biostabilisation, and the mobile bed") | ODA - Hav / Feltmaaling / Lyssvaekkelse (light attenuation profiles) |
| `held` | **ODA-MAALEDYBDE** | [K11](HYPOTHESES.md "Light as a depleted resource") [L3](hypodrafts/L3.md "The trend depends on the start year") [T1](HYPOTHESES.md "Sulphide intrusion, gated by light") | ODA - Hav / Maaledybde (Secchi depth and bottom depth) |
| `held` | **ODA-SECCHI-LONG** | [L3](hypodrafts/L3.md "The trend depends on the start year") [K11](HYPOTHESES.md "Light as a depleted resource") [O4](HYPOTHESES.md "Turbidity and phytoplankton biomass") | The Danish Secchi record in ODA, once the period is set - 1983 to 2024, continuous |
| `held` | **ODA-SEDKEMI-SPOR** | [H2](HYPOTHESES.md "Sediment legacy") [A7](openproblems/A7.md "Sediment nutrient regeneration") [D3](HYPOTHESES.md "Dredged-material dumping") | ODA - Hav / Sedimentkemi / Sporstof |
| `held` | **ODA-SI-N-P** | [K1](hypodrafts/K1.md "Silicon depletion and the diatom-to-flagellate shift") [K2](HYPOTHESES.md "Stoichiometric imbalance decides who grows") [K7](HYPOTHESES.md "Carbonate ion depletion") | ODA marine water chemistry as a ratio source - Si, N, P, pH and alkalinity in one table |
| `held` | **ODA-VEGETATION** | [F3](hypodrafts/F3.md "Loss of eelgrass and macroalgae") [O4](HYPOTHESES.md "Turbidity and phytoplankton biomass") [H1](HYPOTHESES.md "Alternative stable states and hysteresis") | ODA - Hav / Vegetation (aalegraes bundfauna / makroalge / plante) |
| `held` | **ODA-AFFALD-PLASTIK** | [J5](HYPOTHESES.md "Microplastic and its biofilm") | ODA - Hav / Marint affald and Plastik i biota (schema present, no data exposed) |
| `held` | **ODA-BUNDFAUNA-LUCINIDER** | [T2](HYPOTHESES.md "Loss of the sulphide-detoxifying symbiosis") | ODA bundfauna taxon list - the sulphide-oxidising bivalves are in it |
| `account` | **VANDAH** | [C5](HYPOTHESES.md "Freshwater discharge buoyancy") [G2](HYPOTHESES.md "Changing precipitation and runoff timing") [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A2](HYPOTHESES.md "Phosphorus load") [B4](HYPOTHESES.md "Riverine particulate organic carbon") [B1](hypodrafts/B1.md "Combined sewer overflow") [C9](HYPOTHESES.md "Sea level and tidal change") | Vandah - hydrometric REST API (Dmp.Hydro.Api) |
| `account` | **ICES-DOME-SED** | [E6](HYPOTHESES.md "Biocides and antifoulants") [E10](HYPOTHESES.md "Heavy metals") [E7](openproblems/E7.md "Pesticides and degradation products") [H2](HYPOTHESES.md "Sediment legacy") [D3](HYPOTHESES.md "Dredged-material dumping") [O3](HYPOTHESES.md "Loss of higher benthic life") | ICES DOME - contaminants in sediment, Denmark |
| `account` | **CMEMS-BAL-BGC** | [O1](HYPOTHESES.md "Oxygen deficit") [C4](hypodrafts/C4.md "Baltic inflow events") [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A5](HYPOTHESES.md "Advected nutrients from outside Denmark") [O4](HYPOTHESES.md "Turbidity and phytoplankton biomass") | Copernicus Marine Baltic Sea Biogeochemistry Reanalysis |
| `account` | **CMEMS-BAL-PHY** | [C1](hypodrafts/C1.md "Stratification strength") [C3](HYPOTHESES.md "Residence time") [C4](hypodrafts/C4.md "Baltic inflow events") [C6](hypodrafts/C6.md "Water temperature and solubility") [G1](hypodrafts/G1.md "Warming") | Copernicus Marine Baltic Sea Physics Reanalysis |
| `account` | **EMODNET-SEABED-USE** | [D2](HYPOTHESES.md "Navigation dredging") [D3](HYPOTHESES.md "Dredged-material dumping") [D4](HYPOTHESES.md "Sand and gravel extraction") [D5](HYPOTHESES.md "Cable and pipeline works") [C8](HYPOTHESES.md "Constructed change to circulation") | EMODnet Human Activities seabed-use layers |
| `account` | **ICES-DOME-BIOTA** | [E9](HYPOTHESES.md "PFAS and persistent novo-chemicals") [E6](HYPOTHESES.md "Biocides and antifoulants") [E10](HYPOTHESES.md "Heavy metals") [E7](openproblems/E7.md "Pesticides and degradation products") [O3](HYPOTHESES.md "Loss of higher benthic life") | ICES DOME - contaminants in biota, Denmark |
| `account` | **OSPAR-ODIMS** | [D3](HYPOTHESES.md "Dredged-material dumping") [D2](HYPOTHESES.md "Navigation dredging") [E10](HYPOTHESES.md "Heavy metals") [E6](HYPOTHESES.md "Biocides and antifoulants") | OSPAR dumped-materials (dredged material disposal) submissions |
| `account` | **PANGAEA-POREWATER** | [E1](HYPOTHESES.md "Sulphide oxidation") [E3](HYPOTHESES.md "Iron and manganese oxidation") [E12](HYPOTHESES.md "Hydrogen sulphide toxicity") [A7](openproblems/A7.md "Sediment nutrient regeneration") | PANGAEA - sediment porewater chemistry, Danish and adjacent waters |
| `account` | **BSH-MARNET** | [C4](hypodrafts/C4.md "Baltic inflow events") [C1](hypodrafts/C1.md "Stratification strength") [A5](HYPOTHESES.md "Advected nutrients from outside Denmark") | BSH MARNET automatic monitoring network |
| `account` | **DMA-AIS** | [B7](HYPOTHESES.md "Shipping discharges") [D6](HYPOTHESES.md "Anchoring and propeller wash") [D1](hypodrafts/D1.md "Bottom trawling") | Danish Maritime Authority raw AIS archive |
| `account` | **EEA-INDUSTRY** | [B5](HYPOTHESES.md "Industrial organic discharge") [E5](HYPOTHESES.md "Direct chemical oxygen demand of discharges") [A4](HYPOTHESES.md "Point-source discharge of nutrients") | EU Industrial Emissions Portal (formerly E-PRTR / IED reporting) |
| `account` | **`ENA-DK-COASTAL-16S`** | [J8](HYPOTHESES.md "Bacterial exopolymer from fast-growing communities") [F8](HYPOTHESES.md "Microbial shift to fast-growing forms") [T5](HYPOTHESES.md "Loss of sediment suppressiveness") | Danish coastal-water microbial sequence data in ENA |
| `account` | **ENA-MGNIFY-DK-SEDIMENT** | [T5](HYPOTHESES.md "Loss of sediment suppressiveness") [T6](HYPOTHESES.md "Enrichment dissolving the partnership") [F8](HYPOTHESES.md "Microbial shift to fast-growing forms") | Danish marine sediment microbial sequence data in ENA and MGnify |
| `account` | **ERA5** | [G3](HYPOTHESES.md "Changing wind climatology") [C2](HYPOTHESES.md "Wind work") [D7](hypodrafts/D7.md "Storm-driven resuspension") | ERA5 reanalysis, single levels |
| `account` | **GFW** | [D1](hypodrafts/D1.md "Bottom trawling") [B7](HYPOTHESES.md "Shipping discharges") [D6](HYPOTHESES.md "Anchoring and propeller wash") | Global Fishing Watch apparent fishing effort v3.0 |
| `account` | **ICES-VMS-SAR** | [D1](hypodrafts/D1.md "Bottom trawling") [D6](HYPOTHESES.md "Anchoring and propeller wash") [O3](HYPOTHESES.md "Loss of higher benthic life") | ICES WGSFD VMS/logbook swept-area-ratio product |
| `account` | **LOOP** | [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S2](HYPOTHESES.md "Phosphorus saturation, and legacy leakage") [S6](HYPOTHESES.md "Retention capacity is saturable, so the coefficient is not constant") | LOOP - Landovervaagningsoplandene (agricultural catchment monitoring with root-zone and dr |
| `account` | **CMEMS-NWS-WAV** | [D7](hypodrafts/D7.md "Storm-driven resuspension") [O2](HYPOTHESES.md "Fedtemøg") | Copernicus Marine North-West Shelf Wave Reanalysis |
| `account` | **EEA-UWWTD** | [A4](HYPOTHESES.md "Point-source discharge of nutrients") [B3](HYPOTHESES.md "Treatment plant organic load") | Waterbase - UWWTD (Discharge Points, Agglomerations) |
| `account` | **EFAS** | [C5](HYPOTHESES.md "Freshwater discharge buoyancy") [G2](HYPOTHESES.md "Changing precipitation and runoff timing") | EFAS historical river discharge (LISFLOOD) |
| `account` | **EMODNET-BATHY** | [C7](HYPOTHESES.md "Bathymetry, sills and depth") [C3](HYPOTHESES.md "Residence time") | EMODnet Bathymetry DTM |
| `account` | **EMODNET-FISHING** | [D1](hypodrafts/D1.md "Bottom trawling") [O3](HYPOTHESES.md "Loss of higher benthic life") | EMODnet Human Activities fishing intensity WFS layers |
| `account` | **EMODNET-VESSELDENSITY** | [B7](HYPOTHESES.md "Shipping discharges") [D6](HYPOTHESES.md "Anchoring and propeller wash") | EMODnet Human Activities vessel density |
| `account` | **HELCOM-FISHING-INTENSITY** | [D1](hypodrafts/D1.md "Bottom trawling") [O3](HYPOTHESES.md "Loss of higher benthic life") | HELCOM MADS fishing intensity layers (ICES WGSFD product, HELCOM-processed) |
| `account` | **CDSE-SENTINEL1** | [J6](HYPOTHESES.md "Oil and hydrocarbon films") | `Sentinel-1` GRD SAR over Danish waters, Copernicus Data Space Ecosystem |
| `account` | **EMEP** | [A3](HYPOTHESES.md "Atmospheric deposition on the sea surface") | EMEP MSC-W modelled deposition |
| `account` | **EMODNET-LITTER-DK** | [J5](HYPOTHESES.md "Microplastic and its biofilm") | EMODnet Chemistry marine litter - Danish beach and seafloor records, and the microlitter b |
| `account` | **HOLMER-SULFIDE-FIGSHARE** | [T1](HYPOTHESES.md "Sulphide intrusion, gated by light") | Sulfide intrusion and detoxification in Zostera marina - the raw data |
| `account` | **ICE** | [G5](HYPOTHESES.md "Changing ice cover") | Sea ice for Danish waters - no single confirmed source |
| `account` | **ICES-SAG** | [F4](HYPOTHESES.md "Trophic cascade from a removal far away") | ICES Stock Assessment Graphs (SAG) web service |
| `blocked` | **PULS** **[slot]** | [B1](hypodrafts/B1.md "Combined sewer overflow") [B2](HYPOTHESES.md "Separate stormwater") [B3](HYPOTHESES.md "Treatment plant organic load") [A4](HYPOTHESES.md "Point-source discharge of nutrients") [B5](HYPOTHESES.md "Industrial organic discharge") [E5](HYPOTHESES.md "Direct chemical oxygen demand of discharges") | PULS - Punktkilder og spildevand |
| `blocked` | **R2-R4-R8-R9-R10-GAP** | [R2](HYPOTHESES.md "Priming of the old sediment pool by fresh carbon") [R4](HYPOTHESES.md "Nitrogen enrichment retards decay of the recalcitrant fraction") [R8](HYPOTHESES.md "Lipids are less soluble in seawater") [R9](HYPOTHESES.md "Home-field advantage, and novel material") [R10](HYPOTHESES.md "Osmotic discontinuity for the decomposers themselves") | Five decomposition experiments that have never been run in Danish water |
| `blocked` | **ICES-DOME-EXTRACTION-GAP** | [K1](hypodrafts/K1.md "Silicon depletion and the diatom-to-flagellate shift") [K2](HYPOTHESES.md "Stoichiometric imbalance decides who grows") [K8](HYPOTHESES.md "The narrow window between deficient and toxic") [K9](HYPOTHESES.md "Selenium") | ICES DOME direct extraction - where the numbers are, and why they did not come out |
| `blocked` | **SHARK** | [A5](HYPOTHESES.md "Advected nutrients from outside Denmark") [C1](hypodrafts/C1.md "Stratification strength") [A9](HYPOTHESES.md "Nitrogen fixation") [F7](HYPOTHESES.md "Harmful algal blooms specifically") | SHARK - Swedish marine environmental monitoring data |
| `blocked` | **VANDA-API** | [A9](HYPOTHESES.md "Nitrogen fixation") [F7](HYPOTHESES.md "Harmful algal blooms specifically") [F6](HYPOTHESES.md "Jellyfish blooms") [O4](HYPOTHESES.md "Turbidity and phytoplankton biomass") | VanDa REST API - the successor surface-water database |
| `blocked` | **B8-GAP** | [B8](HYPOTHESES.md "Direct manure and slurry entry") [F9](HYPOTHESES.md "Disease and parasite mass mortality") [F10](HYPOTHESES.md "Vertebrate mass mortality") | Danish environmental incident / spill / fish-kill registers - confirmed absent in open for |
| `blocked` | **BADEVAND** | [B6](HYPOTHESES.md "Harbour and fish-processing waste") [B1](hypodrafts/B1.md "Combined sewer overflow") [O2](HYPOTHESES.md "Fedtemøg") | Bathing water quality portal |
| `blocked` | **BIOTIC-MARLIN** | [K14](HYPOTHESES.md "Genetic and functional diversity depletion") [D11](HYPOTHESES.md "Stabilisers against destabilisers") [F2](HYPOTHESES.md "Loss of bioturbators") | BIOTIC - Biological Traits Information Catalogue |
| `blocked` | **DANISH-PORTALS-BLOCKED** | [T1](HYPOTHESES.md "Sulphide intrusion, gated by light") [T4](HYPOTHESES.md "Marine replant failure: negative sediment feedback") [L4](HYPOTHESES.md "Recovery is blocked by something other than the driver") | Danish research-portal infrastructure is closed to automated retrieval |
| `blocked` | **HELCOM-OILSPILLS** | [J6](HYPOTHESES.md "Oil and hydrocarbon films") [B7](HYPOTHESES.md "Shipping discharges") [B8](HYPOTHESES.md "Direct manure and slurry entry") | HELCOM detected spills of mineral oil and other substances - aerial surveillance, per obse |
| `blocked` | **HELCOM-PLC** | [A5](HYPOTHESES.md "Advected nutrients from outside Denmark") [A1](hypodrafts/A1.md "Danish land-based nitrogen load") [A2](HYPOTHESES.md "Phosphorus load") | HELCOM PLC (Pollution Load Compilation) data portal |
| `blocked` | **J1-J2-J3-GAP** | [J1](openproblems/J1.md "Transparent exopolymer particles and marine gel") [J2](HYPOTHESES.md "Sea-surface microlayer enrichment") [J3](HYPOTHESES.md "Surfactants from detergents and personal care") | TEP, sea-surface microlayer and surfactants in Danish waters - confirmed absent, twice ove |
| `blocked` | **K12-STENREV-GAP** | [K12](HYPOTHESES.md "Loss of habitat-forming structure") [L6](HYPOTHESES.md "The degraded bed is classified as its own habitat type") [D5](HYPOTHESES.md "Cable and pipeline works") | Danish stone-reef removal and restoration as data - not located |
| `blocked` | **K5-K6-K13-GAP** | [K5](HYPOTHESES.md "Cobalamin (B12) and cobalt limitation") [K6](HYPOTHESES.md "Iron bioavailability") [K13](HYPOTHESES.md "Food depletion for filter feeders and larvae") | Cobalamin, iron speciation and particle size spectra in Danish waters - none found |
| `blocked` | **L4-DEPOSIT-GAP** | [L4](HYPOTHESES.md "Recovery is blocked by something other than the driver") [T4](HYPOTHESES.md "Marine replant failure: negative sediment feedback") [K12](HYPOTHESES.md "Loss of habitat-forming structure") | Named Danish restoration projects with no deposited data - NOVAGRASS, ReMAPP, Laesoe Trind |
| `blocked` | **R7-TOC-MAP-GAP** | [R7](HYPOTHESES.md "Estuarine flocculation deposits river carbon at the coast") [R3](HYPOTHESES.md "The decay relay stalls when a stage is removed") [H2](HYPOTHESES.md "Sediment legacy") | A sediment organic-carbon map for Danish waters - confirmed absent from the national produ |
| `blocked` | **S1-PAPERS** | [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S3](HYPOTHESES.md "Sorption is hysteretic - a ratchet on the land side too") [S4](HYPOTHESES.md "Total is not available") | The Danish soil-and-sediment process papers that stand in for the missing datasets |
| `blocked` | **CMEMS-BAL-WAV** | [D7](hypodrafts/D7.md "Storm-driven resuspension") [O2](HYPOTHESES.md "Fedtemøg") | Copernicus Marine Baltic Sea Wave Reanalysis |
| `blocked` | **DAI-KYSTVANDOPLANDE** | [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S6](HYPOTHESES.md "Retention capacity is saturable, so the coefficient is not constant") | Danmarks Arealinformation - kystvandoplande and deloplande, the catchment units nitrogen r |
| `blocked` | **DK-DRAENKORT-AU** **[slot]** | [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S6](HYPOTHESES.md "Retention capacity is saturable, so the coefficient is not constant") | Kortlaegning af draenede arealer i Danmark - national map of potentially drained agricultu |
| `blocked` | **DK-DRAENUDLOEB** | [S1](HYPOTHESES.md "Retention is a property of the medium and varies by an order of magnitude") [S6](HYPOTHESES.md "Retention capacity is saturable, so the coefficient is not constant") | Draenudloeb and drain pipe networks - the outfalls themselves |
| `blocked` | **DOME-METALS-WATERCOLUMN-GAP** | [K8](HYPOTHESES.md "The narrow window between deficient and toxic") [K6](HYPOTHESES.md "Iron bioavailability") | Dissolved trace metals in the Danish marine water column - confirmed absent |
| `blocked` | **FIMUS-STRANDINGS** | [F10](HYPOTHESES.md "Vertebrate mass mortality") [F9](HYPOTHESES.md "Disease and parasite mass mortality") | Beredskabet for havpattedyr - Danish marine mammal stranding records |
| `blocked` | **HAEDAT** | [F7](HYPOTHESES.md "Harmful algal blooms specifically") [F9](HYPOTHESES.md "Disease and parasite mass mortality") | HAEDAT - Harmful Algae Event Database |
| `blocked` | **IOW-ODIN** | [C4](hypodrafts/C4.md "Baltic inflow events") [C1](hypodrafts/C1.md "Stratification strength") | IOW ODIN2 data portal / Arkona and Darss Sill observatories |
| `blocked` | **L1-GAP** | [L1](HYPOTHESES.md "The reference condition never existed") [L3](hypodrafts/L3.md "The trend depends on the start year") | Dated diatom or pigment stratigraphy from Danish coastal sediment - confirmed absent from  |
| `blocked` | **L2-DERIVATION** | [L2](HYPOTHESES.md "The reference is a model output treated as a fact") [L3](hypodrafts/L3.md "The trend depends on the start year") | The Danish reference-condition derivation chain, as papers |
| `blocked` | **L6-GAP** | [L6](HYPOTHESES.md "The degraded bed is classified as its own habitat type") [K12](HYPOTHESES.md "Loss of habitat-forming structure") | Historical Danish seabed structure - charts, stenfiskeri records and oyster beds, not loca |
| `blocked` | **R1-FEDT-GAP** | [R1](HYPOTHESES.md "The C:N threshold, and fat as a nitrogen sink") [B3](HYPOTHESES.md "Treatment plant organic load") | Fat and lipid as a reported Danish discharge parameter - unresolved |
| `blocked` | **R6-FE-S-GAP** | [R6](openproblems/R6.md "Sulphide locks the iron that would hold the phosphate") [T7](HYPOTHESES.md "Anaerobic phytotoxins other than sulphide") | Paired sequential iron AND sulphur extraction on Danish sediment - confirmed absent |
| `blocked` | **S2-GAP** | [S2](HYPOTHESES.md "Phosphorus saturation, and legacy leakage") [S3](HYPOTHESES.md "Sorption is hysteretic - a ratchet on the land side too") | Danish soil phosphorus status by area - confirmed absent as open data |
| `blocked` | **D2-GAP** | [D2](HYPOTHESES.md "Navigation dredging") | Danish navigation dredging permits - no working public register |
| `blocked` | **EMSA-CLEANSEANET-GAP** | [J6](HYPOTHESES.md "Oil and hydrocarbon films") | EMSA CleanSeaNet oil-slick detections - restricted to national authorities |
| `blocked` | **F8-GAP** | [F8](HYPOTHESES.md "Microbial shift to fast-growing forms") | Microbial community composition in Danish coastal waters - confirmed blank |
| `blocked` | **K4-M74-GAP** | [K4](HYPOTHESES.md "Thiamine (B1) deficiency") | Thiamine deficiency and M74 - no Danish assay, and the Swedish series not opened |
| `blocked` | **MST-HAVBRUG** | [A8](HYPOTHESES.md "Marine aquaculture") | Miljoestyrelsen havbrug permits and egenkontrol reporting |
| `blocked` | **NYBORG-OVERLOEB** | [B1](hypodrafts/B1.md "Combined sewer overflow") | Nyborg Forsyning combined-sewer overflow telemetry (Grafana) |

<span class="claim" data-claim="C-DQ-U-COUNT">**[89](SOURCES.md#F-38de94525e) entries are not classed open.** The ones a slot is filed under are marked **[slot]**; the other slots match no register entry or an entry in the open tier (`SPILDEVANDSDATA`).</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-COUNT "What this claim rests on")</sup>

<span class="claim" data-claim="C-DQ-U-ADD">If you hold one of the others and it is worth a slot, the shape is cheap to add - the cost is agreeing what the file should look like, not writing the reader.</span><sup class="claim-mark">[†](CLAIMS.md#C-DQ-U-ADD "What this claim rests on")</sup>
