Error running BELD4 or BELD3

Dear Forum:

I am trying to run the BELD4 program using the script convert_beld4_64bits.csh. On December 11, 2023, I cloned the latest Spatial Allocator repository from GitHub - CMASCenter/Spatial-Allocator: Surrogate Tools, Raster Tools, and Vector Tools Open Source GIS. I unzipped all the beld4 data on the data/beld4 directory and have run the sa_setup.csh script with the following command line.

source bin/sa_setup.csh

Then after editing the convert_beld4_64bits.csh script to include the correct grid name, I issued the following command.

source scripts/convert_beld4_64bits.csh

It runs for a while and produces a fair amount of screen output and then the following error occurs.

*** Error in `/fsx/jhegarty/Spatial_Allocator/Spatial-Allocator/bin/64bits/allocator.exe’: munmap_chunk(): invalid pointer: 0x0000000
00082ad2a ***
======= Backtrace: =========
[0x6aad30]
[0x42c8bd]
[0x403188]
[0x68f0c4]
[0x68f341]
[0x4025b6]
======= Memory map: ========
00400000-00964000 r-xp 00000000 1d7:7cf54 144115205624825740 /fsx/jhegarty/Spatial_Allocator/Spatial-Allocator/bin/64bits
/allocator.exe
00b63000-00fea000 rw-p 00563000 1d7:7cf54 144115205624825740 /fsx/jhegarty/Spatial_Allocator/Spatial-Allocator/bin/64bits
/allocator.exe
00fea000-0169e000 rw-p 00000000 00:00 0
020e7000-3b483000 rw-p 00000000 00:00 0 [heap]
7efc01580000-7efc03e34000 rw-p 00000000 00:00 0
7ffdeb8b2000-7ffdeb989000 rwxp 00000000 00:00 0 [stack]
7ffdeb9a2000-7ffdeb9a6000 r–p 00000000 00:00 0 [vvar]
7ffdeb9a6000-7ffdeb9a8000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
ERROR in beld4smk: Problem running program: /fsx/jhegarty/Spatial_Allocator/Spatial-Allocator/bin/64bits/allocator.exe
. Exiting…
81.282u 7.051s 1:48.06 81.7% 0+0k 4627456+2569088io 826pf+0w

I also tried to run convert_beld3_64bits.csh and got a similar error.

I am trying to run these scripts for the 12US1 domain.

I was able to run alloc_surf_zone_to_oceanfile.csh to generate an ocean file once I modified the script to specify the 64bit version of allocator.exe.

Do you have any suggestions for how to get this to work?

Thank you for your help.

Jen

Can you clarify what specifically you are trying to do? Do you need BELD4 landuse for your domain?

If so, can you provide the domain you are trying to get data for?

Are you trying to prepare other datasets as well?

Hi Alison,

I am trying to generate biogenic emissions inputs for CCTM. In the past I have generated BELD3 files for windblown dust inputs to CCTM and to generate inline biogenic emissions inputs using the normbeis program in SMOKE.

After posting to the forum, I found some notes online that BELD4 doesn’t work for CCTM, but I am also having the same problems generating BELD3 files.

Right now, I am trying to generate data for the 12US1 grid. I have attached the GRIDDESC.txt file, which I got from the EQUATES web site. Once I get generate data for this grid domain, I would like to do the same for a smaller grid within the 12US1 grid.

Thank you for your help,

Jen

GRIDDESC.txt (163 Bytes)

While in the past using BELD3 files to specify land use for the WBD module in CMAQ was an option, that is no longer the case starting with CMAQv5.4. The CMAQv5.4 WBD module now always obtains its land use information from the MCIP files. The option to use BELD instead dated back to a time when MCIP LU didn’t have the required level of detail, but that’s not been the case for a while.

Moreover, BELD4 or BELD5 files never worked properly with the CMAQ WBD option (this was discussed on the forum), and BELD3 is just way too outdated at this point. Therefore, our motivation for removing the BELD option for WBD was to remove a redundancy of files and to improve the internal consistency of LU information in CMAQ. For further information, see https://github.com/USEPA/CMAQ/wiki/CMAQ-Release-Notes:-Emissions-Updates:-Wind-Blown-Dust-Emissions

It’s not clear that you actually need to prepare a new BELD4 file, but your problem seems to be that you cannot run spatial allocator for generating BELD4 (or BELD3) files using the scripts distributed with the tool, because the executable seems to be running into memory issues

Note that we’ve now moved to BELD6 although we aren’t sure you really need this file for what you are trying to do.

Hi Alison,

Thank you for the information. We are trying to run CMAQ PFAS 5.3.2. That is before BELD options were removed. I can ask my colleague to check again to see if there is a later version of CMAQ with PFAS that we can use.

I also made some progress getting the BELD3 script to run farther by using a different compute environment with a different initial LD_LIBRARY_PATH. I think the error that I have now is in the output path. Lots of files were created in the tmp directory. I will try another run tonight.

Jen

Hello Jen,

if the motivation for generating the BELD3 is related solely to providing LU information for the windblown dust module, even in CMAQv5.3.2 you can instruct the model to use MCIP instead. This can be accomplished by setting CTM_WBDUST_BELD to UNKNOWN. As noted by Alison above, starting with CMAQv5.4 using LU from MCIP is the only option so this environment variable is no longer recognized and has been removed from the run script.