I'm trying to convert some WRF-ARW files to ARL, but keep getting this error message:
[ktofte@yslogin2 working]$ ./../exec/arw2arl -iwrfout_d03_2010-01-20_00:00:00.nc
Using an existing decoding configuration: WRFDATA.CFG
Using an existing encoding configuration: ARLDATA.CFG
NOTICE pakset:
Number of index records = 1
Number of records /time = 216
NetCDF: Start+count exceeds dimension bound
NOTICE pakini: start initialization rec = 1
NOTICE pakini: end initialization rec = 216
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
NetCDF: Start+count exceeds dimension bound
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x2AF3BA8F22E7
#1 0x2AF3BA8F28EE
#2 0x3E9483291F
#3 0x407C3D in MAIN__ at arw2arl.f:0
Segmentation fault (core dumped)
I found this online: This signal is generated when a program tries to read or write outside the memory that is allocated for it, or to write memory that can only be read. (Actually, the signals only occur when the program goes far enough outside to be detected by the system’s memory protection mechanism.) The name is an abbreviation for “segmentation violation”.
Common ways of getting a SIGSEGV condition include dereferencing a null or uninitialized pointer, or when you use a pointer to step through an array, but fail to check for the end of the array. It varies among systems whether dereferencing a null pointer generates SIGSEGV or SIGBUS. But I'm not sure how to fix it.
Help would be greatly appreciated.
-Kristine
I had to change the vertical levels (e_vert) from 30 to 35 in the namelist.input, and now it runs fine.
Do you know why that is?
-Kristine
How do I add files to an email in here? Could I just send you parts of the ncdump -h wrfout_d03_2010_01_20_00:00:00.nc file that I have?
-Kristine
It seems you have a problem with the netcdf libraries.
I was able to convert your file in my machine.
You might want to test the file in another machine.
I recently obtained a similar problem:
Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
Backtrace for this error:
#0 0x7ff82863d2ed in ???
#1 0x7ff82863c503 in ???
#2 0x7ff827cb9f0f in ???
#3 0x7ff827e095fd in ???
#4 0x7ff827d18a1d in ???
#5 0x7ff82863ca42 in ???
#6 0x7ff8287bb5fd in ???
#7 0x7ff8287a916b in ???
#8 0x5651aea1dc77 in ???
#9 0x5651aea0606c in ???
#10 0x5651aea038d2 in ???
#11 0x7ff827c9cc86 in ???
#12 0x5651aea03909 in ???
#13 0xffffffffffffffff in ???
./runarw_OS.sh: line 18: 353 Segmentation fault ${EXEC_DIR}/arw2arl -i${WRFOUT_DIR}/wrfout_d02_2022-03-24_00-00-00
HYSPLIT was installed from precompiled binaries created for Ubuntu 18.04. All tests in testing/xrun.scr were successful.
arw2arl was compiled with gfortran in WSL/Ubuntu 18.04 LTS. The same compiler was used to build WRF (including NetCDF). WRF successfully runs and provides outputs.
As I understood from the code of arw2arl, the error is obtained from PAKSET function (line 537 in arw2arl.f). Unfortunately, I cannot find the code of this function in provided version of HYSPLIT. My wrfout file is included.
Thanks in advance for any help/advice.