
                        Model Change Bulletin

                                MCB#4                      02/28/2011

                        AERMOD (dated 11059)

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 11059) includes the following
modifications relative to the previous version (dated 09292):

--  Bug Fixes:

    1.  Modified subroutines PVMRM_CALC, MAJOR_CONT, and 
        MOLES_NOX to include calls to subroutine SETSRC for 
        all source types, and modified subroutine SETSRC to 
        initialize arrays for area source dimensions and 
        initial sigmas to correct initialization problems 
        with the PVMRM option.  Also modified subroutine 
        RELDISP to more appropriately account for initial
        sigmas for volume and area sources in the calculation 
        of relative dispersion coefficients for determining 
        plume volume.

    2.  Modified subroutines PVMRM_CALC and MOLES_NOX to
        include calls to subroutine EMFACT to apply emission
        factors, if appropriate, in order to use the 
        EMISFACT-adjusted emission rates in the calculations
        of the moles of NOx. Previous versions used the 
        emission rate specified on the SRCPARAM keyword
        to calculate the models of NOx.

    NOTE:  These bugs related to the PVMRM option could have 
           significant impacts on modeled concentrations using 
           the PVMRM option with the EMISFACT option and/or with
           mixed source types.  The magnitude and bias of the
           differences associated with these bugs will depend on 
           the specifics of the application, but there may
           be a tendency to overestimate NO2 concentrations 
           for POINT sources due to the first item when the 
           application also included VOLUME sources with large
           initial sigma values.

    3.  Modified subroutine HRLOOP to skip call to CHK_ENDYR
        to determine whether the end of the year has been 
        reached if the NOCHKD or WARNCHKD options are specified, 
        since the end-of-year processing is only applicable to
        sequential meteorological data.  Since the NOCHKD option
        is invoked if the SCREEN option is specified, the call
        to CHK_ENDYR will also be skipped for screening met data
        with AERSCREEN.

    4.  Modified subroutine CHKDAT to correct problems with 
        date sequence checks involving gaps of complete days 
        or complete years.  A gap of complete calendar years 
        is allowed even without the NOCHKD or WARNCHKD options
        to account for missing years due to data completeness
        issues for applications involving design values that
        are based on multi-year averages (e.g., 1hr NO2/SO2
        and 24hr PM2.5).
        
    5.  Modified subroutine TERRST to correct problems with 
        determining the number of calm and/or missing hours 
        only for the data period that is processed.   

    6.  Modified subroutine EVLINI to include initializations
        for SZMAX(:) and HSBLMX(:) arrays used for EVALFILEs.

    7.  Corrected subroutines OUMXFL, OUPOST, OUPLOT, PERPST, 
        PERPLT, OUTOXX, OUSEAS, OURANK, and OUEVAL to set lower 
        limit for acceptable user-specified file units to 31, 
        in order to avoid potential conflicts with hardcoded 
        file units. Previous version incorrectly used '.LT. 30' 
        rather than '.LE. 30' for checks on user-specified file 
        units, allowing for potential file units conflicts with 
        the debug file for particle deposition velocities.

--  Enhancements:

    1.  A number of enhancements have been incorporated to more 
        fully support the form of the new 1-hour NO2 and SO2 
        NAAQS, as well as the 24-hour PM2.5 standard.  The 
        form of these standards are similar in that they are 
        based on a ranked percentile value averaged over the 
        number of years processed.  To more fully support 
        implementation of recent guidance on these NAAQS, 
        the RECTABLE keyword has been modified to allow 
        user-specified ranks of short-term averages (for all 
        pollutants) up to the 999th highest value.  The 
        previous version of AERMOD was limited to the 
        10th-highest value and also restricted the rank 
        for the 24-hour PM2.5 NAAQS to the 8th-highest value
        (corresponding to the 98th percentile of daily values
        during a year).  Note that the range of ranks specified
        on the RECTABLE keyword (not the individual ranks) also
        determines the range of ranks that may be considered 
        with the new MAXDCONT option, described below.

    2.  Added new MAXDAILY option on the OU pathway to output a 
        summary of daily maximum 1-hour values for each day
        processed.  These files provide an interim output product
        that may be used to analyze new 1-hour NO2 and SO2 NAAQS
        based on a specified percentile rank of daily maximum 
        1-hour values.

    3.  Added new MXDYBYYR option on the OU pathway to output a
        summary of daily maximum 1-hour values by year and rank.  
        These files provide an interim output product that may
        be used to analyze the new 1-hour NO2 and SO2 NAAQS based 
        on a specified percentile rank of daily maximum 1-hour 
        values.

    4.  Added new MAXDCONT option on the OU pathway to output a
        summary of source group contributions to high ranked values
        for a target group, averaged across the number of years 
        processed and paired in time and space.  The new MAXDCONT 
        option is applicable to daily maximum values for the 24-hour 
        PM2.5 NAAQS and the new 1-hour NO2 and SO2 standards, and
        can be used to determine whether a source or a group of 
        sources contributes significantly to modeled violations of
        the NAAQS, paired in time and space. 

    5.  For applications addressing the 24-hour PM2.5 standard 
        or the 1-hour NO2 and SO2 standards, which are based on 
        ranked values averaged across the number of years modeled, 
        the PLOTFILE option has been enhanced to include values 
        for each of the years processed based on the specified 
        rank, in addition to the multi-year average.

    6.  Added new BACKGRND option on the SO pathway to allow 
        users to specify background concentrations, which can
        be added to impacts from modeled emission sources to 
        determine cumulative impacts.  Background concentrations
        can be varied temporally using options similar to the
        EMISFACT keyword for temporally-varying source emissions.
        The new BACKGRND keyword also allows an option to use
        a separate file of background concentrations on an hourly
        basis. Applications with hourly background concentrations
        can also include temporally-varying background values 
        based on the EMISFACT options, such as SEASHR for season
        by hour-of-day, which are used to substitute for missing
        hourly values.

    7.  For applications using the OLM or PVMRM options for NO2, 
        a new option for specifying background ozone concentrations 
        has been incorporated.  Similar to the new BACKGRND keyword, 
        the new O3VALUES keyword on the CO pathway allows the user 
        to specify temporally-varying background O3 concentrations 
        using many of the same options available on the EMISFACT 
        keyword for source emission factors.  The O3VALUES keyword 
        can be used by itself or in conjunction with an hourly 
        ozone file.  In the latter case, the O3VALUES are used to 
        fill in for missing values in the hourly ozone file.
        A separate OZONUNIT keyword is also available on the CO
        pathway to specify units for the concentrations input 
        through the O3VALUES keyword.

    8.  Incorporated the equilibrium NO2/NOx ratio component of the
        PVMRM option into the OLM option for estimating conversion 
        from NOx emissions to ambient NO2 concentrations. The same
        NO2EQUIL keyword on the CO pathway can be used to specify
        the equilibrium ratio for either option, and a default 
        ratio of 0.90 is assumed for both options if the NO2EQUIL
        option is omitted.

    9.  Modified subroutine DEBOPT to allow user to specify
        debug output only for PVMRM or deposition options
        on the DEBUGOPT keyword, avoiding large output files 
        under the MODEL debug option. Debug output for deposition 
        options will still be generated if the MODEL debug option 
        is selected. See AERMOD User's Guide Addendum for details 
        on the DEBUGOPT keyword.  Also assigned file unit 9 to 
        variable PVMDBG for the PVMRM debug file, and adjusted 
        the PVMRM debug output to report total PercentNO2, 
        including in-stack NO2/NOx contribution.

   10.  A modification to the urban option has been implemented 
        to address issues with the transition from the nighttime 
        urban boundary layer to the daytime convective boundary 
        layer. Under the new default urban option, the model will
        continue to apply the urban boundary layer approach for
        urban sources until the daytime convective boundary layer
        exceeds the population-dependent urban boundary layer 
        height. This enhancement is desribed in more detail in 
        Appendix E of the updated AERMOD User's Guide Addendum. 
        A non-DFAULT option has also been included to allow
        users to revert to the original urban implementation.

   11.  Increased the maximum length of source IDs from 8 to 12
        characters, and increased the length of EVENT names from
        8 to 10 characters, involving modifications to several 
        subroutines.

   12.  Included a new NOHEADER keyword on the OU pathway to allow
        users to suppress the file header records for formatted 
        output files.


--  Miscellaneous:

    1.  Modified subroutines CHK_ENDYR, PRTPM25, PRTPM25SUM,
        OUHIGH, and PRTOPT to allow for user-specified rank for
        processing PM2.5 24-hour averages to accommodate current
        recommendations for PM2.5 modeling. Also changed the
        name of array used to store these values from SUMH8H 
        to SUMHNH.

    2.  The table of distances used in calculating the dominant 
        plume volume for the PVMRM option (in subroutine PLUME_VOL)
        was adjusted to use a more logical progression of distance 
        intervals and to reduce the total number of intervals. This 
        change may affect results slightly, but will also reduce 
        model runtime. 

    3.  Subroutine WAKFLG was modified to no longer ignore potential 
        downwash effects for stack heights that equal or exceed the 
        EPA formula height.  The determination of whether building
        downwash effects apply is based on the criterion implemented
        within the PRIME downwash algorithm.

    4.  Modified subroutine URBPOP to adjust the limit for issuing 
        a warning for urban population out-of-range from 10,000 to 
        21,206, which corresponds to a population density of 
        750/sq-km for an area within a 3km radius, consistent with 
        the Appendix W criterion for urban/rural determination based 
        on the population density.

    5.  Several miscellaneous changes to address output formatting 
        issues, replace DO loops with array assignments for array
        initializations, and other minor code cleanup.

    6.  Moved setup-related subroutines for EVENT processing option
        from the 'evcalc.f' source file to the 'evset.f' source file.


                        *****************
                        *   IMPORTANT   *
                        *****************

This program will henceforth be identified by its name and a Julian date,
i.e.: AERMOD (dated 11059).  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.
