{
  "schemaVersion": 1,
  "bounds": [
    -93,
    -56,
    -33,
    28
  ],
  "projection": "EPSG:3857",
  "frame": [
    900,
    580
  ],
  "boundary": {
    "path": "src/data/atlas/latin-america/countries.json",
    "sha256": "b9a343e2541469c3c790500e61a734d7b78e9a18d640c428260c973bad3dfb91",
    "targetCountries": 34,
    "MexicoIncluded": false
  },
  "rainfall": {
    "period": "1991–2020",
    "edition": 2025,
    "unit": "mm/year",
    "sourceResolution": "0.25°",
    "interval": 250,
    "levels": [
      0,
      250,
      500,
      750,
      1000,
      1250,
      1500,
      1750,
      2000,
      2250,
      2500,
      2750,
      3000,
      3250,
      3500,
      3750,
      4000,
      4250,
      4500,
      4750,
      5000,
      5250,
      5500,
      5750,
      6000,
      6250,
      6500,
      6750,
      7000,
      7250,
      7500,
      7750,
      8000,
      8250,
      8500,
      8750,
      9000,
      9250,
      9500,
      9750,
      10000,
      10250,
      10500
    ],
    "colors": [
      "#f2f9fd",
      "#ecf6fb",
      "#e5f2f9",
      "#dfeff7",
      "#d9ecf5",
      "#d3e8f3",
      "#cce5f2",
      "#c6e1f0",
      "#c0deee",
      "#b9dbec",
      "#b3d7ea",
      "#add4e8",
      "#a6d1e6",
      "#a0cde4",
      "#9ac9e2",
      "#92c3de",
      "#8bbedb",
      "#83b8d8",
      "#7cb2d4",
      "#74add1",
      "#6da7cd",
      "#65a1ca",
      "#5e9bc6",
      "#5696c3",
      "#4f90bf",
      "#478abc",
      "#4085b9",
      "#387fb5",
      "#3479b0",
      "#3073a9",
      "#2d6da2",
      "#29679c",
      "#266195",
      "#225b8e",
      "#1f5588",
      "#1b4f81",
      "#18497a",
      "#144374",
      "#113d6d",
      "#0d3766",
      "#0a3160",
      "#062b59"
    ],
    "sampledRange": [
      0.8999999761581421,
      10353.189453125
    ]
  },
  "elevation": {
    "edition": 2022,
    "editionNotObservationYear": true,
    "unit": "m",
    "verticalDatum": "EGM2008",
    "sourceResolution": "60 arc-seconds",
    "processingResolution": "0.05° (every third native source centre; no averaging)",
    "interval": 500,
    "levels": [
      -10000,
      0,
      500,
      1000,
      1500,
      2000,
      2500,
      3000,
      3500,
      4000,
      4500,
      5000,
      5500,
      6000,
      6500,
      7000
    ],
    "colors": [
      "#ecf3e5",
      "#e4efd8",
      "#d5e3bb",
      "#c6d69f",
      "#b8ca82",
      "#b9c179",
      "#bfb876",
      "#c5af73",
      "#c3a26d",
      "#b99164",
      "#af7f5a",
      "#ad7c5f",
      "#c5a38d",
      "#decabc",
      "#f6f1ea"
    ],
    "sampledRange": [
      -2316.25,
      6584.35595703125
    ],
    "terrainColors": [
      "#ecece5",
      "#e4e5dd",
      "#dbddd5",
      "#d3d6cd",
      "#cbcec5",
      "#c3c7bd",
      "#babfb5",
      "#b2b8ad",
      "#a4aca1",
      "#969f96",
      "#88938a",
      "#79877e",
      "#6b7b72",
      "#5d6e67",
      "#4f625b"
    ]
  },
  "rivers": {
    "features": 44,
    "names": [
      "Grande",
      "Panama Canal",
      "Paranaíba",
      "Paraná",
      "San Juan",
      "São  Francisco",
      "Tocantins",
      "Amazonas",
      "Araguaia",
      "Braco Menor",
      "Branco",
      "Bío-Bío",
      "Caquetá",
      "Chixoy",
      "Chubut",
      "Coco",
      "Colorado",
      "Culuene",
      "Desaguadero",
      "Guaporé",
      "Indaiá",
      "Japurá",
      "Jequitinhonha",
      "Juruena",
      "Madeira",
      "Madre de Dios",
      "Magdalena",
      "Mamoré",
      "Marañón",
      "Mendoza",
      "Meta",
      "Negro",
      "Neuquén",
      "Orinoco",
      "Paraiba",
      "Pilcomayo",
      "Purús",
      "Salado",
      "Santa Cruz",
      "Tapajós",
      "Ucayali",
      "Uruguay",
      "Usumacinta",
      "Xingu"
    ],
    "MexicoIncluded": false,
    "coordinateBounds": [
      -93,
      -56,
      -33,
      28
    ]
  },
  "processing": {
    "annualSum": "12 source float32 months summed in float64, then float32 once; any missing month remains missing; real zero valid.",
    "contours": "ContourPy cell-centre linear interpolation with corner_mask=False; filled intervals and contours from exactly the same masked field. Coordinates rounded in projected space to 0.001 display units; this does not increase source resolution.",
    "landMask": "34 existing target-country outlines. Cell centres outside target land masked before contours; original country paths additionally clip displayed geometries, preserving holes. Source coastal/missing cells are not extended.",
    "elevationSampling": "Exact native Float32 GeoTIFF window, then stride 3 centre sampling for continental overview; no integer rounding, hillshade, terrain classification or local survey claim.",
    "riverGeometry": "All named 1:50m source river/ lake-centreline features touching target land; clipped at bounds, then country display clip. No basin polygons, topology, flow direction, mainstem or mouth inferred.",
    "numericExtrema": "Sampled source-grid extrema, not exact summits or national/area-weighted statistics.",
    "rawSourceIncludedInRepository": false,
    "displayRasterization": "Exact generated ContourPy SVG contours and interval fills rasterized by Chromium to 1800×1160 transparent PNG; shared 900×580 projected frame. This increases display sampling only, not source geographic resolution."
  },
  "limitations": [
    "Annual precipitation is not runoff, river discharge, recharge, available water or groundwater stock.",
    "2022 is the relief model edition; source observations span different dates. Elevation is relative to EGM2008.",
    "Source-centre masking leaves coastal or small-island gaps. Gray means missing or unresolved, not zero.",
    "Web Mercator does not preserve area; no area share or water-volume estimate.",
    "Rivers are cartographic lines; BasinATLAS basin polygons remain unavailable after a 403 refusal. Groundwater availability, annual usable yield and stock are not supplied."
  ],
  "sourceLedger": "data-source/atlas/latin-america/water-terrain/source.json",
  "validationLedger": "data-source/atlas/latin-america/water-terrain/validation.json",
  "files": {
    "rivers.json": {
      "sha256": "6daf929f4f93c92ec3d81a1c08d866238400ca4c09706c2ce2ad16c13c60fda1",
      "bytes": 158850
    },
    "sources/manifest.json": {
      "sha256": "9b572fd02fc176b704c2623a581ac9fc48d10516c89c393c5a91b6ae9c404f5f",
      "bytes": 18880
    },
    "validation.json": {
      "sha256": "a29276c326522558ecf23be9398b647a568b15cb2fa89d067d730bd788687a10",
      "bytes": 10507
    },
    "blockers.json": {
      "sha256": "0738ebe9f41ecc0e20d1e082c014aad8c0bc8e3aa213337c278fd38f16427a31",
      "bytes": 512
    },
    "rainfall.png": {
      "sha256": "50b6bb425957ade88e3df1d944f7c1198ba52c76f05da6985e00fdfbe1d0e798",
      "bytes": 280286,
      "width": 1800,
      "height": 1160
    },
    "elevation.png": {
      "sha256": "23042bf61e24ddda041723ae2faf80e129843f52e104e285e30b1a8429e166e3",
      "bytes": 378906,
      "width": 1800,
      "height": 1160
    },
    "terrain.png": {
      "sha256": "e27ba9c638d7ff476eae399f8363ecb7dcf9ce93adbdcc06681e3b96eb71914b",
      "bytes": 370640,
      "width": 1800,
      "height": 1160
    },
    "rasterization.json": {
      "sha256": "22049b0ff2536491b2d034aaadfeb6ebc88fb08eccc8fe998c9f9030805ccde3",
      "bytes": 3495
    }
  },
  "reproduction": {
    "extractScript": "scripts/latin-america/extract-water-terrain.mjs",
    "contourScript": "scripts/latin-america/prepare-water-terrain.py",
    "dependencies": "GeoTIFF.js 3.0.5; Python numpy / contourpy / matplotlib.path. Preparation only; no new site dependency.; existing Playwright and local Chromium for offline image rendering.",
    "cachePolicy": "Original GPCC and acquired ETOPO tiles/native arrays remain in private preparation cache. All scripts are offline. Normal site builds use checked-in display assets only.",
    "rasterizeScript": "scripts/latin-america/rasterize-water-terrain.mjs"
  },
  "publicSourceLedger": "sources/manifest.json",
  "preparationScripts": {
    "scripts/latin-america/prepare-water-terrain.py": "177340e50347d0b55b0dfb530d535ca02d1ba71196431f282e233689fe4c51b1",
    "scripts/latin-america/extract-water-terrain.mjs": "380efef6ec078fba16c9a52182f93367b4df168a9f8ab5ab9df07eac8b107180",
    "scripts/latin-america/rasterize-water-terrain.mjs": "22e80c95a5b84f8fe6050adeb37bc56c20272bf7a584814fe99a06d4a1cc615f"
  },
  "vectorIntermediates": {
    "cachePolicy": "Original source-derived SVG remains in the private preparation cache; normal site builds use the checked-in PNG rendered from those exact contours and fills.",
    "files": {
      "rainfall.svg": {
        "sha256": "aa942340729a3978fb7e0072b3a5376b6b54a6080fa9794fc74716c3a3309351",
        "bytes": 607564
      },
      "elevation.svg": {
        "sha256": "fbc7c0c10e8d9725a1194be85470c9ccfb16bf625933b5035880edfd9812fb65",
        "bytes": 8344639
      },
      "terrain.svg": {
        "sha256": "da74c06d07c0b885b4cc3301f78599b9550b46f8e65738d9cae902f1a5d8700b",
        "bytes": 8344638
      }
    }
  }
}
