리눅스

LINUX : WRF, Single case 실행해보기2

이석사 중 2023. 6. 19. 18:11
728x90

이번에는 마지막으로 WRF를 실행해보겠습니다


이제 작업 디렉토리를 /home/lsh/WRF/WRF-4.1.2/test/em_real 로 옮기겠습니다

 

앞에서 WRF를 컴파일 할 때 em_real로 했기 때문에 test폴더 들 중 em_real로 가주셔야합니다

 

먼저 실행하기전에 링크라는 것을 해주어야합니다

 

ln -sf ../../../WPS/met_em.d01.2016-10*

온라인 튜토리얼에서는 이렇게 하라고 나와있었는데

 

저는 이렇게 하면 오류가 나서 각각 개별 파일마다 링크를 했습니다

ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-06_00:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-06_06:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-06_12:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-06_18:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-07_00:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-07_06:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-07_12:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-07_18:00:00.nc
ln -sf /home/lsh/WRF/WPS-4.1/met_em.d01.2016-10-08_00:00:00.nc

 

링크가 다 됐으면

vi namelist.input

namelist.input을 실행시켜주시면 됩니다

 

아래쪽에 물리랑 역학 부분이 있지만 저희는 domain이랑 time control만 보면 됩니다

&time_control
 run_days                            = 0,
 run_hours                           = 48,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2016,
 start_month                         = 10,
 start_day                           = 06,
 start_hour                          = 00,
 end_year                            = 2016,
 end_month                           = 10,
 end_day                             = 08,
 end_hour                            = 00,
 interval_seconds                    = 21600
 input_from_file                     = .true.,
 history_interval                    = 180,
 frames_per_outfile                  = 1
 restart                             = .false.,
 restart_interval                    = 1440,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 /

 &domains
 time_step                           = 60,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 1,
 e_we                                = 91,
 e_sn                                = 100,
 e_vert                              = 45,
 p_top_requested                     = 5000,
 num_metgrid_levels                  = 32,
 num_metgrid_soil_levels             = 4,
 dx                                  = 18000,
 dy                                  = 18000,
 grid_id                             = 1,
 parent_id                           = 1,
 i_parent_start                      = 1,
 j_parent_start                      = 1,
 parent_grid_ratio                   = 1,
 parent_time_step_ratio              = 1
 feedback                            = 1,

이렇게 똑같이 수정해주시면 됩니다

 

온라인 튜토리얼은 격자 크기를 27km * 27km로 했고 timestep도 150이었지만 

 

저는 컴퓨터 사양문제로 18km * 18km에 60으로 했습니다

 

혹시 사양이 낮으면 Segmentation fault라는 에러가 뜹니다

 

이때 바꿔주시면 됩니다

 

수정을 마쳤으면 저장하고 나와주시면 됩니다


그리고 real.exe 부터 실행해주시면 됩니다

./real.exe

실행하면 

(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WRF-4.1.2/test/em_real$ ./real.exe
 starting wrf task            0  of            1
(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WRF-4.1.2/test/em_real$

요렇게 출력이 됩니다

 

그 후에 ls -ltrh로 생성된 파일들을 확인해봤을 때

-rw-r--r-- 1 lsh lsh 3.7K Jun 19 17:44  namelist.input
-rw-r--r-- 1 lsh lsh  84K Jun 19 17:44  namelist.output
-rw-r--r-- 1 lsh lsh 9.6M Jun 19 17:44  wrfinput_d01
-rw-r--r-- 1 lsh lsh  21M Jun 19 17:44  wrfbdy_d01
-rw-r--r-- 1 lsh lsh  21K Jun 19 17:44  rsl.out.0000
-rw-r--r-- 1 lsh lsh  10K Jun 19 17:44  rsl.error.0000

이렇게 아래 4가지 파일이 생기면 성공입니다

 

wrfinput_d01과 wrfbdy_d01이 꼭 생겨야합니다!

 

진짜 마지막입니다

./wrf.exe

이 코드를 실행해주시면 시간은 좀 오래걸립니다

(base) lsh@DESKTOP-8N2HJ5V:~/WRF/WRF-4.1.2/test/em_real$ ./wrf.exe
 starting wrf task            0  of            1

이렇게 출력이 되고 시간이 꽤 걸릴겁니다

 

이때 우분투 폴더에서 새로고침을 누르면서 보면 nc 파일들을 계속 만들어내고 있는 걸 알 수 있습니다

 

ls -ltrh로 확인해보면 

-rw-r--r-- 1 lsh lsh 8.9M Jun 19 17:48  wrfout_d01_2016-10-06_00:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:49  wrfout_d01_2016-10-06_03:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:51  wrfout_d01_2016-10-06_06:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:52  wrfout_d01_2016-10-06_09:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:53  wrfout_d01_2016-10-06_12:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:54  wrfout_d01_2016-10-06_15:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:55  wrfout_d01_2016-10-06_18:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:56  wrfout_d01_2016-10-06_21:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:57  wrfout_d01_2016-10-07_00:00:00
-rw-r--r-- 1 lsh lsh  55M Jun 19 17:57  wrfrst_d01_2016-10-07_00:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:58  wrfout_d01_2016-10-07_03:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 17:59  wrfout_d01_2016-10-07_06:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 18:00  wrfout_d01_2016-10-07_09:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 18:01  wrfout_d01_2016-10-07_12:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 18:02  wrfout_d01_2016-10-07_15:00:00
-rw-r--r-- 1 lsh lsh  11M Jun 19 18:03  wrfout_d01_2016-10-07_18:00:00
-rw-r--r-- 1 lsh lsh  12M Jun 19 18:04  wrfout_d01_2016-10-07_21:00:00
-rw-r--r-- 1 lsh lsh  12M Jun 19 18:05  wrfout_d01_2016-10-08_00:00:00
-rw-r--r-- 1 lsh lsh  55M Jun 19 18:06  wrfrst_d01_2016-10-08_00:00:00

요렇게 결과들이 잘 만들어진 모습입니다

 

저번 포스팅에서는 6시간 간격이었지만 결과는 3시간 간격으로 나온 모습입니다

 

이렇게 WRF 모델을 돌려봤습니다

 

다음 포스팅은 이 결과를 NCL로 시각화 해보겠습니다

 

긴 글 읽어주셔서 감사합니다!

 

 

728x90