再论WRF模式报错:traj_opt is zero, but num_traj is not zero ,如何解决问题,成功运行

简介: 再论WRF模式报错:traj_opt is zero, but num_traj is not zero ,如何解决问题,成功运行

跑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,仅供参考:


  • 编译环境配置


ca125c8ca1b64f808f9e0879f305bd9d.png


  • 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,
 /

希望能够帮助大家~

相关文章
|
5月前
|
Go
GoLand软件包 home 包含多个 main 函数 请考虑改用文件种类
GoLand软件包 home 包含多个 main 函数 请考虑改用文件种类
GoLand软件包 home 包含多个 main 函数 请考虑改用文件种类
[c++][记录]编译libusb-win32过程
[c++][记录]编译libusb-win32过程
216 0
|
2月前
|
网络协议 API Windows
MASM32v11编程调用Process32First失败: 程序发出命令,但命令长度不正确
MASM32v11编程调用Process32First失败: 程序发出命令,但命令长度不正确
|
5月前
|
存储 Java 索引
JavaSE——数组(2/2)-数组在计算机中的执行原理、数组案例、Debug工具的使用
JavaSE——数组(2/2)-数组在计算机中的执行原理、数组案例、Debug工具的使用
28 4
|
6月前
LabVIEW使用VI服务器的调用节点将数据传递到另一个VI 使用调用节点(Invoke Node)与通过引用调用节点(Call by Reference)调用VI时有什么差别?
LabVIEW使用VI服务器的调用节点将数据传递到另一个VI 使用调用节点(Invoke Node)与通过引用调用节点(Call by Reference)调用VI时有什么差别?
162 0
|
PHP
php开发实战分析(4):php调用封装函数包含文件路径自适应不同目录的解决方案($_SERVER[‘DOCUMENT_ROOT‘]与__DIR__魔术常量)
php开发实战分析(4):php调用封装函数包含文件路径自适应不同目录的解决方案($_SERVER[‘DOCUMENT_ROOT‘]与__DIR__魔术常量)
175 0
|
运维 Java Python
用python提前预测jvm cpu100%自动dump thread升级版
用python提前预测jvm cpu100%自动dump thread升级版
186 0
用python提前预测jvm cpu100%自动dump thread升级版
|
编译器
【UVM避坑】记录 UVM / SV 使用过程中遇到的琐碎问题
【UVM避坑】记录 UVM / SV 使用过程中遇到的琐碎问题
1437 0
【UVM避坑】记录 UVM / SV 使用过程中遇到的琐碎问题
【WRF如何在输出的wrfoutput文件中设置添加/删除变量】
【WRF如何在输出的wrfoutput文件中设置添加/删除变量】
|
监控 算法
一行代码干掉 debug 和 print,助力算法学习
在写算法的时候,总是要每行每个变量一个个的 debug,有时候还要多写几个 print,一道算法题要花好长时间才能理解。pysnooper 模块可以把在运行中变量值都给打印出来。
158 0
一行代码干掉 debug 和 print,助力算法学习