跑WRF模式,运行wrf.exe
或者.real.exe
时,会出现以下报错提示警告:
--- WARNING: traj_opt is zero, but num_traj is not zero; setting num_traj to zero. --- NOTE: sst_update is 0, setting io_form_auxinput4 = 0 and auxinput4_interval = 0 for all domains --- NOTE: grid_fdda is 0 for domain 1, setting gfdda interval and ending time to 0 for that domain. --- NOTE: both grid_sfdda and pxlsm_soil_nudge are 0 for domain 1, setting sgfdda interval and ending time to 0 for that domain. --- NOTE: obs_nudge_opt is 0 for domain 1, setting obs nudging interval and ending time to 0 for that domain. --- NOTE: bl_pbl_physics /= 4, implies mfshconv must be 0, resetting Need MYNN PBL for icloud_bl = 1, resetting to 0 --- NOTE: RRTMG radiation is used, namelist value for o3input (ozone input) is used --- NOTE: One of the RRTMG radiation schemes is in use, setting: levsiz=59, alevsiz=12, no_src_types=6 --- NOTE: num_soil_layers has been set to 4
- 之前,我的解决措施是,根据它的这些提示(NOTE),将所需的参数添加进去,也确实成功了运行啦。但是当我进行嵌套区域时,又报了上述的警告错误,直接运行不下去了。
- 将
debug_level,
开到999也没有明显的错误提示。总之,就是非常迷。。。 - 后来,经过分析,我感觉不是添加参数的问题,因为它的提示是告诉我们:
因为:sst_update is 0
所以:
setting io_form_auxinput4 = 0 and auxinput4_interval = 0 for all domains
这是模式系统根据sst_update=0,setting
了后面的两个参数为0,而不是要求我们去need set
。
意思就是说,即使你不设置那些参数,应该也没有问题,所以说,问题出在别处。
于是乎,我又去大量的搜索,找到以下的解决方法:
- 1、调整积分步长:time_step =6dx\5dx\3dx
- 2、调整模拟区域范围、嵌套层数、分辨率
- 3、复制别人跑模式没问题的namelist.input,在其基础上根据需要进行修改
- 3、!重新编译一遍netcdf以及WRF!
经过我的测试,前3种方法解决效果有限,可能有时候改改能成功,但是有时候可能毫无效果。
所以说,重点来了,第4种方法,经过测试,非常有效!!!起码在我这里,netcdf的版本以及WRF的版本之间有一个适配的量度,很有可能是netcdf编译过程或者MPI并行过程由于设置环境变量引起的问题。
!!!解决办法如下:
- 所以,需要重新编译一遍netcdf或者WRF。当然,重新编译的过程是繁琐浪费时间的,有一个比较快的途径是,先找一个WRF运行没问题的版本,将自己的
met*.nc或者wrfinput_do1 、wrfbdy_d01文件拷到他的目录下,尝试运行,如果没有问题。那么就直接将他的环境以及WRF、MPI文件拷过来,节省时间。
下面贴一下我的环境变量设置
,以及namelist.input
,仅供参考:
- 编译环境配置
- namelist.input
&time_control run_days = 0, run_hours = 0, run_minutes = 0, run_seconds = 0, start_year = 2000, 2000, 2000, start_month = 03, 03, 01, start_day = 23, 23, 24, start_hour = 00, 00, 12, end_year = 2000, 2000, 2000, end_month = 03, 03, 01, end_day = 30, 30, 25, end_hour = 18, 18, 12, interval_seconds = 21600, input_from_file = .true.,.true.,.true., history_interval = 3600, 3600, 60, frames_per_outfile = 1, 1000, 1000, restart = .false., restart_interval = 1440, io_form_history = 2, io_form_restart = 2, io_form_input = 2, io_form_boundary = 2, io_form_auxinput4 = 0, auxinput4_interval = 0, 0, auxinput11_interval = 0, 0, auxinput11_end_h = 0, 0, debug_level = 100, / &domains time_step = 30, time_step_fract_num = 0, time_step_fract_den = 1, max_dom = 1, e_we = 1020, 1771, 1471, e_sn = 600, 1051, 889, e_vert = 50, 50, 33, p_top_requested = 5000, num_metgrid_levels = 38, num_metgrid_soil_levels = 4, dx = 36000, 12000, 3333.33, dy = 36000, 12000, 3333.33, grid_id = 1, 2, 3, parent_id = 1, 1, 2, i_parent_start = 1, 342, 27, j_parent_start = 1, 128, 26, parent_grid_ratio = 1, 3, 3, parent_time_step_ratio = 1, 3, 3, feedback = 1, smooth_option = 0, / &physics mp_physics = 8, 0, cu_physics = 2, 0, ra_lw_physics = 4, 4, ra_sw_physics = 4, 4, bl_pbl_physics = 11, 11, mfshconv = 0, 0, sf_sfclay_physics = 1, 1, sf_surface_physics = 4, 4, num_soil_layers = 4, radt = 3, 30, 30, bldt = 0, 0, 0, cudt = 0, 5, 5, icloud = 1, icloud_bl = 0, num_land_cat = 21, sf_urban_physics = 0, 0, 0, o3input = 0, / &fdda grid_fdda = 0, gfdda_interval_m = 0, gfdda_end_h = 0, grid_sfdda = 0, sgfdda_interval_m = 0, sgfdda_end_h = 0, obs_nudge_opt = 0, / &dynamics w_damping = 1, diff_opt = 1, 1, 1, km_opt = 4, 4, 4, diff_6th_opt = 2, 0, 0, diff_6th_factor = 0.12, 0.12, 0.12, base_temp = 290. damp_opt = 0, zdamp = 5000., 5000., 5000., dampcoef = 0.2, 0.2, 0.2 khdif = 0, 0, 0, kvdif = 0, 0, 0, non_hydrostatic = .true., .true., .true., scalar_adv_opt = 1, 1, 1, gwd_opt = 1, / &bdy_control spec_bdy_width = 5, specified = .true. / &grib2 / &namelist_quilt nio_tasks_per_group = 0, nio_groups = 1, /
希望能够帮助大家~