Daily emissions controls in nonroad sector?


I am using the 2016v2 platform scripts (modified for my domain etc). For the nonroad sector, I need to apply emissions reductions for specific SCCs only on specific days in my modeling episode. I have attempted to create an ARDAY file with my daily reduced emissions in it, but I keep getting this error message:

 *** ERROR ABORT in subroutine GETPDINFO
     No day  -specific sources matched the inventory for the time period processed.

My script is attached, and my ARDAY file.
Is there a better way to apply day-specific emissions reductions in a monthly sector?

Monthly_nonroad_DAILY_controllawngardenWF13UDAQ_2023fy_17nc.csh (10.0 KB)

This might fix it, or might not - try changing the header of the ARDAY file to say “#YEAR=2017”. For these types of daily inventories, the inventories need to reference the modeling year rather than the projection / future year.

Another way to do it would be through creating daily temporal profiles which sum to less than 1. Which way is easier probably depends on the nature of the reductions.

1 Like

Hi @eyth.alison - thanks for these ideas. I’ve implemented daily temporal profiles which sum to less than one. I took the standard weekly profile for the relevant SCCs and reduced the fraction by a % on my emissions reductions days. This resulted in lower emissions on my reduction days, however, I’m seeing higher emissions on my non-reduction days. Is SMOKE renormalizing my profiles that sum to less than one? I modified the EPA script to set RENORM_TPROF = “N” instead of default “Y”. Is there another way to prevent normalization in SMOKE?

Are you saying that SMOKE seems to still be normalizing the profiles even with RENORM_TPROF = N? That shouldn’t be…

I agree - and I checked the log files and RENORM_TPROF = F. Perhaps I’ve incorrectly constructed the daily temporal profiles. In the chart below, (orange) NRDresi1 is the standard weekly profile 9 translated to a daily format for the month of July. The other profiles have been reduced on certain days in the month (highlighted in blue on the x axis) - these profiles do not add to 1. On non-controlled days, the controlled profiles = the standard profile.


Here are some results - starting with July 5, a “controlled” day
The left panel uses the orange daily temporal profile, the right panel uses the other controlled temporal profiles. Emissions are reduced on this day, which is excellent.

On a “non-controlled” day, July 25:
The left panel uses the orange daily temporal profile, the right panel uses the other controlled temporal profiles. Emissions increase on this day, but I need the emissions to stay the same. Left panel should equal the right panel on non-controlled days.

I’d love to hear your thoughts on this!

If this is a scenario that is better suited to the ARDAY method - I’m glad to switch. Since nonroad is a monthly sector, I’m using the script smk_ar_monthly_emf.csh, but unlike smk_ar_annual_emf.csh, the monthly runscript doesn’t include the day-specific calls. I tried pasting in this block from the annual script to the monthly script, but I’m still getting the error message in my original post. I’m attaching the smkinven log file.

## If DAY_SPECIFIC_YN = Y, then set up list file for daily FF10
   if ( $?DAY_SPECIFIC_YN ) then
        if ( $DAY_SPECIFIC_YN == Y ) then
                $combine_data EMISDAY $DAYLISTFILE list
        if ( $status != 0 ) then
                echo "ERROR: Could not run combine_data.csh to create area daily inventory file list:"
                echo "       $DAYLISTFILE"
                $EMF_CLIENT -k $EMF_JOBKEY -m "ERROR: Could not run combine_data to create area file list" -t "e" -x $combine_data
                exit ( 1 )
        setenv ARDAY $DAYLISTFILE  #  For FF10 daily nonpoint. Not sure if this is correct? (C. Allen - 15 Dec 2011)   endif

smkinven_nonroadARDAY_ctrl_jul_2023fy_17ncv1.txt (50.5 KB)

as a quick update - I’ve pivoted back to the ARDAY approach and have some promising preliminary results!

1 Like

Good news! We reviewed the SMOKE code and found that, unlike other types of temporal profiles, SMOKE will always renormalize day-of-month profiles in particular, regardless of RENORM_TPROF. So you will need to go with the ARDAY approach.

In the ARDAY, did you change the #YEAR header to 2017?

1 Like

Interesting! Thanks for looking into this for me. Yes, I changed the header to 2017 and I triple checked my daily inventories - it’s working now! Thanks again for your help!

This is great news – glad that you got it working. Also, good job with the QA…