기후 위협 지수란? — 거점 도시 극단 기상 측정 | Earth Doom Index

기후 위협 지수란?

Earth Doom Index의 기후 위협 지수는 대륙별로 분산된 7개 거점 도시의 실시간 기상·대기질 데이터를 OpenWeather API로 수집해, 극단 기온·기상 코드·열습도 스트레스·대기질을 합산한 뒤 0~30점으로 환산한 지표입니다. "오늘 지구 표면이 얼마나 거칠게 움직였는지"를 도시 단위 표본으로 추정합니다.

1. 이 지수란 무엇인가

기후 위협 지수는 Earth Doom Index의 4개 영역 중 물리 환경을 담당합니다. 측정 대상은 단기 기상 재해 — 폭염·한파, 토네이도·뇌우, 강풍, 고온다습, 대기오염 — 이며, 장기 기후변화 추세를 추적하는 지표는 아닙니다. 7개 거점 도시 점수의 평균을 0~30점 척도로 매핑하므로, 한 도시에서 사이클론이 닥쳐도 다른 도시들이 평온하면 점수는 완만하게 오릅니다. 거꾸로 여러 대륙에서 동시에 극단 기상이 발생하면 빠르게 상승합니다.

2. 데이터 출처

원천은 OpenWeatherMap API의 두 엔드포인트입니다. (1) Current Weather — 도시별 체감온도·습도·풍속·기상 코드. (2) Air Pollution — 위경도 기반 AQI(1~5등급). 표본 도시는 서울·뉴욕·뭄바이·도쿄·시드니·카이로·모스크바 7곳이며, 동아시아·북미·남아시아·오세아니아·아프리카·러시아권을 골고루 커버하도록 선정했습니다(고온건조·고온다습·온대·한대 기후 다양성 확보). 무료 API 티어를 사용하므로 분당 호출 한도가 있고, 갱신은 보통 분 단위로 일어납니다. 호출 실패 도시는 Promise.allSettled 로 격리해 다른 도시 수집을 막지 않습니다.

3. 계산 방식

도시 단위 점수를 먼저 만든 뒤 7개 도시 합산값을 정규화합니다. 도시 점수 = 체감온도(0~3) + 극단 기상/풍속(0~2) + 열습도 스트레스(0~1.5) + 대기질(0~1) 으로 최대 7.5점입니다.

체감온도는 30°C 초과 시 (feelsLike − 30) ÷ 20 × 3, −10°C 미만 시 (−10 − feelsLike) ÷ 20 × 3 으로 계산하고 3점에서 클립합니다. 즉 50°C(또는 −30°C)에서 최대치에 도달하며, 이는 인체가 그늘에서도 버티기 힘든 habitability 임계 근처입니다. 풍속은 단계 함수 — 허리케인급(32.7m/s+) 2.0점, 폭풍(24.5+) 1.5점, 강풍(17.2+) 0.8점. 극단 기상 코드와 풍속 점수 중 최댓값을 취해 같은 사건이 이중 가산되지 않도록 합니다. AQI 점수는 등급을 0~1로 정규화 ((aqi − 1) ÷ 4).

열습도 스트레스는 3단계로 평가합니다. 체감 32°C 이상 + 습도 85% 이상이면 1.5점(WBGT 35°C 근사 — 사람이 그늘에서도 6시간 못 버티는 거주 한계), 체감 30°C 이상 + 습도 90% 이상이면 1.0점, 체감 28°C 이상 + 습도 85% 이상이면 0.5점입니다.

7개 도시 점수의 합계(이론 max 52.5)를 단순 클립하지 않고 piecewise 정규화 매핑으로 0~30점에 환산합니다.

SCORE_BREAKPOINTS = [(0,0), (3,3), (8,8), (14,14), (22,20), (30,26), (40,30)]

각 쌍은 (raw 합계, 출력 점수)이며 구간 사이는 선형 보간합니다. raw 40 이상은 30점에서 클립. 단일 도시 스트레스는 한 자리 점수에 머무르고, raw 22점(5+ 도시 동시 강한 스트레스)에서 20점(DANGER), raw 30점(다중 도시 극단, 2003 유럽 폭염급 다발) 부근에서 26점(CRITICAL), raw 40점(7개 도시 동시 극단, 1816 탐보라급 시나리오)에서 30점(DOOM)에 도달하도록 곡선이 설계됐습니다.

4. 이상 기상 임계값

OpenWeather의 기상 코드는 WMO 분류 변형으로 200~800번대를 사용합니다. 본 지수가 위협으로 가산하는 코드는 다음과 같습니다.

코드설명점수
781토네이도2.0
762화산재1.8
504극한 강수1.8
711산불 연기1.5
771스콜1.2
503매우 강한 비1.2
511어는 비1.2
731·751·761모래·먼지폭풍1.2
200~232뇌우 그룹1.2
502강한 비0.8

체감온도 임계값을 30°C로 잡은 것은 WHO 폭염 가이드라인이 대체로 30°C 이상에서 건강 위험이 시작된다고 보기 때문이며, 50°C에서 cap에 도달하도록 한 것은 그늘에서도 사람이 짧은 시간만 버틸 수 있는 habitability 임계를 반영합니다. −10°C는 한대 도시(모스크바·뉴욕)를 일정 수준 흡수하면서 과도하게 점수가 튀지 않도록 정한 운영적 기준점이며, −30°C에서 cap에 도달합니다.

30점 천장은 특정 개념 기준점에 정렬돼 있습니다: 1815년 탐보라 화산 폭발 직후의 "여름 없는 해(1816)" — 글로벌 평균기온이 약 0.7°C 떨어지고 다중 대륙에서 동시에 흉작·기근이 발생한 해입니다. 사회 영역의 "핵전쟁"이나 경제 영역의 "대공황"에 해당하는 climate 영역의 시나리오성 임계가 이것입니다. 단일 사건이 한 지점에서 일어나는 것이 아니라, 전 지구 관측 지점이 동시에 극단을 기록하는 행성급 수렴 상태. piecewise 정규화 곡선은 7개 도시가 동시에 다중 sub-signal에서 극단을 기록할 때 30점에 도달하도록 보정돼 있습니다. 이 보정이 적절한지는 운영 데이터가 쌓이기 전에는 열린 질문입니다.

차트 데이터 불러오는 중...