Grwinven run issue


Hi all,

Grwinven is failing to run due to the following error:

 IOAPI_INV       :/central/groups/seinfeldgroup/SMOKE/data/inventory/LA4km_CARB2012_lessemis_VCPonly/ar.2018.LA4km_CARB2012_lessemis_VCPonly_18.ncf
 >>--->> WARNING in subroutine OPENSET
 File already exists on disk, cannot open as "NEW".
 *** ERROR ABORT in subroutine OPENGRWOUT
 Could not open I/O API inventory file for file name: 

The IOAPI_INV file was created by Smkinven, but I am not seeing where this file is defined in the assigns file or other scripts in the $ASSIGNS directory. Is the old IOAPI_INV file created by Smkinven needed by Grwinven, or can I delete (/rename) it before running Grwinven? Any other ideas on how to resolve this?

The full log is attached, as well as the run scripts for Smkinven, Spcmat, and Grdmat (s_s_g file) and Cntlmat, Grwinven, Temporal, and Smkmerge (c_g_t_m file). I have successfully run Smkinven, Grdmat, Spcmat, and Cntlmat.

Thank you,
Elyse (15.1 KB)
smk_area_LA4km_scaled_c_g_t_m.csh (6.8 KB)
smk_area_LA4km_scaled_s_s_g.csh (7.1 KB)



Grwinven. gives you an error because you are trying to overwrite the existing intermediate output files from previous Smkinven run with a different content. You need to output it to a different file names. To do so, I think you need to create it another sector by updating SRCABBR with new name. I think it will be best if you can download an older version of SMOKE run scripts to understand how future year inventory are processed. Please download the SMOKE v2.6 and check out the run script for 2018 future run scripts.



Hi BH,

Thank you for your response. I downloaded SMOKEv2.6 and took a look at the example scripts; mine look similar. It does seem that I would need to change SRCABBR so that the Grwinven files don’t overwrite the Smkinven files. However when I do this, Cntlmat and Grwinven can’t find the correct input files since the SRCABBR isn’t the same. Should I edit the assigns file so that the intermediate file names that Cntlmat/Grwinven look for have the SRCABBR of the Smkinven run?

Thank you,


I don’t think you need to update the ASSIGN file but check out how other scripts are handled to process future year. Check out the script called “set_case.scr” located next to ASSIGNS file. It handles the case including future and control cases. Look for where this script get called and how they are used to set the case for intermediate output file names from Smkinven, Cntlmat, and Grwinven.
I wish it is much simpler that it is now. :frowning: Sorry about that.


Hi BH,

No problem, it’s running now! I had to change the Assigns file so that the intermediate and output filenames matched the way they were defined in SMOKEv2.6. The older naming convention is what works with the definitions in set_case.scr. Smkinven, Spcmat, and Grdmat were run using SRCABBR set to “ar”, and Cntlmat, Grwinven, Temporal, and Smkmerge had SRCABBR set to “ar.$FYEAR”. After doing this, Temporal and Smkmerge failed because they couldn’t find ASRC, the file named as “$SRCABBRsrc.$ABASE.txt”. Specifically, “arsrc.$ABASE.txt” existed and was written by Smkinven, but the file “ar.2018src.$ABASE.txt” did not exist. Before running Temporal, I copied “arsrc.$ABASE.txt” to “ar.2018src.$ABASE.txt”, assuming that this file would not change between the base year and future year. After doing this, the programs ran completely. Upon first inspection, the output file looks good, i.e. the emissions have been scaled as compared to the output from the base year.

I will post on here again if I find any issues in the output file, or run into additional hurdles while modifying the code for point source emissions.

Thank you,