[an error occurred while processing this directive] [an error occurred while processing this directive] [an error occurred while processing this directive]

HYPACT
Hybrid Particle and
Concentration Tansport Model

[an error occurred while processing this directive]

About HYPACT

The HYPACT (HYbrid Particle And Concentration Transport) model code has been developed to simulate the motion of atmospheric tracers under the influence of atmospheric flow, including turbulence. In its current form, it is set up to be driven by meteorological output from the RAMS (Regional Atmospheric Modeling System), but the basic design allows the flexibility, with minor code changes, to provide a variety of other inputs as well, including observational data.

Although RAMS can itself perform a similar function by simulating the motions of any number of Eulerian tracer fields, HYPACT has certain advantages because of the ability to run the dispersion as a post-processing step and because of its Lagrangian formulation. The advantage is greatest near a source region for the tracer when the source is of small scale and unresolvable on the Eulerian grid. RAMS would necessarily represent the source by a volume no smaller than one grid cell, and would immediately begin diffusing the tracer to the adjacent cells. A Lagrangian model, on the other hand, is capable of representing a source of any size, and of maintaining a concentrated, narrow tracer plume downwind of the source until atmospheric dispersion dictates that the plume should broaden. A unique feature of HYPACT is that once a plume of Lagrangian tracer particles becomes sufficiently broad downstream from a source region, it can be converted to a well-resolved concentration field and advected using an Eulerian formulation. This hybrid approach allows high particle emission rates to be specified for a source to achieve good plume resolution, without retaining all particles so far into the future that excessively large numbers of them accumulate. Tracer sources that are well resolved on a grid may alternatively be specified as gridded sources in HYPACT and transported entirely by an Eulerian formulation. HYPACT carries out Eulerian tracer prediction much faster than RAMS because it does not predict its own wind, pressure, temperature, moisture, or turbulence fields.

In order to run HYPACT from RAMS, the latter must be run first to generate a series of output "analysis" files. These contain wind, potential temperature, and turbulent kinetic energy fields at the output times of the atmospheric simulation. HYPACT reads these data from the analysis files and interpolates them in time between file times (for each HYPACT timestep) for determining transport and diffusion. For Eulerian concentration prediction, HYPACT assigns the time-interpolated data to a series of nested grids identical with those of the RAMS simulation that generated the analysis files. Concentrations are predicted on these grids given user-specified initial values and source characteristics. For Lagrangian particle prediction, the time-interpolated wind and turbulence data are also interpolated in space to the location of each Lagrangian tracer particle. If nested grids are used in the RAMS simulation, the finest grid data defined at the location of each particle is used for the interpolation. The particles are moved through space and time based on the interpolated wind velocity plus a random motion scaled to the local turbulent intensity. A gravitational settling velocity may also be superimposed on the particle motion.

HYPACT sources, species and emission can either be defined in the HYPACT namelists, or in database files. This is designed to allow both quick and dirty runs, and a range of sophisticated scenarios from common data.

In addition to Eulerian concentration field outputs on the RAMS grids, concentration can be periodically diagnosed from the particle distribution on the RAMS grids (assuming a specified mass represented by each particle), and the combined Eulerian and Lagrangian concentration fields computed and output. The concentration is useful for contouring plume morphologies, determining instantaneous or time-integrated dosages at specified locations, computing chemical reaction rates between different tracer fields, etc. The raw particle files can also be output, allowing the user to diagnose the particle concentrations on a finer concentration grid. Concentration grid diagnosis and NCAR Graphics plotting features were included in the 0.2 beta version of HYPACT, however, there are now included in REVU (RAMS/HYPACT Evaluation and Visualization Utilities). For details on the use of this tool, please refer to the relevant user's guide.

Similar to RAMS, HYPACT is in a state of continual evolution. This document is the third edition of the HYPACT User’s Guide, describing the model as of July 1999. The document is currently less comprehensive than the RAMS User’s Guide (Version 3b completed in September 1995), and relies to some extent on the information in that manual and on the user having some experience with RAMS.

HYPACT consists of 15 FORTRAN 90 compliant code modules, named rcio.f (3b or 4a version - whichever is relevant), rainit3b.f or rainit4b.f (whichever is relevant), hyp_main.f, hydriv.f, hname.f, fsource.f, hgrid.f, hadvect.f, hrgrid.f, hturb. f, hutil.f, hadv.f, hediff.f, heuler.f, emisa.f, hppm.f, hcluster.f and hout.f a special FORTRAN parameter and common block include file hcommons.h, a set of namelist variables in a file called HYPACT_IN, and a Makefile used for compiling the code. Other utility modules used by HYPACT and also by various RAMS post-processing packages are also needed. These are charutils.f, error_mess.f, hvlib.f, ramscode.f, RAMSfilelist.f, rcomp.f, revugrads.f, and dateutils.f. In addition, HYPACT compatible versions of the RAMS parameter and common block file rcommons.h (the 3b or 4a version, whichever is relevant) are required. In order to operate HYPACT, the user should be acquainted with the two primary means of setting parameters that control its functions. These are:

  1. The various parameter statements contained in hcommons.h which define several array dimensions controlling the capacity of the model.
  2. The variables in the HYPACT_IN namelist.

The following sections of this document describes the function and use of each of the parameters and namelist variables, and how to set appropriate values for them.

 

HYPACT Parameters

All HYPACT parameters are set in hcommons.h. Note that if any of these parameters are changed HYPACT must be fully recompiled.

nvar3d

nvar2d

nvarsd

Specifies the number of 3-D atmospheric, 2-D, and 3-D soil arrays, respectively, that are read from RAMS analysis files. They are multiplied by the respective sizes of each array type and summed to determine the amount of memory to allocate in HYPACT for containing RAMS output fields. Values for these parameters should only be changed if one is modifying the HYPACT code to read in more RAMS fields.

maxg

Used to dimension several arrays in the hcommons.h common block file. maxg must be greater than or equal to the number of grids used in a RAMS simulation used to drive HYPACT.

maxi

maxj

maxk

Used to dimension several arrays in the hcommons.h common block file. They must be greater than or equal to the largest number of grid points spanning the x-direction (east to west), y-direction (south to north) and z-direction (vertical), respectively, of any grid used in a RAMS simulation used to drive HYPACT.

maxhi

maxhj

maxhk

Used to dimension several arrays in the hcommons.h common block file. They specify upper bounds on the number of grid points spanning the i, j, and k directions, respectively, of the grid defined in HYPACT (h-grid). The h-grid is a composite of all nested grids used in a RAMS simulation used to drive HYPACT. It has variable spatial resolution according to the mesh sizes, overall dimensions, and locations of all grids in RAMS. The h-grid's mesh size is always at least as fine as, and often finer than, the finest RAMS grid mesh size at any given location. The required number of points spanning each direction of the h-grid is computed by a complicated algorithm, but is usually less than the sum over all RAMS grids of the numbers of points spanning each corresponding direction of the RAMS grids. Thus, if for example RAMS uses 3 grids each of (i,j,k) dimensions (30,40,50), the h-grid would likely have dimensions smaller than (90,120,150). These parameters need not match the exact size of the h-grid; they only have to be large enough to contain it.

maxfiles

Used to dimension several arrays in the code. maxfiles must be greater than or equal to the largest number of RAMS 'analysis' files used in a HYPACT simulation that have the path and filename prefix given by hypref (not just those within the defined HYPACT simulation time).

maxspec

Used to dimension several arrays in the hcommons.h common block file and the code. maxspec must be greater than or equal to the largest number of species to be used in a HYPACT simulation.

maxsrc

Used to dimension several arrays in the hcommons.h common block file and the code. maxsource must be greater than or equal to the largest number of sources to be used in a HYPACT simulation.

maxem

Used to dimension several arrays in the hcommons.h common block file and the code. maxem must be greater than or equal to the largest number of emissions to be used in a HYPACT simulation. The number of emissions used is the tally of emissions turned on by EMISSIONS namelist variable iemit.

polypts

Used to dimension several arrays in the hcommons.h common block file. polypts must be greater than or equal to the largest number of vertices used to define any polygon emission source in a HYPACT simulation. The number of vertices used for each polygon is specified by the SOURCES namelist variables polylat and polylon.

maxent

Used to dimension one array in the hcommons.h common block file, and specifies the size of a table of normally-distributed numbers used in HYPACT. A value of approximately 1000 provides adequate density in the table.

 

HYPACT Namelist and Database Files

The user has the flexibility of emitting particles and concentrations from different locations, at different times, at different rates, and with different source region characteristics. Each particle carries with it a label indicating the source from which it was emitted, so the particles can be identified accordingly throughout their journey.

A database approach is used in the specification of species and sources in the HYPACT_IN namelist file. As such, any number of species and sources may be individually defined in the SPECIES and SOURCES namelists (within the limits of the HYPACT parameter settings). Any combinations of species and sources can then be specified in conjunction with emission data (rate, duration, etc) in the EMISSIONS namelist. Thus the HYPACT_IN namelist file can contain a comprehensive species and sources datasets, with the EMISSIONS namelist using only that data required for the current run. In addition to this flexibility, any number of emissions (within the limits of the HYPACT parameter settings) can be specified in the EMISSIONS namelist.

Alternatively, the species, source and emissions specifications included in the namelists can be carried in separate 'database' files. If using species, source and emissions database files only minimal number of parameters are required in the SPECIES, SOURCES and EMISSIONS namelists. The format for these files is discussed in the following sections.

GENERAL Namelist

ihyprun

The HYPACT run type.

  • If set to 1, a source analysis only will be performed - the HYPACT run is stopped before the first timestep proceeds with advection and diffusion. The initial output files will contain the initial emission field, providing a useful way for the user to check their work. Note that a summary of each source is also printed to standard output prior to the first timestep.
  • If set to 2, the dispersion run is made (similar to the RAMS 'INITIAL' start).

metpref

The Unix path name and prefix of the names of RAMS analysis files to be read and used to drive the HYPACT simulation (up to 80 characters). Note that the path name is optional and can be either relative or absolute (no path is equivalent to './'). The analysis files to be used must all exist in this same directory, and must span a range of simulation time that brackets the range of time over which a HYPACT simulation is to be run.

dtpart

The length of the discrete timestep in seconds used to update particle velocities and positions. Its value should be carefully chosen based on required speed and accuracy of the HYPACT run. It would be desirable for each particle to move no more than the dimension of a grid cell (on which the atmospheric data are represented), and considerably less if practical, in a single timestep so that the maximum amount of detail contained in the atmospheric data is utilized. This may at times require a very small value of dtpart, such that a large number of individual timesteps must be performed to run HYPACT for a given span of simulation time. If this runs too slowly, and/or if a lower level of accuracy is acceptable, dtpart may be longer. An estimate for an appropriate value of dtpart can be obtained by dividing grid cell dimensions by atmospheric wind velocity components.

maxpart

The total number of particles that can be used in a HYPACT run. An appropriate number can vary widely from one application to another. If one only wants a general idea of which direction particles are traveling from a source, fewer than 1000 particles may be totally adequate. If concentrations are to be computed from the particle distribution, it is desirable to have as many particles as practical to improve the accuracy of the computation. Tens of thousands of particles might be used in this case, or even more if concentrations far from a dense particle plume are sought. Of course, HYPACT runs slower when many particles are activated. Note that maxpart does not specify the number of particles actually emitted (this is done by numparts, described in the EMISSIONS namelist) but is the maximum number allowable from computer memory considerations.

freqavg

The time interval in seconds between successive updates of the time average applied to input meteorological data to define it at times close to the current simulation time of the particles in HYPACT. The meteorological data (for example, the output analysis files from RAMS) is defined for discrete points in time, spaced usually at regular intervals such as an hour. Interpolation between consecutive times of the data is performed so that particles use winds and turbulence parameters close to the correct time. Since frequent averaging takes time and is unnecessary freqavg is usually set to a value many times longer than the HYPACT timestep dtpart, but several times shorter than the interval between input data files. Must be less than or equal to the RAMS analysis file frequency, and greater than of equal to dtpart.

ihturb

A flag specifying whether a turbulent component is to be added to the mean resolved atmospheric motion for advecting particles.

  • If set the 0, no turbulence will be included, and the HYPACT Lagrangian particle model operates purely as a trajectory model.
  • If set to 1, atmospheric turbulent intensity is evaluated and used to derive a turbulent component of motion for each particle. This allows the effects of unresolved atmospheric motions on particle transport and dispersion to be statistically accounted for.

iadvord

The order of the advection operator to be used in transporting Eulerian concentration fields. The choices are 2 for second order and 6 for sixth order.

hybfreq

When an emission type (type) is specified as 'hyb' the Lagrangian particles emitted for the source are converted to Eulerian concentrations at some point downwind (when the computed dispersal of particles is sufficient). This conversion is handled by releasing the particles in clusters The spread of each cluster is then checked every hybfreq seconds, and if the following criteria is satisfied the particles are converted to Eulerian concentrations. hybfreq should be set to within a few times dtpart. If hybfreq is less than dtpart, clusters will be checked every HYPACT timestep.

The criterion is a measure of spread between the particles compared to specified horizontal and vertical distances. The spread is taken as six times the standard deviation of cluster particle locations done in each of x, y and z directions. This is then checked against hybhoriz (x and y) and hybvert (z), and the conversion made only if the spread in all three dimensions is greater than the hybhoriz and hybvert criteria (see below).

ihybpart

The number of particles emitted per cluster. Different clusters will be allocated to each source so that no cluster will contain a variety of species. ihybpart should be set that so that a cluster of particles does not extend over more than several HYPACT timesteps.

ihybmin

The minimum particles per cluster. It there are less than ihybmin particles in a cluster the cluster will be converted to Eulerian concentrations regardless of the spread. This value must be less than ihybpart else all particles will be converted when their respective clusters are full. Conversion of a cluster that a source is in the process of filling will not take place until that cluster is full, or the source's emission is complete. A recommended setting for ihybmin is 10% of ihybpart.

hybhoriz

The horizontal length scale defined as fractional horizontal grid spacing. With a spread of six standard deviations and hybhoriz and hybvert is equal to 1, cluster conversions are made approximately when the particles have dispersed over at least the entire grid volume in each dimension. Settings of hybhoriz and hybvert should therefore be in the range 1 to 3.

hybvert

The vertical length scale defined as fractional vertical grid spacing or the distance in meters if hybvert is less than 0. With a spread of six standard deviations and hybhoriz and hybvert is equal to 1, cluster conversions are made approximately when the particles have dispersed over at least the entire grid volume in each dimension. Settings of hybhoriz and hybvert should therefore be in the range 1 to 3.

 

OUTPUT Namelist

Almost all output is controlled by the OUTPUT namelist, with the sole exception that the ioutspec variable in the SPECIES namelist controls whether individual species are included in the output.

hyppref

The Unix path name and prefix for the HYPACT output files generated during the simulation (up to 80 characters). Note that the path is optional and can be either relative or absolute (no path is equivalent to './'). The time interval between the writing of successive files in the set is specified by the namelist variable hypfrep.

hypfreq

The time interval in seconds between successive writing of HYPACT output files. The settings of ipartout, ieulout, ilagout and ihybout specify what variables are output, and irgrid specifies the RAMS grids that are included in the output. Output file names and formats are described separately following the namelist documentation.

ipartout

Particle file output flag. ipartout set to 1 produces particle files every hypfrep seconds provided at least one element of type is equal to 'lag', 'hyb' or 'both'.

ieulout

ilagout

Output concentrations are controlled with the following, noting that there is one concentration field for each species;

  • ieulout gives the Eulerian concentrations. These fields will also contain the concentrations produced by the conversion of particle clusters in hybrid mode (EMISSIONS namelist parameter type set to 'hyb').
  • ilagout gives the concentration fields computed by converting all particles to Eulerian concentrations (the particles still remain in the Lagrangian field).

For each:

  • 0 gives no output.
  • 1 gives the concentrations at the end the current timestep.
  • 2 gives the average concentrations over avgtime seconds prior to the file output time (determined by hypfrep).
  • 3 gives both the current and average concentration output.

The hybrid concentrations (when an emission type type is specified as 'hyb') are the sum of the Lagrangian particles yet to be converted and Eulerian concentrations from converted clusters for each species. This summation is handled in the post processing with REVU.

imetout

Meteorology output control flag. imetout set to 1 outputs the interpolated RAMS meteorology as used by HYPACT at the output time. The meteorology is included in the concentration file output.

avgtime

Averaging time in seconds over which concentration field averaging is done before each output time. Averaging can be done for any species on the RAMS grid. It cannot be done for individual emission sources unless each emission source emits a different species, and cannot be done for the particle files. avgtime must be less than or equal to the GENERAL namelist parameter hypfrep.

ioutfmt

Output file format:

  • If set to 1, VFILE binary files are output.

irgrid

HYPACT output is limited to the grids specified by irgrid.

  • If set to 0, concentrations and particles are output on all grids.
  • If set to greater than 0, concentrations are output for that grid only.
  • If set to less than 0, concentrations are output for all grids less than the absolute value of irgrid.

In the latter two cases, particles in the output file include all those that reside within the bounds of the specified irgrid. irgrid must be greater than or equal to ihgrid.

SPECIES Namelist

specfile

The Unix path and filename containing the speices database (up to 80 characters). An example file and the file format follows this table. Note that the path is optional and can be either relative or absolute (no path is equivalent to './'). If specfile is set to 'none' the species database is read from the following namelist parameters. If specfile points to a database file, with the exception of ioutspec, the remaining SPECIES namelist parameters are overwritten.

specname

A multi-valued parameter specifying the name of each species (up to 30 characters long). specname can include standard NCAR Graphics sub and superscripting code. This information is stored in the output 'SPEC' file, and so it is useful for later plotting with NCAR Graphics. 'N' denotes the beginning of normal text, 'B' subscripted text and 'S' superscripted text (all ":" delimited). It is safest to start and end with an 'N', for example, ':N:CO:B:2:N:' results in CO2.

wgtmol

A multi-valued parameter specifying the molecular weight of each species in grams per mole. wgtmol is used to calculate Eulerian concentrations in parts per trillion if units is in nanograms (ng), parts per million (ppm) if units is in micrograms (ug) and parts per thousand if units is in milligrams (mg).

units

A multi-valued parameter specifying the mass units applied to the emission rate and ratio (up to 30 characters long). units can be set to ng (nanograms), ug (micrograms) or mg (milligrams). The units set here should be consistent with those used for the EMISSIONS namelist parameters, rate and ratio.

ihfall

A flag specifying whether particles in HYPACT are to be caused by gravity to settle relative to the local flow in which they are embedded. A value of 0 indicates no settling, while a value of 1 activates the settling. The parameters szmin, szmax, and szpwr below control the settling velocity for particles from each source.

szmin

A multi-valued parameter specifying a minimum particle diameter in meters emitted from each source region. Its only use is in determining gravitational settling speed, and is ignored if namelist variable ihfall is set to 0.

szmax

A multi-valued parameter corresponding to namelist variable szmin, but applying to the maximum particle diameter from each source region. Currently, only a Stoke's drag formula is implemented in HYPACT, which is relevant for diameters up to about than 80´ 10-6 m.

szpwr

A multi-valued parameter relating closely to szmin and szmax, and is used in computing gravitational settling speed. It specifies a particle size distribution, effectively weighting the particles toward the larger or smaller sizes. szpwr specifies the power of the diameter which is linearly (uniformly) distributed between the specified size limits. For example, if szpwr is set to 1, all diameters between the limits are emitted with equal probability. If szpwr is set to 3, all cubes (third power) of particle diameters, or equivalently all volumes or masses, are emitted with equal probability between the size limits. szpwr may be any non-negative number.

ioutspec

A multi-valued parameter specifying which species are to be included in the output. To output the species, set ioutspec to 1.

Species Database File

The following illustrates some species in the database file format:

1,3

TRS,60,ug,0,1.,1.,1.

:N:CO:B:2:N:,44,ug,0,1.,1.,1.

XXT,98,ug,0,1.,1.,1.

Where the header line contains file format version and the number of species in the file with each subsequent line containing all the information for each species in comma delimited format (order is important):

Note that the SPECIES namelist variable ioutspec is not included in the species database file, and should be included in the SPECIES namelist. If it is not, the default is to output for all species.

 

SOURCES Namelist

srcfile

The Unix path and filename containing the source database (up to 80 characters). An example file and the file format follows this table. Note that the path is optional and can be either relative or absolute (no path is equivalent to './'). If srcfile is set to 'none' the source database is read from the following namelist parameters. If srcfile points to a database file the remaining SOURCES namelist parameters are overwritten.

srcname

A multi-valued parameter specifying the name of each source (up to 30 characters long).

shape

A multi-valued parameter specifying the horizontal cross-sectional shape of each source. shape can be set to 'point', 'rectangle', 'triangle', 'polygon', or 'ellipse' (these can be abbreviated to the first three characters).

  • If a point source is specified, namelist variables srcx and srcy are used to determine the horizontal location of the source, and srcz the height of the source (this is converted to a rectangular source with no dimensions in HYPACT).
  • If a triangular of irregular polygon shape is specified, the namelist variables polylat and polylon are used to specify the horizontal coordinates of the vertices, srcx, srcy the center of the polygon (see the notes on polylat and polylon for the relevance of this), and srcz and zsize the height and thickness of the source.
  • If a rectangular or elliptical shape is specified, namelist variables srcx, srcy, xsize, and ysize are used to determine the horizontal location and size of the source, and srcz and zsize the height and thickness of the source. rotation can also be specified to rotate rectangular or elliptical sources in the horizontal plane.
  • If a gridded shape is specified, the emissions are obtained from the file named in gridfile. (not implemented)

Note that the center location of each source, and the entire source region, should lie within the volume over which the input meteorological fields are defined (i.e., the coarsest grid of the RAMS domain defined by the GENERAL namelist parameter ihgrid). Any location outside this range places the source outside the model domain, and emissions there will remain stationary in HYPACT.

srcx

srcy

Multi-valued parameters specifying the horizontal coordinates of the center of each source region. srcx and srcy are used only for point, rectangular, polygonal and elliptical sources specified by shape, and indicate the geographic longitude and latitude, respectively, in degrees.

srcz

A multi-valued parameter specifying the height above the ground in meters, and applies for all source types.

polylat

polylon

Multi-valued two-dimensional parameters specifying the geographic vertex latitude and longitude coordinates for triangular and irregular polygon shaped sources specified by shape. The indices on the 2-D array are vertex and source. The vertex index must always be equal to 1 (first array element), while the source index refers to the source number. For irregular polygon sources, the vertices must be defined in an anti-clockwise order - the first and last coordinates are joined to enclose the polygon. For example, the following describes a triangular source for source 2, and a four-sided polygon for source 3:

polylat(1,2) = 40.075, 40.076, 40.071,

polylon(1,2) = -104.721,-104.723,-104.722,

polylat(1,3) = 40.075, 40.075, 40.071, 40.071,

polylon(1,3) = -104.721,-104.723,-104.723,-104.721,

Polygonal sources were conceived to facilitate simpler specification of irregularly shaped sources, such as urban emission boundaries. Polygonal sources are broken up into an array of triangular sources in the HYPACT code. Each defined polygon must be sufficiently simple so that none of the triangles overlap, and no part of a triangle lies outside the polygon. Tests for these limitations are made in the code. In breaking up a polygon, the vertices of each triangle are initially taken as the two points of one side of the polygon, and a point somewhere in the center of the polygon (as defined by srcx and srcy). If any triangle fails a test, the central point is moved in the code, and the triangles redefined. If the code generated triangles continue to fail a test, the program is stopped and the user is required to reassess the configuration of their sources.

xsize

ysize

Multi-valued parameters specifying the x and y direction dimensions in meters of rectangular and elliptical sources specified by shape.

  • If rectangular, xsize and ysize are the dimensions respectively.
  • If elliptical, xsize and ysize represent the lengths of the major and minor axes respectively.

zsize

Similar to xsize and ysize, but specifying the vertical dimension of the source in meters. If zsize is greater than zero, half of the source will be below the specified source center height srcz. Thus, the latter should be sufficiently high that no part of the source is underground (i.e., at least half the value of srcz).

rotation

A multi-valued variable indicating a rotation angle (in degrees) about a vertical axis of a source. This allows basic shapes such as rectangle or ellipse to be first indicated with principal axes parallel to the x- and y-axes of the HYPACT grid, and then for those shapes to be re-oriented in any direction desired. A positive angle causes a clockwise rotation as viewed from above.

 

Source Namelist Examples

The following gives an example for each type of source. Note that different parameters apply in different ways to the sources, and some placeholders may be required, although they will not get used. There are two recommended ways to specify sources - either by using placeholders:

srcname='Mill_1','Power_1','Power_2','Ponds','Mill_2',

shape='rec','tri','poly','ell','poi',

srcy= 40.2,0.,39.7,40., 40.2,

srcx= -104.2,0.,-82.7,-105.,-105.2,

srcz=50.,100.,100.,5.,50.,

xsize=100.,0.,0.,8000.,0.,

ysize=100.,0.,0.,8000.,0.,

zsize=15.,10.,100.,10.,0.,

polylat(1,2)=40.075,40.076,40.071,

polylon(1,2)=-104.721,-104.723,-104.722,

polylat(1,3)=40.075,40.075,40.071,40.071,

polylon(1,3)=-104.721,-104.723,-104.724,-104.720,

rotation=45.,0.,0.,40.,0.,

Note the placeholders:

Note also that only the second and third series of polylat and polylon points (for the triangular and polygonal sources) are required. In this case the two dimensional namelist variables must contain the relevant indices (the second index refers to the source number).

Or alternatively, to remove the need for placeholders - each source can be specified with the relevant indices on the namelist variables:

srcname(1)='Mill_1',

shape(1)='rec',

srcy(1)=40.2,

srcx(1)=-104.2,

srcz(1)=50.,

xsize(1)=100.,

ysize(1)=100.,

zsize(1)=15.,

rotation(1)=45.,

 

srcname(2)='Power_1',

shape(2)='tri',

srcz(2)=100.,

polylat(1,2)=40.075,40.076,40.071,

polylon(1,2)=-104.721,-104.723,-104.722,

zsize(2)=10.,

 

srcname(3)='Power_2',

shape(3)='poly',

srcy(3)=39.7,

srcx(3)=-82.7,

srcz(3)=100.,

polylat(1,3)=40.075,40.075,40.071,40.071,

polylon(1,3)=-104.721,-104.723,-104.724,-104.720,

zsize(3)=100.,

 

srcname(4)='Ponds',

shape(4)='ell',

srcy(4)=40.,

srcx(4)=-105.,

srcz(4)=5.,

xsize(4)=8000.,

ysize(4)=8000.,

zsize(4)=0.,

rotation(4)=40.,

 

srcname(5)='Mill_2',

shape(5)='poi',

srcy(5)=40.2,

srcx(5)=-105.2,

srcz(5)=5.,

 

Source Database File

The following illustrates the above sources in the database file format:

1,5

Mill_1,rec,40.,-83,50.,1.,1.,1.,0.

Power_1,tri,40.,-83,100.,40.075,-104.721,40.075,-104.723,40.071,-104.722,0.

Power_2,poly,40.,-83,100.,4,40.075,-104.721,40.075,-104.723,40.071,-104.724,40.071,-104.720,0.

Ponds,ell,40.,-83,500.,300000.,300000.,100.,0.

Mill_2,poi,40.,-83,5.

Where the header line contains file format version and the number of sources in the file and one line for each source containing all the information for each source in comma delimited format. The relevant information for each source shape is (order is important):

Note the extra variable nvert in the polygonal source that is not in the namelist. This is the number of vertices in the polygon.

 

EMISSIONS Namelist

emfile

The Unix path and filename containing the emission database (up to 80 characters). An example file and the file format follows this table. Note that the path is optional and can be either relative or absolute (no path is equivalent to './'). If emfile is set to 'none' the emission database is read from the following namelist parameters. If specfile points to a database file, with the exception of iemit, isimend and ienddays, the remaining SPECIES namelist parameters are overwritten.

iemit

A multi-valued parameter that determines what emissions specified by this namelist are to be used for the current HYPACT simulation. A value of 1 activates the emission.

isource

A multi-valued parameter that specifies the source identification number from those defined in the SOURCES namelist or source file.

ispecies

A multi-valued parameter that specifies the species identification number from those defined in the SPECIES namelist or species file.

irelstrt

istrtdays

Multi-valued parameters which specify the time when the emissions for each source region commences.

  • The first, second, and third pair of digits in irelstrt indicate the UTC hour, minute, and second of the beginning of the emission (i.e., hhmmss UTC).
  • istrtdays is a time offset indicating an integer number of days of delay following the time of a RAMS simulation before emission from a given source begins. It allows source emissions to begin more than 24 hours after the beginning of the RAMS simulation.

For example, if a RAMS simulation begins at 1100 UTC on 20 June 1993, and an emission is to begin at 0800 UTC on 22 June 1993:

  • irelstrt would be set to 080000, indicating the actual UTC time.
  • istrtdays would be set to 1, indicating that the emission begins more than 1 but less than 2 days after the start of the RAMS simulation.

The earliest time specified by irelstrt and istrtdays for an emission that is activated by iemit defines the start time of the HYPACT simulation.

ireldur

idurdays

Multi-valued parameters which specify the duration of particle and/or concentration emission from each source. They relate closely to irelstrt and istrtdays. ireldur uses the same syntax for the number of hours, minutes, and seconds as irelstrt, while idurdays indicates a number of days of duration. Together, irelstrt, istrtdays, ireldur, and idurdays determine the ending time for the emission of each source. A duration time of zero or anything less than the timestep length dtpart causes a source to act as in instantaneous or `puff' release.

isimend

ienddays

Parameters which specify the ending time of the HYPACT simulation.

  • isimend is coded in hours, minutes, and seconds as described for namelist parameter irelstrt, and directly indicates the UTC time (i.e., hhmmss UTC).
  • ienddays is the integer number of days beyond the beginning of the RAMS simulation when the HYPACT simulation will stop.

Following the example given in the description of irelstrt and istrtdays above, if the HYPACT run were to end at 1304 UTC on 22 June 1993, isimend would be set to 130400, indicating the UTC hours, minutes, and seconds, while ienddays would be set to 2, indicating that the HYPACT run would finish at least 2, but less than 3, days after the beginning of the RAMS simulation.

type

A multi-valued parameter that specifies the source type.

  • If set to 'lag' (Lagrangian), only Lagrangian particles will be released from the source.
  • If set to 'eul' (Eulerian), only Eulerian concentrations will be released from the source.
  • If set to 'hyb' (hybrid), particles will be transformed into Eulerian terms when the hybrid criteria (ihybmin, hybhoriz and hybvert) set in the GENERAL namelist are met.
  • If set to 'both' (both), both Eulerian concentrations and Lagrangian particles will be released from the source. Fields will be calculated as if there were two sources (i.e., concentrations will be effectively doubled).

scaling

A multi-valued parameter that specifies how the emission rate and number of particles are determined. Any two of the three namelist variables rate, numparts and ratio can be used to calculate the third as follows:

  1. If set to 'rat' (rate), the emission rates are determined from the particle release rate (numparts), the size of the source (volume, area or length determined from xsize, ysize, zsize and shape from the SOURCES namelist - noting that the size is set to 1 for a point source), the timestep (dtpart from the GENERAL namelist), and the mass per particle ratio (ratio):
  2. emission rate = particle rate * mass ratio / (size * timestep)

    The particle rate (numparts) has units of particles/timestep. If the mass units are ug (units from the SPECIES namelist) the mass ratio (ratio) has units of ug/particle. Thus, if the source is volumetric (size has units of units are m3), the emission rate has units of (ug/s)/m3 (i.e., it is a specific rate that is calculated).

  3. If set to 'tot' (total), numparts is the total number of particles released and the particle release rate is determined from the total particles, the release duration (determined from ireldur, and idurdays) and the timestep:
  4. particle rate = total particles * timestep / release duration

    The emission rates are then determined as for scaling set to 'rat'.

  5. If set to 'spe' (specific), the particle release rates are determined as a function of the specific emission rate (rate), the size of the source, the timestep and the mass ratio:
  6. particle rate = emission rate * size * timestep / mass ratio

    The particle rate has units of particles/s.

  7. If set to 'abs' (absolute), the particle release rates are determined from absolute emission rate (rate), the timestep and the mass ratio:
  8. particle rate = emission rate * timestep / mass ratio

    The calculate particle rate has units of particles/s.

  9. If set to 'spe' (specific) and the mass ratio (ratio) is set to 0, the mass ratios are determined as a function of the specific emission rate (rate), the size of the source, the timestep and the particle release rates (numparts):
  10. mass ratio = emission rate * size * timestep / particle rate

    If the mass units in the emission rate are defined as 'ug', the derived mass ratio has units of ug/particle.

  11. If set to 'abs' (absolute) and the mass ratio (ratio) is set to 0, the mass ratios are determined from absolute emission rate (rate), the timestep and the particle release rates (numparts):

mass ratio = emission rate * timestep / particle rate

If the mass units in the emission rate are defined as 'ug', the derived mass ratio has units of ug/particle.

Note that, as whole numbers of particles only can be emitted, particle emission rates from timestep to timestep are adjusted to maintain correct average emission rates.

rate

A multi-valued parameter that specifies the emission rates if scaling is equal to 'spe' or 'abs'.

  • If scaling is equal to 'spe', rate is the specific emissions rate. In this case, if the mass units in the emission rate are defined as 'ug', and the source is volumetric, the units of rate are (ug/s)/m3.
  • If scaling is equal to 'abs', rate is the absolute emissions rate. In this case, if the mass units in the emission rate are defined as 'ug', the units of rate are ug/s.

If scaling is equal to 'rat', the emission rate is calculated. The same mass units must be used for rate and ratio, which should also be consistent with the SPECIES namelist variable, units.

numparts

A multi-valued parameter that specifies the number of particles emitted per HYPACT timestep (dtpart) if scaling is equal to 'rat', or if scaling is equal to 'spe' or 'abs' and ratio is equal to 0. If scaling is equal to 'spe' or 'abs' and ratio has a positive value, the number of particles is calculated. Note that the total particles emitted for all sources cannot exceed the GENERAL namelist variable, maxpart.

ratio

A multi-valued parameter which specifies the mass to particle ratio used to calculate the number of particles released per timestep if scaling is equal to 'sca', or the emission rate if scaling is equal to 'tot'. If ratio is set 0 the mass ratio is calculated. The same mass units must be used for ratio and rate, which should also be consistent with the SPECIES namelist variable, units.

Emissions Database File

The following illustrates some emissions in the database file format:

1,4

4,2,120000,0,060000,0,both,rat,20,20.,1.e9

1,2,120000,0,060000,0,lag,abs,1,.05,120.

1,2,130000,0,020000,0,lag,rat,5,1.,0.

4,1,130000,0,020000,0,lag,rat,3,20.,1.e9

Where the header line contains the file format version and the number of emissions in the file with each subsequent line containing all the information for each emission in comma delimited format (order is important):

Note that the EMISSIONS namelist variables iemit, isimend end enddays are not included in the emissions database file, and should always be included in the EMISSIONS namelist. If they are not, the defaults are to emit all emissions and run the HYPACT simulation to the end of the RAMS run.

 

HYPACT Output Files

Filename convention notes:

  1. "*" following filenames represents the date string (in Y2K format) yyyy-mm-dd-hhmm.
  2. "#" represents the grid number.
  3. In the following examples the OUTPUT namelist variable hypfile = 'a.a'.

HYPACT Specification File

FORTRAN free format ASCI file "a.spec".

Main header line:

Then for each source:

Hybrid Grid File

FORTRAN free format ASCI file " a.hgrid ".

Main header line:

Followed by four blocks:

HYPACT Particle Files

FORTRAN formatted ASCI Files (a.p*)

Main header line (format i3,e16.8,8i8):

Followed by the source header lines (format 4i8) - note that there can be only one species per source within the code:

Followed by one line for each particle (format 7e16.8,i5):

HYPACT Concentration and Header Files

VFILE Format Files (a.a*.g# and a.a*.head). Files output are limited to the grids selected by the OUTPUT namelist parameter irgrid.

Meteorological variables saved (if requested by OUTPUT namelist parameter imetout):

Concentration variables saved for each species (if requested by OUTPUT namelist parameters ieulout and ilagout, and the SPECIES namelist parameter ispecout):

Compiling and Running HYPACT

The HYPACT code is FORTRAN 90 compliant.

Compiling:

  1. Download the latest version of HYPACT from:
  2. http://www.aster.com/hypact.shtml

  3. Uncompress and extract the tar file in your rams root directory.
  4. Follow the instructions in the ./bin/README file.

Running:

  1. Check the settings of the variables in the parameter statements in hcommons.h, and change if necessary. If you change any of these setting you will need to fully recompile HYPACT.
  2. Run RAMS as normal, ensuring the HYPACT compatible versions of the relevant RAMS modules are compiled in with RAMS (see the instructions in the ./bin/README file).
  3. Copy and configure HYPACT_IN for the simulation in your working directory.
  4. Run the HYPACT executable in your working directory.

Visualization:

  1. Download the latest HYPACT compatible version of REVU from:
  2. http://www.aster.com/revu.shtml

  3. Install and run noting the new field names in the REVU documentation.

HYPACT has been compiled and run on SGI, HP and IBM workstations. If you are compiling on other platforms we would like to know what compiler options you use. To convey this information, or if you are having problems with compilation and execution, please contact Marty as bell@aster.com.

 

Future HYPACT Upgrades

Future upgrades may include:

Future visualization tools may include:

Further development ideas and collaboration, questions and bugs reports (please save relevant RAMS analysis and HYPACT_IN files) are welcome and can be directed to Marty at bell@aster.com.


[an error occurred while processing this directive]