Release height/top of domain ignored?

Topics about the HYSPLIT dispersion model.
Post Reply
Posts: 8
Joined: August 23rd, 2017, 12:08 am
Registered HYSPLIT User: No

Release height/top of domain ignored?

Post by wsr » November 12th, 2018, 7:15 pm

The attached vert_dist_1.png and vert_dist_2.png are a couple pictures illustrating initial and final particle heights for a 1-hour Hysplit (v984) concentration simulation. Abridged CONTROL and SETUP files for this simulation are attached as .txt as well.
Each image shows a column of 1-hour releases from various heights at the stated latitude and longitude. Black crosses are the release heights, and 1000 particles were used for each release. The plotted curves are probability distributions for particle height from each release after 1 hour.

I set up the CONTROL and SETUP files so that the top of the atmosphere is set at 10000m (10km) AGL (above ground level), all particle height information be in AGL, and the release heights range from 0km to 10km AGL. Although the PARDUMPs are showing releases with the same height pattern, the two examples show a highest release height which is not 10km, and which are inconsistent from one lat/lon to another. Also, the height distributions after 1hr show an entirely different and consistent top of atmosphere at around 10350m.

The PARDUMP documentation specifically states that particle heights are in meters AGL, but these PARDUMP results suggest this is not true, or that the CONTROL/SETUP switches may not be behaving as described in (or interpreted from) the documentation.

Is there either a way I can exert more control over this simulation, or understand and better predict how CONTROL/SETUP set the release heights and top of domain? I think what would be most beneficial is how to obtain predictable release heights and knowledge of the true top of domain.
(944 Bytes) Downloaded 26 times

Posts: 285
Joined: November 9th, 2012, 4:23 pm
Registered HYSPLIT User: Yes

Re: Release height/top of domain ignored?

Post by barbara.stunder » November 13th, 2018, 12:15 pm

Are you running vertical line sources or multiple point sources? If multiple sources are defined at the same latitude longitude, but different heights, it will be a vertical line source.

Please re-do the run using the top source height of 10000 m, but change the "Top of model" from 10000 to 11000. This will allow for some upward transport for the sources starting at 10000 m. The "Top of model" height means that no meteorology data at higher heights are used.

These are described in the help flle hysplit4/html/S310.htm

Did the MESSAGE or WARNING file suggest any issues with your initial run?

The SETUP file was not attached.

Did you do a run with many fewer source locations to try to verify source height is as given in the CONTROL file? and to understand the Top of model value?

Posts: 108
Joined: February 8th, 2016, 12:56 pm
Registered HYSPLIT User: Yes

Re: Release height/top of domain ignored?

Post by alicec » November 13th, 2018, 5:06 pm

The height output by the PARDUMP file is not exact.

In HYSPLIT, the vertical, z, position of the particle is converted to a terrain following coordinate.
Zt = 1 - z/ (zmdl - mter)

where zmdl is set either to 25000m or to the top of the model domain specified in the CONTROL file, whichever is greater.
See the documentation #6 at

mter is the terrain height which is obtained from the meteorological file (or if not available from the meteorological file, from the landuse files).

The mter variable is not passed to the routine (parout) which writes the pardump file or the routine (parinp) which reads the pardump files.
This is because that would entail creating another, potentially large, array to save the terrain height information for each computational particle.
Instead, the parout and parinp routines take a shortcut and approximate the height above ground level as

z = (1 - Zt) * (zmdl)

to be exact it should be
z = (1 - Zt) * (zmdl - zter)

This means the height written to the pardump file, z', will be related to the actual height by

z' = z (zmdl / (zmdl - zter))

This is usually quite a small difference, but will be larger for areas of high elevation and the absolute difference will
scale with the height above ground level as well.

The pardump files written by HYSPLIT were mainly intended to re-start the simulation. The parinp routine which reads them, converts the information back to terrain following coordinates correctly, so the model does not "think" that the particles are at z', but correctly converts them back to a Zt which corresponds to z.
Ofcourse, the model could just write out the terrain following coordinate to the pardump file, but the pardump files are also used as a simple diagnostic tool for which it is useful to have a (usually pretty good) estimate of the height.

Post Reply