Model Change Bulletin MCB#4 12/16/2013 AERMET (dated 13350) This Model Change Bulletin (MCB) documents changes made to the AERMET Meteorological Preprocessor for the AERMOD Dispersion Model. A brief description of the changes is provided below. Additional details are also available through comments embedded in the Fortran source code. Changes to the user instructions associated with this update are documented in a separate AERMET User's Guide Addendum. This revised version of AERMET (dated 13350) includes the following modifications relative to the previous version (dated 12345): -- Bug Fixes: 1. Modified subroutine UCALST to incorporate AECOM's recommended corrections to theta-star under the ADJ_U* Beta option, based on Qian and Venkatram (2011), that was incorporated in version 12345 of AERMET. Qian, W., and A. Venkatram, 2011: "Performance of Steady-State Dispersion Models Under Low Wind-Speed Conditions", Boundary Layer Meteorology, 138:475-491. 2. Modified subroutine MPMET to correct assignment of time-zone adjustment (ZONE) to be based on the upper air time-zone (UALST) for cases where both upper-air data and ONSITE mixing heights are available. 3. Modified subroutine SBLHT to correct the coefficient for the mechanical mixing height from 2300 to 2400 based on the original Venkatram reference (BLM, 2009). 4. Modified subroutine MPPBL to correct the initialization of the NO_SKY variable for missing on-site cloud cover to use the OSTSKY(2) value based on the missing data code input by the user, instead of a value of 99. This error could have resulted in on-site cloud cover being flagged as missing inappropriately in previous versions. 5. Modified subroutine O3NEXT to remove the conversion of delta-T values to lapse rate values (delta-T/delta-z) before calling subroutine REALQA, which compares the value to upper and lower bounds based on delta-T values. This could have resulted in a large number of spurious QA warnings for delta-T values out-of-range. 6. Modified subroutine RDISHD to correct the processing of ASOS cloud cover data based on the GA1-GA6 codes to avoid inadvertently assigning a missing code to the ASKY variable. Also modified subroutine RDISHD to move the check for hour 0 (zero) later in the processing in order to avoid using a "special" ISHD observation that occurs on the hour instead of a "non-special" (i.e., preferred) observation that occurs earlier. 7. Modified subroutine MPFIN to include additional error checking and reporting regarding the completeness of the surface characteristics arrays. Errors in processing user- specified surface characteristics (i.e., not generated by AERSURFACE) may have occurred in previous versions. This modification also includes initializing the storage arrays for surface characteristics in BLOCK1.INC to -9.0 instead of 0.0. 8. Modified several subroutines to allow the use of on-site mixing heights only (OSMIX), without requiring upper air data. In these cases, the LOCATION keyword on the METPREP pathway should be used to specify the time zone adjustment from GMT to LST, since the time zone specified on the ONSITE pathway is likely to be for local time. Otherwise, AERMET would assume GMT as local time and results would be incorrect (unless local time actually was GMT). This includes a modification to subroutine MPCARD to call subroutine MPPROC to obtain information on OSMIX and UADATA, before the METPREP LOCATION keyword is processed, and to to return the new MPLST variable from the location keyword processed in subroutine LOCCRD to identify the local vs. GMT zone adjustment for cases with only ONSITE data. The call to subroutine MPPROC, previously made in subroutine SETUP, has been removed. The warning message generated in subroutine LOCCRD was also modified to indicate that the METPREP LOCATION keyword is no longer considered obsolete if OSMIX and no UADATA are being used. Additional modifications were made to the initialization and processing of the location IDs for the surface (SF), upper air (UA) and onsite (OS) locations in order to select the appropriate location for determining time zone adjustments in Stage 3 processing. Previous versions used character variables of various lengths that were initialized as blank fields in WORK1.INC. However, the initializations were accomplished by an EQUIVALENCE statement in WORK1.INC, which may cause problems when checking whether a location ID was blank by comparing to the equivalenced variables. 9. Modified subroutine MPPBL to correct the error message associated with missing station pressure (FORMAT 1022) which was also used for missing sky cover data. A new FORMAT statement (1021) was added for use with missing station pressure. Also removed several FORMAT statements in MPPBL that were not used. -- Enhancements: 1. Modified subroutine BULKRI to incorporate a modified Bulk Richardson Number approach under the ADJ_U* Beta option, based on Luhar and Raynor (2009). As with the ADJ_U* Beta option incorporated in UCALST for applications which do not employ the BULKRN option, this method is considered a non-DFAULT option requiring approval as an alternative model for use in regulatory applications. Luhar A.K. and K. N. Rayner, 2009. Methods to Estimate Surface Fluxes of Momentum and Heat from Routine Weather Observations for Dispersion Applications under Stable Stratification. Boundary-Layer Meteorology. 132:437–454. 2. Modified subroutines MPPBL, SUBST, VRCARD, and MPTEST to include substitutions for missing cloud cover data and/or missing ambient temperature by interpolating across 1 or 2-hour gaps in the input data. New subroutines (GETCCVR and GETTEMP) were also created to facilitate this enhancement. The default option is for AERMET to apply the substitution for both missing cloud cover and temperature, unless the user has specified both SURFACE and ONSITE data. New options have been added to the METHOD keyword on Stage 3 that allow the user to disable the cloud cover and/or temperature substitution(s) in cases where only SURFACE or ONSITE data are available, or to activate the options in cases where both SURFACE and ONSITE data are available. Subroutines MPMET and MPOUT were also modified to include appropriate flags in the surface output file indicating when these options have been utilized. -- Miscellaneous: 1. Modified several subroutines to improve error handling and reporting in general, in addition to the modifications in subroutine MPFIN described above as item 5 under Bug Fixes to correct a potential bug related to processing of surface characteristics. 2. Modified subroutine MPFIN to include the temporal frequency of the original user input of surface characteristics, i.e., MONTHLY, SEASONAL, or ANNUAL, since the summary table included in the Stage 3 report file automatically lists values by month. 3. Modified subroutine MPFIN to eliminate a redundant message if the default ((Holtslag) method is used for the stable boundary layer, without the non-default ADJ_U* Beta option. 4. Included a DATA statement in subroutine RDISHD to initialize the default "window" for acceptable data records, INC = 30 (i.e., up to 30 minutes before the hour, including the hour) instead of a standard assignment statement. ***************** * IMPORTANT * ***************** This program will henceforth be identified by its name and a Julian date, i.e.: AERMET (dated 13350). 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.