WaveWatch3 (WW3) 수치모델을 Window subsystem for linux (WSL)에 설치하고 실행하는 방법
WaveWatch3 (WW3) 수치모델을 Window subsystem for linux (WSL)에 설치하고 실행하는 방법
[ WSL 설치 및 Ubuntu 배포판 선택 ]
- Windows 10 이상의 버전이 필요함
- Microsoft Store에서 "Windows Subsystem for Linux"를 검색하여 설치
- Microsoft Store에서 원하는 Linux 배포판을 설치 (필자는 Ubuntu를 설치했음)
- 설치 후 Ubuntu를 시작하고 사용자 계정과 비밀번호를 설정
[ 필수 패키지 설치 ]
Ubuntu 터미널을 열고 다음 명령어를 사용하여 필수 패키지를 설치
- sudo apt-get update
- sudo apt-get install -y gfortran gcc make git perl libnetcdf-dev libnetcdff-dev mpich
[ ~/.profile 파일 수정 ]
home 디렉토리에 존재하는 ./profile 파일의 끝 부분에 다음 내용을 추가
- export NETCDF_CONFIG=$NETCDF/bin/nf-config
- export WWATCH3_NETCDF=NC4
상기 작업 후 창을 모두 닫아 끝내고 다시 열기
[ WaveWatch3 소스 코드 다운로드 ]
공식 NOAA GitHub 저장소에서 최신 버전의 WW3 소스 코드 다운로드
- git clone https://github.com/NOAA-EMC/WW3
참고로, WaveWatch3 공식 웹사이트는 아래와 같음. 모델 개요 및 설치 방법 등을 확인할 수 있음
- https://polar.ncep.noaa.gov/waves/wavewatch/
[ Compile and Linking ]
WW3/model/bin 디렉토리로 이동
- cd WW3/model/bin
참고로 WW3 공식 매뉴얼 상에 설명된 compile 명령어는 아래와 같음
- w3_setup /home/user/WW3/model -c <comp> -s .<switch>
여기서 <comp> 위치에는 매뉴얼 상 설명된 바로는 mpt, intel, gfortran, pgi 등이 입력될 수 있다고 서술되어 있고, 필자는 intel을 이용했음. 그리고 <switch> 키워드 위치에는, NOAA GitHub 저장소에서 최신 버전의 WW3 소스 코드 다운로드 후 설치한 후 기본적으로 존재했던 “switch_UKMO” 파일을 이용하기 위해 UKMO를 입력하였음. 따라서, 필자가 실제로 이용한 명령어는 아래와 같음
- ./w3_setup /mnt/e/WW3/model -c gnu -s UKMO
상기 명령어를 정상적으로 실행시키고 나면 현재 디렉토리 내 “comp”, “link”, “wwatch3.env” 이렇게 세 개의 파일이 생성됨
[ w3_make ]
아래 명령어 실행
- ./bin/w3_make
그러면 bin 폴더 내부에 각종 모델 실행 파일들 (예: ww3_grid, ww3_prep, ww3_shel 등)이 생성됨. 이 때 특정 실행 파일들만 생성하고 싶으면, 예를 들어 모델 실행에 필수 요소인 ww3_prep, ww3_grid, ww3_strt, ww3_outf, ww3_shel만 생성하고 싶으면 아래와 같이 명령어를 줄 수도 있음
- ./bin/w3_make ww3_grid, ww3_prep, ww3_strt, ww3_outf, ww3_shel
[ 모델 실행 ]
상기 과정이 모두 정상적으로 끝나면, 모델을 실행시킬 수 있게 된 것을 의미함. 아래 명령어를 차례대로 수행하면 마지막 ww3_shel 명령어를 수행함과 동시에 모델이 실행됨
- ./ww3_grid (모델 격자)
- ./ww3_prep (바람 입력자료)
- ./ww3_strt
- ./ww3_shel
[ 기타: ww3_outf ]
ww3_outf 는 모델 실행 후 결과 파일을 ascii 파일로 불러올 수 있게 함
[ 기타: PATH 설정 ]
모델 실행 시 ww3_grid, ww3_prep, ww3_strt, ww3_outf, ww3_shel와 같은 명령어들이 PATH 설정이 되어 있으면 편리해짐 (window 제어판에서 설정하는 path가 아니라 linux 상에서 path 설정이 되어 있어야 함. linux 상 path 설정은 echo $PATH 명령어를 통해 확인할 수 있음). 또는, 아래 ln (link) 명령어를 통해 모델 설치 디렉토리 파일들과 연동시켜놓을 수도 있음
- ln –sf <모델 설치 디렉토리>/model/exe/ww3_grid (input에 해당) ./ww3_grid (output에 해당)
[자료 출처]
○ WaveWatch3 version 6.07 User manual
○ 이미지
- https://polar.ncep.noaa.gov/