WRF运行wrf.exe出现forrtl: severe (174): SIGSEGV, segmentation fault occurred问题原因与解决合集
分段错误可能难以追踪。 由于通常没有明确的错误消息,因此可能需要反复试验才能找出问题所在。我试了好久(•́へ•́╬)!大致总结了一下,给大家参考,如果还有其他情况,欢迎大家补充。
本文参考了气象家园的大部分关于segmentation fault的帖子,这里就不一一列出了
另外参考了论坛kwerner的文章What is the most common reason for a segmentation fault?
在此向各位前辈表示感谢!
一、存在CFL错误导致segmentation fault
一般的段错误可以试试缩短namelist.input中的积分步长(time_step)来解决,这也是最常见的,在论坛流传最广的解决方法。
其实是否需要减少积分步长要看是否存在 CFL 错误,如果有CFL错误才应该尝试缩短积分步长来解决问题。存在CFL错误意味着模型变得不稳定,这通常是由陡峭的地形或非常强的对流造成的。
可以通过以下命令来看error和out文件里面是否存在cfl错误
grep -rn "cfl" rsl.*
1.减少时间步长
如果存在cfl错误,恭喜你(σ゚∀゚)σ…:☆,这时候就应该首先尝试减少时间步长了。
time_step的标准建议是 6dx(例如,如果dx = 30000,那么time_step应该小于等于180 )。 但是如果仍然存在CFL 错误,可以尝试将time_step减少到4dx 或 3dx 。当然,这样有时会有效,但并非总是有效,如果还是不行,就要接着往下尝试了ヽ(ー_ー)ノ。
2.添加 smooth_cg_topo = .true
可以尝试在namelist.input的 &domains 部分中添加 smooth_cg_topo = .true。 如果 CFL 错误发生在边界区域,则在实际运行之前。 此选项平滑粗模型网格的外部行/列,以匹配数据附带的低分辨率地形。
3.设置 epssm = 0.2(最高 0.5)
如果 CFL 错误发生在复杂地形附近,您可以尝试设置 epssm = 0.2(最高 0.5)以查看是否有所不同。 此选项用于略微前移垂直压力梯度(或声波)的中心,以抑制三维发散。
4.设置 w_damping = 1
也可以尝试设置 w_damping = 1。该参数是垂直速度阻尼。阻尼为0时,w增加过快,导致不稳定,溢出了计算机计算上限。
二、磁盘空间不足
有时可能是磁盘空间不足的结果。 检查一下电脑还有多少空间可用于要写入的文件。 如果域很大或分辨率很高,则输出文件会大得多(有时会有几 GB)。一般服务器应该不会有这个问题,如果是用自己的电脑要仔细检查一下这个问题(╹▽╹)。
三、内存问题
分段错误错误可能是由于内存问题。 尝试在终端输入:
1. setenv MP_STACK_SIZE 64000000 (OMP_STACKSIZE)
setenv MP_STACK_SIZE 64000000 (OMP_STACKSIZE)
2. limit stacksize unlimited
如果您使用的是 csh 或 tcsh,请尝试以下操作:
limit stacksize unlimited
3.ulimit -s unlimited
如果您使用 sh 或 bash,请使用以下命令:
ulimit -s unlimited
如果ulimit -s unlimited没有用的话,这里也可以试试ulimit -s 262140,气象家园有人说这样会有用,我也没试过,不知道什么原因。
可能还是无法解决问题,但默认堆栈大小通常非常小,会因内存不足而导致分段错误,多试试总没错ᕙ༼ ͝°益° ༽ᕗ。
四、使用过多或过少处理器或分解不好的结果
分段错误通常是使用过多或过少处理器或分解不好的结果。 如何设置处理器数量,可以参考https://forum.mmm.ucar.edu/phpBB3/viewtopic.php?f=73&t=5082,英语不好,就不瞎翻译了,大家可以去看英文原版o(´^`)o。
五、输入数据有问题
如果模型在运行开始时就出现了segmentation fault,这通常意味着输入数据有问题。 检查一下met_em* 文件,注意下各种变量中的任何奇怪的地方。 检查所有变量和所有级别。如果有问题建议去官方下载数据,并在下载完成后检查数据大小,有的时候外网原因会下载不全(▼ヘ▼#)。
六、模型域设置问题
可能是你的域设置太靠边了,就和我一样,在检查前面全部没问题后,我试着改变了嵌套网格设计,就可以正常运行了
—>
2021.12.9补充:
七、参数化方案组合出错
并不是所有的方案都允许组合使用,组合出错也会导致段错误
大概就是这么多了,大家下期见─=≡Σ(((つ•̀ω•́)つ
WRF运行wrf.exe出现forrtl: severe (174): SIGSEGV, segmentation fault occurred问题原因与解决合集相关推荐
- forrtl: severe (174): SIGSEGV, segmentation fault occurred
参考: https://blog.csdn.net/vbaspdelphi/article/details/53192493?utm_medium=distribute.pc_relevant_t0. ...
- mpirun 遇到 forrtl: severe (174): SIGSEGV, segmentation fault occurred
问题分析: 堆栈大小问题. 解决方法: 1. ulimit -s unlimited 2. 添加参数 -heap-arrays 以上.
- 编译正确,运行ORB_SLAM3报错Segmentation fault
环境编译什么的都没问题,但一运行ORB_SLAM3(基于ROS)的时候就报Segmentation fault 无论是单目还是RGBD,详细的报错信息如下: max@max-virtual-m ...
- Linux系统运行C语言编译的二进制文件报错:Segmentation fault
报错信息如下图所示: 当我运行Gps_Analysis二进制文件时出现如上错误,主函数源代码如下图所示: 于是我网上查了一下,讲得很专业.很详细,总结一下出现"Segmentation fa ...
- WRF运行过程中遇到的各种报错记录
做了hpc技术支持,免不了运行wrf模式.开个帖子记录自己运行模式的时候遇到的各种报错. 2022.5.27 多云 低级错误 运行ungrid.exe遇到了以下报错 Subroutine DATINT ...
- 运行WRF的简化版基本步骤
运行WRF的简化版基本步骤 总览流程 创建DATA目录 一.WPS预处理 1.切换WPS目录且修改namelist.wps 2.生成地理数据geogrid.exe 3.启动ungrib.exe(此步链 ...
- 运行wrf报错:could not open xx albedo_modis/index
运行 ./geogrid.exe 时,报下面的错误 这是因为地表数据不完成导致的. 从Static Data Downloads 下载对应的压缩包,上传到linux的指定的目录,再次运行 ./geog ...
- WRF运行流程-简易版
前期准备: 1. 在WRF文件夹下: 1)运行configure.exe,选择适合自己的版本(我选的是15和1),生成configure.wrf 2)选择Real Data Cases,运行compi ...
- ModelWhale 云端运行 WRF 中尺度数值气象模式,随时随地即开即用的一体化工作流
目录 传统基于小型计算机本地的 WRF 模式 传统基于小型计算机本地 WRF 模式运行过程中现存的问题 基于云端数据科学协同平台 ModelWhale 的 WRF 模式 ModelWhale 为大气科 ...
- WRF嵌套网格的设计
o(╥﹏╥)o 为了设计WRF嵌套网格,我在网上冲浪查找了许多的教程ᕦ(・ㅂ・)ᕤ,参考了六出的博客:怎么利用QGIS设计WRF嵌套域网格,也参考了B站唐学秋的视频:学习备忘录/ 如何使用WRFDom ...
最新文章
- 知识科普:布线系统的施工顺序是什么
- ubuntu 安装RPM软件包
- 还原软件实施更安全防护机器狗
- css3动画:animation
- java tomcat原理图,浅谈tomcat工作原理
- 8种主流深度学习框架介绍
- 沉痛哀悼在汶川特大地震中的遇难者!!!!!
- Atitit 网络编程之道
- (转)司徒正美:如何挑选适合的前端框架?
- BIN、HEX,ELF,AXF文件的区别
- python做数据透视表_利用Python进行数据分组/数据透视表
- 前端下载pdf文档(支持doc/excel/ppt/pdf/jpg、png等)
- 工作后如何快速高效的学习专业知识
- HTML5学习系列之表单与文件
- pacman源添加及yaourt安装
- SAP的萨班斯法案SOA解决方案
- oracle 查询数据的结果集导出
- 怎么理解产品经理职位?
- window.print()实现打印指定内容——功能实现
- bzoj4716: 假摔