- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.1 KiB
4.1 KiB
계획서 이관: 확률강우량 오류 개선 — WAMIS 관측소 방식 전환
- 완료 일자: 2026-08-13
- 이관 일자: 2026-08-13
- 검증 보고서: 2026-08-13_verify_rainfall_wamis_station.md
1. 개요 및 배경
- 현행 강우량 로직은 WAMIS 등우선도(
map.wamis.go.kr/data/gis/contour/)를 받아 노선 중심좌표를 거리비례 보간한다. 그런데 이 등우선 데이터는 서버 원본 자체가 제주도만 커버한다 (라이브 실측 확인). value_at()에 커버리지(범위 밖) 검사가 없어, 본토 공사지도 300㎞ 떨어진 제주 등우선으로 보간한 무의미한 값을 조용히 반환한다. 이 값이rainfall_table.json→ B04 배수 계산(관경 판정)에 그대로 사용 중 — 조용히 틀린 값 유형의 결함.- 대체 원천 확보 완료: WAMIS 관측소별 확률강우량 xlsx (전국 621개소, 2017 지역빈도해석, 재현기간 2
500년 × 지속시간 172 hr, 인증 불필요). 검증: 울진군(전곡리) 100년/24 hr = 320.0 ㎜ — 실무값(305.9~332.9)과 정합. - 근거 문서: 설계유량.md §3-1~3-3 (원천ㆍAislo 선정 로직ㆍ실무 방식), wiki/concepts/drainage_watershed.md §2 (현행 연동 구조).
2. 사용자 확정 요구사항 (2026-08-13)
- 지점 선정: 최근접 관측소 + 공사지 반경 10 ㎞ 내 관측소 전부 다운로드 → 확률강우량 높은 지점 선정 (Aislo 자체 로직 — 안전측).
- 다운로드 데이터는 영구저장소 보존 (재사용, 출처ㆍ판본 명기).
- 다운로드 시점: 프로젝트 파일업로드 단계의 B04~B06 자동 다운로드 파이프라인에 편입.
- 제주 공사지는 기존 등우선 로직 유지 (삭제 금지) — 지역 판정으로 분기.
- 성과품(수리계산서)은 실무문서 유사 형식(인근 지점 확률강우량 표 + 선정 지점 명시), 내부 UI는 간단 표기.
3. 구현 내용 및 결과
common_util/common_util_wamis_station.py작성: 관측소 수급, xlsx 파싱, Mononobe / General IDF 산출 구현.B04_PreProcess/B04_PreProcess_Router_Watershed.py:_build_rainfall_sync()에 제주/본토 분기 추가, 본토 예외전파(제주 폴백 차단).common_util/common_util_wamis_rainfall.py:value_at()범위 검사 추가 (+10km 밖 RuntimeError).config/config_system.py: WAMIS 관련 시스템 상수 추가.rainfall_table.json: 기존 스키마 유지하며station,candidates,idf_method등 확장 필드 포함.
4. 완료된 체크리스트
common_util_wamis_station.py신규 작성 (286줄 — 관측소 탐색ㆍxlsx 다운로드ㆍ프로젝트별 저장ㆍ파싱ㆍ100년/24hr 최대 지점 선정)- 강우강도 이원화: Mononobe형(기본) + General형 적합(옵션) — Mononobe는 General형 b=0 특수형(a=(R24/24)·1440^0.557, n=0.557)이라 하류
idf_intensity계약 그대로 유지 config_system.py상수 추가 (WAMIS_STATION_RADIUS_MㆍDRAINAGE_RAINFALL_STATION_DIRNAMEㆍDRAINAGE_RAINFALL_IDF_METHOD)_build_rainfall_sync(lat, lon, stored_path)지역 분기(제주=등우선/본토=관측소) + 본토 실패 시 예외 전파(폴백 금지) — 호출부 2곳 시그니처 갱신value_at커버리지 검사(범위+30 km 밖 → RuntimeError) — 등우선 모듈 존치rainfall_table.json스키마 확장 (station/candidates/idf_method/idf_mononobe/idf_general/region_mode— 기존 키 불변)- 검증(2026-08-13 실행): ①제주 등우선 96값+IDF 정상 ②본토 좌표 등우선 차단 확인 ③본토 분기 → 울진 관측소 R24=305.83 ㎜(소광 좌표 최근접, 반경 내 1개소)ㆍMononobe n=0.557 ④하류
load_rainfall_idf→size_pipe정상. Mononobe 검산: 24hr 강도=R24/24 정확 일치, 15.6분 강도 158.5 ㎜/hr — 실무 울진1(R24=332.9) 172.48과 R24 비율 보정 시 172.5로 일치 ruff formatㆍruff check통과 + 커밋ㆍpush