티스토리 뷰
1. 지진 발생 정보 (일본 해역)
- 위치: 일본 동북부 해역 (예: 도호쿠 인근 태평양 연안)
- 규모: Mw 8.5 ~ 9.0
- 깊이: 10 ~ 30km
- 형태: 해저 단층 파열 → 수직 변위 발생 → 쓰나미 유발
2. 쓰나미 전파 예측
- 모델링 툴: COMCOT, TUNAMI-N2, JAGURS, GEOWAVE, Tsunami-HySEA 등
- 해저지형 데이터: GEBCO, 한국해양과학기술원(KIOST), 일본 해상보안청
- 시간 간격 예측:
- 1차 도달 지역: 일본 해안 (수분 이내)
- 대한민국 동해안 도달 시간: 1시간 ~ 2시간 이내 (지역별 상이)
3. 대한민국 영향 지역
1차 피해 예상 지역 (동해안 중심)
강원도 속초 | 약 1시간 30분 | 1.5 ~ 3m | 항만, 해안도로 침수 가능 |
경북 포항 | 약 1시간 50분 | 2 ~ 4m | 해양산업 단지 위험 |
울산 | 약 2시간 | 1 ~ 2m | 일부 저지대 침수 가능 |
부산 해운대 | 약 2시간 10분 | 0.5 ~ 1.5m | 관광지 및 인명 대피 중요 |
4. 대피 및 경보 시스템
- KMA (기상청) 실시간 지진감지 및 쓰나미경보 발령
- 해양경찰청, 행정안전부 대피령 발효
- 대피 시간 확보: 1~2시간 내 대피 유도 필요
- 시민 행동 매뉴얼: 고지대 대피, 차량 사용 자제, 해안 접근 금지
5. 추가 변수
- 조석 영향: 만조 시 피해 1.5~2배 증가
- 기상 조건: 태풍, 저기압과 겹칠 경우 위험 증폭
- 항만 시설물/방파제 영향도: 지역별 방어 능력 차이 있음
쓰나미 전파 모델 생성
목적
- 일본 해역에서 발생한 지진으로 인해 쓰나미가 대한민국 동해안에 도달하는 과정을 시각화
- 전파 속도, 도달 시간, 해안별 예상 파고 등을 시간순 애니메이션으로 표현
시작 시점 | 일본 동북 해역에서 지진 발생 (진원 좌표 및 진도 표기) |
시간 흐름 | 초 단위 → 분 단위 경과 표시 (T+0, T+15분, T+30분, T+60분 등) |
전파 시각화 | 쓰나미 고파를 등고선(blue/red gradient)으로 표현 |
대한민국 도달 | 동해안 주요 도시별 도달 시각/파고 애니메이션 |
지도 배경 | 위성지도 또는 해저지형 DEM(디지털 고도 모델) 포함 |
대상 지역 범위
- 일본 동북 해역 (진원지) ~ 대한민국 동해안 전체 (속초 ~ 부산)
- 추가로 러시아 블라디보스토크, 북한 원산, 일본 서부 등도 포함 가능
제작 방식
- 2D 시뮬레이션 애니메이션 (간단하고 빠름)
- Python + Matplotlib + Basemap
- DEM(해저지형 데이터) 기반 등고선 표현
- 시뮬레이션 프레임 → GIF or MP4로 출력
- 고급 3D 시뮬레이션 (고정밀/실시간 응용)
- Unity + 해양 물리 모델
- Unreal Engine + Tsunami Propagation Plugin (별도 라이센스 필요)
- Blender 시뮬레이션 가능 (파동, 입체 효과 강조)
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
# 시뮬레이션 설정
grid_size = 200
epicenter = (100, 50) # 일본 동북 해역 가정
time_steps = 100
# 격자 생성 (대한민국 동해안까지 포함한 범위)
x = np.linspace(0, 200, grid_size)
y = np.linspace(0, 100, grid_size)
X, Y = np.meshgrid(x, y)
# 거리 계산 (쓰나미 파동이 방사형으로 전파됨)
distance = np.sqrt((X - epicenter[0])**2 + (Y - epicenter[1])**2)
# 애니메이션용 초기화
fig, ax = plt.subplots(figsize=(8, 4))
contour = ax.contourf(X, Y, np.zeros_like(distance), levels=50, cmap='Blues')
ax.set_title('쓰나미 전파 시뮬레이션 (가상)')
ax.set_xlabel('경도 방향')
ax.set_ylabel('위도 방향')
# 업데이트 함수
def update(frame):
ax.clear()
wave = np.sin(0.2 * distance - 0.5 * frame) * np.exp(-0.05 * (distance - 0.5 * frame)**2)
wave[distance < 0.5 * frame - 10] = 0 # 파동 뒤쪽 제거
contour = ax.contourf(X, Y, wave, levels=50, cmap='Blues')
ax.set_title(f'쓰나미 전파 시뮬레이션 - 시간: {frame*2}초')
ax.set_xlabel('경도 방향')
ax.set_ylabel('위도 방향')
return contour.collections
# 애니메이션 생성
ani = animation.FuncAnimation(fig, update, frames=time_steps, blit=False)
# 파일로 저장
video_path = "/mnt/data/tsunami_simulation.mp4"
ani.save(video_path, fps=10, dpi=150)
video_path
필요 자료
- 진원지 좌표 및 규모
- 해저 단층 파라미터 (길이, 폭, 수직변위량 등)
- 해저지형 데이터 (GEBCO, ETOPO1)
- 한국 동해안 해안선 및 지자체별 경계 지도
댓글
Blog is Powered by 2011
DEVLUV