PING_PDM_NOTES 1 Oct 2004 1) THE PLUME DYNAMICS MODEL (PDM) PROCESSOR PROGRAM The Plume Dynamics Model (PDM) is a processor program that must be applied when the plume-in-grid (PinG) module will be exercised in a CMAQ chemical transport model (CTM) simulation. The PDM processor program requires a stack parameter file created by a SMOKE emissions processor (ELEVPOINT) and meteorological data files from MCIP2. The output data file generated from a PDM application is needed as an input file to drive the CTM/PinG model. Consequently, PDM application runs are performed in advance of the CTM/PinG module simulation runs. The principal PDM output file (PDM_PING_1) contains several subgrid scale plume parameters applied in the PinG module including; the plume height, horizontal and vertical dimensions, grid cell indices, and a plume flag for each hourly plume release from each point source to be treated by the PinG module. When the PinG module option is not selected (i.e., PING_NOOP) to be part of the CTM executable program,the PDM processor is not exercised. The technical methods used in the PDM algorithms have been described in Chapter 9 of the CMAQ science document found on the CMAQ web site. The PDM processor code has been released previously with the CMAQ system. It was last released with the 2002 CMAQ modeling system, however, the current 2004 release of the PDM supersedes the previous version dated April 5, 2002. Notable Updated Features in this 2004 version of the PDM Release Code: 1) Array dimension space is reserved/free up with ALLOCATE/DEALLOCATE statements rather than by previous platform- specific routines 2) Dynamic memory allocation at runtime has been implemented using the HGRD_DEFN module. Consequently, horizontal grid information must be provided in the run script with a specific GRID_NAME contained in the GRIDDESC file, in the same manner as in a CTM run script. 3) Plume rise algorithm change - a stable momentum rise equation is included 4) Sampling rate and output rate has a 5 per hour default value 5) Plume release rate parameter (NRRATE) is set to "1" by default (i.e. 1 release per hour per point source, however, future code update may permit a more frequent release rate) 6) The method used in subroutine LOCATN1 to determine the grid cell locations of a point source stack was replaced with existing IOAPI routines. Notable Operational Features and Limitations The PDM FORTRAN code is designed to be run on a single processor platform PDM and CTM/PinG methods are applicable to model grid sizes of 12 km and larger, however, grid sizes greater than about 40 km are also not recommended. The PDM simulation period is set to 24 hours period (1 day) (Run scripts may be set up to be executed sequentially for a long series of individual days) Active plume sections at the end of a simulation day are continued into the start of the next day run by changing the IOLDFIL environment variable flag in the run script from 0 for the first day to 1 for processing all subsequent days. In addition, PDM_PING_O is defined in the run script for the next day with the previous day's PDM output filename. The maximum number of point sources to be modeled must be less than 100. Plume release rate must be set to 1 release per hour. The number of environment variables in the run script has been greatly reduced to essential variables. Default values for several variables are currently set internally in PDM's subroutine GENRLIN. The complete list of environment variables with their preset values are provided in the example run script. 2) CMAQ PLUME-IN-GRID (PinG) MODELING APPROACH The plume-in-grid (PinG) treatment has been an optional component of the CMAQ chemical transport model (CTM). The PinG module was previously released with the 2002 CMAQ modeling system. However, this September 2004 release of the CMAQ PinG module supersedes the previous release code dated April 5, 2002. The CMAQ PinG approach was specifically designed to provide an improved subgrid scale treatment of the dynamic and chemical processes governing concentrations in pollutant plumes emitted from isolated, major point source stacks. The PinG approach is appropriate for use in model applications with relatively, coarse grid cell sizes (i.e., ~12-40 km), which are generally specified for large regional to continental modeling domains. In order to build the PinG module into a CTM executable program, the ping module (i.e., ping_smvgear) must be set for ModPinG in the model build script instead of the default "no PinG" module (i.e., ping_noop ) as given below. #set ModPing = ( module ping_noop $Revision; ) set ModPing = ( module ping_smvgear $Revision; ) The CTM/PinG module increases CPU processing time of model simulations, however, the computational increased time is dependent on the number of PinG sources and the overall dimensions of the modeling domain. Additional preprocessing steps must be undertaken prior to running the CTM/PinG model simulations. In particular, during emissions processing with the SMOKE system, a stack parameter file (i.e. stack_groups) and a point source emissions file must be generated for the selected major point sources to be treated by the PinG module. In addition, the plume dynamics model (PDM) processor program must be applied with the stack_groups file to generate a plume parameter file (PDM_PING_1) which is used to drive the PinG module in the CTM/PinG program. Information about the PDM program and applying it are provided in separate release notes specific to the PDM processor. Notable Updated Features And Capabilities Of The 2004 CMAQ PING Module 1) Aerosols processes have been implemented in PinG to treat aerosol formation and deposition from selected point sources. 2) The dimension of the PinG plume concentration array has been revised to accommodate total number of gas, aerosol, non- reactive, and tracer species. 3) The CTM/PinG program may be executed on a single processor or on a parallel computing architecture, such as a Linux cluster. 4) An additional dry deposition file is generated containing plume pollutant dry deposition amounts in a 2-D gridded output file analogous to the CTM dry deposition file. 5) Revised methods have been implemented to specify initial and boundary concentrations, and certain meteorological variables for each plume. 6) A new plume handover criterion has been defined when a particular source plume section travels into another point source grid location. 7) The sparse matrix Gear solver (smvgear) algorithm is the only chemical solver applied with the PinG module. 8) The default number of plume pillar cells has been set to 8 to resolve the horizontal plume width with 4 plume cells on each side of the centerline and subgrid plume concentrations are written out at 15 minute intervals to the CTM_PING_1 output file, as specified in PLUME_PARM.F KEY RUN SCRIPT INFORMATION WHEN RUNNING CTM WITH THE PING TREATMENT To perform CTM/PING simulations, additional input and output files related to the PinG module must be specified. The specific input files needed for the PinG module include: a major point source emissions data file (MEPSE_1) of specific PinG source which was generated during SMOKE processing, and a PDM output data file. Example lines for a CTM/PinG Unix run script are given by the following. The output files generated by the PinG module include a plume concentration file containing species concentrations in all active subgrid plume cells, a plume dry deposition file, and an optional plume diagnostic aerosol file. #> ping aerosol diagnostic file [ T | Y | F | N ] setenv PING_AERDIAG N ... set PG1file = $EXEC"PING".$APPL # CTM_PING_1 set PGDfile = $EXEC"PINGDRYDEP".$APPL # CTM_PING_DDEP_1 set PGWfile = $EXEC"PINGAERODIAM".$APPL # CTM_PING_DIAM_1 An key plume environment variable flag (INIT_PING) must also be specified to signal to the PinG module whether a previous day PinG concentration file is to be input or not. The INIT_PING variable in the run script must be set to "T" in order to begin the first day with no active plumes. For all subsequent simulation days, INIT_PING must be set to "F" in order to allow the completion of plumes active at the end of the previous day's simulation. Plume concentrations are initialized with the active plume concentrations from the end of the previous day's CTM_PING plume concentration file which is specified in the runs script below. #> PinG init ( does not require previous CTM_PING file ) [ T | Y | F | N ] setenv INIT_PING T # Begin "fresh" ie. No continuation or restart #setenv INIT_PING F ... #> mepse cb4 emissions for PinG set MEPSEpath = $M3DATA/emis/tut02 set MEPSEfile = stack_mepse_cpp1.ioapi #> plume dynamics file for PinG set PDMpath = $M3DATA set PDMfile = PDM_e2aPING.e2a #> previous PinG concentration file set PINGpath = $OUTDIR set PINGfile = CCTM_d1bPING.d1b A post-processor program to merge a CTM_CONC_1 and CTM_PING_1 concentration file is also available. This program is located in $M3MODELS/TOOLS/merge_ping_ctm. The merge_ping_ctm program weights the subgrid plume concentrations with the CTM grid concentration field and generates a merged concentration file containing the contributions of the subgrid plume concentrations in a new output file of CTM grid concentrations. For visual analyses of the plume concentration file, the PAVE graphics visualization can also be used to view the plume concentrations. The CTM_PING_1 concentration file is in a gridded I/O-API (NetCDF) format, but the grid does not represent the physical domain. Rather, the columns represent plume releases and the rows plume cross-sectional cells ("pillars"). The first row is the left plume boundary value, and rows n+2, n+3, n+4 are the right, plume bottom and top boundary values, respectively, where n is the number of pillars, typically set to 8. The layer dimension of the format is set to one. A post-processor that reformats the CTM_PING_1 concentration file is available, which produces a file where the columns represent releases of a single MEPSE, the rows represent the pillars, and the layers represent separate MEPSEs. This format is easier to view in PAVE, since the original file will typically have a large number of columns. For example, with 25 releases of 47 MEPSEs, there would be 1175 columns - hard to view in PAVE. The reformated file would have 25 columns, 12 rows and 43 layers. The program is available in $M3MODEL/TOOLS/reformat_ping.