A question about ptegu SMOKE script 2016v2

Hello,
I am exploring the SMOKE scripts from the 2016v2 platform ftp://newftp.epa.gov/air/emismod/2016/v2/.

For ptegu sector,

For winter ( RUN_MONTHS “1 2 12”)

I have separate emission input files for the winter, such as
EMISINV_A “egucems_epa620_2026_20210609_winter_27jul2021_v0.csv” ,
EMISINV_B “egunoncems_epa620_2026_20210609_winter_26jul2021_v0.csv”
EMISHOUR_MULTI_A “HOUR_UNIT_2015_12_31dec_2026_adj_final.txt”

in the EMISINV_A file column14 has annual emissions (sum of winter months only), and WINTER months data.

Now, for the same sector

for the same duration winter ( RUN_MONTHS “1 2 12”)

I have a NEW FILE with two changes in the emission input files. I want to keep the “egunoncems*” file as it is. But I want to change CEMS file and Hourly file.

My cems file

EMISINV_A “MODIFIED-FILE_CEMS_WHOLE_YEAR2026-yearly.csv” has data for all the months (JAN TO DEC ,monthly) and yearly (SUM of JAN to DEC in the Column 14).

I have a separate hourly files that has data for each hour, and I use the variable name “EMISHOUR_A” instead of “EMISHOUR_MULTI_A”
EMISHOUR_A “MODIFIED-FILE_CEMS_WHOLE_YEAR2026_HOURLY.csv”

The header of the CEMS (yearly and monthly data available) file is

where in each row , column 14 has annual emissions (sum of all months) and column53 to column64 for the monthly emissions in newly created file.

And header of Hourly files has emissions for each hour of each day.

My question is:
When I run ‘one-time’ script for the newly created file, Does it invoke column 14 (annual emission column)?. If so, it wouldn’t be accurate because column 14 is the sum of all months (Jan to Dec) in the new file.
It would be accurate for the EPA winter file
“egucems_epa620_2026_20210609_winter_27jul2021_v0.cs” as column 14 of EPA file is the sum of winter months only.

Or it invokes the monthly column for the winter months if I run a ‘one-time’ script?

I am trying to understand how ‘daily script’ and ‘one-time’ script invokes data from the emission files (specifically which columns from FF10 file).

For the ‘onetime’ jobs for ptegu, SMOKE reads in the “annual” value only, which in the case of the ptegu_winter sector is the total emissions for Dec+Jan+Feb. The monthly values in the inventories are not used directly. Monthly emissions (and daily and hourly) are based on hourly CEMs data for CEM sources, and temporal profiles for nonCEM sources.

The setup for the future year ptegu cases is split into three seasons. One important note is that each season has its own CEMSUMs and monthly temporal profiles (PTPRO_MONTHLY) which include only the months within that season. For example, the Dec+Jan+Feb monthly temporal factors sum to 1 for the ptegu_winter sector. So if you used the same temporal profiles plus an inventory in which ann_value = annual emissions rather than ann_value = Dec+Jan+Feb only, you would end up with a year’s worth of emissions within those three months. The winter CEMSUM also covers only those three months.

To do what you want to do with minimal changes to the SMOKE setup, I would recommend:

  • Instead of using a new CEMs annual inventory, create seasonal inventories in which ann_value = Dec+Jan+Feb for ptegu_winter, Mar+Apr+Oct+Nov for ptegu_wintershld, and May-Sep for ptegu_summer

  • Since you also have new hourly CEMs data (EMISHOUR_MULTI_A), they should also run CEMSCAN three times to create seasonal CEMSUM files: Dec+Jan+Feb, Mar+Apr+Oct+Nov, and May-Sep

1 Like

Hi @eyth.alison ,

Thank you so much for the response. Okay, since I will be using EPA’s noncems data, I won’t have to modify anything for PTPRO_MONTHLY file, am I right (I can see in the EPA script, PTPRO temporal variables are for noncem files?

  • For the CEMS data_ Annual File:
    As SMOKE only reads column 14 (Ann_emission) when running ‘One-time Script’ ---- I will create three separate files for each time period from new CEMs annual inventory file.

  • For the CEMS data_ Hourly File
    My new hourly file has data for each hour

, that’s why I used variable name " EMISHOUR_A" (not EMISHOUR_MULTI_A).

~Do I need to change the variable name to EMISHOUR_A from EMISHOUR_MULTI_A?

**I was trying to run CEMSUM using the following codes:

cemscan code

which is giving me following error:

So, I was wondering for this specific case, would you please suggest, what could be the source fo this error (file name is correct) ?

Thanks in advance

You should replace onroad_w_nmog and onroad_ca_adj_w_nmog in the SECTORLIST with onroad_gas, onroad_diesel, onroad_ca_adj_gas, and onroad_ca_adj_diesel.

Noting that in the platform scripts that are posted on FTP, onroad is configured differently in terms of sector names and sector organization compared to what was run - to make the setup for FTP easier to follow. The SECTORLIST that is posted with FTP is designed to work with the FTP scripts setup, and this is different from the original atmos SECTORLIST. So if you are not reprocessing the emissions with the FTP scripts and is downloading the premerged emissions directly, you need the original SECTORLIST.

Hi @eyth.alison

Sorry, I don’t understand why I need to
" replace onroad_w_nmog and onroad_ca_adj_w_nmog in the SECTORLIST with onroad_gas, onroad_diesel, onroad_ca_adj_gas, and onroad_ca_adj_diesel"
When I am working with ptegu sector?

Apologies – I pasted this into the wrong ticket. You can ignore this.

1 Like