Data provenance
In short: radiocarbon dates from open compilations (CalPal, aDRAC, SARD, p3k14c), calibrated with IntCal20 / SHCal20, grouped into sites, with outliers and contested dates flagged. Seven African sites are entered from the literature with approximate ranges and are marked as such. The extent is a drawing heuristic, not a fitted diffusion model.
This describes the two prototype layers. The rules below now live in pipeline/src/chronogaia/ (layers/neolithic.py, layers/africa.py and transforms/). It was written when the build ran in a network-restricted cloud sandbox, which is why CalPal stands in for RADON. Several of those sources are reachable now; see notes/design.md section 3.
The network databases named in the original plan (RADON, RADON-B, XRONOS) could not be reached from the build environment. Instead, the data comes from open radiocarbon compilations mirrored on GitHub, the same sources the c14bazAAR R package uses. The pipeline downloads them (pinned by commit and checksum), filters them and calibrates them. just data reproduces web/public/data/*.geojson exactly.
| Source | Used for | Citation / licence |
|---|---|---|
| CalPal database, 2020-08-20 snapshot (nevrome/CalPal-Database) | All Neolithic sites; Khartoum Neolithic, Nabta Playa and Tilemsi pastoral sites | Weninger, B. et al., CalPal radiocarbon database. It covers Near East, Europe and North Africa, and records culture attributions. |
| aDRAC v2 (dirkseidensticker/aDRAC) | Central African farming villages (by pottery style), iron (slag, tuyère or iron object found with the date), caprines, Great Lakes sites | Seidensticker & Hubau 2021; Seidensticker et al. 2021, Sci. Adv. 7:eabd8352. ODbL. |
| SARD (emmaloftus/Southern-African-Radiocarbon-Database) | Southern African Early Iron Age; direct dates on domestic sheep and cattle | Loftus, Mitchell & Bronk Ramsey 2019, Antiquity 93:870 |
| p3k14c 2025.07 (people3k/p3k14c) | Nigerian iron-smelting furnaces (Nok region), Taruga | Bird et al. 2022, Sci. Data 9:27. This is the "scrubbed and fuzzed" release, so coordinates are flagged as approximate. |
Literature (pipeline/curated/africa_literature.csv) |
7 key sites the databases lack (Takarkori, Gobero, Lothagam North, Luxmanda, Kwale, Katuruka, Meroë) | The publication is cited on each row. These entries use approximate published date ranges and approximate coordinates, and every row is flagged. |
| IntCal20 / SHCal20 (via rcarbon) | Calibration | Reimer et al. 2020; Hogg et al. 2020 |
| Natural Earth 1:50m land, lakes, rivers | Offline base map | Public domain |
Nothing in the data files is invented. Every site comes from one of the databases above or from a cited publication. Where this map's compiler added an interpretation the database lacks, such as calling the Rwandan and Burundian furnace sites "Urewe region Early Iron Age", the site carries the attribution_by_compiler flag and its popup says so.
Processing
- Calibration. Every date is calibrated in the script: IntCal20 north of the equator, SHCal20 south of it. Each date gets a median and a 95% range. Years are given as calendar years, BC negative, with no year 0 (1 BC is −1): year = 1950 − cal BP for AD dates and 1949 − cal BP for BC dates.
- Date filters. Dates are dropped if their standard deviation is above 200 years (250 for Africa), or if they were measured on shell, marine material, sediment, humic acid, bulk organics or food crusts (reservoir and old-carbon effects).
- Neolithic selection. The script keeps CalPal dates from Neolithic and Pre-Pottery Neolithic contexts between 11°W–60°E and 29°N–63°N. It excludes ceramic hunter-gatherer groups that CalPal files as "Neolithic" (Ertebølle, Pitted Ware, Comb Ware, Narva, Bug-Dniester and others) and most of the forest zone (Finland, the Baltic, Russia). Each culture has a generous plausible time span, e.g. LBK 5700–4800 BC and TRB 4300–2700 BC. Dates outside that span are dropped, because multi-period sites often carry Mesolithic dates under a Neolithic label. Dates without a culture are kept only in regions where that is unambiguous: the Near East, Greece, the Balkans, the western Mediterranean, Iberia, Britain and Ireland.
- Sites. Dates are grouped by site name and position: dates with the same name belong to one site if each lies within 25 km of another. The 25 km allows for sources that record one site at different coordinates; a site whose dates' coordinates differ by more than 5 km is flagged
approx_coords. Same-name sites further apart stay separate (seenotes/site-aggregation.md). A site's start is its earliest date. If a site has at least four dates and the oldest is more than 300 years older than the next, the oldest is set aside (flagoldest_date_dropped). A site's end is its latest date. Its culture is the culture of its earliest date. - Outliers. A site with three or fewer dates is flagged
outlierif it is more than 800 years older than every one of at least three neighbours within 300 km. Outlier sites still appear on the map, drawn as rings, but are not used for the front. - Pioneer filter (Neolithic and Bantu farming only). A site is kept only if its start is within 500 years of the local first arrival, which is computed from sites within 150–250 km. This keeps the dots focused on the spread. Without it, a thousand later Neolithic sites would bury the earliest ones.
- Contested dates. Iron dates before 1000 BC (for example Mban in Chad, and the early Great Lakes dates) and the claimed early domestic cattle at Nabta Playa are flagged
contested. They are shown as rings and kept out of the front.
How the front is drawn
The front is computed in the browser (web/src/front/front.ts) for each sub-layer on a 0.2–0.3° land grid. The grid is rasterised from Natural Earth land, so the shading follows coastlines. Each cell's arrival year is:
arrival(cell) = min over sites within R km of ( site start + distance / v )
Here v = 1 km/yr, roughly the speed estimated for the Neolithic front by Pinhasi et al. 2005 and Fort 2012, and R = 180 km for Europe, 350 km for Bantu farming and iron, and 400 km for pastoralism. The front at year Y is the contour of arrival ≤ Y, computed with d3-contour. The isochrones are the same contour every 500 years.
This is a drawing heuristic, not a fitted diffusion model. Where there are many sites it reproduces the familiar wave. Where sites are sparse (Saharan and East African pastoralism, eastern Africa generally) it draws isolated circles around the few dated sites. Read that as "dated presence here" and not as a reconstructed frontier. The parameters are set per sub-layer in the layer modules and reach the browser in layers.json.
Simplifications in the method
Four places where the method is simpler than the practice it stands in for. They were raised by the October 2026 review (review/archaeological-methodology.md §1.1, §1.2, §2.2 and §3). The figures are measured on the data as built in October 2026.
- The calibration curve switches at the equator. A date from latitude 0° or north is calibrated with IntCal20, one from south of it with SHCal20. The real boundary between the two hemispheres' air is the Intertropical Convergence Zone, which moves north and south with the seasons, so near the equator neither curve is strictly right and a mix of the two is sometimes used. This matters for the Africa layer: 177 of its 324 sites lie within 10° of the equator. The size of the possible error is the gap between the curves. SHCal20 ages run about 37 radiocarbon years older than IntCal20 for the same calendar year, and calibrating every measurement in the build with both curves moves the median by 39 years in the typical case and 148 at most. That is well inside the 95% range the popup shows, and far below the 500-year spacing of the isochrones.
- A site appears at the median of its earliest date. Where the calibration curve is flat or wiggles, the calibrated distribution is wide or has two peaks, and the median can be a year that is itself unlikely. The worst stretch is the Hallstatt plateau, about 750–400 BC. 21 radiocarbon-dated sites start inside it, all of them in the Africa layer: 11 ironworking, 9 farming and 1 pastoral. Their 95% range is 415 years wide in the median case, against 265 for other African sites. The popup gives the 95% range of the earliest date; read a start year on the plateau as "somewhere in that range", not as the year shown. Whether to flag such sites is an open question (
notes/design.md§12). - The outlier rule depends on how well a region is sampled. A thinly dated site is tested only if it has at least three neighbours within the radius, so an early date in an unexplored region is never tested, and the absence of the
outlierflag there is not a judgment that the date is sound. In this data the gap is small: of 1,177 thinly dated farming sites, 7 had too few neighbours to be tested. The rule is applied to the farming sub-layers only. Ironworking and pastoral sites are not tested by it; their doubtful early dates are flaggedcontestedby rule (step 7). - The front crosses water and ignores terrain. A cell's distance to a site is a straight line, at the same speed in every direction. The land mask only decides where the front is drawn, not how it travels, so a site's reach passes over a strait or a sea and comes ashore on the far side on the same schedule as overland: across the Adriatic, the Channel or the Strait of Gibraltar, wherever the far shore is within
R. Nor do mountains slow it or coasts and rivers speed it, though farming demonstrably spread faster by sea along the Mediterranean than overland. This is part of what "a drawing heuristic, not a fitted diffusion model" means above.
Known gaps and caveats
- Modern coastlines are used throughout. Doggerland, the Black Sea shore and the Persian Gulf shoreline differed in the early Holocene.
- CalPal sampling is uneven. Britain and Ireland are dense, while Anatolia and the Near East are sparse. RADON or XRONOS would improve central and eastern Europe once they can be reached.
- East Africa is thin. KITE East Africa (Courtney Mustaphi & Marchant 2016) was not reachable, so Urewe and Kwale sites and the Pastoral Neolithic are under-represented. A first follow-up should add KITE, or hand-curated sites from Lane 2013, Grillo et al. 2020 and Prendergast et al. 2019.
- The "Bantu-associated" label follows Seidensticker et al. 2021, who treat the Central African pottery groups as a proxy for village communities. The link between pottery styles and languages is an inference, not a given.
- Pastoralism and iron did not spread with the Bantu expansion. They are sub-layers here because the two stories interact, not because they are one process.