Runtime error during ./ungrib.exe execution

Post here if you think you might have found any type of bug

Runtime error during ./ungrib.exe execution

Postby tarunjsph48 » Tue Mar 12, 2019 2:26 am

Hi WRF users,

I have been using ECMWF forecast data (GRIB 1 format) to run WRF (Version 3.8). When I attempt to execute the ungrib.exe file, I frequently encounter the following error.
#-------------------------------ERROR MESSAGE STARTS HERE----------------------------------------------------------------
ungrib.exe: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.

Program received signal SIGABRT: Process abort signal.

Backtrace for this error:
#0 0x7FD2D2A3CE08
#1 0x7FD2D2A3BF90
#2 0x7FD2D216D4AF
#3 0x7FD2D216D428
#4 0x7FD2D216F029
#5 0x7FD2D21B52E7
#6 0x7FD2D21B9425
#7 0x7FD2D21BA742
#8 0x7FD2D21BC183
#9 0x419A4B in rd_grib1_
#10 0x408109 in MAIN__ at ungrib.f90:?
Aborted (core dumped)
#--------------------------ERROR MESSAGE ENDS HERE------------------------------------------------------------------------

When I attempted to debug using gdb, the message shown was as follows:
#----------------------------------GDB MESSAGE STARTS HERE-----------------------------------------------------------------
ungrib.exe: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.

Program received signal SIGABRT, Aborted.
0x00007ffff6fd3428 in raise () from /lib/x86_64-linux-gnu/libc.so.6
#----------------------------------GDB MESSAGE ENDS HERE--------------------------------------------------------------------

Here's the content of the ungrib.log file after I've used debug_level=1000 in namelist.wps file
#------------------CONTENT OF UNGRIB.LOG STARTS HERE----------------------------------------------------------------
2019-03-12 11:26:40.301 --- *** Starting program ungrib.exe ***
2019-03-12 11:26:40.301 --- Start_date = 2019-03-06_18:00:00 , End_date = 2019-03-16_12:00:00
2019-03-12 11:26:40.301 --- Namelist information (coarse domain):
2019-03-12 11:26:40.301 --- START_YEAR = 0
2019-03-12 11:26:40.301 --- START_MONTH = 0
2019-03-12 11:26:40.301 --- START_DAY = 0
2019-03-12 11:26:40.301 --- START_HOUR = 0
2019-03-12 11:26:40.301 --- END_YEAR = 0
2019-03-12 11:26:40.301 --- END_MONTH = 0
2019-03-12 11:26:40.301 --- END_DAY = 0
2019-03-12 11:26:40.301 --- END_HOUR = 0
2019-03-12 11:26:40.301 --- START_DATE = 2019-03-06_18:00:00
2019-03-12 11:26:40.301 --- END_DATE = 2019-03-16_12:00:00
2019-03-12 11:26:40.301 --- INTERVAL_SECONDS = 10800
2019-03-12 11:26:40.301 --- DEBUG_LEVEL = 10000
2019-03-12 11:26:40.301 --- /
2019-03-12 11:26:40.301 --- &UNGRIB
2019-03-12 11:26:40.301 --- out_format = WPS
2019-03-12 11:26:40.301 --- ordered_by_date = TRUE
2019-03-12 11:26:40.301 --- prefix = ECM
2019-03-12 11:26:40.301 --- /
2019-03-12 11:26:40.301 --- output format is WPS
2019-03-12 11:26:40.301 --- INFORM: Interval value: 10800 seconds or 3.000000 hours
2019-03-12 11:26:40.301 --- Path to intermediate files is ./
2019-03-12 11:26:40.302 --- INFORM: Reading Grib Edition 1
2019-03-12 11:26:40.302 --- DEBUG: Read from file Vtable by subroutine PARSE_TABLE:
2019-03-12 11:26:40.302 --- DEBUG: Parsed the vtable.
2019-03-12 11:26:40.302 --- DEBUG: Reading from gribflnm GRIBFILE.AAA
2019-03-12 11:26:40.302 --- DEBUG: Calling rd_grib1 with iunit 12
2019-03-12 11:26:40.302 --- DEBUG: flnm = GRIBFILE.AAA
2019-03-12 11:26:40.302 --- DEBUG: RD_GRIB1 icenter = 98 , iprocess = 149 , grid = 255
2019-03-12 11:26:40.302 --- DEBUG: ierr = 0
2019-03-12 11:26:40.302 --- DEBUG: Read a record SNOW_EC with date 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: hdate = 2019-03-06_12 , hsave = 0000-00-00_00
2019-03-12 11:26:40.302 --- DEBUG: hdate 2019-03-06_12:00:00 > hsave 0000-00-00_00:00:00 so exit LOOP0
2019-03-12 11:26:40.302 --- DEBUG: hdate = 2019-03-06_12 , hsave = 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: Calling rd_grib1 with iunit 12
2019-03-12 11:26:40.302 --- DEBUG: flnm = GRIBFILE.AAA
2019-03-12 11:26:40.302 --- DEBUG: RD_GRIB1 icenter = 98 , iprocess = 149 , grid = 255
2019-03-12 11:26:40.302 --- DEBUG: ierr = 0
2019-03-12 11:26:40.302 --- DEBUG: Read a record SNOW_EC with date 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: hdate = 2019-03-06_12 , hsave = 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: Calling rd_grib1 with iunit 12
2019-03-12 11:26:40.302 --- DEBUG: flnm = GRIBFILE.AAA
2019-03-12 11:26:40.302 --- DEBUG: RD_GRIB1 icenter = 98 , iprocess = 149 , grid = 255
2019-03-12 11:26:40.302 --- DEBUG: ierr = 0
2019-03-12 11:26:40.302 --- DEBUG: Read a record SNOW_EC with date 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: hdate = 2019-03-06_12 , hsave = 2019-03-06_12
2019-03-12 11:26:40.302 --- DEBUG: Calling rd_grib1 with iunit 12
2019-03-12 11:26:40.302 --- DEBUG: flnm = GRIBFILE.AAA
#---------------------CONTENT OF UNGRIB.LOG ENDS HERE---------------------------------------------------------------
And here's the Vtable that I've used
#---------------------CONTENT OF VTABLE STARTS HERE--------------------------------------------------------------------
GRIB | Level| Level| Level| metgrid | metgrid | metgrid |
Code | Code | 1 | 2 | Name | Units | Description |
-----+------+------+------+----------+----------+------------------------------------------+
141 | 1 | 0 | | SNOW_EC | m | |
-----+------+------+------+----------+----------+------------------------------------------+
#---------------------CONTENT OF VTABLE ENDS HERE------------------------------------------------------------------------
Here are the following ways in which I've attempted to resolve this issue.
Attempt 1
I've checked the content of GRIB files to ensure that the variable of interest mentioned in Vtable is available in the file using g1print.exe. The output for the same is provided below :
#--------------------------OUTPUT FROM g1print.exe STARTS HERE----------------------------------------------------------
Copen: File = GRIBFILE.AAA
Fortran Unit = 0
UNIX File descriptor: 3
----------------------------------------------------
rec GRIB GRIB Lvl Lvl Lvl Time Fcst
Num Code name Code one two hour
----------------------------------------------------
1 141 SD 1 0 0 2019-03-06_12:00 + 00
2 141 SD 1 0 0 2019-03-06_12:00 + 00
3 141 SD 1 0 0 2019-03-06_12:00 + 00
4 141 SD 1 0 0 2019-03-06_12:00 + 00
#-------------------------OUTPUT FROM g1print.exe ENDS HERE--------------------------------------------------------------
Attempt 2
I've been using WPS 3.8 for ungribbing the ECMWF forecast files. I've even upgraded the WPS suite to version 3.9.0.1 to attempt the same. However, it's throwing the same error as ungrib.exe of WPS 3.8 suite.

Attempt 3
For errors that involve segmentation fault (core dumped), I've tried using 'ulimit -s unlimited' command prior to the execution of ungrib, yet the error still persists.

How can we resolve this error?
tarunjsph48
 
Posts: 1
Joined: Mon Feb 25, 2019 2:30 am

Return to Bugs

Who is online

Users browsing this forum: No registered users and 3 guests