SMOKE input file format _EPA 2016v1 platform NEI


I have been using SMOKE4.7 and data from here Also, I have used the EPA 2016v1 platform’s SMOKE script for the point electricity generation ( ptegu) sector. In EPA script Annual_ptegu_onetime_winter_12US1_2028fh1_16j.txt (7.5 KB),

the hourly emission file is HOUR_UNIT_2015_12_31dec_2028_adj_final.txt (2.0 KB) which is referenced in SMOKE script as
setenv EMISHOUR_MULTI_A “$CASEINPUTS/cem/HOUR_UNIT_2015_12_31dec_2028_adj_final.txt”
That file does not have actual hourly emissions rather it has some matrix that represents hourly emission (If I am right).

However, Now I have file that has actual hourly raw emissions which I want to use as hourly file flint_hourly.csv (45.4 KB).

When I just replaced the file, SMOKE is giving me an error, So, I changed the variable name


And the SMOKE run is successful. My question is: As I change the file (with actual hourly data) and variable name, Do I need to make changes in any other files in the script attached?

First, the onetime run script is not for processing hourly inventory files but annual inventory file(s) first. Once you run one-time run script successfully, you can run daily run script to process these hourly inventory files. So, if you want to swap the hourly inventories with yours, update your daily run script along with the hourly inventories list file ending with “.lst” in your inventory input folder.

First, CEM hourly emission file holds actual emissions for NOX and SO2. Check out the CEM file format:

1 Like

Hello, @bbaek Thank you so much for your response. I have made following changes Annual_ptegu_daily_winter_12US1_2028fh1_16j.txt (7.6 KB)

  1. Modified variable name EMISHOUR_MULTI_A to EMISHOUR_A and swaped the file name:

setenv EMISINV_A “$CASEINPUTS/ptegu_winter/egucems_epa617_2028_20200117_winter_14apr2020_v0.csv”
setenv EMISINV_B “$CASEINPUTS/ptegu_winter/egunoncems_epa617_2028_20200117_winter_14apr2020_v0.csv”
setenv EMISHOUR_A “/home/Michael/Documents/SMOKE/2016setupEPA/2028fh1_16j/inputs/ptertac/flint_hourly.csv”

Do I need to make any other changes?

Also, you mentioned " update your daily run script along with the hourly inventories list file ending with “.lst” in your inventory input folder."----- I don’t have .lst file. My hourly inventory is (attached).csv file

I think I gave you incorrect information regarding to updating .lst file. Please check the run script “smk_pt_daily_emf.csh”. That will help you to find out how to set up PTHOUR inventory files for your run. I think @eyth.alison can assist you better regarding to this matter.

What you did sounds correct at first glance: replacing the CEMs with a single FF10-formatted hourly inventory, and replacing “EMISHOUR_MULTI_A” with EMISHOUR_A (pointing to your hourly FF10) is the correct way to set that up. However, what is the format of the hourly inventory again?

Is the file you posted (flint_hourly.csv) the full file or only a portion of it? Is the hourly FF10 intended to be a complete replacement of the CEMs? (If so, good; if not, could get messy.) It would be good for them to check the Smkinven log to confirm SMOKE is reading the file, but SMOKE probably would have crashed otherwise.

Also, one quirk of daily/hourly processing they’ll need to consider if January 1 is part of your modeling period: you need to make a separate hourly file containing December only and with the year / dates set to the previous year, in order to cover the last few hours of December 31 local time / first few hours of January 1 GMT.

1 Like

Hi @eyth.alison Thank you for the response. File format of flint.csv is FF10 hour-specific format flint_hourly.csv (45.4 KB)
. And this is the part of the file (I extracted it only to attach here ), originally I will use full file (REVISED_C2.1.3CONUSv16.1_2028_fs_ff10_hourly_future.shutdown2.csv) .

Yes, FF10 is intended to be a complete replacement of CEM HOUR_UNIT file.

I checked Smkinven log where I can see hourly FF file in daily log smkinven_ptegu_summer_aug_daily_2028fh1_16j.txt (69.9 KB), but not in the other file generated for the summer season run smkinven_ptegu_summer_2028fh1_16j.txt (37.5 KB)

I checked the hourly file, where I don’t have previous year December data. I have January 1 in my Winter sector run, and It run successfully with the hourly file which data started from 20160101. And I checked the SMOKE output file sizes for January 1, with other daily files, the size are same. and also checked header of the SMOKE output file by using ncdmup -h, where I can see 20160101 file SDATE and STIME 2016001 and 0.

So, Do I still need to create a separate file for the December of previous year as I didn’t get any errors?
@eyth.alison would you please help me with this?.
Thank you so much

As mentioned earlier, there are two steps in processing point sector with daily/hourly inventory files. One is onetime script that process annual inventory file first and then the second daily run script will process your hourly FF10 inventory file. Based on your Smkinven log files, it ran successfully and no issue there.

To answer your question regarding to December of previous year, if you are processing US domain, you probably need December 31, 2015 for Temporal program to convert your LST hourly inventory into GMT hourly emissions for air quality model like CMAQ. You just need the last date of previous year for that time conversion. If you do not have it available, you can use the Dec 31, 2016 as 2015 by replacing the year to 2015. Hope this answers your question.

1 Like