Water for Future
강우량 및 하천유량 빈도분석시스템의 개발
1. 서언
특정 크기의 홍수 또는 갈수의 발생확률을 정확 하게 결정한다는 것은 수자원시설물의 설계 및 운 영에 필수적이다. 국외에서는 홍수량 또는 갈수량
을 대상으로 빈도분석 등을 수행하여 수자원시설 물의 설계 및 운영에 사용하고 있으나 상대적으로 수문자료의 보유기간이 짧은 우리나라는 확률강우 량을 결정하고 강우-유출모형을 통해 빈도별 홍 수량을 결정하여 사용하고 있다.
미육군공병단에서는 1982년에 HECWRC를 개 발하여 홍수빈도분석에 사용하였고, 1992년에 보 완 프로그램인 HEC-FFA를 개발하였다. 그리고 1996년에 수문시계열자료의 통계적 분석을 위해 STATS를 등을 개발하였다. 2008년에 다양한 지 점 및 지역 홍수빈도분석 등 다양한 기능들을 통 합하여 HEC-SSP를 개발하였고, 2010년에 업 그레이드 버전을 개발하였다. HEC-SSP에는 이 와 같은 분석을 위해 방대한 수문자료를 처리할 수 있도록 자체 DB인 HEC-DSS, 온라인을 통한 USGS자료 취득, 엑셀 등 다양한 취득방법을 제공 하여 편리하게 사용하고 있다.
우리나라는 그동안 빈도분석에 대한 연구개발 이 상대적으로 적었고, 일부 검증되지 않은 프로 그램들을 사용하여 실무에 적용해 왔다. 1998년 에 국립방재연구소가 각종 강우 빈도분석기법들 을 좀 더 체계적으로 정리하고 관련 기법을 컴퓨 터 프로그램화하여 FARD 98을 실무자들에게 제 시하였다. 2002년에는 기 개발된 FARD 98을 수 정·보완한 FARD 2002가 개발되었고, 2006년에 는 보완된 FARD 2006을 개발하였고, 2013년에 강 신 욱 ●●●
한국수자원공사 K-water연구원 책임연구원 [email protected]
황 필 선 ●●●
한국수자원공사 미래기술안전본부 본부장 [email protected]
정 구 열 ●●●
한국수자원공사 물관리센터 실장 [email protected]
김 현 식 ●●●
한국수자원공사 미래조사처 팀장 [email protected]
Water for Future
는 FARD 2013이 개발되었다. FARD 프로그램은 실무에서 가장 많이 사용하고 있지만 방대한 수문 자료는 외부에서 처리하여 가공된 지속시간별 강 우량을 입력하여 사용해야 한다.
K-water에서는 각종 수자원시설물들에 대한 설계 및 운영을 위해 강우량 및 홍수량 등의 수문 자료에 대해 각종 빈도분석을 수시로 실시하고 있 다. 업무에 많이 사용되고 있는 기존 프로그램은 지속기간별 확률강우량만을 대상으로 빈도분석을 수행하고, 원시자료를 전처리해야 하는 등 불편한 점들이 있다. 이와 같은 이유로 온라인을 통한 원 시자료 취득, 취득된 자료들에 대한 전처리 수행, 강우량 및 하천유량에 대한 빈도분석을 통합하여 처리할 수 있도록 빈도분석시스템을 자체 개발하 였다.
2. 빈도분석시스템의 소개 2.1 개요
강우량 및 하천유량 수문자료를 온라인 또는 오 프라인으로 취득하여 자료들에 대한 전처리를 통 해 연도별 입력자료를 생성한 후, 홍수 또는 갈수 빈도분석을 통합적으로 수행하는 FORTRAN 프로 그램 코드를 개발하고 사용자편의환경(GUI)을 구 축하였다. 개발한 수문자료 빈도분석시스템은 그 림 1과 같은 과정을 통해 수행된다.
먼저 수문자료 계열 추출과정에서는 강우량 또 는 하천유량(댐유입량) 자료를 온라인 또는 오프 라인으로 취득하여 연도별 최대값을 자동으로 추 출할 수 있다. 한국수자원공사 내부에서는 DB에
그림 1. 개발한 빈도분석시스템의 분석과정
Water for Future
저장된 강우량, 댐유입량을 포함한 하천유량을 온 라인으로 취득하여 전처리를 수행할 수 있다. 오 프라인으로는 엑셀, 텍스트, 기상청 원시파일, 직 접입력으로 취득하여 전처리를 수행한다. 전처리 된 자료들은 빈도분석을 위한 입력자료로 사용된 다.
자료검정 과정에서는 강우량 자료에 대해서는 Anderson correlogram, runs, Spearman rank correlation coefficient, turning point, Wald- Wolfowitz, Mann-Whitney 검정을 하고 하천유 량 자료에 대해서는 Grubbs and Beck의 이상치 검정을 추가적으로 수행한다.
개발한 빈도분석시스템에 포함된 확률분포형은 총 14가지이며, Cunnane의 문헌(1989)을 기초로 세계적으로 많이 사용되어지는 확률분포형을 조 사하여 빈도분석시스템에 이를 포함시켰다. 2변 수 Log-Gumbel, 2변수 Weibull 분포형, 4변수 Wakeby 분포형은 포함시키지 않았다.
확률분포형의 매개변수 추정 모듈은 3가지 추정 방법으로 구성되어 있다. 모멘트법, 최우도법, L- 모멘트법이 사용된다. Wakeby 분포형은 모멘트 법과 최우도법으로 매개변수 추정이 불가능하다.
Kappa 분포형은 최우도법과 L-모멘트법을 사용 하여 매개변수를 추정하도록 하였다. 최우도법을 사용한 Kappa 분포형의 매개변수 추정은 코드를 개발하였으나 비선형연립방정식을 푸는데 시간이 상대적으로 많이 걸려 시스템에는 포함시키지 않 았다.
적합도 검정에서는 Chi-Square( ), Kolmogorov- Smirnov, Cramer von Mises, Probability Plot Correlation Coefficient(PPCC), 수정 Anderson- Darling 검정을 수행하도록 하였고, 최적 확 률분포형 선정을 위해 Akaike(1973)가 제 안한 AIC(Akaike Information Criterion), Schwarz(1978)가 제안한 BIC(Bayesian Information Criterion) 지표값을 계산하여 사용 자의 의사결정에 도움을 주고자 하였다.
확률추정량은 참값이 아니므로 불확실성을 함 께 표시하여야 한다. 추정량의 불확실성을 표 현하는 방법은 추정량의 신뢰구간(confidence intervals)을 계산하여 추정량과 함께 표시하는 것 이다. 신뢰구간을 계산하는 방법은 근사적 통계기 법(asymptotic statistical method)에 의한 방법 과 신뢰구간을 근사적 통계기법으로 구하기 어려 울 때 사용되어지는 재표본(resampling) 방법인 붓스트랩(bootstrap) 방법을 포함하였다. 붓스트 랩 방법을 사용하여 신뢰구간을 계산할 경우에는 많은 반복계산이 필요하여 수행시간이 늘어난다.
개발한 빈도분석시스템의 모든 계산은 표 1에서 제시한 각 모듈에서 이루어진다. 시스템에는 주 프로그램 1개와 각종 계산을 위한 부프로그램들 로 구성되어진다. 이러한 부프로그램들은 자료검 정, 확률밀도함수, 누가확률밀도함수, 역함수, 3 가지 방법에 의한 매개변수 추정, 적합도 검정, 근 사적 통계기법 및 붓스트랩에 의한 신뢰구간, 기 타 계산에 사용된다. 주프로그램과 부프로그램은 Compaq Visual Fortran 6.6에서 작성되었으며 총 18,530라인이다.
2.2 사용자편의환경(GUI)
지점 빈도분석시스템의 사용자편의환경(GUI)는 크게 전처리모듈, 빈도분석시스템 메인모듈, 분석 결과표출 모듈, 총 3개 모듈으로 나누어진다. 빈 도분석시스템의 사용자편의환경은 그림 2와 같다.
전처리모듈은 여러 가지 형태의 원시자료를 입 력받아 빈도분석시스템에서 실행을 위해 필요한 입력자료를 생성한다. 원시자료 취득방법중 DB 를 사용하는 것은 한국수자원공사 내부에서만 가 능하다. 빈도분석 타입으로 홍수(Max) 또는 갈수 (Min)를 선택할 수 있고, 유의수준을 설정할 수 있 으며, 근사적 통계기법으로 신뢰구간을 계산하지 못하는 경우에 대해 붓스트랩 방법으로 신뢰구간 을 계산할 지를 선택할 수 있다. 또한 빈도분석하
Water for Future 모 듈 명 기 능 라인수 비 고
Main 작업별 모듈 호출 960 Main
확률밀도함수 계산 확률분포형에 따른 PDF 계산 880 FUN(14)
누가확률밀도함수 계산 확률분포형에 따른 CDF 계산 830 FUN(14)
역함수 계산 확률분포형의 역함수 계산 1,100 SUB(1),FUN(15)
자료 검정 수문자료의 독립성, 정상성, 이상치 검정 510 SUB(8)
매개변수추정(MOM) 모멘트법에 의한 매개변수 추정 860 SUB(13)
매개변수추정(MLM) 최우도법에 의한 매개변수 추정 1,590 SUB(13)
매개변수추정
(L-moments) L-moments법에 의한 매개변수 추정 1,510 SUB(15)
적합도 검정 5가지 방법에 의한 적합도 검정 1,240 SUB(10)
최적확률분포형 선정 AIC, BIC통계적 지표값 계산 200 SUB(2)
확률밀도함수 등 그래프 표출 PDF, CDF, Q-Q, 신뢰구간 등 1,560 SUB(12) 신뢰구간 산정 모멘트법, 최우도법, L-모멘트법,
Bootstrap 등 3,400 SUB(46)
IDF곡선 생성 IDF곡선 생성 등 140 SUB(2)
경향성 검정 4가지 경향성 검정 240 SUB(4)
기타 계산에 필요한 각종 부프로그램 3,510 SUB(33),FUN(4)
표 1. 개발한 빈도분석시스템의 계산모듈
그림 2. 빈도분석시스템의 사용자편의환경
Water for Future
고자 하는 수문자료가 강우량인 경우에 대해 강우 강도-지속시간-빈도(IDF) 곡선을 생성할 것인지 를 선택할 수 있다. 다수의 수문자료를 동시에 사 용하기 위해서는 ‘All generation’ 체크박스에 체 크하여 다수의 입력자료 생성이 가능하다. 최대 30대의 재현기간 설정이 가능하며, 텍스트 박스에 추가하면 자동으로 재현기간 개수가 설정된다. 이 렇게 취득된 자료는 전처리를 거쳐 빈도분석수행 에 필요한 입력자료를 생성한다.
빈도분석시스템의 메인모듈은 전처리모듈을 통 해 입력파일을 입력받아 표 1에서와 같은 계산을 통해 빈도분석을 수행하여 외부파일들로 결과를 생성한다. 결과가 생성되면 사용자편의환경에서 표나 그림으로 표출한다.
빈도분석은 프로젝트 단위로 분석 및 저장할 수
있으며, 프로젝트는 다수의 수문자료에 대한 빈 도분석에 대한 입력 및 각종 출력자료를 포함한 다. 프로젝트는 메인화면의 왼쪽에 탐색창을 통 해 확인할 수 있다. 탐색창에서 프로젝트는 Data, Analysis, Selection, Result, IDF(rainfall), Report, Map 항목으로 구분되며, 각각의 단계별 로 결과를 확인할 수 있다. 유량에 대한 프로젝트 를 생성하였을 경우에는 탐색창에서 IDF(rainfall) 항목은 나타나지 않는다.
Data 항목에서는 입력자료에 대해 표 또는 그 림으로 볼 수 있고 재수정(ReEdit)이 가능하다(그 림 3). 프로젝트의 종류가 강우량일 경우에는 지속 시간별로 표 또는 그림으로 표출할 수 있으며, 유 량일 경우에는 년도별 최대값에 대한 표와 그림을 볼 수 있다.
(a) 입력자료를 표로 보여주기
그림 3. Data 항목의 표출
(b) 입력자료를 그림으로 보여주기
Analysis 항목에서는 기본통계량, 자료 사전검 정, 3가지 방법에 의한 매개변수 추정결과를 확인 할 수 있다. 입력한 수문자료에 대해 기본통계량 과 사전검정 결과를 볼 수 있도록 하였다. 강우량 자료는 지속시간별로 기본 통계량과 사전검정 결 과를 표 형태로 볼 수 있다(그림 4). 입력한 연도 별 극값자료에 대해 모멘트법, 최우도법, L-모멘 트법에 의한 매개변수 추정결과를 표와 그림으로 볼 수 있도록 하였다. 표출할 수 있는 그림의 형태 는 확률밀도함수(PDF), 누가확률밀도함수(CDF),
Q-Q(quantile - quantile)이다(그림 5). 추정한 매개변수로 확률밀도함수를 극값자료의 히스토그 램과 함께 도시하였고 누가학률밀도함수에 대해서 도 누적히스토그램을 함께 도시하였다. Q-Q 그 림은 통계학에서 두 확률분포형을 비교하는 도식 적 방법에 사용된다. x-축은 도시위치공식에 의 한 확률값이며 y-축은 각 확률분포형에 의한 확 률값이다. 두 확률분포형이 동일하다면 1:1선 상에 위치하게 될 것이다.
Water for Future
S e l e c t i o n 항 목 에 서 는 M R D ( m o m e n t ratio diagram)과 LMRD(L-moments ratio diagram), 적합도 검정, AIC 및 BIC 지표값을 확 인할 수 있다. MRD와 LMRD는 입력한 수문자료 에 적절한 확률분포형이 어떤 것인지를 식별하는 데 도움을 준다. 여러 지점 또는 한 지점의 강우
량, 유량 자료에 대해 그림으로 표출할 수 있다.
그림 6(a)와 6(b)는2지점의 강우관측소 자료에 대 한 결과이며, 지속시간별로도 표출하능하다. 그림 6(c)는 5가지 적합도검정(goodness of fit test) 에 대한 결과를 표로 표시한 것이고, 그림 6(d)는 AIC와 BIC 지표의 계산결과이다.
(a) 수문자료의 기본통계량
(a) 추정 매개변수의 표출
(c) CDF 그림 표출
그림 4. Analysis 항목의 기본통계량 및 사전검정 결과 표출
그림 5. Analysis 항목의 매개변수 추정 결과 표출
(b) 수문자료의 사전검정 결과
(b) PDF 그림 표출
(d) Q-Q 그림 표출
Water for Future
Result 항목에서는 재현기간별 확률수문량을 표와 그림으로 확인할 수 있다. 각 확률분포형에 대한 확률수문량을 그림으로 표시할 수 있도록 하 였다. 그림 7에는 원시자료, 확률수문량, 신뢰구 간을 표시하였다. 확률지의 x축 확률스케일은 확
률분포형에 대한 수치계산을 통해 설정하였다.
IDF(rainfall) 항목에서는 강우강도-지속시간- 빈도 곡선을 표와 그림으로 볼 수 있고, 6차 전대 수다항식으로 회귀한 결과도 볼 수 있다. Report 항목에서는 각 수문자료별 보고서를 텍스트 형식 (a) MRD 그림
(c) 적합도검정 결과
(a) 재현기간별 확률수문량 표
그림 6. Selection 항목의 결과 표출
그림(GEV)그림 7. Result 항목의 결과 표출
(b) LMRD 그림
(d) AIC와 BIC 지표 계산결과
(b) 재현기간별 확률수문량
Water for Future
으로 볼 수 있다. Map 항목에서는 입력자료가 관 측소의 국가표준코드 형태의 이름으로 입력되어
분석되면 확률분포형별 재현기간에 따른 확률수문 량을 GIS상에서 표시할 수 있도록 하였다.
(a) 강우량 입력자료에 대한 map
그림 8. Map 항목의 결과 표출
(b) 유량 입력자료에 대한 map
2.3 입력자료 전처리
강우량 및 하천유량 자료에 대한 빈도분석을 수 행하기 위해서는 원시 수문자료를 입력하여 내 부 처리과정을 거처 연도별 최대값을 추출하여 야 한다. 빈도분석시스템의 사용자는 데이터베이 스(DB), 엑셀, 텍스트, 기상청(KMA) 자료 포맷 (format), 스프레드시트에 직접입력(Etc) 등으로 원시 수문자료를 입력할 수 있다.
사내 DB(TECH)를 통해서 국토교통부, 한국수 자원공사, 기상청 등의 하천유량 또는 강우량 원 시자료를 조회 및 선택하여 빈도분석시스템의 입
력자료로 직접 사용할 수 있다.
엑셀과 텍스트 자료는 원시 수문자료 또는 년 도별 극값자료일 수 있다. 하천유량의 빈도분석 을 위한 입력자료는 표 2와 같은 형태로 입력되어 질 수 있다. 첫 행의 ‘Date’와 ‘Streamflow’는 예 약어(reserved word)와 같은 것으로 엑셀 및 텍스 트 파일의 첫 행에 표시되어야 한다. 하천유량 입 력자료의 경우는 표에서 4가지 형태 모두를 사용 할 수 있다. 1~3번까지의 형태는 전처리모듈에서 자동적으로 연최대값을 추출한다. 4번 형태는 빈 도분석시스템의 입력으로 바로 사용되어진다. 년/
월/일/시에 대한 형식은 반드시 ‘yyyy-mm-dd
표 2. 엑셀과 텍스트를 사용할 경우 하천유량 입력자료의 형식
구 분 Date Streamflow
1 년(yyyy) 월(mm) 일(dd) 시(hh:00) ○○○○.○
2 년(yyyy) 월(mm) 일(dd) ○○○○.○
3 년(yyyy) 월(mm) ○○○○.○
4 년(yyyy) ○○○○.○
Water for Future
hh:00’ 이어야 한다.
강우량의 빈도분석을 위한 입력자료 형식은 2가 지 중 하나 일 수 있다. 하나는 원시 수문자료를 이용할 경우이고 나머지는 연도별 지속시간별 수 문자료를 이용하는 경우이다. 원시 수문자료를 이 용할 경우 입력 수문자료의 형태는 표 2의 1번 형 태이어야 하며 예약으로는 ‘rainfall’로 표시하여야 한다. 예를 들면 텍스트의 경우는 ‘yyyy-mm-dd
hh:00 ○○○.○’의 형식이며, 엑셀의 경우에는 두 셀에 각각 ‘yyyy-mm-dd hh:00’, ‘○○○.○’
의 형식으로 입력하여야 한다. 이와 같이 입력된 원시자료는 GUI 내부에서 자동적으로 지속시간별 연도별 최대값을 구한다.
또한, 외부 작업에 의해 따로 생성되어진 연도 별 지속시간별 강우량 자료를 사용할 경우의 형식 은 표 3과 같다. 텍스트로 입력할 경우에는 항목별
표 3. 엑셀과 텍스트를 사용할 경우 강우량 입력자료의 형식
Date 1.0 2.0 … … … … …
1974 ○○.○ ○○.○
1975 ○○.○ ○○.○
로 최소 1칸 이상의 빈칸으로 구분하여야 하고 엑 셀로 입력할 경우에는 각 항목들이 각기 다른 셀 에 입력하여야 한다.
기상청 자료 포맷은 기상청에서 제공하는 관측 지점별 수문자료의 형태이며, 빈도분석시스템에서 는 강우량 자료의 입력에만 사용되어진다. 기상청 자료 포맷은 다음의 예제에서 확인할 수 있다. 이 형태로 입력이 되면 자동으로 임의시간기준으로 지속시간별 연도별 최대강우량이 구해지며, 구해 진 자료는 빈도분석시스템에 입력된다.
스프레드시트에 직접입력은 사용자가 외부에서 직접 작성한 자료를 입력하여 최대값(홍수량) 또 는 최소값(갈수량)에 대한 빈도분석을 수행할 때 사용된다. 하천유량 자료의 경우는 표 2의 4번 형 태로 입력하여야 하고, 강우량 자료는 표 3의 형태 로 입력하여야 한다. 자료 입력시 엑셀프로그램에 서 복사(Copy)하여 붙여넣기(Paste)가 가능하며 행 또는 열을 추가할 수 있는 기능이 있다.
3. 결언
강우량 및 하천유량에 대한 빈도분석을 위하여 빈도분석시스템을 개발하였다. 개발한 빈도분석시 스템은 14가지의 확률분포형을 지원하며 3가지 매 개변수 추정방법을 제공한다. 그리고 5가지의 적 합도 검정방법이 가능하며 신뢰구간을 계산하기 위해 근사적 통계기법과 붓스트랩에 의한 신뢰구 간 계산이 가능하다. 또한 재현기간별 결과를 다 지점에 대해 GIS에서도 표출할 수 있도록 하였다.
개발한 빈도분석시스템의 계산모듈은 Compaq visual FORTRAN을 사용하여 코딩하였다. 개발 한 빈도분석시스템은 내부에서 온라인을 통해 원 시 수문자료를 취득할 수 있고, 취득된 자료들에 대한 전처리를 자동으로 수행할 수 있으며, 강우 량 및 하천유량에 대한 빈도분석을 통합하여 처리 할 수 있는 체계가 갖추었다. 이러한 체계를 통해 수문통계분야에 대한 기술력 향상에 기여할 수 있 을 것으로 판단되어진다.
Water for Future Akaike, H. (1973) Information theory and an extension of the maximum likelihood principle, in Second International Symposium on Information Theory, edited by B. N. Petrov and F. Csaki, pp. 267?281.
Cunnane, C. (1989) Statistical distributions for flood frequency analysis. World Meteorological Organization. Operational Hydrology Report No. 33, WMO Publ.
No. 718, Geneva.
Schwarz, G. (1978) Estimating the dimension of a model, Ann. Stat., 6, pp. 461- 464.
참고문헌