Last update: 1 Jul 2021 *** PLEASE READ THIS README BEFORE RUNNING SMOKE. *** This package contains files relevant to processing 2016 onroad and nonroad emissions through SMOKE using data developed for the 2016 version 2 emissions modeling platform. SMOKE-MOVES emissions processing using MOVES3 data is different than in past platforms based on older versions of MOVES, and those differences are described here. Ancillary files for onroad and nonroad are included in this package as well as nonroad emissions inventories, activity datasets, and scripts. Emission factor tables for onroad are provided with separate zips for each state. These tables do not include a NOx humidity adjustment, and instead that adjustment is applied in SMOKE-MOVES using hourly meteorology. The NOx humidity adjustment impacts RPD, RPH, and RPHO. This package includes precompiled SMOKE version 4.8.1. SMOKE 4.8 or later is required for MOVES3-based SMOKE-MOVES processing. == 1. Introduction == This SMOKE-MOVES-focused package consists of the following zip files: - smoke_2016fj_onroad_nonroad_core_scripts_27may2021.zip: Scripts, pre-compiled SMOKE executables, and I/O API utilities. - 2016emissions/2016fj_inventory_onroad_activity_27may2021.zip: Onroad activity data for running SMOKE-MOVES. Includes vehicle miles traveled (VMT), vehicle population (VPOP), average speed (SPEED), and hoteling hours. Also includes two activity datasets which are new for MOVES3-based processing: off-network idling hours, also known as ONI; and STARTS (counts of total vehicle starts). - 2016emissions/2016fj_inventory_nonroad_27may2021.zip: Nonroad FF10-formatted emissions inventory. - 2016fj_onroad_SMOKE-MOVES_emissions_FF10_27may2021.zip: FF10-formatted emissions inventory representing the SMOKE-MOVES results for 2016 v2 platform. - 2016emissions/moves_eftables/*.zip: Emission factor tables from MOVES3, organized into zip files by state. - spatial_surrogates/surrogates_CONUS12_2017_04mar2021.zip: 12km spatial surrogates for processing 2016 version 2 platform emissions. - ancillary_data/ge_dat_for_2016fj_onroad_nonroad_27may2021.zip: All ancillary files other than spatial surrogates needed to process the onroad and nonroad sectors for 2016 v2 platform. == 2. Installation of data files and scripts == Choose an install directory on your system; we will refer to this directory as "INSTALL_DIR". To review/reproduce emissions for all sectors, unzip all the .zip files into INSTALL_DIR. The packages have subdirectories embedded within them, so it is important that all files be unpacked in the same place in order for the scripts know where to find the inputs. Prior to running SMOKE, you will need to edit the INSTALL_DIR (your install directory) and MET_ROOT (location of MCIP meteorology data) environment variable definitions in the "directory_definitions.csh" script located in each CASE/scripts directory. This script is sourced by each of the individual run scripts for each sector. Regarding the MCIP data, SMOKE only uses the GRIDCRO2D, METCRO2D, and METCRO3D files. MCIP meteorology data is not included in the package but is required for SMOKE-MOVES processing. == 3. Notes regarding onroad == Onroad emissions are processed using SMOKE-MOVES. The processing is split into multiple run scripts. For the 2016 v2 platform, SMOKE-MOVES inputs were prepared using MOVES3. The main differences between MOVES2014b-based processing and MOVES3-based processing are: - The number of processes / rates has increased from 4 to 6 - More fuel-vehicle combinations are supported, including gas intercity buses, several new CNG vehicle types, and brake/tire emissions from electric vehicles Speciation of VOC emissions is handled within the MOVES model. For this platform, MOVES3 was run for the CB6R3AE7 speciation mechanism. -- 3A. Rates / processes for MOVES3 -- SMOKE-MOVES processing is split into two sectors, which themselves are split into multiple "rates", or processes. SMOKE-MOVES handles onroad emissions separately for six types of processes for MOVES3-based processing. This is an increase from MOVES2014b-based processing, which had four types of processes. In this platform, onroad emissions have been separated into two sectors: - onroad: Onroad emissions outside California. - onroad_ca_adj: Onroad emissions inside California. The MOVES3 rates/processes are: - On-network emissions (RatePerDistance, or RPD) - Off-network emissions, fuel vapor venting (RatePerProfile, or RPP) - Off-network emissions, extended idling (RatePerHour, or RPH) - Off-network emissions, evaporative emissions other than fuel vapor venting (RatePerVehicle, or RPV) - Off-network emissions, exhaust other than extended idling (RatePerStart, or RPS) - Off-network idling exhaust emissions (RatePerHour - Off-network idling, or RPHO) There are separate run scripts for each process within each sector. Then, there is a merge script for each sector which merges the emissions from each process together. Finally, there is an optional job concerning the NMOG species which can be run after the merge step (see Section 3D). So there are 8 total scripts for onroad, and 8 more for onroad_ca_adj. The RPD, RPP, RPV, RPS, RPHO, and RPH scripts are run first and can be run in parallel. The merge sectors are run after all RP* jobs have been completed, and then the optional NMOG job would be run after the merge job. The RPS and RPHO processes are new for MOVES3-based processing. RPS exhaust emissions were formerly part of RPV. MOVES2014b-based RPV is equivalent to the combination of MOVES3-based RPS and RPV. RPS includes the exhaust emissions which were formerly part of RPV, and RPV now only includes evaporative emissions. The off-network idling emissions represented by the RPHO process are completely new in MOVES3 and have no equivalent in MOVES2014b. -- 3B. Optional gas/diesel sector splits -- The scripts as provided in this package, by default, generate emissions for the full onroad and onroad_ca_adj sectors, and in addition, also generate emissions containing only the gas and diesel components of each sector. ("Gas" includes all non-diesel fuels, such as CNG, E-85, and brake/tire from electric vehicles.) For example, when you run the onroad RPD script, you will get three distinct sets of emissions: - premerged/onroad_gas/RPD/ (onroad sector emissions for RPD, gas+CNG+E85+electric only) - premerged/onroad_diesel/RPD/ (onroad sector emissions for RPD, diesel only) - premerged/onroad/RPD/ (all onroad sector emissions for RPD, sum of onroad_gas and onroad_diesel) The same follows for all of the rates/processes and also for the onroad_ca_adj sector. RPP and RPV will not generate a separate diesel emisisons file since those rates/processes have no diesel emissions. RPH is diesel-only, but because of how SMOKE is coded, an onroad_gas RPH emissions file will be generated; those files will be empty and can be deleted. If you do not want the separate _gas and _diesel emissions files, change the SMK_SUB_SECTOR_OUTPUT_YN setting from "Y" to "N" in each run script. Then, you will only get emissions for the full "onroad" and "onroad_ca_adj" sectors including all fuels. The full onroad file is generated no matter how SMK_SUB_SECTOR_OUTPUT_YN is set; the difference is whether the _gas and _diesel files are generated in addition to the full file. The onroad merge and NMOG (see Section 3D) scripts are set up by default to run for the "onroad" and "onroad_ca_adj" sectors, not the _gas and _diesel split "sectors". To create total merged emissions for the _gas or _diesel sectors instead of total onroad / onroad_ca_adj, edit the onroad sector merge scripts as follows: - Edit the sector name at the top, e.g. setenv SECTOR "onroad_gas" - Under "Merge-specific parameters" near the bottom, set NO_RPH to Y if running for gas sector, and set both NO_RPP and NO_RPV to Y if running a diesel sector. This is because gas has no RPH emissions, and diesel has no RPP or RPV emissions. Setenv statements for these parameters are included in the onroad merge scripts, but are commented out by default. - If running the optional NMOG script, change the sector name near the top of that script as well. -- 3C. DAYS_PER_RUN -- SMOKE-MOVES processing can take many hours and days to complete for an entire year. To help speed up processing, SMOKE supports running multiple days at once. This is controlled by a parameter called DAYS_PER_RUN. SMOKE-MOVES can be run more efficiently if running more than one day at a time. For example, Movesmrg can create one 7-day emissions file more quickly than it can create seven individual 1-day emissions files. To turn on this feature, use the DAYS_PER_RUN variable, set to the number of days you wish to run in a single Movesmrg instance. The recommended value for DAYS_PER_RUN is 7. The onroad scripts include a setting called "DAYS_PER_RUN", set to 1 as the default. If DAYS_PER_RUN > 1, after Movesmrg is run, the run scripts will use the I/O API utility m3xtract to split up the multi-day emissions file into single day (25-hour) emissions files. Multi-day Movesmrg runs will never cross months. For example, if DAYS_PER_RUN = 7, then the last Movesmrg run of January will start on January 29th and end on January 31st (3 days), and the first Movesmrg run of February will start on February 1st and end on February 7th. Using the multi-day Movesmrg functionality requires multi-day MCIP files. For example, if DAYS_PER_RUN = 7, your METCRO2D files must also be 7 days (169 hours) long. These multi-day MCIP files should be stored in MET_ROOT_${Xday}/, where X = DAYS_PER_RUN (i.e. /7day for DAYS_PER_RUN = 7). For example, if the single day MCIP files are in /foo/foo/mcip_dir/, then 7-day MCIP files should be in /foo/foo/mcip_dir_7day/. The primary drawback to using this multi-day Movesmrg functionality is an increase in the memory usage. -- 3D. NMOG for onroad -- A new optional run script is included in this package, which takes the onroad emissions from SMOKE-MOVES (after merging the different rates/processes) and adds a species called NMOG. NMOG is non-methane organic gases, and is basically equal to TOG minus CH4, with mass units (g/s). NMOG is not needed for air quality modeling, but it has other applications in the emissions / air quality modeling, and so in 2016 v2 platform, all emissions sectors will include the NMOG species. If you do not need the NMOG species, you can skip this step. For most sectors, NMOG is created in SMOKE. But for onroad, since NMOG is not in the emission factor tables, SMOKE-MOVES does not generate NMOG. Instead, we run a standalone job which adds NMOG to the post-SMOKE emissions, approximated as VOC + ACET + ETHA. NMOG is added to the emissions using the "combine" utility, which is included (pre-compiled) in this package. Scripts to create NMOG via combine are included in this package: 2016fj_16j/scripts/onroad/Monthly_onroad_add_NMOG_12US1_2016fj_16j.csh 2016fj_16j/scripts/onroad/Monthly_onroad_ca_adj_add_NMOG_12US1_2016fj_16j.csh These scripts can also be used for onroad_gas, onroad_diesel, onroad_ca_adj_gas, or onroad_ca_adj_diesel, by editing the sector name at the top of each script. The output emissions file including NMOG will go in the same directory as the non-NMOG emissions file, but with "withNMOG" included in the file name. For example: 2016fj_16j/premerged/onroad/emis_mole_onroad_20160101_12US1_cmaq_cb6ae7_2016fj_16j.ncf (original file output by the onroad merge job) 2016fj_16j/premerged/onroad/emis_mole_onroad_withNMOG_20160101_12US1_cmaq_cb6ae7_2016fj_16j.ncf (output by the NMOG job, same as the first file but also including NMOG) == 4. Notes regarding nonroad == As with the onroad sector, the nonroad sector scripts, by default, generate emissions for the full nonroad sector, and also generate emissions containing only the gas and diesel components of nonroad. ("Gas" includes all non-diesel fuels, such as CNG, and LPG.) When you run the nonroad script, you will get three distinct sets of emissions: - premerged/nonroad_gas/ (nonroad sector emissions, gas+CNG+LPG only) - premerged/nonroad_diesel/ (nonroad sector emissions, diesel only) - premerged/nonroad/ (all nonroad sector emissions, sum of nonroad_gas and nonroad_diesel) If you do not want the separate _gas and _diesel emissions files, change the SMK_SUB_SECTOR_OUTPUT_YN setting from "Y" to "N" in each run script. Then, you will only get emissions for the full "nonroad" and sector including all fuels. The full nonroad file is generated no matter how SMK_SUB_SECTOR_OUTPUT_YN is set; the difference is whether the _gas and _diesel files are generated in addition to the full file. == 5. 2023fj onroad == On 1 Jul 2021, files for 2023 onroad were added: - 2023emissions/2023fj_inventory_onroad_activity_01jul2021.zip (activity data) - 2023emissions/moves_eftables/*.zip (MOVES3 emission factor tables) - ancillary_data/ge_dat_for_2023fj_onroad_01jul2021.zip (MRCLIST and CFPRO files for 2023) To run 2023fj onroad, start with the 2016fj onroad run scripts and change: - Copy directory_definitions.csh and the onroad run scripts to 2023fj_16j/scripts/, and change the case name in directory_definitions.csh - In each run script, change the activity data (EMISINV_*), EFTABLES, MRCLIST, and CFPRO settings to point to the 2023 files