Skip to content

Repository files navigation

What Gets Counted as a Disaster?

Replication package for

Osiptsov, A.A., Krenke, A.N. & Sotiriadi, N.S. What Gets Counted as a Disaster? Institutional Selection and Monetisation in Global Loss Data. Submitted to Global Environmental Change.

Global disaster databases are not neutral inventories of hazards: they are institutional records of which events become visible and which losses are monetised. Linking EM-DAT to satellite burned area (MODIS MCD64A1) and tropical cyclone wind fields (IBTrACS), the paper separates two stages — entry into the record, which happens before any loss is reported, and monetisation, which happens after — and shows that their income gradients behave differently. At comparable measured hazard exposure, a log point of GDP per capita multiplies the odds that a wildfire is registered by 2.55 and the odds that a cyclone is registered by 0.64. Conditional on registration, monetisation runs the same way on both hazards.

Layout

scripts/         35 numbered scripts; the pipeline, in order
data/            everything the pipeline reads except EM-DAT and the raw MODIS
                 export — see DATA_SOURCES.md for both
results/rev2/    161 result files, including E_numbers.csv, the register in which
                 every number in the paper carries its source file and cell
figures/rev2/    13 figures, regenerated by scripts/51_figures.py
manuscript/      the paper: main.tex, bibliography, generated tables, Elsevier
                 cas-sc class files. Self-contained; drop it into Overleaf as is
Makefile         builds the anonymised and named PDFs and the title page
REPRODUCE.md     run order, timings, and the gaps worth knowing about
DATA_SOURCES.md  every input, where it comes from, and its licence

Quick start

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

Then obtain EM-DAT (see DATA_SOURCES.md) and follow REPRODUCE.md. To rebuild the tables, figures and the number register from the shipped results without re-running the estimation:

python scripts/46_build_e_numbers.py     # rebuilds results/rev2/E_numbers.csv
python scripts/52_tables.py              # rebuilds manuscript/tables/*.tex
python scripts/51_figures.py             # rebuilds figures/rev2/*.png
python scripts/53_verify_prose.py        # checks the prose against the register

53_verify_prose.py reports 149 of 149 claims matching. That is the fastest check that a rerun has not moved anything.

Building the paper

make              # anonymised reviewer file -> main_anonymised.pdf   (24 pp)
make named        # version carrying authors -> main_named.pdf        (24 pp)
make titlepage    # separate title page      -> titlepage.pdf

main.tex carries \anontrue by default, so a plain build produces the reviewer file. For Overleaf, upload manuscript/ and set main.tex as the root document; the figure paths are ../figures/rev2/, so upload figures/ alongside it.

Provenance of the numbers

No number is typed into main.tex by hand. Every table is a .tex fragment generated by scripts/52_tables.py from results/rev2/E_numbers.csv, a register of 1,380 rows in which each entry carries source_file and source_cell. scripts/53_verify_prose.py checks the prose against that register.

Two things to know before quoting a number

Snapshot. All results rest on the EM-DAT archive snapshot of 7 August 2026, except the two analyses added last, 55_storm_asset_controls.py and 56_seasonal_decomposition.py, which use the snapshot of 24 August 2026. EM-DAT backfills past events, so a later snapshot reproduces the qualitative findings but not the exact figures. The difference between these two snapshots was measured rather than assumed: nine country-year-type cells out of 3,871 are added, none removed, totals move by 0.02 to 0.19 per cent, and the published cyclone margins reproduce at 0.641 against 0.638 and 1.225 against 1.219. Every number produced by those two scripts is labelled with its snapshot in the register and in the table notes.

Inference. Conventional cluster-robust joint tests are severely mis-sized on ratio-form loss measures: simulating under a true null, the asymptotic F rejects in 82 per cent of samples on the lag coefficients this literature reports. All inference here is a restricted wild cluster bootstrap with Webb weights and B = 9,999. See Appendix B of the paper and scripts/54_mc_reconcile.py.

What is not here

This repository holds the pipeline behind the submitted paper. The earlier revision of this project — a different paper, on subnational population responses — and the audit that preceded this one are not included: 22 scripts, the superseded results/*.csv layer and 31 Russian-language stage reports were removed when the repository was rebuilt around the current paper. They are preserved in the authors' local history.

Citation and licence

Code MIT (LICENSE). Data carry the licences of their sources, listed in DATA_SOURCES.md; EM-DAT in particular is not redistributable and is not included.

CRED / UCLouvain, EM-DAT: The International Disaster Database, Brussels (emdat.be) · World Bank, World Development Indicators · OECD Quarterly National Accounts · NASA MODIS MCD64A1 burned area, distributed through the Copernicus Global Wildfire Information System · NOAA NCEI IBTrACS v04 · Natural Earth · Global Data Lab, Subnational Human Development Database v8.3.

About

Replication package: What Gets Counted as a Disaster? Institutional Selection and Monetisation in Global Loss Data — EM-DAT linked to MODIS burned area and IBTrACS wind fields to separate entry into the disaster record from monetisation after it

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages