Skip to main content
Possible Earths

Method

How a scenario is made

Every scenario follows the same pipeline. There is no automation: each step is a human decision so the final maps stay legible and the counterfactual stays clearly intentional.

1. Acquire a base heightmap

Pull a 2:1 equirectangular global elevation PNG from a public DEM. We typically use NASA SRTM or the Copernicus GLO-30 DEM, downsampled to the resolution Orogen accepts (Orogen samples internally; 2048×1024 or 4096×2048 PNGs work well). The source DEM is not committed to this repo — links to the source are recorded in each scenario's frontmatter.

2. Express the counterfactual

Open the heightmap in GIMP (or via Python/PIL for programmatic edits). Edit only what the scenario calls for. Save as a 2:1 equirectangular grayscale PNG. A few practices that have helped:

  • Work non-destructively — keep a layer for the unmodified DEM you can toggle back on.
  • Soften every edge with at least 30–60 px of Gaussian blur. Orogen's climate model responds to gradients; a hard edit produces visibly synthetic Köppen banding.
  • Stay in 8-bit grayscale when exporting. Orogen's import treats the PNG as a single luminance channel.

3. Import into Orogen

Open orogen.studio/import in a modern desktop browser (we test on Chrome and Firefox). Drop the PNG in. Orogen treats it as an elevation map, builds a sphere mesh, and runs ocean/land detection.

4. Run climate

Click Run climate and wait for it to settle. Optionally tweak the temperature offset and precipitation multiplier sliders to bracket the scenario — for paleo scenarios we target the temperature offset implied by the literature (e.g., +1–2 °C global mean for the mid-Holocene).

5. Export the four views

Use Export All to save satellite, Köppen, the heightmap roundtrip, and the land mask in one shot. For terrain-only and temperature views, switch the Inspect dropdown and re-export individually. You should end up with eight files per scenario: four views × before (the unedited heightmap) and after (the modified one).

6. Drop the files in

Save into public/scenarios/<slug>/ using these exact filenames:

cover.svg                      (or .png/.jpg)
heightmap-input.png
before-terrain.png
before-satellite.png
before-koppen.png
before-temperature.png
after-terrain.png
after-satellite.png
after-koppen.png
after-temperature.png

7. Write the essay

Create or edit src/content/scenarios/<slug>.mdx. Frontmatter is type-checked against the Zod schema in src/content/config.ts; the essay body is plain MDX. Keep it short (300–800 words). Cite at least two primary sources in the sources array.

8. Publish

Set status: 'published', run npm run build locally to confirm a clean build, then commit and push. Render auto-deploys from main. PR previews are enabled for any branch with an open pull request.