Changing internal vertical resolution

Questions and postings pertaining to the development of HYSPLIT, feature enhancements, and HYSPLIT internals. HYSPLIT source code and algorithms are discussed here.
Post Reply
khartig
Posts: 16
Joined: June 16th, 2020, 4:22 pm
Registered HYSPLIT User: Yes

Changing internal vertical resolution

Post by khartig »

I use HYSPLIT's trajectory model with data on hybrid sigma-pressure levels from CESM/CAM5. The input data I provide has 30 vertical levels, but comparing vertical profiles of, for example, temperature produced by HYSPLIT to those on the native vertical coordinate system, the HYSPLIT resolution seems to be lower than my data near the surface and is smoothing out vertical gradients. Based on the technical documentation, I understand that the vertical level spacing is set by z = a*k^2 + b*k + c, where a=30, b=-25, and c=5. Is there any way to adjust a, b, and c to improve resolution near the surface?
khartig
Posts: 16
Joined: June 16th, 2020, 4:22 pm
Registered HYSPLIT User: Yes

Re: Changing internal vertical resolution

Post by khartig »

Answered in an email exchange, in case anyone else wants to know:

If you have the source code, modify library/hysplit/metlvl.f to set new values for AA, BB, and CC (I used AA=7.5, BB=2.5, CC=0 to double the vertical resolution). You will also need to set NLVL to determine the number of internal sigma levels your model requires. Re-compile the library, then re-compile the rest of the source code to apply those changes. I found this fix useful for data with large vertical gradients, particularly when they change sign from level to level, although it does make the trajectory model run a bit slower.

You can test out what height levels a given combination of AA, BB, and CC will produce by running the following program from the working directory:

Code: Select all

../exec/zcoord
After the program outputs the default height levels (when AA=30, BB=-25, and CC=5), you can enter the new coefficients in the format AA,BB,CC and press enter to generate the new set of height levels.
Post Reply

Return to “Developers”