WRF模式之个例模拟

2020-04-21 16:47:01 浏览数 (1)

WPS只是WRF运用实际数据模拟的准备过程,这就好比开车要先上车。讲完前处理过程之后 WRF模式之WPS的配置运行,就要开始模拟了。

模拟之前同样需要设置参数,这里的参数通过 namelist.input 文件控制,常规的 namelist.input 文件内容如下:

代码语言:javascript复制
&time_control
 run_days                            = 1,
 run_hours                           = 0,
 run_minutes                         = 0,
 run_seconds                         = 0,
 start_year                          = 2015, 2015, 
 start_month                         = 10, 10, 
 start_day                           = 04, 04,
 start_hour                          = 00, 00,
 start_minute                        = 00, 00,
 start_second                        = 00, 00,
 end_year                            = 2015, 2015,
 end_month                           = 10, 10,
 end_day                             = 05, 05,
 end_hour                            = 00, 00,
 end_minute                          = 00, 00,
 end_second                          = 00, 00,
 interval_seconds                    = 21600
 input_from_file                     = .true.,.true.,
 history_interval                    = 10,   5,  # 表示多长时间输出一次结果
 frames_per_outfile                  = 36,  36,  # 表示多少个结果输出到一个文件
 restart                             = .false.,
 restart_interval                    = 360,
 io_form_history                     = 2
 io_form_restart                     = 2
 io_form_input                       = 2
 io_form_boundary                    = 2
 debug_level                         = 10
 /

 &domains
 time_step                           = 45,
 time_step_fract_num                 = 0,
 time_step_fract_den                 = 1,
 max_dom                             = 2,
 s_we                                = 1,     1, 
 e_we                                = 241,   424,
 s_sn                                = 1,     1, 
 e_sn                                = 220,   421,
 s_vert                              = 1,     1, 
 e_vert                              =  48,    48, 
 sfcp_to_sfcp                        = .false.
 dx                                  = 9000,   3000,
 dy                                  = 9000,   3000, 
 grid_id                             = 1,     2, 
 parent_id                           = 0,     1, 
 i_parent_start                      = 0,    50,
 j_parent_start                      = 0,    40, 
 parent_grid_ratio                   = 1,    3, 
 parent_time_step_ratio              = 1,    3, 
 feedback                            = 0,
 smooth_option                       = 1,
 num_metgrid_levels                  = 27,
 num_metgrid_soil_levels             = 4,
 p_top_requested                     = 5000,
 /

 &physics
 mp_physics                          = 17,     17, 
 gsfcgce_hail                        = 0,    
 gsfcgce_2ice                        = 0,     
 ra_lw_physics                       = 1,     1, 
 ra_sw_physics                       = 1,     1, 
 radt                                = 9,     9, 
 sf_sfclay_physics                   = 1,     1,
 sf_surface_physics                  = 2,     2, 
 bl_pbl_physics                      = 1,     1, 
 bldt                                = 0,     0, 
 cu_physics                          = 1,     0, 
 cudt                                = 5,     0, 
 surface_input_source                = 1,
 num_soil_layers                     = 4,
 maxiens                             = 1,
 maxens                              = 3,
 maxens2                             = 3,
 maxens3                             = 16,
 ensdim                              = 144,
 /

 &fdda
 /

 &dynamics
 w_damping                           = 1,
 diff_opt                            = 2,
 km_opt                              = 4,
 diff_6th_opt                        = 2,
 diff_6th_factor                     = 0.12,
 damp_opt                            = 0,
 base_temp                           = 290.
 zdamp                               = 5000.,  5000., 
 dampcoef                            = 0.2,    0.2, 
 khdif                               =   0,     0,  
 kvdif                               =   0,     0,  
 non_hydrostatic                     = .true., .true., 
 time_step_sound                     = 6,      6,  
 h_mom_adv_order                     = 5,      5,  
 v_mom_adv_order                     = 5,      5,  
 h_sca_adv_order                     = 5,      5,  
 v_sca_adv_order                     = 5,      5,  
 moist_adv_opt                       = 3,
 scalar_adv_opt                      = 3,
 momentum_adv_opt                    = 3,
 chem_adv_opt                        = 3,
 tke_adv_opt                         = 3,
 /

 &bdy_control
 spec_bdy_width                      = 5,
 spec_zone                           = 1,
 relax_zone                          = 4,
 specified                           = .true.,
 nested                              = .false., .true., 
 /

 &grib2
 /

 &namelist_quilt
 nio_tasks_per_group = 0,
 nio_groups = 1,
 /

一般情况下,在模拟时需要关心的是 &time_control, &domains,&physics部分的参数设置。

&time_control 部分主要控制的是模拟的时间范围,debug 信息输出,输出格式等信息。

注意

&domains 部分的参数设置要和所用初始场以及WPS namelist.wps的一些参数设置相同,否则会出错。

&physics 部分主要控制的是微物理方案,辐射方案以及积云对流参数化等的选择。

&dynamics 部分控制的是动力参数的设置。

&fdda 主要应用于资料同化参数的设置。

还有一些其它部分的参数设置,通常这些部分的参数不需要更改。

大概了解了一下namelist.input的参数设置之后,就可以运行了。再运行之前,先把WPS过程中运行 metgrid.exe 的时候生成了一些 met_em*文件拷贝或是链接到 WRFV3/run下,当然也可以链接到 WRFV3/test/em_real/ 下。(关于链接和拷贝的命令看这里 linux常用命令之进阶)

开始之前先进入 WRFV3/run 目录下:

  • 链接 met_em* 文件 ln -sf ../../WPS/met_em.d0* .

注意: 命令后的 . 不能省,这里的 . 表示当前路径。

  • 初始化气象要素 ./real.exe 运行成功后会生成一些文件,wrfbdy_d01,wrfinput_d*
  • 模拟积分——开始模拟 ./wrf.exe 上述方式为串行运行,如果编译支持并行运算的话,可以执行以下命令: mpirun -np 4 ./wrf.exe 表示使用4个处理器进行运算。当然, real.exe 也支持并行运算。

然后就等模拟结束就行了。耗时长短与模拟个例时间长短,嵌套层数多少,模拟域范围大小等因素有关。当然,如果出错了的话就另说了==

模拟结束之后会生成一系列输出文件,比如:wrfout_d01_2015-10-04_00:00:00 等文件。可能没有后缀,但是默认的输出文件格式为 nc。模拟结束之后就是后处理过程了。

关于模式后处理,之前也提到过一些:

真・WRF模式后处理之Python版

WRF模式后处理

高维数据可视化

后处理过程其实就是处理数据的过程。使用什么工具或是编程语言都可以,没有限制。只要你能得到想要的结果就行了。

0 人点赞