SMOKE-MOVES-communication failure

I’ve installed MOVES using instructions from GitHub. I was not able to change my usr to root as it is due to admin. However, I did get the runspecs script to run. But I ran into a communication link failure. I’ve tried everything I can think off. Is there a way to process the EF tables from the MOVES gui into SMOKE ready EF (essentially side stepping running MOVES in Linux part).

I got the communications error resolved it seems. However, I can not get the database open. When I initiate the runspec, it says it is unable to open the domain database.

The domain database is identified by the tag <scaleinputdatabase> in the runspec. This database should contain the county-specific inputs. Double check what database this tag is pointing to, and make sure it exists (and contains the appropriate county-specific data you want to use) before running the runspec.

Separately, yes, you can run the SMOKE-MOVES post-processing script using MOVES data created by the GUI. The script determines which database to connect to via a control file, specified when you run the script. For example, in the following command, the control file is config.txt.

scripts/ -r RPD --formulas scripts/pollutant_formulas_AQ.txt --proc_agg scripts/process_aggregation.csv config.txt scripts/pollutant_mapping_AQ_CB6.csv

Usually this control file is created automatically when you generate the runspecs, but you may need to create it yourself. It simply lists the hostname for the database server, the directory where the emission factor tables should be created, and the database containing the MOVES outputs. For example:

You may also need to specify the MySQL username and password that the script should use to connect. This is done via options on the command line. For example, if the username and password are “moves”:

scripts/ -u moves -p moves -r RPD …

Hi @cseppan
Thank you for your response. You were correct on all fronts. I found the error and yes, just as you indicated, I hadn’t uploaded one of the needed databases. After that I got things to run. But then when I tried the script. I got the following error

Use of implicit split to @_ is deprecated at scripts/ line 171.

I tried to figure it out but perl is a new language for me so not so good at debugging it at the moment. Any tips on what I can do? I am using perl/5.10.1.

It looks like Perl’s behavior has changed between 5.10 and newer versions, so I hadn’t run into this problem before. I think I have a fix for Below is the current script starting at line 171:

if ($procList && scalar split(' ', $procList) > 0)
  push(@{$keptPollProcMap{$pollID}}, {'name' => $pollName, 'list' => [split(' ', $procList)]});

Replace these lines with the following:

my @processes = split(' ', $procList || '');
if (scalar(@processes) > 0)
  push(@{$keptPollProcMap{$pollID}}, {'name' => $pollName, 'list' => \@processes});

Hi, your solution worked perfectly. Thank you so very much. Could not have solved this without your input…Thank you!

Did it generate emission factors in the database? If so, you need to run the moves2smk script to generate the emission factor tables.


Hi @eyth.alison. Yes, after I added the modification proposed by @cseppan, it worked well and generated emission factor tables…