EPA's MOtor Vehicle Emission Simulator (MOVES) is a state-of-the-science emission modeling system that estimates emissions for mobile sources at the national, county, and project level for criteria air pollutants, greenhouse gases, and air toxics, available under EPA's Open Source Software policy.
MOVES3 is the latest version of MOVES available for regulatory purposes. For more information, see Policy Guidance on the Use of MOVES3 for State Implementation Plan Development, Transportation Conformity, General Conformity, and Other Purposes (EPA-420-B-20-044).
For additional information on MOVES, visit EPA's MOVES website. A standard installer for MOVES is available here. Or, to compile and MOVES from source, follow the instructions below.
This repository contains all of the source code and data required to compile and run MOVES.
MOVES uses MariaDB, Java, and Go. At minimum, you will need the following:
To get set up:
-
Clone or download this repository.
-
Make sure MariaDB, Java, and Go are all installed and available on your system path (i.e., make sure the
\bin
folders for each of these are in your PATH environment variable). You can test this by running each of the following lines in a command prompt:mysql.exe --version
java.exe -version
go.exe version
-
If MariaDB is running on a non-default port (i.e., any port other than 3306), create a file called
MySQL.txt
in the root MOVES directory, and save the port number to this text file. This file should contain no whitespace, just the port number. -
Uncomment line 2 of
setenv.bat
and comment out line 3 to set the JDK and JRE paths to match your environment (i.e., removeREM
from the beginning of line 2 and add it to the beginning of line 3). -
Unzip the default database dumpfile from the .zip file in the
\database\Setup
directory to the same directory. -
Edit
\database\Setup\SetupDatabase.bat
to use the MariaDB root user's password, and then run it. This batch file creates the MOVES database user by running\database\Setup\CreateMOVESUser.sql
, and then installs the default database by running the dumpfile you extracted in the previous step.Note: if MariaDB is running on a different port, you will need to edit
SetupDatabase.bat
to add the command-line flag--port=XXXX
, whereXXXX
is the port number. -
Open a command prompt, navigate to your MOVES source code directory, and run the following commands to compile MOVES and launch the GUI:
setenv
ant compileall
ant rungui
- Hereafter to run MOVES, simply navigate to the MOVES directory and run:
MOVESMaster.bat
Documentation on the software components of MOVES, database structure, running MOVES from the command line, tips for improving MOVES performance, and other information are available in the \docs directory of this project. Peer-reviewed documentation on the data and algorithms used in MOVES are available in the Onroad Technical Reports and Nonroad Technical Reports. On-your-own training modules are available here. If you have feedback, email the MOVES inbox.
MOVES3 is the second version of MOVES posted on GitHub. The previous version, MOVES2014b December 2018 Technical Update, can be accessed using the following tag: MOVES2014b-Dec2018. Older versions of MOVES are available at the MOVES website.
MOVES is licensed for use pursuant to the GNU General Public License (GPL).
The United States Environmental Protection Agency (EPA) GitHub project code is provided on an "as is" basis and the user assumes responsibility for its use. EPA has relinquished control of the information and no longer has responsibility to protect the integrity, confidentiality, or availability of the information. Any reference to specific commercial products, processes, or services by service mark, trademark, manufacturer, or otherwise, does not constitute or imply their endorsement, recommendation or favoring by EPA. The EPA seal and logo shall not be used in any manner to imply endorsement of any commercial product or activity by EPA or the United States Government.