오늘은 WRF를 직접 실행해보겠습니다
https://www2.mmm.ucar.edu/wrf/OnLineTutorial/CASES/SingleDomain/ungrib.php
ARW Online Tutorial
You may have noticed that the SST data are only available once a day, but we set interval_seconds to 6 hourly. By doing this, ungrib will temporally interpolate the available SST data to a frequency of 6 hourly. Normally there is no advantage in temporally
www2.mmm.ucar.edu
제가 사용한 자료와 상황은 WRF 온라인 튜토리얼에 있는 허리케인 Matthew를 사용했습니다
저 링크로 들어가면
이 부분이 있습니다
하이퍼링크 부분을 클릭하면 matthew_1deg라는 파일이 자동으로 다운로드 됩니다
이 자료를 사용하면 됩니다
완전히 튜토리얼하고 똑같이 DATA라는 디렉토리를 만들어서 해도 되지만 저는 다르게 했습니다
(base) lsh@DESKTOP-8N2HJ5V:~$ cd file
(base) lsh@DESKTOP-8N2HJ5V:~/file$ ls
matthew soiltype_bot_10m.tar.bz2:Zone.Identifier soiltype_top_10m.tar.bz2
matthew_1deg.tar.gz soiltype_bot_2m soiltype_top_10m.tar.bz2:Zone.Identifier
matthew_1deg.tar.gz:Zone.Identifier soiltype_bot_2m.tar.bz2 soiltype_top_2m
matthew_sst soiltype_bot_2m.tar.bz2:Zone.Identifier soiltype_top_2m.tar.bz2
matthew_sst.tar.gz soiltype_bot_5m soiltype_top_2m.tar.bz2:Zone.Identifier
matthew_sst.tar.gz:Zone.Identifier soiltype_bot_5m.tar.bz2 soiltype_top_5m
soiltype_bot_10m soiltype_bot_5m.tar.bz2:Zone.Identifier soiltype_top_5m.tar.bz2
soiltype_bot_10m.tar.bz2 soiltype_top_10m soiltype_top_5m.tar.bz2:Zone.Identifier
(base) lsh@DESKTOP-8N2HJ5V:~/file$ cd matthew
(base) lsh@DESKTOP-8N2HJ5V:~/file/matthew$ ls
fnl_20161006_00_00.grib2 fnl_20161006_18_00.grib2 fnl_20161007_12_00.grib2
fnl_20161006_06_00.grib2 fnl_20161007_00_00.grib2 fnl_20161007_18_00.grib2
fnl_20161006_12_00.grib2 fnl_20161007_06_00.grib2 fnl_20161008_00_00.grib2
(base) lsh@DESKTOP-8N2HJ5V:~/file/matthew$
저는 이미 file이라는 폴더를 만들어놨어서 그대로 사용했습니다
저렇게 압축을 해제한 후에 matthew 폴더를 들어가보면 9가지 파일이 있습니다
저기에 있는 시간을 잘 기억하셔야합니다
자료 설명을 보면
1도 x 1도 그리드 안에 timestep이 6시간입니다
나중에 결과와 비교하기 위해서 기억해두시면 좋겠습니다
그후에 /home/사용자 명/WRF/WPS-4.1 디렉토리로 이동하시면 됩니다
이번 포스팅에서 작업할 디렉토리는 WPS-4.1이니 추가로 디렉토리 변경은 안하셔도 됩니다
저는 이미 WRF를 돌려본 상태라 뭐가 많이 만들어져있습니다
참고 바랍니다
(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WPS-4.1$ ls
FILE:2016-10-06_00 SST:2016-10-06_06 geo_em.d01.nc met_em.d01.2016-10-07_18:00:00.nc
FILE:2016-10-06_06 SST:2016-10-06_12 geo_em.d02.nc met_em.d01.2016-10-08_00:00:00.nc
FILE:2016-10-06_12 SST:2016-10-06_18 geo_em.d03.nc metgrid
FILE:2016-10-06_18 SST:2016-10-07_00 geogrid metgrid.exe
FILE:2016-10-07_00 SST:2016-10-07_06 geogrid.exe metgrid.log
FILE:2016-10-07_06 SST:2016-10-07_12 geogrid.log namelist.wps
FILE:2016-10-07_12 SST:2016-10-07_18 link_grib.csh namelist.wps.all_options
FILE:2016-10-07_18 SST:2016-10-08_00 met_em.d01.2016-10-06_00:00:00.nc namelist.wps.fire
FILE:2016-10-08_00 Vtable met_em.d01.2016-10-06_06:00:00.nc namelist.wps.global
GRIBFILE.AAA arch met_em.d01.2016-10-06_12:00:00.nc namelist.wps.nmm
GRIBFILE.AAB clean met_em.d01.2016-10-06_18:00:00.nc ungrib
GRIBFILE.AAC compile met_em.d01.2016-10-07_00:00:00.nc ungrib.exe
README configure met_em.d01.2016-10-07_06:00:00.nc ungrib.log
SST:2016-10-06_00 configure.wps met_em.d01.2016-10-07_12:00:00.nc util
(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WPS-4.1$
확인해보면 이렇게 있습니다
FILE로 시작하는거랑 met으로 시작하는 것들, geo_em.d01.nc를 빼고 있을겁니다
여기서 중요한 것은 namelist.wps, ungrib.exe, geogrid.exe, metgrib.exe 이렇게 4가지 입니다
출처는 WRF tutorial 공식 유튜브에서 가져왔습니다
WRF의 구조는 이렇게 생겼습니다
WPS가 WRF Preprocessing System인 만큼 전처리 작업입니다
지형데이터나 기상데이터를 해독하는 일을 합니다
#수정 사항 있음!!
ln -sf ungrib/Variable_Tables/Vtable.GFS Vtable
#기존에 아래와 같은 방식을 사용했지만
./link_grib.csh ../DATA/matthew/fnl
#./link_grib.csh가 잘 작동하지 않을 때가 있음 그럴 경우 아래 방식을 사용해도 가능
ln -s ../DATA/matthew/fnl
이렇게 두 줄 먼저 실행해주시면 됩니다
가장 먼저 할 일은 geogrid입니다
vi namelist.wps
이렇게 namelist 파일을 먼저 열어줍니다
&share
wrf_core = 'ARW',
max_dom = 1,
start_date = '2016-10-06_00:00:00'
end_date = '2016-10-08_00:00:00'
interval_seconds = 21600
io_form_geogrid = 2,
/
&geogrid
parent_id = 1,
parent_grid_ratio = 1,
i_parent_start = 1,
j_parent_start = 1,
e_we = 91,
e_sn = 100,
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
! The default datasets used to produce the MAXSNOALB and ALBEDO12M
! fields have changed in WPS v4.0. These fields are now interpolated
! from MODIS-based datasets.
!
! To match the output given by the default namelist.wps in WPS v3.9.1,
! the following setting for geog_data_res may be used:
!
! geog_data_res = 'maxsnowalb_ncep+albedo_ncep+default', 'maxsnowalb_ncep+albedo_ncep+default',
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!! IMPORTANT NOTE !!!!!!!!!!!!!!!!!!!!!!!!!!!!
!
geog_data_res = 'default'
dx = 18000,
dy = 18000,
map_proj = 'mercator'
ref_lat = 28.00,
ref_lon = -75.00,
truelat1 = 30.0,
truelat2 = 60.0,
stand_lon = -75.0,
geog_data_path = '/home/lsh/WRF/WPS_GEOG'
/
&ungrib
out_format = 'WPS',
prefix = 'FILE',
/
&metgrid
fg_name = 'FILE'
io_form_metgrid = 2,
그러면 이렇게 나옵니다
여기에 있는 것들이 전부 모델의 전처리를 위한 설정들인데
제가 설명드리면 부정확할 수도 있고 제대로 설명 드리지 못할 거 같아서 안내서 링크를 올려드리겠습니다
5-1 부분부터 보시면 될 거 같습니다
https://www2.mmm.ucar.edu/wrf/users/docs/user_guide_v4/v4.0/users_guide_chap5.html
나머지 부분들은 저랑 똑같이 설정하시면 됩니다
geog_data_path = '/home/lsh/WRF/WPS_GEOG' 이 부분만 자기 경로대로 설정해주시면 됩니다
저장하고 나와주시면 됩니다
그 후에 WPS 디렉토리에서 ./geogrid.exe, ./ungrib.exe, ./metgrid.exe 이렇게 순서대로 실행해주시면 됩니다
순서대로 실행 결과를 보여드리겠습니다
geogrid는 지형데이터나 지도 투영법을 정하는 작업입니다
(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WPS-4.1$ ./geogrid.exe
Parsed 28 entries in GEOGRID.TBL
Processing domain 1 of 1
Processing XLAT and XLONG
Processing MAPFAC
Processing F and E
Processing ROTANG
Processing LANDUSEF
Calculating landmask from LANDUSEF ( WATER = 17 21 )
Processing HGT_M
Processing SOILTEMP
Processing SOILCTOP
Processing SCT_DOM
Processing SOILCBOT
Processing SCB_DOM
Processing ALBEDO12M
Processing GREENFRAC
Processing LAI12M
Processing SNOALB
Processing CON
Processing VAR
Processing OA1
Processing OA2
Processing OA3
Processing OA4
Processing OL1
Processing OL2
Processing OL3
Processing OL4
Processing VAR_SSO
Optional fields not processed by geogrid:
LAKE_DEPTH (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/lake_depth/')
URB_PARAM (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/NUDAPT44_1km/')
FRC_URB2D (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/urbfrac_nlcd2011/')
IMPERV (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/nlcd2011_imp_ll_9s/')
CANFRA (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/nlcd2011_can_ll_9s/')
EROD (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/erod/')
CLAYFRAC (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/clayfrac_5m/')
SANDFRAC (priority=1, resolution='default', path='/home/lsh/WRF/WPS_GEOG/sandfrac_5m/')
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of geogrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
geogrid는 이렇게 결과가 나옵니다
아까 위에서 보신 geo_em.d01.nc, geo_em.d02.nc, geo_em.d03.nc
ungrib은 받아온 grib을 압축해제하는 작업입니다
Inventory for date = 2016-10-08 00:00:00
PRES TT UU VV RH HGT PSFC PMSL SM000010 SM010040 SM040100 SM100200 SM010200 ST000010 ST010040 ST040100 ST100200 ST010200 SEAICE LANDSEA LANDN SOILHGT SKINTEMP SNOW SNOWH UMAXW VMAXW PMAXW PMAXWNN TMAXW HGTMAXW UTROP VTROP PTROP PTROPNN TTROP HGTTROP
-------------------------------------------------------------------------------
2013.0 O O O O O O X O O O O O O O O O O O O O O O O O O O O O O O O O O O O O
2001.0 X X X X O X O X X X X O X X X X O X X O X X X X X X X X X X X X X X X X
1000.0 X X X X X
975.0 X X X X X
950.0 X X X X X
925.0 X X X X X
900.0 X X X X X
850.0 X X X X X
800.0 X X X X X
750.0 X X X X X
700.0 X X X X X
650.0 X X X X X
600.0 X X X X X
550.0 X X X X X
500.0 X X X X X
450.0 X X X X X
400.0 X X X X X
350.0 X X X X X
300.0 X X X X X
250.0 X X X X X
200.0 X X X X X
150.0 X X X X X
100.0 X X X X X
70.0 X X X X X
50.0 X X X X X
30.0 X X X X X
20.0 X X X X X
10.0 X X X X X
7.0 X X X X X
5.0 X X X X X
3.0 X X X X X
2.0 X X X X X
1.0 X X X X X
-------------------------------------------------------------------------------
...
**********
Deleting temporary files created by ungrib...
**********
Deleting file: ./PFILE:2016-10-06_00
Deleting file: ./PFILE:2016-10-06_06
Deleting file: ./PFILE:2016-10-06_12
Deleting file: ./PFILE:2016-10-06_18
Deleting file: ./PFILE:2016-10-07_00
Deleting file: ./PFILE:2016-10-07_06
Deleting file: ./PFILE:2016-10-07_12
Deleting file: ./PFILE:2016-10-07_18
Deleting file: ./PFILE:2016-10-08_00
**********
Done deleting temporary files.
**********
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of ungrib. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
ungrib은 결과가 길어서 중간에 저렇게 x가 잔뜩 나오고 마지막 부분에 이렇게 성공했다고 나오면 됩니다
마지막으로 metgrib은 위에 두가지 자료를 가지고 수평적으로 내삽을 하는 작업입니다
(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WPS-4.1$ ./metgrid.exe
Processing domain 1 of 1
Processing 2016-10-06_00
FILE
Processing 2016-10-06_06
FILE
Processing 2016-10-06_12
FILE
Processing 2016-10-06_18
FILE
Processing 2016-10-07_00
FILE
Processing 2016-10-07_06
FILE
Processing 2016-10-07_12
FILE
Processing 2016-10-07_18
FILE
Processing 2016-10-08_00
FILE
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! Successful completion of metgrid. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Note: The following floating-point exceptions are signalling: IEEE_OVERFLOW_FLAG IEEE_UNDERFLOW_FLAG IEEE_DENORMAL
마지막으로 metgrid를 실행하면 이렇게 나옵니다
여기까지 하면 전치리 과정은 모두 끝이 났습니다
이제 다음 포스팅에서 실제 결과만 출력하면 끝이 납니다
'리눅스' 카테고리의 다른 글
LINUX : WRF 모델 1시간 단위로 돌려보기 (0) | 2023.06.25 |
---|---|
LINUX : WRF, Single case 실행해보기2 (0) | 2023.06.19 |
LINUX : WPS 설치하기 (4) | 2023.06.13 |
LINUX : WRF 모델 설치하기 (0) | 2023.06.13 |
LINUX : Jasper 설치하기 (0) | 2023.06.13 |