"""B08 4탭 홍수량 계산서 — 기본값 · 선택지 한 곳 (PLAN 62-3). 임의로 정한 값 — 사용자가 나중에 고침. B05/B06 · 배수유역 값과 잇지 않음(자기 기본값만). 근거 후보: docs/raw/조사/2026-10-06_62-1_홍수량_방법.md (별표2 2.0배 · KDS 표 2.7-1 · 실무 견본). """ from __future__ import annotations from typing import Any #: 할증(Qd = Q × 할증) — 2.0 별표2 법정 · 1.5 견본(울진 2공구) · 1.2 구기준 FACTORS = (2.0, 1.5, 1.2) #: 단면 가정 — 만관 · 240° 유효(수심 0.75D) · 유효 70 %(배관 제안 방식) SECTIONS = {"full": "만관", "arc240": "240° 유효단면", "eff70": "유효 70 %"} #: 관 종류별 조도계수 n — 파형강관은 KDS 표에 없음(지금 배관 제안 0.024) PIPE_KINDS = {"파형강관": 0.024, "흄관": 0.013, "콘크리트관": 0.015} #: 처음 값 = 표준 값만(69-6) · 측점 고유 값(유역면적 · L · H · D · S)은 None(빈칸) #: R24 · 지역은 공사지 자료(B08_Quantity_Hydro_Site) — 자료가 없을 때만 화면 입력 DEFAULTS: dict[str, Any] = { "factor": 2.0, "runoff": 0.80, # 유출계수 f — KDS 가파른 산지 "area_km2": None, "length_m": None, # 산정에서 하천시점까지 거리 "height_m": None, # 산정에서 하천시점까지 표고차 "tc_min_minutes": 5.0, # 최소 도달시간(KDS 2.4) "r24_mm": None, "region": "", "return_period": 100, "pipe_kind": "파형강관", "n": None, # None = 관 종류 값 "diameter_mm": None, "slope_denominator": None, # 하상경사 S = 1 / 이 값 "section": "full", } def options() -> dict[str, Any]: """화면 선택지 — 기본값 · 할증 · 단면 가정 · 관 종류 n.""" return { "defaults": DEFAULTS, "factors": list(FACTORS), "sections": SECTIONS, "pipe_kinds": PIPE_KINDS, }