ECCAD Global gridded inventory processing

Hi all,
I’m trying to use SMOKE version 4.7 to process data from CAMS inventory (ECCAD – Emissions of atmospheric Compounds and Compilation of Ancillary Data), which has a resolution of 0.5 x 0.5 degree. For that, I created a new gridmask since the one available in the SMOKE directory (for EDGAR) has a resolution of 0.1 x 0.1 degree. To check if the new gridmask was okay, I used the m3xtract program that successfully read the file.

However, I’m still struggling what maybe be wrong since I’m having this error in grdmat program (I’m attaching the log).

Can someone help me? Thanks in advance. grdmat.oceanic.vitoria.RMGV.txt (9.0 KB)

Noting that we haven’t processed this specific dataset, we notice that the grid information from the m3xtract of the grid mask and the met in grdmat show two grids with different dimensions and different names. The grid mask is called “LATLON_ECCAD0.5” and is 360 x 720, the met is called “RMGV_CROSS” and is 160 x 160. To fully debug the issue, the GRIDDESC file that defines both of these grids would be needed.

However, something you should be able to do is to load your grid mask file into VERDI or another tool that can visualize netCDF files. You can plot the GEOCODE variable with country boundaries to see if it is in the place you expected. I suspect that your coordinates are off and therefore the grids are found not to intersect.

Hi @eyth.alison,
Thanks for your response.
I’ve trying to process this dataset in the same way that I did with EDGAR, since both are global gridded data. So, I basically replaced the input emissions data, and created a new grid mask because of the coarser resolution of ECCAD data. I guess that is why the GRIDDESC names are different.
I plotted the grid masks on VERDI for both, EDGAR (from yours repository), and the one that I created.
These are them:

In fact, my data does not have the coast lines plotted, that can be an issue. I guee I have to remake the grid mask, any tips for do that?

Can you share your GRIDDESC with the two grids?

The output modeling domain through SMOKE do not have to be same as input domain (CAMS 0.5x0.5 grid cells) but GRIDMASK (GEOCODE and TIMEZONE) domain have to be matched with your new CAMS domain. You can define any output domain using SMOKE GRIDDESC input file. I would suggest for you to check the output domain from GRIDDESC and the MCIP domain. They have to be matched for Grdmat to generate the spatial gridding matrix.

1 Like

After some manipulation, I was able to let both files (grid mask and emissions ECCAD) with same header and readable by M3XTRACT program. I appreciated the help, despite now I’m having a Segmentation fault, which stops during the temporal processing.


I’m attanching all logs, in case someone can give me some tips.
grdmat.oceanic.vitoria.RMGV.txt (8.0 KB)
smkinven.oceanic.vitoria.txt (8.6 KB) spcmat.oceanic.vitoria.CB06r3-AE7.txt (7.8 KB)
temporal.oceanic.vitoria.2019304.txt (10.4 KB)

Looks like memory issue. It may require more RAM memory? You may set stacksize to unlimited in your run script for Temporal program to see whether that helps or not.

set stacksize unlimited

It was already setup with this configuration

I also already tried to write it in terminal, but the segmentation faults still appeared.
which, the export file is:
module load gcc/7.3.0
export SMK_HOME=/opt/wrf_cmaq/smoke/4.7
export BIN=Linux2_x86_64gfort
export FC=gfortran
export IOAPIDIR=/opt/wrf_cmaq/ioapi
export LD_LIBRARY_PATH=/opt/openmpi/3.1.0/lib:/opt/wrf_cmaq/cmaq/libraries_7.3/netcdf/lib:/opt/wrf_cmaq/cmaq/libraries_7.3/ioapi/ioapi:$LD_LIBRARY_PATH

I use the following command in my .cshrc

limit stacksize unlimited

Verify that this is activated by using the limit command:


You should see the following output:

cputime unlimited
filesize unlimited
datasize unlimited
stacksize unlimited
coredumpsize 0 kbytes
memoryuse unlimited
vmemoryuse unlimited
descriptors 1024
memorylocked 64 kbytes
maxproc 4096
maxlocks unlimited
maxsignal 31158
maxmessage 819200
maxnice 0
maxrtprio 0
maxrttime unlimited

Set it on your current teminal won’t work. You need to add that command into your run script.

I would say that the problem is not related to a memory issue, since I was able to run successfully EDGAR inventory (which has a higher resolution than ECCAD) for the same area.

Then, I looked into the inventory stored in the $INVOPD directory, and the TZONES had strange values. However, I dont know from where they came from, since the grid mask did not have these values.
The left is the ECCAD inventory, and in the right the EDGAR.

EDGAR grid mask

My grid mask

You are right. Looks like you need to set the default TZONES value (like 0) for non-country area like ocean? To me, some random values got assigned to those cells that do not intersect with county boundaries.

1 Like

Yes, this inventory that I’m trying to use has only emissions of CH2Br2, CH3I, CHBr3, DMS, assigned to the ocean, exclusively. Thanks for helping BH, Liz and Alison.

Hi. I worked with CAMs dataset and used as an Input in SMOKE. I regridded the CAMS-OCEAN from 0.5 to 0.1 and then, I used some preprocessing steps to get the desired file format as input in SMOKE. If you send me an email (ernesto.pino@pucvl.) I can send you the details. I can´t post here now because it is part of a manuscript not yet published.


Sure. I will send you an email. Thanks for helping.