Model Change Bulletin MCB#7 02/29/2012 AERMOD (dated 12060) This Model Change Bulletin (MCB) documents changes made to the AERMOD Dispersion Model. A brief description of the changes is provided below. Additional details are available in the Fortran source code. Changes to the user instructions associated with this update are documented in an updated AERMOD User's Guide Addendum. This revised version of AERMOD (dated 12060) includes the following modifications relative to the previous version (dated 11353): -- Bug Fixes: 1. Modified subroutine MAXDCONT_LOOP to correct problems with the MAXDCONT option for applications that vary emissions (EMISFACT), background ozone data (O3VALUES), or background concentrations (BACKGRND) with a day-of-week component, e.g., SHRDOW or SHRDOW7, etc. Also modified subroutine MAXDCALC to correct the MAXDCONT option for applications that include hourly emissions (HOUREMIS) for at least one source, but not all sources. Both of these bugs associated with the MAXDCONT option may have caused significant errors in the source group contributions in the MAXDCONT output file. Subroutine MAXDCONT_LOOP was also modified to include checks on the consistency between results in the SUMVAL_MAXD and SUMHNH arrays for the "target" source group under the MAXDCONT option. The SUMVAL_MAXD array values are recalulated during the MAXDCONT processing, whereas the SUMHNH array values are calculated during normal processing. Results in these two arrays should match for the "target" source group. These consistency checks will serve to flag any potential problems with the MAXDCONT option. 2. Modified subroutine O3READ to correct a problem with the OLM and PVMRM options under the EVENT processing mode when only the CO OZONEVAL keyword is used to specify a background ozone value, without an hourly ozone file through the CO OZONEFIL keyword or varying ozone values through the CO O3VALUES keyword. Previous versions effectively assumed a background ozone value of 0 (zero) in these cases, resulting in underestimated source contributions in the EVENT output file. 3. Modified subroutine LTOPG to use code from CTDMPLUS (also used in CALPUFF) for estimating PG class from Monin-Obukhov length and surface roughness based on Golder (1972). The CTDMPLUS code more closely matches the PG-class curves in Figure 4 of the Golder (1972) paper. The LTOPG routine is only used to determine the stability-dependent distance for transitioning to a virtual point source approximiation for area sources under the FASTAREA or FASTALL options. -- Enhancements: 1. Modified subroutines PRESET, SRCSIZ, and URBANS to allow for the use of URBANSRC ALL on the SO pathway to indicate that all sources are to be treated as URBAN sources. This option assumes that only one (1) urban area has been defined using the CO URBANOPT keyword. 2. Modified subroutines PRESET and MECARD and added subroutine NUMYR to allow the user to specify the number of years of meteorological data that are being processed for a particular run. The option is exercised with the new NUMYEARS keyword on the ME pathway. The value specified on the NUMYEARS keyword is used to allocate storage for the arrays that are used in the MAXDCONT option, and allows the user to reduce the memory storage requirements under the MAXDCONT option when less than five (5) years of met data are being used. The default number of years used for the MAXDCONT array allocation without the NUMYEARS keyword is still 5 years (formerly specified by the NYEARS PARAMETER). -- Miscellaneous: 1. Modified subroutine ALLRESULT to eliminate the arrays of profile met data (the observed data in the PROFFILE input) by hour-of-year, level, and year for use with the MAXDCONT option. The profile met data arrays are not needed for the MAXDCONT option and their removal reduces the memory requirements for that option. Additional adjustments to the array allocations for the MAXDCONT option were made based on the options used for a specific model run in order to minimize the memory requirements for the MAXDCONT option. Subroutine ALLRESULT was also modified to improve the accuracy of the memory storage estimates included on the first page of the AERMOD.OUT file. 2. Modified subroutine OUMAXD_CONT to include checks on the use of a limited range of ranks (specified on the OU RECTABLE keyword) with the THRESH option on the OU MAXDCONT keyword. A fatal error message will be generated if the range of ranks specified is less than or equal to the design value rank for the specified pollutant plus 4, i.e., a fatal error will be generated if the range of ranks is less than or equal to 8 for 1-hr SO2, or less than or equal to 12 for 1-hr NO2 or 24-hr PM2.5. A non-fatal warning message is also generated if the range of ranks is less than or equal to the design value rank plus 20, i.e., if the range of ranks is less than or equal to 24 for 1-hr SO2, or less than or equal to 28 for 1-hr NO2 or 24-hr PM2.5. ***************** * IMPORTANT * ***************** This program will henceforth be identified by its name and a Julian date, i.e.: AERMOD (dated 12060). Future changes to this model will be identified by an updated Julian date found at the beginning of the model source code and followed by a reference to a SCRAM Model Change Bulletin (MCB#n) which will explain the nature and content of the changes. All Model Change Bulletins for this program will always be available for back reference on this website. In the future, notification of changes (MCBs) to this program will be made in the Recent Additions section of the SCRAM website.