仅拥有大一计算机课上老师随意教的一点linux系统知识,大二fortran课以及一些数值天气预报知识,写的文字不够严谨准确,大都是自己对知识的理解,希望不会误导别人,请见谅。
2020.8.8
-
并行运算出错
mpirun –np N ./ wrf.exe
出错
后来想起来应该是没有配置环境变量,故
vim ~/. bashrc
加上export PATH=$ DIR/ mpich/bin:$PATH
source ~/. bashrc
解决。 -
段错误(吐核)
想到两个可能的原因
①气象家园论坛上建议减少积分步长(内存不够???)今天还没解决,待更新。
②我猜想难道是我忘了用防止溢出的命令?
故./real. exe前加上ulimit –s unlimited
出错: –bash: unlimit –s: 无效数字
气象家园上有一个帖子附上了解决方法
http://forum.wrfforum.com/viewtopic.php?f=6&t=1014
大概意思是解决方案是在启动mpich之前设置ulimit -s unlimited,然后启动mpd,最后使用mpiexec -n 8 wrf.exe启动wrf. exe,但是我不懂怎么操作。 -
从第一个可能的原因入手,我减小了时间步长和分辨率,将大嵌套和小嵌套格距之比改成5:1,大格距5km,小格距1km,时间步长改为大嵌套的格距4倍,也就是5km×4=20s。
(之前的方案是: 空间大格距6.6km,小格距2.2km,时间步长约为大格距6倍。)
然后又遇到了一些之前没遇到的小问题。
关于WRFDomainWizard的一些设置。
怎么会有15:00开始的met文件em假的假的?重新审查了一遍namelist.input,发现可能是interval _seconds 10800这个地方出错了,数字应该改成21600,代表WPS板块每六个小时输出一次met*文件。
结果还是出错了,错误差不多,不过是打不开2008.8.5.12.00的文件了,应该是起始时间设置错了?还是输入再分析资料起始时间设置错了?没来得及改,已经十二点了。明天再说,又是什么也没干成的一天,晚安💤。
2020.8.9更新
我要模拟的是世界时间2008.8.4 12:00—2008.8.5 12:00 兰州大学半干旱气候与环境观测站(SACOL站)的天气状况。
所以开始时我的end_hour是12,./real. exe后依旧报错
error opening met_em.d01.2008-08-05_12:00:00.nc for input; bad date in namelist or file not in directory
(✘错误想法)猜测是结束时间设置错了,我把end_hour改成了6,不成熟地想fnl文件是每六个小时的文件,这里的end_hour 6代表从8.5 6:00-12:00。
(✘错误想法)此外还有一个地方需要注意Grib Start与end时间应该与namelist. input一致,end时间均代表最后一个fnl开始的时间,并非模式真实结束时间。
接下来./real. exe,成功我这想法不对劲,晚上又觉得不对了。
(你也知道不对劲啊)
又出错了,仅模拟二十四小时,十一点到晚上七点,输出的结果也不对劲,每隔一个小时输出一个wrfout文件,嗯明天再说吧
改了interval_seconds,只有一个小时的结果
但是日志文件里,却显示运行成功
后来发现是我的history_interval竟然是21600难怪呢,有毒。改成了60再跑跑看。
2020.8.10更新
基本上所有问题都解决了,
除了—bash: unlimit —s 无效数字这个问题
总结一下
①减少积分步长可以解决段错误(吐核)问题
②关于初始时刻的设置,fnl资料的选择问题
例如: 我要模拟的是
从2008.8.4 12:00 到 2008.8.5 12:00
初始时刻设置,真实结束开始的时间,fnl再分析资料输入开始结束的时间,必须保持一致
且fnl资料需要导入有五个:
fnl_20080804_12_00.grib2
fnl_20080804_18_00. grib2
fnl_20080805_00_00.grib2
fnl_20080805_06_00.grib2
fnl_20080805_12_00.grib2
由于我对fnl资料的学习不够深入,只知道是每6个小时输入一次,认为每个fnl文件都代表6个小时的数据。看来不是。
3.为什么会每隔一个小时就输出一个wrfout文件?是由于frames_per_outfile 这个参数设置成了1。
2020.8.12
模拟数据与实际数据在前十二个小时符合得并不是特别好。故问老师,师曰: wrf有一个约十二个小时模式启动时间,这个时间段的模拟结效果不好,建议跑48个小时。
2020.8.27
修改边界层方案为MYJ方案出错
原来是namelist.input里
sf_sfclay_physics(近地层方案)和bl_pbl_physics(边界层方案)应该一一对应
修改以后问题解决✔