SMOKE nonroad error

I am running SMOKE with 2016 v1 platform for the nonroad sector. The ‘grdmat’ process stopped with the following error when processing surrogate USA_806.

INTERNAL ERROR: Gridding matrix not written.
Arrays would have overflowed.
Current maximum sources per cell (MXSCEL) = 197 .
Actual maximum sources per cell = 198 .

 *** ERROR ABORT in subroutine GENAGMAT  

I have created my own surrogates and they works for other sectors such as ‘ag’ and ‘nonpt’. What should cause the problem? The surrogate or SMOKE input files? Thanks in advance for your help.


This may not fix the issue but this mis-match number of sources per cell counts issue is sometime caused by incomplete surrogate. (no gap-filled). I would strongly suggest to gap fill your 806 surrogate and also turn on this flag “SMK_USE_FALLBACK” to Y along with default fallback surrogate (SMK_DEFAULT_SRGID) to land like “100” that covers most of your modeling area.

thanks for the comments. I use the pg_srgtools to creante my 860 surrogates. The default code produced all ‘nofill’ surrogates. In the ‘surrogate_generateion_pg.csv’ file, I found the following line


I also checked other template scripts under the ‘pgscript’ folder, and all of them create ‘nofill’ outputs. How can I fill the gap?


Please check out the latest release of Surrogate Tool DB that is previously known as PostgSQL/PosGIS surrogate tool under Spatial Allocator. We took out this surrogate tool and made it as a stand-alone version. It also comes with the quick start and user’s guide that holds information for gap filling.

Hi, there are Java tools provided with the surrogate tools DB package that don’t need Postgres to do the gapfilling. This error usually comes up when you are running a finescale grid in which one or more surrogates don’t have anything inside the domain, which can happen with ungapfilled surrogates.