USEPA / EPA_MOVES_Model

Estimating emissions for mobile sources
Other
84 stars 23 forks source link

Rates run produces output lacunae in the area of sourceTypeID > 31 #49

Closed DEQjpowell closed 2 years ago

DEQjpowell commented 2 years ago

Required to reproduce:

I set up a MOVES 3.0.1 runspec (see reference [2], 41051.mrs) to obtain CO2e emission rates for our fleet. I used it with the 2020 NEI for FIPS county 41051 (Multnomah County, OR) [1].

So to reproduce this, download [1] and [2] and install the CDBs in [1] into your MariaDB server. Run MOVES 3.0.1 using 41051.mrs, edited to point at your MariaDB server. Attempt to find rateperdistance values for pollutants 90 and 98 and for SCC > 31 in the output.

What I expect: rateperdistance for many source types, LD and HD.

What happens instead:

I am unable to obtain CO2 atmospheric (poll. ID 90) emission "rateperdistance" for sourceTypeIDs other that 11 and 21.

Also, CO2e (poll. ID 98) produces no rateperdistance for sourceTypeID other than (11,21,31).

What I've tried:

  1. I set up an inventory run with the same specs and the same CDB.
    • It produced CO2e values for many, many source types (basically the long list in Table 2below).
  2. I read the docs.
    • I didn't see any MOVES 3 rates guidance, so I relied on 2014b docs.
    • These certainly imply that the rates should be populated.
  3. I tried with CO2 instead.
    • even fewer types have any rateperdistance for CO2.
  4. I tried it for a different county in the same CDB collection [1].
  5. I looked at ratepervehicle, it is populated for many types, listed in Table 2.

As a clue, the numbers produced also appear spurious, as shown in Table 1.

Table 1: Rates per distance for CO2e (pollutant 98). Notice that motorcycles >> passenger cars >> passenger trucks.

sourceTypeID rate per distance (g/mi)

       11          16809166.9606323 
       21          5382787.45937568 
       31          8310.19943262264 

Table 2: The source types included in the list of ratepervehicle rates produced in the same run. This looks healthy compared the anemic list in the rateperdistance table.

sourceTypeID

       62 
       61 
       54 
       53 
       52 
       51 
       43 
       42 
       41 
       32 
       31 
       21 
       11 

References

[1] The CDB used is part of this ZIP file: ftp://deqftp2.deq.state.or.us/jpowell/001-2020-NEI-CDBs-20220503.zip. I recommend FileZilla to fetch it, that seems like the only functioning FTP client. Feel free to download this file to assist in the debugging.

[2] The runspec used is available at ftp://deqftp2.deq.state.or.us/jpowell/41051.mrs

danielbizercox commented 2 years ago

Hello,

Despite the fact that the “expectedDONEFiles” and “retrievedDoneFiles” is the same in your movesrun table, it seems like your rates run was interrupted and did not complete. We encourage you run it again in the Windows operating system. We do not have the resources here to support MOVES runs on Linux.

Before you rerun, you may also want to update to latest MOVES version (current version 3.0.3) https://www.epa.gov/moves/latest-version-motor-vehicle-emission-simulator-moves#download as each minor version fixes different bugs as explained at https://www.epa.gov/moves/moves3-update-log

The sum of rates by source type can be a quick check, but it’s not very meaningful since it does not account for the activity assigned to each of the rows—rows with little activity are weighted the same as rows with high activity.

Instead, we suggest you look at the row counts for each source type. Given your level of output detail, 37,440 rows for motorcycle in CO2 is correct. 37440 rows = (16*4+1)*12*2*24 = (16 speedbin 4 road + 1 [off-network idle, roadtype 0, speedbin 0]) 12 month 2 day 24 hour.

However, 8,640 rows for Passenger Car where pollutant = CO2 does not make sense. If you look at your output, you’ll see Source Type 21 for CO2 only lists roadType 1 and 2 in your rateperdistance table. This is not expected, all source types should have same combinations across all roadTypes. That is, all source types should have 37,440 rows. Therefore, it appears your run was interrupted or otherwise incomplete. Hope this helps!