티스토리 뷰
참고1 : WRF v4로 태풍 솔릭(Soulik) 모의해 보기
참고2 : WRF v3.4 설치기는 http://dhkim.tistory.com/272 를 보세요.
[설명 필요 없이 그냥 설치하고자 하면 다음과 같이 따라하면 된다.]
- tar -xvzf WRFV3.1.TAR.gz; tar -xvzf WPS.TAR.gz
- cd WRFV3; ./configure -> 1번 선택, 1번 선택
- ./compile em_real >& compile.log
- cd ../WPS; ./configure -> 5번 선택
- ./compile >& compile.log
- ./geogrid.exe; ./ungrib.exe; ./metgrid.exe
- cp ./met_em* ../WRFV3/run/.; cd ../WRFV3/run; ./real.exe
- ./wrf.exe
--------------------------------------------------------------------------------------------
WRF에는 두가지 버전이 있다. ARW와 NMM...
ARW는 연구용이고 NMM은 현업용이라고 생각하면 구별하기 쉬우며,
NMM에서는 어려운, 즉 ARW만이 할 수 있는 것은 다음과 같다.
- 지역 기후 또는 계절 단위의 현상 연구
- 화학 모형과의 결합
- 전지구 모의 (지역모형을 전지구 영역으로 확장하여 모의할 수 있음)
- 다양한 규모의 이상적인 모의 (예: convection, baroclinic waves, large eddy simulations)
- 자료동화 연구
- 그래픽 및 분석 도구로써 NCL과 ARWPost를 사용 가능
WRF 시스템은 다음과 같이 구성된다.
- WRF 전처리도구: WPS (WRF Pre-processing System)
- WRF 모형 : ARW와 NMM 버전이 있다.
- 과학가시화 도구
- 변분자료동화 : WRF-Var
- 화학 결합 모형 : WRF-Chem
지금부터 WRF ARW v3.1을 설치해 보자. (이상적인 경우가 아닌 실제 지형의 경우를 설치함)
- WRF 모형의 다운로드 : http://www.mmm.ucar.edu/wrf/users/download/get_source.html
처음 사용자는 홈페이지 아래에 있는 "New Users"를 클릭하고 이메일 주소를 등록한 후 받으면 되며,
기존 사용자는 "Returning Users"를 클릭하고 등록된 이메일 주소로 로그인하여 받으면 된다.
소스코드는 ARW와 NMM 버전이 하나의 화일에 함께 포함되어 있으며,
데이타는 각각 따로 받아야 한다.
- WRF의 루트디렉토리를 생성하고 WRF와 WPS의 압축파일을 풀어준다.
% mkdir WRF; cd WRF
% tar -xvzf ../WRFV3.1.TAR.gz -> "WRFV3" 디렉토리가 생성된다.
% tar -xvzf ../WPS.TAR.gz -> "WPS" 디렉토리가 생성된다.
컴파일 순서는 WPS가 WRFV3의 objects 화일들을 참조하기 때문에 WRFV3 부터 컴파일한다.
- 사용자 시스템에 맞는 환경으로 컴파일 하기 위하여 WRFV3.1의 환경설정을 한다.
우선, 환경변수에 "NETCDF" 가 있는지 확인하고 없으면 다음과 같이 설정해 준다.
% setenv NETCDF /usr/local/netcdf 또는 % setenv NETCDF \$NETCDFHOME
WRF의 홈디렉토리로 이동하여 환경설정을 한다.
% cd WRFV3; ./configure
- 1~24 까지의 선택항목이 나오는데 다음을 참조하여 선택한다.
(serial) : 1개 CPU를 사용할 경우. 처음 사용자는 이것으로 선택하여 나중에 병렬화를 하는 것이 좋음
(smpar) : OpenMP를 사용할 경우 (단일보드나 단일노드 내에서의 병렬화로 생각하면 됨)
(dmpar) : MPI를 사용할 경우 (다중보드나 다중노드간의 병렬화를 할 수 있음)
(dm+sm) : OpenMP와 MPI를 동시에 사용할 경우. 노드 내에는 OpenMP로, 노드 간은 MPI로 사용
이 설명에서는 1번을 선택하여 진행함. (Linux x86_64, PGI compiler with gcc (serial))
- Compile for nesting? 항목은 1번(basic)을 선택한다.
nesting 이란 하나의 격자체계 내에 또 다른 작은(고해상도) 격자체계를 구성하여 연결하는 것을 말함
- configure가 끝나면 configure.wrf 가 생성된다.
vi 등의 에디터로 이 화일을 열어 수정할 곳을 수정하면 되는데
처음 시작할 때 NETCDF 환경변수가 잘못되었거나 설정을 해주지 않은 경우는
184줄에 있는 "NETCDFPATH"와
177줄에 있는 "-L/usr/local/netcdf/lib" 부분을 알맞게 고쳐주면 된다.
- 이제 컴파일을 해야 하는데 다음과 같은 명령으로 소스를 컴파일한다.
% ./compile TEST_NAME >& compile.log
TEST_NAME 에는 다음의 경우 중 하나를 선택하면 되며 여기에서는 em_real을 사용한다.
- em_b_wave ; 3D baroclinic waves
- em_esmf_exp ;
- em_fire ;
- em_grav2d_x ; 2D gravity current
- em_heldsuarez ; 3D global case
- em_hill2d_x ; 2D flow over a bell-shaped hill
- em_les ; 3D large-eddy simulation
- em_quarter_ss ; 3D quarter-circle shear supercell simulation
- em_real ;
- em_scm_xy ; Single column model
- em_seabreeze2d_x ; 2D full physics seabreeze
- em_squall2d_x ; 2D(x,y) squall line example for Eulerian mass coordinate model
- em_squall2d_y ; 2D(x,y) squall line example for Eulerian mass coordinate model
- exp_real ;
- nmm_real ;
compile.log의 내용 중 "Error" 또는 "warnings" 등의 단어를 찾아보고 없으면 컴파일을 성공한 것이다.
그렇지 않으면, 문제가 있는 곳을 모두 해결할 때까지 다음과 같이 반복하여 컴파일 해야 한다.
% ./clean -a ; ./configure
% ./compile TEST_NAME >& compile.log
컴파일 시간은 시스템에 따라 다르지만, Intel Xeon X5450(3Ghz)에서는 약 10~20분 정도 걸린다.
- 컴파일이 성공하면 다음의 실행화일들이 생성된다.
- main/ndown.exe ; 한방향 nesting에 사용
- main/nup.exe ; Upscaling - WRF-Var(자료동화)에 사용
- main/real.exe ; 실제 자료를 사용한 초기화 과정에 사용. 이상적인 실험일 경우는 ideal.exe임.
- main/wrf.exe ; WRF 모형의 실행 화일이며 이것으로 시간 적분을 수행
이 실행화일들은 각각 "run/"과 "test/em_real/" 아래에 링크되어 사용된다.
- WRF 모형을 모두 설치하였으므로,
이제부터는 전처리 시스템인 WRF Preprocessing System(WPS)를 설치한다.
% cd ../WPS; ./configure
1~15 까지의 선택항목이 나오는데 GRIB2 가 설치되어 있으면 6번, 그렇지 않으면 5번을 선택한다.
그러면, "configure.wps"가 생성되는데, 화일의 내용 중에 "NCARG_LIBS"나 "WRF_DIR" 등이 제대로 설정되어 있는지 확인한다.
- 다음과 같이 컴파일을 실행한다.
% ./compile >& compile.log
WPS에서는 X11 라이브러리를 사용하는데 시스템에 따라 기본 X11 라이브러리 디렉토리가 32비트로 설정되는 경우가 있다.
이런 경우 compile.log 화일 내에 "Error"가 나타나는데, 이것은 컴파일 하기 전에 configure.wps의 24줄에 있는 "-L/usr/X11R6/lib"를 "-L/usr/X11R6/lib64"로 수정한 후 컴파일 하면 된다.
컴파일을 성공하면 다음의 실행화일들이 생성된다.
- geogrid.exe ; namelist.wps에 설정되어 있는대로 terrestrial data 생성
- metgrid.exe ; 격자체계에 맞게 기상 입력자료를 수평 내삽 (수직 내삽은 real.exe에서 수행됨)
- ungrib.exe ; GRIB 형식의 기상 자료를 읽어서 WRF에서 사용할 수 있는 중간 형식으로 변환
- 자, 이제 WRF를 실행할 모든 준비를 마쳤다. 모형의 실행 순서는 다음과 같다.
- 먼저 "geogrid.exe"를 실행하여 모형 격자에 맞는 지형데이터를 만들어야 하는데, 이에 필요한 원본 지형데이터를 다음의 링크에서 가져 온다.
http://www.mmm.ucar.edu/wrf/OnLineTutorial/Basics/GEOGRID/ter_data.htm
이 실험의 경우에는 "geographical data in all available resolution (30", 2', 5',and 10')"의 자료를 가져왔다. 이것을 WRF 디렉토리 아래의 "data" 디렉토리에 압축을 풀어준다.
- 모형의 격자 구조를 바꾸려면 WPS 디렉토리의 "namelist.wps" 화일의 내용 중 "&geogrid" 부분을 바꾸어야 한다. 자세한 사항은 WRF 홈페이지 또는 사용자 매뉴얼을 참고하기 바란다.
이 실험에서는 &geogrid 부분의 "geog_data_path = " 부분을 바로 위에서 압축을 푼 디렉토리로 수정해 준다. (ex. geog_data_path = '/home/user/WRF/data/geog')
설정한 지역의 확인을 위하여 "./util/plotgrid.exe"를 실행해 본다. - "./geogrid.exe"를 실행하면 "geo_em.dxx.nc" 화일이 생성된다.
여기에서 'xx'는 지역별로 생성되는데 설정된 지역이 2개로 nesting되어 있다면 01과 02가 될 것이다.
ncview 등으로 생성된 nc 화일에 문제가 없는지 확인해 본다.
- GRIB 자료를 가지고 있다면 ungrib.exe를 사용하여 WRF가 사용할 수 있는 중간형식으로 만들어 준다.
자세한 사용법은 http://www.mmm.ucar.edu/wrf/OnLineTutorial/Basics/UNGRIB/index.html 를 참조하면 되고, 여기에서는 http://www.mmm.ucar.edu/wrf/src/data/avn_data.tar.gz 의 자료 또는
http://www.mmm.ucar.edu/wrf_tmp/WRF_OnLineTutorial/SOURCE_DATA/JAN00.tar.gz 의 자료를 사용해 본다.
이 자료를 WRF 홈디렉토리의 data 디렉토리에 풀어준다. (ex. /home/user/WRF/data/)
ungrib.exe가 AVN 자료의 테이블 정보와 자료를 참조하기 위하여 다음과 같은 방법으로 링크시킨다.
%ln -s ungrib/Variable_Tables/Vtable.AVN0P5WRF Vtable
%./link_grib.csh ../data/avn/fnl*
이렇게 하면 Vtable의 링크와 GRIBFILE.AAA, GRIBFILE.AAB, GRIBFILE.AAC 등의 링크가 생긴다.
이제 namelist.wps의 start_date와 end_date를 AVN 자료의 날짜로 수정한 후 다음과 같이 ungrib.exe를 실행시키면, FILE:2000-01-24_12 와 FILE:2000-01-24_18 등의 화일이 생성된다.
%./ungrib.exe >& ungrib.output
- metgrid.exe는 기상자료를 읽어 수평내삽을 하여 격자체계에 맞추는 역할을 한다. 다시 말해서, geogrid.exe에서 생성된 geo_em.dxx.nc과 ungrid.exe에서 생성된 FILE:YYYY-MM-DD_HH를 읽어서 WRF의 입력자료인 met_em.dxx.YYYY-MM-DD_HH:00:00.nc
%./metgrid.exe
- 이제 WRF를 실행하기 까지 다음 2단계가 남았다.
- real.exe : metgrid.exe에서 생성된 met_em* 화일의 수직 내삽을 하며,
경계치와 초기치 화일을 생성한다.
- wrf.exe : 모형의 예측을 수행한다.
- WRF를 실행하기 위하여 WRF의 실험디렉토리인 WRFV3/test/em_real 또는 WRFV3/run 으로 이동한다. 이 두 디렉토리는 필요한 화일이 모두 같이 링크되어 있기 때문에 어느쪽으로 이동하여도 상관없다. 그리고 metgrid.exe에서 생성된 met_em* 화일을 복사 또는 링크한다.
%cp ./met_em* ../WRFV3/run/. ; cd ../WRFV3/run
real.exe의 입력화일인 namelist.input를 열어서 시작 시간 등을 확인하여 수정해 준 후 real.exe를 실행하면, wrfinput_dxx 와 wrfdby_dxx 가 생성된다. 여기에서 dxx는 nesting한 domain의 숫자이며 nesting을 하지 않은 경우는 d01 만이 생성된다.
- 마지막으로, wrf.exe를 실행하면 "wrfout_dxx_[initial_date]" 의 결과화일을 얻을 수 있다.
이 화일들은 WRF의 postprocessing 도구(NCL, RIP4, ARWpost, VAPOR 등)를 이용하여 분석하면 된다.
- Good luck !
NCAR Graphics용 gmeta 화일이 생성된다. (%idt gmeta 로 확인해본다)
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 대기순환모형
- 서울대학교
- cluster
- POP1
- 기후변화
- OGCM
- 과학가시화
- CCSM3
- Numerical Models
- 재분석자료
- 조석
- 수치모델
- Linux
- Tide
- 접합모형
- 수치모형
- CGCM
- Numerical Model
- Tsunami
- Scientific Visualization
- 수치예보
- Ocean Circulation
- Reanalysis
- 쓰나미
- GFDL
- AGCM
- WWW
- 연세대학교
- 초단기
- 해양순환모형
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
글 보관함