SMOKE 2.4 Updates | Changes by Program | Scripts and Assigns Files | Technical Details | Fixed Bugs Presented in SMOKE 2.3
Grwinven supports the fully extended ORL format in multiple source categories.
Enhanced Spcmat to skip applying a speciation cross-reference entry for the source when an emission for the source is zero.
Updated Spcmat to correctly handle multiple pollutants (e.g., both VOC and NONHAPVOC) that need the correct pollutant-to-pollutant conversion factors when it applies the GSCNV factors to the inventory using speciation profile ID assignments.
Enhanced Cntlmat to detect whether any factors from a given packet actually were applied to an inventory before it actually reads.
Updated Grwinven to correctly write out the CEFF, RPEN, or REFF values to an IDA or ORL grown inventory and not write out negative emissions when either the annual and average-day values were nulls stored as "missing" values in the Smkinven output file.
Expanded SMK_MAXWARNING option within Smkinven to prevent generating a potentially huge log file when processing point sources.
Updated the executables and code archive to include all the updates listed above.
The latest Biogenic Emission Inventory System (BEIS) model version 3.13 is integrated to the SMOKE v2.4 for generating gridded, hourly emissins in a format consistent for air quality modeling. BEIS 3.13 revises the parameterizations that account for the effects of leaf temperature and solar radiaton on emissions.
SMOKE v2.4 is now compatible with the Federal Aviation Administration (FAA)'s Emission Modeling and Dispersion Modeling System (EDMS) used to estimate emissions from airports. A new utility program EDMS2Inv creates SMOKE-ready inventory from EDMS AERMOD output.
Enhancements related to combining aggregated criteria VOC and hazadous air pollutant (HAP) inventories were made throughout SMOKE.
The updated Smkinven can optionally support up to 16 character size for the Chemical Abstracts Services (CAS) code, also known as the pollutant code, to allow for all HAPs which have more than 5 characters for the pollutant name in day-specific (PTDAY) and hour-specific (PTHOUR) emission inventories.
Smkinven has an improved version of the SMKINVEN_FORMULA option that supports multiple formulas.
Smkinven now supports point source specific entries in the NHAPEXCLUDE file.
Smkinven can now compute emission processing mode specific NONHAPVOC emissions separately for exhaust and evaporative modes.
Smkinven now supports SMKINVEN_FORMULAS for SMOKE pollutants that can have multiple CAS numbers.
Smkinven now supports the reading of day-specific HAPS for wildfire and point sources.
Smkmerge now can output both state and county level reports for CAPs and HAPs.
Users can customize the names of output files from Smkmerge: SMKMERGE_CUSTOM_OUTPUT.
SMOKE v2.4 is fully compatible with the Intel Fortran compiler.
BEIS3 | EDMS2Inv | Grwinven | Smkinven | Smkmerge | Spcmat
This program converts EDMS AERMOD ready output files into an annual ORL-formatted inventory and an hourly emission inventory. The environment variables used by this program are listed below:
FILELIST: List of EDMS output files
COSTCY: Country, state, and county codes file; used to assign time zones to each source based on the source's state and country codes
INVTABLE: Inventory data table listing pollutant and activity names
ICAO_FIPS: List of country/state/county codes by airport from International Civil Aviation Organization (ICAO) to assign country/state/county code to ICAO airport
MAIN_EDMS: An EDMS AERMOD model ready INP file
START_DATE:[default:none]
Starting date of data (YYYYDDD); used to set the inventory year in the EDMS hourly inventory HRE files.G_STDATE is also used to create default entries in the daily inventory file for each source
END_DATE:[default:none]
Ending date of data (YYYYDDD); used to set the inventory year in the EDMS hourly inventory HRE files.G_STDATE is also used to create default entries in the daily inventory file for each source
ORL_NONROAD_OUT: [default: N]
Y : Output NONROAD inventory in ORL format
N : Do not Output NONROAD inventory in ORL format
The fully extended ORL format is now supported in Grwinven, but it still accepts the older ORL format. Below is a list of the new variables accepted for each source category:
Area: source type code
Mobile: source type code
Point: ORIS and boiler ID
With addition of ORIS and boiler ID to point source ORL input files, SMOKE will match hourly data to either IDA or ORL formatted input files.
Pollutant specific control factors are now correctly applied.
Added optional last column of Pollutant code with 16 characters on both PTHOUR and PTDAY format. See Section 8.2.6 and 8.2.7 for a more detailed decription of new PTDAY and PTHOUR format.
The SMKINVEN_FORMULA option has been improved to support multiple formulas.
Example: "PMC=PM10-PM2_5,EXH_PMC=EXH_PM10-EXH_PM2_5"
NONHAP_TYPE: [default:VOC]
Define the pollutant types either VOC or TOG for criteria/HAP VOC (or TOG) integration. See Section 2.9.5 for a more detailed description of criteria/HAP VOC integration. This option will be used only when SMK_NHAPEXCLUDE_YN is set to Y
Point source specific entries are supported in the NHAPEXCLUDE feature.
The NONHAPVOC calculation was updated to allow for exhaust and evaporative emissions modes of NONHAPVOC to be calculated separately.
SKINVEN_FORMULAS are now supported for SMOKE pollutants that can have multiple CAS numbers.
The reading of day-specific HAPS for wildfire and sources is now supported.
SMKMERGE_CUSTOM_OUTPUT: [default: N]
Defines his/her own output file names from Smkmerge. Manually define environment variables for those output file names below:
o [E|A|M|P]OUT : Processing source output file
o ELEV : Elevated-point-sources file, produced if SMK_ASCIIELEV_YN is set to Y; if PinG sources have also been selected, then the stack diameters listed in this file will be set to the negative value of their actual value.
o PING : CMAQ PinG file, produced if SMK_PING_METHOD is set to 1
o REP[E|A|M|P]G : Emission total report file, produced if either MRG_REPSTA_YN or MRG_REPCNY_YN is set to Y
Both state and county level reports for CAPs and HAPs can now be output.
NO_SPC_ZERO_EMIS: [default: N]
Defines whether the Spcmat applies the speciation profiles to zero emission sources.
o Y : Skip applying speciation profiles to zero emission sources
o N : Do not skip
Updated the default run script file (smk_ar[nr|pt]_nctox.csh) to include NONHAP_TYPE and SMKMERGE_CUSTOM_OUTPUT variables.
The following issues were corrected in SMOKE 2.4:
A sequential run problem when running Smkinven with annual (PTINV), day-specific (PTDAY), and/or hour-specific (PTHOUR) inventories at the same time in Smkinven.
A problem of skipping the second processing date when processing consecutive processing dates using PROCDATES option in Temporal.
A problem of missing some emissions around daylight savings time (DST) dates when running multiple processing dates using PROCDATES option in Temporal.
Issues with running day and hour specific processing simultaneously.
Issues with processing ORL and IDA files simultaneously.
Issues with BY-SOURCE reports.
Issues with outputs around daylight savings time.
Issues in Laypoint related to the reading of PDAY files.
Pre and post-speciation species are now summed together in Smkreport outputs.
Error messages were added for duplicate entries from the cross reference speciation file (GSREF) to prevent assigning incorrect cross-referencing speciation profile in Spcmat.
Error messages were added for duplicate entries from the inventory table (INVTABLE) to prevent doubling the emissions when processing PTDAY and PTHOUR inventories.
Linux executables were compiled with version 5.2-4 of the Portland Group Compiler using NetCDF3.6.0 and I/O API 3.0 Libraries.
Use I/O API Library version 3.0 from the I/O API homepage with Makeinclude.Linux2_x86pg_pgcc_nomp.
Must use -DIOAPI_STDOUT below when compiling the I/O API so that SMOKE programs write to both screen and log files
Distibuted code no longer includes compiled I/O API or NetCDF libraries.
To compile SMOKE code, $IOAPIDIR must contain libioapi.a, $NETCDFDIR must contain libnetcdf.a, and $IOINC must point to the fixed_src directory of the I/O API library distribution.