# MOVESv4 to SMOKE Workflow

**URL:** <https://forum.cmascenter.org/t/movesv4-to-smoke-workflow/5949>\
**Category:** SMOKE\
**Created:** [August 7, 2025, 6:03pm UTC](https://forum.cmascenter.org/t/movesv4-to-smoke-workflow/5949 "2025-08-07T18:03:09Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Vlang](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@Vlang](https://forum.cmascenter.org/u/Vlang)\
**Post date:** [August 7, 2025, 6:03pm UTC](https://forum.cmascenter.org/t/movesv4-to-smoke-workflow/5949/1 "2025-08-07T18:03:09Z")

</div>

Hi all,

I am hoping this is a straightforward question. I’m hoping to learn how to run MOVESv4 using the GUI and convert the resulting emission factors into a format compatible with SMOKE. I’d like to stay consistent with how the EPA develops its SMOKE-based emission modeling platforms. I’ve found several MOVES tutorials online, but most seem geared toward local air agencies and SIP development. I suspect those workflows differ from how MOVES is configured when used to generate inputs for SMOKE (e.g., Inventory v. emission rates modes), but I may be wrong.

Does anyone know of a tutorial, guide, or example that walks through running MOVESv4 in a way that prepares EF outputs for use in SMOKE? I will note that I am aware that I then use the scripts provided by [GitHub - CEMPD/SMOKE-MOVES: SMOKE-MOVES Processing Scripts](https://github.com/CEMPD/SMOKE-MOVES) to convert MOVES output to SMOKE-ready EF tables, but would appreciate guidance prior to this step.

Thank you in advance! -VL

---

<div class="post-metadata">

**Author:** ![james.beidler](https://avatars.discourse-cdn.com/v4/letter/j/6f9a4e/32.png) [@james.beidler](https://forum.cmascenter.org/u/james.beidler)\
**Post date:** [August 8, 2025, 1:52pm UTC](https://forum.cmascenter.org/t/movesv4-to-smoke-workflow/5949/2 "2025-08-08T13:52:48Z")

</div>

Section 2.15 of the [SMOKE user’s manual](https://www.cmascenter.org/smoke/documentation/5.2/USER_MANUAL.pdf) describes the use of the scripts that you highlighted on GitHub to run MOVES in a way consistent with what was done for the EMPs.

Because the MOVES runspecs must be precisely created in order to generate the appropriate emission factors, SMOKE-MOVES automates the process of creating the MOVES runspecs (e.g. Runspec\_generator.pl), and so the MOVES GUI isn’t used. If you would like to run MOVES via the GUI, we recommend opening the example runspec files that are included with SMOKE-MOVES in the MOVES GUI to see how they are configured.

These runspec files are available on github: [Rate-per-distance](https://raw.githubusercontent.com/CEMPD/SMOKE-MOVES/refs/heads/master/runspec_files/06001/RD_06001_2011_1_T10_100_mrs.xml), [Rate-per-profile](https://raw.githubusercontent.com/CEMPD/SMOKE-MOVES/refs/heads/master/runspec_files/06001/RP_06001_2011_1_profM2011010001_mrs.xml), [Rate-per-vehicle](https://raw.githubusercontent.com/CEMPD/SMOKE-MOVES/refs/heads/master/runspec_files/06001/RV_06001_2011_1_T10_mrs.xml)

Note that the zone-month-hour table in the county-specific inputs is very important for generating the correct temperature bins and profiles, and the MOVES runspecs need to correspond to that data. The SMOKE-MOVES runspec generator handles this by creating import XML files for MOVES to import the appropriate zone-month-hour data for each type of rate run.

Section 5.6 of the [2020 NEI Onroad TSD](https://www.epa.gov/system/files/documents/2023-01/NEI2020_TSD_Section5_Onroad_0.pdf) contains further detailed information on how MOVES and SMOKE-MOVES were configured and run to create both CMAQ-ready emissions and inventory emissions for the NEI.

---

<div class="post-metadata">

**Author:** ![Vlang](https://avatars.discourse-cdn.com/v4/letter/v/57b2e6/32.png) [@Vlang](https://forum.cmascenter.org/u/Vlang)\
**Post date:** [August 8, 2025, 2:13pm UTC](https://forum.cmascenter.org/t/movesv4-to-smoke-workflow/5949/3 "2025-08-08T14:13:19Z")

</div>

This is very helpful. Thank you so much.
