{
  "slug": "manila",
  "name": "Manila",
  "country": "Philippines",
  "blurb": "The Philippines' capital, on Manila Bay in the most typhoon-exposed country on Earth, within reach of the West Valley Fault.",
  "generated_at": "2026-08-22T14:23:40+00:00",
  "city": {
    "population": 23862202,
    "ucdb_population": 25921189,
    "area_km2": 2540.1,
    "ucdb_name": "Manila",
    "center": [
      14.5906,
      120.9799
    ],
    "bounds": [
      14.1193,
      120.5253,
      14.9956,
      121.3628
    ],
    "h3_resolution": 8,
    "cells": 3415
  },
  "score": {
    "overall": 64.6,
    "band": "High"
  },
  "indicators": [
    {
      "key": "flood",
      "label": "Flood",
      "description": "Expected annual inundation depth from river and coastal flooding combined, population-weighted across the city. From JRC CEMS-GloFAS river maps at 90 m (seven return periods) and WRI Aqueduct coastal maps (six). Both models are undefended: they simulate water without levees, sea walls or pumping.",
      "unit": "m/year",
      "icon": "droplets",
      "raw_value": 0.033989300391454855,
      "score": 66.55029392884055,
      "weight": 1.0,
      "detail": {
        "population_in_100y_floodplain_pct": 22.5,
        "river_100y_share_pct": 22.24,
        "river_10y_share_pct": 15.0,
        "coastal_100y_share_pct": 2.62,
        "population_in_100y_floodplain": 5363607,
        "population_in_severe_100y_flood_pct": 22.4,
        "severe_depth_threshold_m": 0.5,
        "max_100y_depth_m": 11.02,
        "river_expected_annual_depth_m": 0.033742,
        "coastal_expected_annual_depth_m": 0.001774,
        "dominant_source": "river",
        "coastal_included": true,
        "undefended": true,
        "river_resolution_m": 90,
        "river_return_periods": [
          10,
          20,
          50,
          75,
          100,
          200,
          500
        ],
        "coastal_return_periods": [
          10,
          25,
          50,
          100,
          250,
          500
        ]
      },
      "unavailable_reason": null
    },
    {
      "key": "earthquake",
      "label": "Earthquake",
      "description": "Distance-decayed, magnitude-weighted rate of observed earthquakes around the city, from the USGS ANSS catalogue.",
      "unit": "index/year",
      "icon": "waves",
      "raw_value": 7.989336223637134,
      "score": 72.56276746036356,
      "weight": 1.0,
      "detail": {
        "events": 3330,
        "catalogue_years": 56,
        "catalogue_from": 1970,
        "min_magnitude": 4.5,
        "search_radius_km": 500.0,
        "largest_magnitude": 7.7,
        "events_m6_within_100km": 8,
        "events_within_100km": 378
      },
      "unavailable_reason": null
    },
    {
      "key": "cyclone",
      "label": "Cyclone",
      "description": "Annual rate of tropical cyclone passages near the city, weighted by the sustained wind speed at closest approach. From NOAA IBTrACS, 1980 onwards.",
      "unit": "events/year",
      "icon": "tornado",
      "raw_value": 3.906110476365482,
      "score": 96.02717029441406,
      "weight": 1.0,
      "detail": {
        "storms": 90,
        "storms_per_year": 1.96,
        "typhoon_strength_storms": 49,
        "strongest_wind_kt": 140,
        "strongest_storm": "Angela",
        "record_years": 46,
        "record_from": 1980,
        "influence_radius_km": 200.0
      },
      "unavailable_reason": null
    },
    {
      "key": "wildfire",
      "label": "Wildfire",
      "description": "Annual satellite fire-detection density in the vegetated ring around the city, from NASA FIRMS VIIRS 375 m.",
      "unit": "detections/1000km2/year",
      "icon": "flame",
      "raw_value": 22.4955133460404,
      "score": 67.64492049254082,
      "weight": 1.0,
      "detail": {
        "detections_in_ring": 17998,
        "detections_per_year": 1499.8,
        "record_years": 12,
        "record_from": 2013,
        "buffer_km": 20.0,
        "sensor": "VIIRS S-NPP 375 m",
        "max_cell_density": 153.25
      },
      "unavailable_reason": null
    },
    {
      "key": "heat",
      "label": "Extreme heat",
      "description": "Maximum temperature of the warmest month (BIO5, 1981-2010), averaged across the city. An absolute measure, comparable between climate zones. It does not account for humidity, so it understates the danger of humid tropical heat.",
      "unit": "°C",
      "icon": "thermometer-sun",
      "raw_value": 32.005600057790076,
      "score": 48.0224002311603,
      "weight": 1.0,
      "detail": {
        "warmest_month_max_c": 32.0,
        "hottest_cell_c": 32.9,
        "period": "1981-2010",
        "variable": "BIO5, maximum temperature of the warmest month",
        "humidity_included": false,
        "warm_days_now_pct": 31.3,
        "warm_days_1970s_pct": 12.3,
        "warm_days_change_pp": 19.0,
        "warm_days_history": [
          [
            "1970s",
            12.3
          ],
          [
            "1980s",
            10.0
          ],
          [
            "1990s",
            19.5
          ],
          [
            "2000s",
            25.4
          ],
          [
            "2010s",
            31.3
          ]
        ],
        "warm_days_projections": [
          [
            "SSP1-2.6, 2030s",
            43.4
          ],
          [
            "SSP5-8.5, 2030s",
            45.0
          ]
        ],
        "warm_days_note": "TX90p, the share of days above this city's own 1961-1990 90th percentile. A warming trend, not a heat level - shown for context and deliberately excluded from the score."
      },
      "unavailable_reason": null
    },
    {
      "key": "air_quality",
      "label": "Air quality",
      "description": "Population-weighted annual mean PM2.5 concentration. A chronic hazard rather than an episodic one - it harms through years of exposure, not in a single event - but by mortality it is the largest hazard on this site.",
      "unit": "µg/m³",
      "icon": "wind",
      "raw_value": 15.0,
      "score": 36.67257913420846,
      "weight": 1.0,
      "detail": {
        "pm25_ugm3": 15.0,
        "who_guideline_ugm3": 5.0,
        "times_who_guideline": 3.0,
        "premature_deaths_per_year": 8240,
        "history": [
          [
            "2000",
            15.0
          ],
          [
            "2005",
            21.0
          ],
          [
            "2010",
            18.0
          ],
          [
            "2015",
            20.0
          ],
          [
            "2020",
            15.0
          ]
        ],
        "chronic": true,
        "spatially_uniform": true
      },
      "unavailable_reason": null
    }
  ],
  "missing_indicators": [],
  "profile": [
    {
      "key": "solar",
      "label": "Solar potential",
      "value": 3.99,
      "unit": "kWh/kWp per day",
      "note": "Photovoltaic output for a standard panel. A resource, not a hazard.",
      "source": "World Bank Global Solar Atlas 2.0",
      "icon": "sun"
    },
    {
      "key": "mean_temperature",
      "label": "Mean temperature",
      "value": 27.0,
      "unit": "°C",
      "note": "Annual mean, 2010s. Shown for context; the heat score measures departure from local normal, not absolute warmth.",
      "source": "GHS-UCDB climate reanalysis",
      "icon": "thermometer"
    },
    {
      "key": "greenness",
      "label": "Greenness",
      "value": 0.38,
      "unit": "NDVI",
      "note": "Mean vegetation index across the built-up area. Higher values moderate urban heat.",
      "source": "Landsat via GHS-UCDB",
      "icon": "trees"
    },
    {
      "key": "hospitals",
      "label": "Hospitals",
      "value": 3.2,
      "unit": "per 100,000 people",
      "note": "Mapped health facilities per head. A rough proxy for capacity to respond, and dependent on how completely the country is mapped.",
      "source": "healthsites.io via GHS-UCDB",
      "icon": "hospital"
    },
    {
      "key": "elevation",
      "label": "Average elevation",
      "value": 37.0,
      "unit": "m",
      "note": "Mean ground height across the urban centre.",
      "source": "Copernicus GLO-90",
      "icon": "mountain"
    }
  ],
  "validation": {
    "reference": "GHS-UCDB R2024A published statistics",
    "passed": true,
    "failures": 0,
    "warnings": 1,
    "checks": [
      {
        "key": "urban_area",
        "label": "Urban centre area",
        "ours": 2540.1,
        "reference": 2555.0,
        "unit": "km²",
        "reference_attribute": "GC_UCA_KM2_2025",
        "reference_source": "GHS-UCDB",
        "warn_at": 0.02,
        "fail_at": 0.05,
        "note": "Same polygon measured twice. Disagreement means our projection or area arithmetic is wrong.",
        "informational": false,
        "comparable": true,
        "absolute_floor": null,
        "relative_difference": 0.006,
        "status": "ok"
      },
      {
        "key": "population",
        "label": "Population",
        "ours": 23862202,
        "reference": 25921189.32,
        "unit": "people",
        "reference_attribute": "GC_POP_TOT_2020",
        "reference_source": "GHS-POP via GHS-UCDB",
        "warn_at": 0.25,
        "fail_at": 0.6,
        "note": "Two different global population products (WorldPop against GHS-POP). They routinely differ by 10-20% for the same city.",
        "informational": false,
        "comparable": true,
        "absolute_floor": null,
        "relative_difference": 0.079,
        "status": "ok"
      },
      {
        "key": "river_flood_rp100",
        "label": "Population in the 1-in-100-year river flood plain",
        "ours": 22.24,
        "reference": 21.97,
        "unit": "%",
        "reference_attribute": "EX_100_SHP_2020",
        "reference_source": "Baugh et al. (2024) via GHS-UCDB",
        "warn_at": 0.25,
        "fail_at": 0.5,
        "note": "Same flood model, independently aggregated. This is the check that would have caught the 90 m/1 km resolution bug.",
        "informational": false,
        "comparable": true,
        "absolute_floor": 1.5,
        "relative_difference": 0.012,
        "status": "ok"
      },
      {
        "key": "river_flood_rp10",
        "label": "Population in the 1-in-10-year river flood plain",
        "ours": 15.0,
        "reference": 13.85,
        "unit": "%",
        "reference_attribute": "EX_010_SHP_2020",
        "reference_source": "Baugh et al. (2024) via GHS-UCDB",
        "warn_at": 0.25,
        "fail_at": 0.5,
        "note": "Same flood model, independently aggregated. This is the check that would have caught the 90 m/1 km resolution bug.",
        "informational": false,
        "comparable": true,
        "absolute_floor": 1.5,
        "relative_difference": 0.083,
        "status": "ok"
      },
      {
        "key": "coastal_flood",
        "label": "Population exposed to coastal flood",
        "ours": 2.62,
        "reference": 0.65,
        "unit": "%",
        "reference_attribute": "EX_CF2_SHP_2020",
        "reference_source": "Vousdoukas et al. (2018) via GHS-UCDB",
        "warn_at": 0.35,
        "fail_at": null,
        "note": "Investigated 2026-08-22: this gap is a model difference, not an aggregation bug. Aqueduct's historical coastal layer puts almost no water over Tokyo Bay (101 pixels above 1 cm in the whole city window), while UCDB's two coastal scenarios track the low-elevation coastal zone closely (CF2 8.9% against 8.2% of population below 5 m; CF1 21.0% against 17.2% below 10 m). Aqueduct appears to understate enclosed bays. Aqueduct is kept because it ships rasters and UCDB publishes only city totals, but a better coastal source is an open task.",
        "informational": true,
        "comparable": true,
        "absolute_floor": null,
        "relative_difference": 3.031,
        "status": "warn"
      },
      {
        "key": "cyclone_wind",
        "label": "Cyclone wind exposure",
        "ours": 49,
        "reference": 24447602.91,
        "unit": "storms within 200 km / % of population in category-1 wind",
        "reference_attribute": "EX_100_S1P_2020",
        "reference_source": "GHS-UCDB cyclone wind exposure",
        "warn_at": null,
        "fail_at": null,
        "note": "Not the same quantity, so no ratio is computed: we count storm passages within 200 km, UCDB models whether category-1 wind actually reaches the built-up area. Tokyo reads 24 near-passages against 0% population in category-1 wind, which is consistent - typhoons pass close often, and hurricane-force wind rarely lands on the city. Shown side by side so a qualitative contradiction would be visible.",
        "informational": true,
        "comparable": false,
        "absolute_floor": null,
        "relative_difference": null,
        "status": "ok"
      }
    ]
  }
}