## Advanced / Special Topics

This section provides some guidance in configuring the model input to for certain specialized calculations. The default configuration supplied with the test meteorological data is confined to a simple trajectory and inert transport and dispersion calculation. Some of these more complex scenarios are configured through the Advanced menu Configuration Setup tab which modifies the "SETUP.CFG" namelist file.

Particle or Puff Releases

The concentration model default simulation assumes 3D particle dispersion (horizontal and vertical). Other options are set with the INITD parameter of the SETUP.CFG namelist file defined in the advanced menu section. Normally changes to the dispersion distribution are straightforward. However, there are some considerations with regard to the initial number of particles released. The default release is set to be 2500 particles over the duration of the emission cycle (see NUMPAR). A 3-dimensional (3D) particle simulation requires many more particles to simulate the proper pollutant distribution, the number depending upon the maximum downwind distance of the simulation and the duration of the release, longer in each case require more particles. Too few particles result in noisy concentration fields. A 3D puff simulation starts with one puff as the puff-splitting process in conjunction with the vertical dispersion quickly generates a sufficient number of puffs to represent the complex dispersion process.

Continuous Emissions

As noted above the default release is 2500 particles over the duration of the emission cycle. If continuous emissions are specified (e.g. over the duration of the simulation), then those 2500 particles are spread out over that time period. This may easily result in the release of too few particles each hour to provide smooth temporal changes in the concentration field. Imagine a single particle passing in and out of the vertical concentration cell due to turbulent diffusion. One solution would be to increase the NUMPAR parameter until smoother results are obtained. Another possibility would be to cycle the emissions by emitting particles only for the first time step of each hour. Those particles would contain the total mass for a one-hour release (see how to set QCYCLE).

Time Variation of the Emission Rate

One way to incorporate a time varying emission rate into the existing model structure is to use the particle dump feature to restart the model each time with a new emission rate. Another option is to assign the name of a temporal emission input file to the "EFILE" variable in the setup.cfg namelist file. This ASCII file must consist of at least three records, the first two of which are used for identification purposes, and the third, and all subsequent records, define the temporal sequence of emissions. Each emission record contains the start time, duration, location, and emission rate. If the EFILE is present, the first emission record's values replace the emission values set in the control file. Once the model computation time has passed the emission period defined on the first emission record, the emission data from the second record are loaded and the calculation continues with the new emission data. The format of the emission file is given below:

Record #3 -> end

- I4 - Start year
- I3 - Start month
- I3 - Start day
- I3 - Start hour
- I2 - Start minute
- I3 - Duration hours
- I2 - Duration minutes
- F6.2 - Latitude
- F8.2 - Longitude
- F8.0 - Emission rate in units/hour

Area Source Emissions

Normally emissions are assumed to be point or vertical line sources. Virtual point sources (initial source area >0) can be defined two ways: 1) through the definition of an initial area on the source location input line of the CONTROL file or 2) by the definition of a gridded emissions file. If the model's root startup directory contains the file Emission.txt, then the pollutants are emitted from each grid cell according to the definitions previously set in the Control file. Two source points should be selected, which define the lower left (1st point) and upper right (2nd point) corner of the emissions grid that will be used in the simulation. This should be a subset of the grid defined in emission.txt. The release height represents the height from the ground through which pollutants will be initially distributed. Note that the structure of the "emission.txt " file has changed with the HYSPLIT 4.6 revision of October 2003.

The "emission.txt" file contains all the information that is required to interpret the data in the gridded emission inventory file. The file that contains the inventory is now independent of the emission.txt file. The file's first record contains information about the internal grid cell size that is used by the dispersion model to accumulate the file's emissions. The emission file defines the emissions at latitude-longitude points, which may represent the emissions from an area or from a point. The values at these points are accumulated in an internal grid, the size of which is defined on the first record. This value can be arbitrarily changed according to the desired resolution of the simulation. The pollutant puffs are released with an initial size comparable to the accumulation cell size. Because the emission file data are remapped to an internal grid, the file can consist of emissions data on a regular grid or just a collection of individual cells. The emission rate in the Control file is used as an additional multiplication factor for the data in the emission file. Also note that previously discussed particle number restrictions still apply. The particles are spread out over the duration of the emission and the number of grid cells that are defined in the emission domain. The format of the emission.txt file is given below:

Record #1

- I4 - Number (n) of pollutant species in file
- I4 - Number of emissions defined for each 24 hour period
- F10.4 - Conversion factor: file units to model units/hour
- 2F10.4 - Accumulation cell size (latitude & longitude)

Record #2

- nA4 - Four character pollutant identification string for each pollutant

Record #3

- A - The /directory/filename of the emission data file

The actual emission data file will contain one record identifying the grid location and then two records for each pollutant species. The first record defines emissions from GMT hours 0 to 12 and the second record from hours 12 to 24. This pair of records is repeated for each pollutant species:

Records Loop #1 to the number of i,j grid point

- 2I4 - I,J grid point of emission cell (arbitrary units for identification)
- 2F10.4 - Southwest corner Longitude and Latitude of this emission cell

Record Loop #2 to the number of pollutant species

- 12E10.3 - emissions for pollutant#1 hours 1-12
- 12E10.3 - emissions for pollutant#1 hours 13-24

Multiple Pollutants

The model can easily be configured to simulate more complex pollutant episodes with multiple pollutant types on different particles or multiple pollutant species on the same particle. The former is accomplished by defining additional pollutants in the CONTROL file. In this configuration, multiple species are emitted, have no interaction, and may track differently. This situation may represent a volcanic ash plume, where each pollutant, a different sized particle, settles at a different rate. An example configuration control_volcano can be retrieved in the SETUP menu.

Pollutant Transformations

In the latter situation, when multiple pollutants are defined on the same particle, an external chemistry routine is required that converts mass from one species to another, all tracking together (advecting and dispersing). In this situation, MAXDIM should be raised to the required value. Increasing the MAXDIM value always requires an external routine to adjust the mass between species. A simple species conversion program is included with the standard model distribution. In the default configuration it is only necessary to define two different pollutants in the concentration setup menu and select the 10% /hr checkbox in the advanced configuration menu's conversion section. This option combination sets MAXDIM=2 and calls the transformation routine every time step to convert pollutant #1 to #2 at a rate of 10% per hour. Other conversion rates or a greater number of pollutants can be defined by creating the CHEMRATE.TXT file in the local directory. This file would consist of one or more records, each record defining a pollutant conversion. The data are free-format and consist of four fields, the integer "from" and "to" pollutant index numbers, and the real hourly conversion "rate", and molecular weight adjustment "factor". For instance, if the file were to be defined for the default case, the one data record would have the following values: (1 2 0.10 1.0). The molecular weight adjustment factor can be used to account for other reactions not considered in the simple conversion module. For instance, if one were to define pollutants #1 and #2 as SO2 and SO4, respectively, then the molecular weight adjustment factor should be 1.5 as SO2 transforms to SO4 (the conversion picks up two additional oxygen molecules).

Complex Chemistry

Although there are other more complex chemical conversion modules available for HYSPLIT, they are not incorporated into the standard compilation. More information on these special compilations may be found at http://www.arl.noaa.gov/ready/hyspchem

One feature, required for all these modules, is that there is a more complex interaction between the individual pollutant plumes, requiring a close link between the concentration grid and the meteorological data grid. This option is available in the standard model compilation. By setting the namelist file parameter ICHEM=4, the concentration grid is redefined to be equal to the meteorological data grid in terms of spatial resolution and extent. This simplifies the computation of the grid based chemical reactions that are dependent upon the meteorological conditions within each concentration grid cell.

Deposition and Decay

A simple particle deposition configuration (control_nuclear) for radioactive Cs-137 can be retrieved into the SETUP menu, which shows the default settings for radioactive decay and wet and dry deposition. In conjunction, a list of sites can be loaded into any SETUP menu, from the "Set Starting Locations" tab by pressing the LIST button. The site locations can be found in the file "\working\plants.txt" and could be replaced by any user generated location file listing.

The normal deposition mode is for particles to loose mass to deposition when those particles are within the deposition layer. An additional option was added to deposit the entire particle's mass at the surface (the particle is removed) when subjected to deposition. To insure the same mass removal rates between the two methods, a probability of deposition is computed, so that only a fraction of the particles within the deposition layer are deposited in any one time step. The probability of deposition is a function of the deposition velocity, time step, and depth of the layer. One limitation of this method is that only one mass species may be assigned to a particle. The probability deposition method can be invoked from the namelist file with ICHEM=5.

Compilation Limits

With HYSPLIT V4.5 most compilation array limits have been eliminated through the use of dynamic array allocation. However, one restriction remains with regard to the meteorological input data: meteorological data files are limited to a maximum of 12 per simulation, with no more than 75 levels or 35 variables in each file. This restriction does not limit any computation with data files available through the ARL web site, because all available data files meet the number of variable and levels restriction.

The use of dynamic memory allocation can result in unpredictable results if the computer's hardware memory limits are exceeded. Although there are several memory error allocation traps that will result in a message and execution termination, memory limits can be exceeded in a variety of different locations, such as when opening a file. Memory usage is a primarily a function of the meteorological sub-grid size, meteorological data grid size, concentration grid size, and the number of pollutants.

Script Automation and Configuration

Most of the discussion in various sections of the User's Guide are tailored to individually configured simulations. However there are several features to the model that can be used to automate the computational environment. For instance, a sample Auto_traj.tcl script is provided in the /examples/scripts/tcl directory that can be used as a guide to automate many applications.

# Auto_traj.tcl # the next line restarts using wish # exec wish "$0" "$@" set Start_hgt "10.0" set Traj_path "../exec" set Start_time "00 00 00 00" set Run_hours "24" set Vert_coord "0" set Top_model "10000.0" set Meteo_path "../metdata/" set Meteo_file "oct1618.BIN" set Output_path "./" set Output_base "tdump" set Output_numb 1 foreach {Start_lat Start_lon} {35.0 -90.0 40.0 -90.0 45.0 -90.0} { set Start_loc "$Start_lat $Start_lon $Start_hgt" set Output_file "$Output_base$Output_numb" file delete Control set f [open Control w] puts $f "$Start_time" puts $f "1" puts $f "$Start_loc" puts $f "$Run_hours" puts $f "$Vert_coord" puts $f "$Top_model" puts $f "1" puts $f "$Meteo_path" puts $f "$Meteo_file" puts $f "$Output_path" puts $f "$Output_file" close $f exec "$Traj_path/hyts_std.exe" incr Output_numb}

In this particular example the test trajectory case is run for three different starting locations, each simulation writing a new endpoints file with a unique file name. The CONTROL file is recreated for each simulation. It would be trivial to rewrite the script to set the latitude-longitude and loop through a different number of starting days and hours. With Tcl/Tk installed, this script can be run under Windows or Unix. For instance, to compute new forecast trajectories each day, the process can be automated by including a data FTP at the beginning of the script to get the most recent meteorological forecast file, setting the starting time as "00 00 00 00" so that the trajectories will start at the beginning of the file, and finally calling the script once-a-day though the Unix crontable or the Window's scheduler commands.

One problem with automated operations is that it is possible to generate simultaneous multiple jobs which may interfere with each other. The executables, hycs_std and hyts_std have a command line option of adding the process ID (PID): e.g. hyts_std [PID]. In this situation all standard named input and output files [those not defined in the Control file] have the PID added as a suffix to the file name: e.g. Control.[PID], Setup.[PID], Message.[PID].

An example of another type of operational configuration is the extended simulation of a pollutant emission using archive data to bring the simulation to the current time and then using forecast meteorological data to provide a daily projection. Each day the archive simulation must be updated with the new archive data and a new forecast product generated. This process can also be automated through a script, but for illustration purposes one can use the advanced features of the GUI to configure such a case. Assume a one-hour duration accidental pollutant release that occurred 48 hours prior to the current time. The following sequence applies:

1) From the "Meteorology" menu tab download the appropriate archive meteorological data and the most recent forecast meteorological data (assume it is available to +48h).

2) Setup the concentration simulation to run 96 hours using two meteorological files starting with the archive data and then switching to the forecast data.

3) Under the Advanced menu tab and Configuration Setup write the initialization file after 72 hours.

4) Run the model.

At the completion of the simulation you will have the plume projection from release (-48 h) through the current forecast (+48 h). The PARDUMP file will contain all the endpoint positions at +24 hours, corresponding to the initialization time of when the next forecast will be available (assume there is one forecast per day).

The next day, when the new forecast data are available, reconfigure the model to run only with the forecast meteorological data for a duration of 48 hours. Then write the initialization file after 24 hours and run the model to obtain the new projection. In this second part, we assume that the first 24 hours of the forecast are not much different than the analysis. In practice, this procedure can be run at the same frequency that the new forecast data are available, typically 4 times per day. Data at the initial forecast hour are identical to the analysis data.

Source Attribution with Dispersion

A common application of atmospheric trajectory and dispersion models is to try to determine the source of a pollution measurement. If a high value has been collected at a particular receptor, from which pollutant source region did the air originate? One approach is to calculate the trajectory "backwards" from the receptor site. In the trajectory calculation this is accomplished by setting the integration time step to a negative value. However, the trajectory only represents the upwind path of a single point, while the pollutant measurement may require of hundreds or thousands of trajectories to represent the dispersion of the pollutant in time and space.

Another approach is the run the entire dispersion-trajectory model upstream (backwards), which is computationally attractive because in a 3D particle model the dispersion process is represented by a turbulent component added to the trajectory calculation and the advection process (the trajectory) is fully reversible. The trajectory equation can be correctly integrated in either direction. The interpretation of the output is a bit more complex because dispersion is an irreversible process. The upstream numerical calculation will yield a result because the integration of the dispersion equation is still in the downstream mode while the advection is integrated backward upstream. The meaning of the upwind dispersion result is not as easily interpreted as the downwind calculation. In any event, as noted in the earlier instructions, it is possible to run the dispersion model "backwards" by setting the run duration to its equivalent negative value. The stop time of the sampling should be set prior to the start time. All start and stop times should be set to their exact values - relative start-stop times are not supported in the backward mode.

Transport of Particles Deposited on Water Surfaces

The main code was modified (October 2003 Version 4.6) to permit particles deposited on water surfaces to continue to be transported on the water surface by the wind generated drift current. The transport output is treated as a deposition surface for display purposes. This new deposition method then creates particles that can be transported on water surfaces. Particles can be deposited on any surface. However, if the surface is defined as water, then the particle is assigned a unique identification code to distinguish it from atmospheric particles or puffs. These new particles may continue to be transported along the surface of the water contributing to deposition each time step but not air concentration. Dispersion is not computed for these particles. When they approach a land surface they are deleted. The water surface transport option is invoked from the namelist file with ICHEM=7. This option automatically forces the probability deposition computation (ICHEM=5) and should only be used only with the 3D particle mode (IN ITD=0). Surface water deposition can only be displayed if the deposition output level (0) is defined. Although particles may deposit over land, over-land deposition values are never shown.

The wind induced surface water drift current is assumed to equal the vector atmospheric friction velocity. The friction velocity represents the momentum transport to the surface and it is an approximation of the surface water movement. Currently only the GFS meteorological model output file contains the vector momentum flux components.

Table of Contents