SMOKE using HTAPv3 emission

Hello,

I am working on creating CMAQ-ready emissions using SMOKE with the HTAPv3 inventory. However, since HTAPv3 is provided as monthly data, I encounter errors during the Smkinven process. I would appreciate it if you could provide a solution to this issue.

The error message I received is as follows:

Value for WKDAY_NORMALIZE: N returning FALSE
NOTE: Setting inventory to use full-week normalizer for weekly profiles
Bad NDIMS for “emi_bc” in “TMPFILE”
Could not read “emi_bc” from gridded inventory file

*** ERROR ABORT in subroutine RDGRDNCF
Problem reading gridded inventory file

If you are trying to use a configuration originally designed for HTAPv2, the file organization has changed.

The HTAPv2 gridded data is structured with the monthly files separated by sector and pollutant, so the

EMISLST input for SMOKE would look like this:

#LIST GRID

#SCC, Pollutant, Variable_Name, Month, File_location_name

“ENERGY”,“PEC”,“emi_bc”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_BC_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“CO”,“emi_co”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_CO_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“NH3”,“emi_nh3”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_NH3_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“NOX”,“emi_nox”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_NOx_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“POC”,“emi_oc”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_OC_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“PM10”,“emi_pm10”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_PM10_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“SO2”,“emi_so2”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_SO2_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“VOC”,“emi_nmvoc”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_NMVOC_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“PM2_5_OTH”,“emi_pm2.5_other”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_PM2.5_OTHER_emi_ENERGY_2010_6.0.1x0.1.nc”

“ENERGY”,“PM2_5”,“emi_pm2.5”,6,“/work/EMIS/em_v6.3/global/2011_BaseA/inputs/work/HTAP/ENERGY/edgar_HTAP_PM2.5_emi_ENERGY_2010_6.0.1x0.1.nc”

However for HTAPv3 the data is structured as such, with separate monthly files per pollutant, but each file contains all the sectors as variables.

So, EMISLST input to SMOKE for HTAPv3 would look like this:

#LIST GRID

#SCC, Pollutant, Variable_Name, Month, File_location_name

“ENERGY”,“PEC”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_BC.nc”

“ENERGY”,“CO”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_CO.nc”

“ENERGY”,“NH3”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_NH3.nc”

“ENERGY”,“VOC”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_NMVOC.nc”

“ENERGY”,“NOX”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_NOx.nc”

“ENERGY”,“POC”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_OC.nc”

“ENERGY”,“PM10”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_PM10.nc”

“ENERGY”,“PM2_5”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_PM2.5.nc”

“ENERGY”,“PM2_5_OTH”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_PM2.5_OTHER.nc”

“ENERGY”,“SO2”,“Energy”,4,“/work/MOD3DEV/ktalgo/WR713/work/inputs/HTAPv3/data/fluxes/monthly/edgar_HTAPv3_2018-04_SO2.nc”

Therefore, for HTAPv3 the third column in the EMISLST input should be the sector (e.g. “Energy” in the example above) instead of the pollutant.

Thank you for your response !

I have another question.

  1. If there are no memory issues, is it okay for the arinv*.lst file to include multiple sectors?

for example:

#LIST GRID

#SCC,InvPollName,EDGAR_VarName,Month,FileName

#DESC Sample test case for htap sector based on HTAP version 3.1

AGRICULTURE,PEC,emi_bc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_BC_AGRICULTURE.nc

AGRICULTURE,POC,emi_oc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_OC_AGRICULTURE.nc

AGRICULTURE,CO,emi_co,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_CO_AGRICULTURE.nc

AGRICULTURE,NOX,emi_nox,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NOx_AGRICULTURE.nc

AGRICULTURE,VOC,emi_nmvoc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NMVOC_AGRICULTURE.nc

AGRICULTURE,PM10,emi_pm10,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_PM10_AGRICULTURE.nc

AGRICULTURE,PM2_5,emi_pm2.5,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_PM2.5_AGRICULTURE.nc

AGRICULTURE,SO2,emi_so2,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_SO2_AGRICULTURE.nc

AGRICULTURE,NH3,emi_nh3,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NH3_AGRICULTURE.nc

RESIDENTIAL,PEC,emi_bc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_BC_RESIDENTIAL.nc

RESIDENTIAL,POC,emi_oc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_OC_RESIDENTIAL.nc

RESIDENTIAL,CO,emi_co,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_CO_RESIDENTIAL.nc

RESIDENTIAL,NOX,emi_nox,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NOx_RESIDENTIAL.nc

RESIDENTIAL,VOC,emi_nmvoc,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NMVOC_RESIDENTIAL.nc

RESIDENTIAL,PM10,emi_pm10,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_PM10_RESIDENTIAL.nc

RESIDENTIAL,PM2_5,emi_pm2.5,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_PM2.5_RESIDENTIAL.nc

RESIDENTIAL,SO2,emi_so2,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_SO2_RESIDENTIAL.nc

RESIDENTIAL,NH3,emi_nh3,0,/EMIS/EDGAR_HTAPv3_1/SMK/2020/edgar_HTAPv3_2020_NH3_RESIDENTIAL.nc

  1. If the run period is from 20200525 to 20200705, should I split the runs by months (May, June, July) and run three separate runs? Or can I just run it once with the June inventory?
  1. If the inventory corresponds to a specific month, will the monthly factor still be applied?
    If not, how should it be configured?

In response to your query:

Could you please say it again ?

Apologies, some how it did not get pasted properly:

  • We’ve always split the ARINV files by sector. I’m not sure if it matters if all sectors are listed in a single ARINV input.

  • All three months should be run. From a scripting standpoint it’s probably easier to just run the full May 1st through July 31st period in SMOKE and disregard the May and July dates that you don’t need

  • Since all the HTAPv3 inventories are monthly, the monthly profiles are not used, however I believe the Temporal program in SMOKE still expects monthly profiles as input (ATPRO_MONTHLY) so we pass them in anyway.

I hope that helps.

Based on the issues observed in a previous thread I recommend running one HTAP sector per SMOKE sector and then merging.

See the following thread for more information:

In theory, since each sector has its own SCC ID (i.e., TRANSPORT,) defined in the ARINV file, multiple sectors can be processed as a single sector as long as you create the master speciation profiles and temporal profiles input files for all sectors. However, I would also suggest for you to run them individually as @james.beidler suggested since it requires significant amount of memory to process all sectors as a single sector.

Thank you for your response ! @eyth.alison @james.beidler @bbaek