1、在运行real.exe时出现的问题
------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: LINE: 401
error opening met_em.d01.2016-10-06_00:00:00.nc for input; bad date in namelist or file not in directory
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: LINE: 401
error opening met_em.d01.2016-10-06_00:00:00.nc for input; bad date in namelist or file not in directory
解决方法:需要去查看你在em_real运行文件里是否有这个文件,如果没有请重新运行ln -sf …/…/…/WPS/met_em.d0*.2016-10* .特别注意需要将这个路径中的WPS改成自己WPS的名字。
2、用气象数据利用ERA5时出现,在运行metgrid.exe时出现ERROR: Error in ext_pkg_write_field
解决方法:1.这个是因为我之前的在运行ungrib.exe时,磁盘已经没有空间了,所以出现了这种情况。这个时候你就应该先将自己的磁盘进行扩容后,然后再运行ungrib.exe,再运行metgrid.exe就可以了。
2.如果你metgrid.exe运行后的结果不是放在默认的文件夹里面,而是放在其他文件夹,那么有可能是因为你的文件夹没有写入权限,比如我的metgrid.exe执行后结果是放在/data/opt_output_from_metgrid路径里面。那么要解决这个问题,我是给这个文件夹最高权限,即输入chmod 777 /data/opt_output_from_metgrid, 就可以执行成功了。
3、运行wrf.exe时出现rsl_malloc failed allocating 84267584 bytes, called rsl_bcast.c, line 270, try 1: Cannot allocate memory
解决方法:比较粗暴,电脑关机重启,就可以了,再次运行就可以了。
4、运行wrf.exe时出现segmentation fault错误
解决方法:打开namelist.input文件,减少time_step设置的值。别如我之前设置的time_step=150,出现上面的错误,后来我将time_step改成100就可以运行了。
5、运行metgrid.exe时出现WARNING: Field PRES has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field PMSL has missing values at level 200100 at (i,j)=(1,1)
WARNING: Field PSFC has missing values at level 200100 at (i,j)=(1,1)
ERROR: Missing values encountered in interpolated fields. Stopping.
解决方案:
下载的再分析资料小于模型模拟设置的domain,下载更大范围的再分析资料即可.
6、运行wrf.exe时出现Program received signal SIGSEGV: Segmentation fault - invalid memory reference
Backtrace for this error:
#0 0x2B4F4EE06777
#1 0x2B4F4EE06D7E
#2 0x2B4F4F659CAF
#3 0x2C0CF0D in __module_sf_sfclayrev_MOD_psim_unstable
#4 0x2C0D1B4 in __module_sf_sfclayrev_MOD_zolri2
#5 0x2C0D39A in __module_sf_sfclayrev_MOD_zolri
#6 0x2C11D79 in __module_sf_sfclayrev_MOD_sfclayrev1d
#7 0x2C1659D in __module_sf_sfclayrev_MOD_sfclayrev
#8 0x2291CDA in __module_surface_driver_MOD_surface_driver
#9 0x1977A14 in module_first_rk_step_part1_MOD_first_rk_step_part1
#10 0x12FC704 in solve_em
#11 0x118BC35 in solve_interface
#12 0x476FA2 in __module_integrate_MOD_integrate
#13 0x477583 in __module_integrate_MOD_integrate
#14 0x406773 in __module_wrf_top_MOD_wrf_run
段错误 (核心已转储)
解决方案:我出现这个错误是因为物理参数化方案的问题,我调整物理参数化方案后,就可以正常执行了。
7、WRF并行计算,运行mpirun -np 12 ./wrf.exe时出现error_dup: cannot open rsl.out.nnnn: Permission denied
starting wrf task 1 of 2
starting wrf task 0 of 2
error_dup: cannot open rsl.out.nnnn: Permission denied
…sending output to standard output and continuing.
module_io_quilt_old.F 2931 F
Quilting with 1 groups of 0 I/O tasks.
Quilting with 1 groups of 0 I/O tasks.
-------------- FATAL CALLED ---------------
-------------- FATAL CALLED ---------------
FATAL CALLED FROM FILE: LINE: 8695
FATAL CALLED FROM FILE: LINE: 8695
ERROR OPENING namelist.output
ERROR OPENING namelist.output
application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
===================================================================================
= BAD TERMINATION OF ONE OF YOUR APPLICATION PROCESSES
= EXIT CODE: 1
= CLEANING UP REMAINING PROCESSES
= YOU CAN IGNORE THE BELOW CLEANUP MESSAGES
解决方案:Permission denied错误是因为当前的文件夹的操作权限是系统管理员,当前用户的权限不足,所以操作不了,提示的错误也就是权限不足,将该文件夹对所有用户都开放就可以了。比如我的文件是在em_real文件夹中没有操作权限,那么就让em_real对所有用户开放,执行sudo chmod -R 777 ./em_real 就可以了。可参考在ubuntu系统中总提示Permission denied,权限不足问题。
8、运行metgrid.exe时出现Processing domain 1 of 2 Processing 1994-12-17_00 FILE WARNING: Couldn’t open file FILE:1994-12-17_00 for input. ERROR: The mandatory field TT was not found in any input data. application called MPI_Abort(MPI_COMM_WORLD, 22093) - process 0
解决方案:因为我的ungrib.exe执行后的结果不是放在默认文件夹,我是另存在文件夹/data/opt_output_from_ungrib,这样是不能直接执行ungrib.exe,执行就会报以上错误。首先需要将ungrib.exe的结果连接到WPS中,即在WPS下执行ln -sf /data/opt_output_from_ungrib/FILE* .,在WPS下就可以看到连接的FILE开头的文件了,这时再运行metgrid.exe就可以了。
9. 运行wrf.exe时出现ERRENG = 1.36718750E-02 65 3 0.0000 278.652644409.5312**********-7770.4238 -------------- FATAL CALLED --------------- FATAL CALLED FROM FILE: LINE: 3004 Energy budget problem in NOAHMP GLACIER ------------------------------------------- application called MPI_Abort(MPI_COMM_WORLD, 1) - process 0
如果在你使用的陆面过程是noah_mp, 那么在运行wrf.exe时可能会出现以上错误。这个错误我查阅了百度和google, 网上说的这个似乎是模型的一个bug,到目前为止依然没有解决。对于这个问题我目前只有三种解决方案,如果有通过其它方法解决这个问题的小伙伴,可以在评论区评论。
解决方案:1.最直接粗暴就是将Noah-mp换成其它陆面过程方案。2. 将restart改为true,并获取最近的wrfrst文件时间,将模型开始时间设置为最近的wrfrst时间,重新开始执行。3.如果第二种方法不行的话,将restart改为false,重新执行real.exe,然后再执行wrf.exe。
10. 运行ungrib.exe时出现End-of-record mark (7777) not found *** stopping in findgrib ingribcode ***\n \tI could not find the GRIB string in the input file \tafter testing the first 100,000 bytes. \tThe file may be corrupt or it is not a GRIB file. \tPerhaps a gzipped GRIB file or netcdf?\nfindgrib
遇到这个问题是因为当时我用Xftp7将ERA5上传至服务器时,由于当时网络出现问题后续传出现问题,从而导致上传的数据出错。
解决方法:找到报错处Inventory for date处出现的日期,然后查看具体是上传的哪个或哪几个数据(因为可能同时上传多个数据),然后重新上传数据替换即可。