Question regarding MOVES speciation

Dear all,
I am working on using the SPECIATE tool and SCC files to produce the actual amount of VOCs speciation in California. But I encountered an issue that I don’t know how the MOVES model process the speciation for VOCs in California? Does the MOVES model use any files (like GSREF file in the smoke) to process the inventory in California? If it is, may I ask where I can find these files?
I tried to search related material on the MOVES website and found the following figure which seems that MOVES did the speciation in its own framework. Does anyone know how the MOVES model process the speciation?
Any details are highly appreciated!


I forwarded this question to EPA SMOKE-MOVES team leader. Will get back to you soon.

Here is some information on this topic – please let us know if you need more information for your analysis:

For California onroad, the EPA modeling platform emissions use MOVES speciation combined with total PM2.5 and VOC provided by CARB. We run SMOKE-MOVES twice for California.
The first time, we run SMOKE-MOVES in California the same as we run all other states, without regard to any CARB data. Using the results of this first SMOKE-MOVES run, we generate conversion factors to apply within SMOKE-MOVES so that the emissions that come
out of SMOKE-MOVES match the emissions totals provided by CARB. This is done at the county-SCC level (except with all road types summed together) for all CAPs, including PM2.5 and VOC. The conversion factors for VOC are also applied to all individual VOC species;
same for PM2.5. These conversion factors are applied by SMOKE-MOVES (Movesmrg) using a file called the CFPRO file. SMOKE-MOVES is then run a second time with this CFPRO file, and the result of the second run is CAP emissions totals which match CARB data, and
speciation determined by MOVES.

Here’s an example for a particular county-SCC:

  • First SMOKE-MOVES run (no CARB data) = 10 tons VOC, 3.5 tons ALDX (35%), plus other species

  • CARB inventory has 15 tons VOC for this county-SCC, so the CFPRO conversion factor = 1.5 (15/10)

  • The CFPRO factor is applied to total VOC and to all individual VOC species, resulting in 15 tons VOC, and 5.25 tons ALDX
    (still 35% of VOC based on MOVES)

It is possible to have Movesmrg ignore the pre-speciated emissions and to calculate a new speciation based on speciation profiles applied to NONHAPTOG. I’d have to dig up some
instructions on that if that is what Ryan is after.

The treatment of nonroad is a bit different. We aren’t sure if you need information on that as well.

Dear Alison,
Thanks a lot for your explanation which makes me much clear. As I mentioned before, I am working on using the SPECIATE tool and SCC files to produce the actual amount of VOCs speciation in California. In other words, I want to calculate the real emission amount of each VOCs species in California. I am still curious about the following question.
(1) As far as I know, we use SCC profiles to deal with point and nonpoint sources for getting the real speciated VOCs emission. However, when I tried to find SCC profiles for dealing onroad and nonroad emissions, I can’t find any SCC profiles in GSREF that can be used for speciation of onroad and nonroad emissions. Therefore, I wonder that do we use SCC profiles to deal with the speciation of onroad and nonroad emissions? If it is, could you please tell me where I can find the corresponding SCC profiles? If it is not, is there any other profiles being utilized for dealing with the speciation of onroad and nonroad emissions?
I also attach a screenshot from a sample profile from an EST paper to make the problem more clear.
Looking forward to hearing from you!

With regards,

Dear Dr.Baek,
Looking forward to hearing from you!

Best regards,

@Ryan Current chemical speciation process in SMOKE-MOVES tool does not use actual speciation profiles (GSPRO) and x-reference (GSREF) input files. Actual speciation processing (inventory pollutants to model species) are done in MOVES to accurately estimate model species. As you already know, the speciation profiles from vehicles can vary by age of the vehicle. So, to compute accurate model species from each vehicle, you need to apply multiple speciation profiles (GSPRO). Currently, MOVES does perform chemical speciation allocation internally once users define the air quality model and chemical mechanism (i.e., CB06, CB05, SPRAC,). OTAQ preprocesses the list of speciation profiles by vehicle and age and then create a new set of input files for MOVES chemical speciation.
Hope this answers your questions. I think @eyth.alison can provide those chemical speciation input files for MOVES model for you to use.

PS) Just like MOVES, the current version of SMOKE can also assign multiple speciation profiles for a single inventory source using the “split factor” column in GSREF input file (

Dear Alison,
Could you please provide the chemical speciation input fils for MOVES model (as pointed out by Dr.Baek following) for me when you have a free moment?
Looking forward to hearing from you!


Dear Dr.Baek and Dr.Alison,
Today I get another question in my mind. When I work on the speciation of nonroad sources in NEI2014v2 emission inventory, I used the SCC profiles of NEI2014 ( But I found that the 2016 modeling platform provide new SCC profiles on the website of . May I ask which SCC profile I should use for conducting the speciation of VOCs when I am working on NEI 2014v2? I think using the SCC profiles of NEI2014v2 is correct but I am not sure. Could you please tell me your opinion?
Thanks again for help!


@Ryan. There is no one gold-standard GSREF/GSRPO files for all sectors. You need to use it based on the one listed in the sector-specific run scripts. Each run script holds the list of input files within. Please check out the run script and look for GSREF and GSPRO files. One tip is that it sometimes uses multiple GSPRO input files to generate one combined one internally and use it for Spcmat to process. So, you need to check the Spcmat log file after you run that run script since the actual auto-generated GSPRO input file is created under a certain folder. Log file will show the actual file with a full path.

All, for the information on how MOVES does speciation, some more details are available here:

Speciation of Total Organic Gas and Particulate Matter Emissions from
On-road Vehicles in MOVES2014b (PDF)

Speciation Profiles and Toxic Emission Factors for Nonroad Engines
in MOVES2014b (PDF)

And CARB also has its own speciation database:

If you are trying to do your own speciation, t hat will require some additional inputs that are not part of the standard platform. I think the closest thing we’ve posted to date
for that is this package:

That package is designed for running SAPRC speciation for onroad, but can be used more generally to apply a non-MOVES speciation within SMOKE-MOVES via traditional speciation
profiles. If you is planning to use the Speciate Tool to generate new profiles for use in SMOKE-MOVES, you need to generate integrate profiles that incorporate all of the MOVES integrate HAPs (styrene, hexane, ethylbenzene, etc). It has the potential to get
complicated… One option is to forego SMOKE-MOVES completely and run the onroad FF10 through SMOKE, which would make speciation a bit simpler; If that is the direction you might want to go, we can provide some more info on that.

For nonroad, there are nonroad SCCs in the standard platform GSREF, and that is how we speciate nonroad emissions in California. Some of these SCCs use the GSPRO_COMBO. For



Speciating nonroad emissions in California using regular criterial speciation profiles applied to EXH__VOC and EVP__VOC should be fairly straightforward. As for the rest of
the country, that gets more complicated because assignment of speciation profiles is determined by MOVES via the NONHAPTOG splits (NONHAPTOG8869, NONHAPTOG8775, etc).

Ryan, Profiles evolve over time. The profiles may change between platforms, but you could probably use either one depending on the goals of your study.

Dear Dr.Baek and Dr.Alison,
I am working on the speciation process right now! Thanks again for helpful suggestions and resources!


i dont have any idea on this but your post is awesome

Thanks for the reply.
Issue is solved.