爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 6797|回复: 6

[已解决]WRF模式嵌套模拟时采用并行运算出错问题

[复制链接]
发表于 2015-12-26 16:02:25 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 Lighting 于 2017-4-13 07:58 编辑

         首先声明一点:这不是一个遇到错误没有思考,直接产生的帖子。我查阅了资料,也百度,谷歌了错误信息,当然,可能我的关注不够细致导致没有发现网络上的解决办法。所以还请各位遇到或是明白这些的朋友看一下,给个提示也好。谢谢!
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
            后来更改成大型机上最新版的并行库,重新编译了一次就好了。
            又仔细回想了一下:在编译的过程中千万不要随便更改环境变量,编译器,库文件等,尤其是在两个路径下编译时,否则出现的问题可能你自己都想不到。
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
         编译器:intel 11   并行库:openmpi
         在大型机上使用WRF3.3.1版本进行真实个例模拟,如果不嵌套模拟则能正常运行,如果嵌套模拟就会出现错误。
         目前已经进行过的操作:
                     1) 更改过积分步长,增大减小都试过,仍然出错
                     2) 更换过并行库,有那么一瞬间可以使用,但是之后就不行了
                                简单说一下那一瞬间:重新编译的WRF,但是没有编译WPS,所有文件均是重新编译之前生成的,采用的依然是单层模拟。
                     3)  更改过运算节点数和核数,在嵌套模拟时依然出现上述错误

          麻烦各位帮忙看看,如果信息不够的话我可以再提供。谢谢!
---------------------------------------------------------------------错误信息---------------------------------------------------------------------------------------------------
1) 第一次出现的错误
starting wrf task            1  of            8
starting wrf task            7  of            8
starting wrf task            3  of            8
starting wrf task            6  of            8
starting wrf task            0  of            8
starting wrf task            5  of            8
starting wrf task            4  of            8
starting wrf task            2  of            8
starting wrf task            1  of            8
starting wrf task            3  of            8
starting wrf task            7  of            8
starting wrf task            2  of            8
starting wrf task            4  of            8
starting wrf task            5  of            8
starting wrf task            6  of            8
starting wrf task            0  of            8
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 24475 on node c18n12 exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------

2)第二次出现的错误
starting wrf task            6  of            8
starting wrf task            0  of            8
starting wrf task            3  of            8
starting wrf task            5  of            8
starting wrf task            7  of            8
starting wrf task            2  of            8
starting wrf task            4  of            8
starting wrf task            1  of            8
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
--------------------------------------------------------------------------
mpirun has exited due to process rank 0 with PID 10283 on
node c01n03 exiting improperly. There are two reasons this could occur:

1. this process did not call "init" before exiting, but others in
the job did. This can cause a job to hang indefinitely while it waits
for all processes to call "init". By rule, if one process calls "init",
then ALL processes must call "init" prior to termination.

2. this process called "init", but exited without calling "finalize".
By rule, all processes that call "init" MUST call "finalize" prior to
exiting or it will be considered an "abnormal termination"

This may have caused other processes in the application to be
terminated by signals sent by mpirun (as reported here).

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

----------------------------------------------------------------------namelist 文件-----------------------------------------------------------------------------------------
&time_control
run_days                            = 1,
run_hours                           = 0,
run_minutes                         = 0,
run_seconds                         = 0,
start_year                          = 2015, 2015, 2012, 2012, 2012,
start_month                         = 04, 04, 05, 05, 05,
start_day                           = 28, 28, 29, 29, 29,
start_hour                          = 00, 00, 12, 18, 12,
start_minute                        = 00, 00, 00, 00, 00,
start_second                        = 00, 00, 00, 00, 00,
end_year                            = 2015, 2015, 2012, 2012, 2012,
end_month                           = 04, 04, 05, 05, 05,
end_day                             = 29, 29, 30, 30, 31,
end_hour                            = 00, 00, 06, 06, 12,
end_minute                          = 00, 00, 00, 00, 00,
end_second                          = 00, 00, 00, 00, 00,
interval_seconds                    = 21600
input_from_file                     = .true.,.false.,.false.,
history_interval                    = 20, 30, 40, 20, 60,
frames_per_outfile                  = 12,  8,  10,  30,  1,
restart                             = .false.,
restart_interval                    = 500000,
io_form_history                     = 2
io_form_restart                     = 2
io_form_input                       = 2
io_form_boundary                    = 2
debug_level                         = 0
/

&domains
time_step                           = 10,
time_step_fract_num                 = 0,
time_step_fract_den                 = 1,
max_dom                             = 2,
s_we                                = 1,     1,     1,     1,     1,
e_we                                = 100,   202,   229,   256,   241,
s_sn                                = 1,     1,     1,     1,     1,
e_sn                                = 80,   160,   313,   343,   286,
s_vert                              = 1,     1,     1,     1,     1,
e_vert                              = 48,   48,   48,     48,     48,
sfcp_to_sfcp                         = .false.
dx                                  = 3000,   1000,   4500,   1500,   500,
dy                                  = 3000,   1000,   4500,   1500,   500,
grid_id                             = 1,     2,     3,     4,     5,
parent_id                           = 0,     1,     2,     3,    4,
i_parent_start                      = 0,   15,   57,   66,   88,
j_parent_start                      = 0,   15,   50,   150,   231,
parent_grid_ratio                   = 1,    3,   3,   3,   3,
parent_time_step_ratio              = 1,    3,    3,    3,    3,
feedback                            = 0,
smooth_option                       = 0,
num_metgrid_levels                  = 27,
num_metgrid_soil_levels             = 4,
p_top_requested                     = 5000,
eta_levels                          = 1.000,0.997,0.994,0.991,0.988,0.985,0.980,0.975,0.970,0.960,0.950,
                                       0.940,0.930,0.920,0.910,0.895,0.880,
                                       0.865,0.850,0.825,0.800,0.775,0.750,
                                       0.720,0.690,0.660,0.630,0.600,0.570,
                                       0.540,0.510,0.475,0.440,0.405,0.370,
                                       0.330,0.290,0.250,0.210,0.175,0.145,
                                       0.115,0.090,0.065,0.045,0.025,0.010,
                                       0.000,
smooth_option                       = 0
/

&physics
mp_physics                          = 6,     6,     6,     6,     6,
gsfcgce_hail                        = 0,   
gsfcgce_2ice                        = 0,     
ra_lw_physics                       = 1,     1,     5,     1,      1,
ra_sw_physics                       = 1,     1,     5,     1,      1,
radt                                = 10,    10,     0,   30,      30,
sf_sfclay_physics                   = 2,     2,     2,     1,      1,
sf_surface_physics                  = 2,     2,     0,     2,      2,
bl_pbl_physics                      = 2,     2,     0,     1,     1,
bldt                                = 0,     0,     0,     0,      0,
cu_physics                          = 0,     0,     0,     0,      0,
cudt                                = 10,     5,     5,     5,      5,
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                            = 1,
km_opt                              = 4,
diff_6th_opt                        = 1,
diff_6th_factor                     = 0.12,
damp_opt                            = 0,
base_temp                           = 290.
zdamp                               = 5000.,  5000.,  5000.,  5000.,  5000.,
dampcoef                            = 0.2,    0.2,    0.2,    0.2,    0.2,
khdif                               = 0,    500,    500,      0,      0,
kvdif                               = 0,    500,    500,      0,      0,
non_hydrostatic                     = .true., .true., .true., .true., .true.,
time_step_sound                     = 6,      6,      6,      4,      4,
h_mom_adv_order                     = 5,      5,      5,      5,      5,
v_mom_adv_order                     = 5,      5,      5,      5,      3,
h_sca_adv_order                     = 5,      5,      5,      5,      5,
v_sca_adv_order                     = 5,      5,      5,      3,      3,
moist_adv_opt                       =4,
scalar_adv_opt                      =3,
/

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

&grib2
/

&namelist_quilt
nio_tasks_per_group = 0,
nio_groups = 1,
/
   
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

密码修改失败请联系微信:mofangbao
发表于 2015-12-27 10:11:43 | 显示全部楼层
首先,你没有重新WPS试什么意思?是指你的WPS里生成的met_em是有嵌套还是没嵌套的?如果加了嵌套,WPS还是要重新编译的,里面地形啊什么的是要重新插值的。
其次,你的错误好像有些事内存错误(比如说第一个),似乎可以用ulimit什么的命令来解决,你去查查Segmentation fault怎么解决。还有看你的错误怎么有点像在某几个队列上的MPI被KILL掉,是不是有不好的节点?
最后,你可以在前台悄悄运行几步,如果可以有WRFOUT的生成,应该你的编译时没问题的,应该是后台的问题。
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-27 12:36:55 | 显示全部楼层
lanlaniris 发表于 2015-12-27 10:11
首先,你没有重新WPS试什么意思?是指你的WPS里生成的met_em是有嵌套还是没嵌套的?如果加了嵌套,WPS还是 ...

首先,重新编译WRF后,没有编译WPS,WRF运行需要的met_em数据是之前生成的,是没有加嵌套的,能政策长运行。
其次,你说的内存错误我明白,也查了,也使用了ulimit -s unlimited,但是依然不行。
最后,我在前台悄悄运行了,但是还是一样的结果,错误提示差不多。
综上:如果前台运行也不可以的话,会不会是在编译的时候虽然能编译成功,但是因为某些参数设置有问题,导致即使某个 *.exe 编译成功了,但是运行时会导致出错?
密码修改失败请联系微信:mofangbao
发表于 2015-12-28 09:42:26 | 显示全部楼层
Lighting 发表于 2015-12-27 12:36
首先,重新编译WRF后,没有编译WPS,WRF运行需要的met_em数据是之前生成的,是没有加嵌套的,能政策长运 ...

我觉得你还是按照嵌套的网格生成一下WPS里面的内容,再进行WRF的运算比较好。
另外,你既然没有加嵌套是可以运行的,我觉得编译中的问题应该不大吧~可能还是自己在后来操作的时候出问题了
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-28 10:05:47 | 显示全部楼层
lanlaniris 发表于 2015-12-28 09:42
我觉得你还是按照嵌套的网格生成一下WPS里面的内容,再进行WRF的运算比较好。
另外,你既然没有加嵌套是 ...

已经开始嵌套运行了,能正常运行。不排除是之前操作的问题。短短两三天编译WRF就不下30次,终于解决了。
密码修改失败请联系微信:mofangbao
发表于 2015-12-28 11:47:11 | 显示全部楼层
Lighting 发表于 2015-12-28 10:05
已经开始嵌套运行了,能正常运行。不排除是之前操作的问题。短短两三天编译WRF就不下30次,终于解决了。

解决了就好~转模式真心太辛苦了……加油~
密码修改失败请联系微信:mofangbao
 楼主| 发表于 2015-12-28 13:36:46 | 显示全部楼层
lanlaniris 发表于 2015-12-28 11:47
解决了就好~转模式真心太辛苦了……加油~

都加油吧!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表