ARTICLE · 1306538
【模式教程】HYSPLIT Linux 版安装与试运行
HYSPLIT(Hybrid Single-Particle Lagrangian Integrated Trajectory)是美国 NOAA 开发的大气输送与扩散模型,广泛用于气团前后向轨迹、污染物输送、野火烟羽扩散等研究。
本文记录如何在 Linux 服务器上安装 HYSPLIT,并完成一次简单的轨迹模拟、结果解读与可视化。
一、环境准备
本次使用的环境:
操作系统:AlmaLinux 10.1 系统架构:x86_64 HYSPLIT:v5.4.2 Public 开发工具:VS Code + Remote-SSH
首先从 NOAA HYSPLIT 官网 (https://www.ready.noaa.gov/HYSPLIT.php)下载 Linux x86_64 预编译安装包:hysplit.v5.4.2_x86_64_public.tar.gz
预编译版本不需要自行编译 Fortran 源代码。
二、安装 HYSPLIT
1. 上传安装包
在本地终端执行:
1 2 3 rsync -avhP --partial \ ~/Downloads/hysplit.v5.4.2_x86_64_public.tar.gz \ user@server:~/models/ 利用rsync进行文件传输。将 user@server 替换为自己的服务器账户与地址,在Linux系统提前创建 ~/models 目录存放hysplit安装包。
2. 解压安装包
在 Linux 服务器执行:
1 2 3 4 5 cd ~/modelstar -xzf hysplit.v5.4.2_x86_64_public.tar.gzcd hysplit.v5.4.2_x86_64_public 解压后包含以下主要目录:
- exec/: 模型可执行程序
- working/: 示例数据与工作文件
- graphics/: 绘图资源
- examples/: 示例程序和配置
3. 检查可执行程序
1 2 file exec/hyts_stdldd exec/hyts_std 本次安装的 hyts_std 是静态链接的 x86_64 程序,ldd 显示“不是动态可执行文件”是正常现象。
三、运行第一个前向轨迹模拟
使用 HYSPLIT 自带的 oct1618.BIN 气象数据进行测试。
1. 创建测试目录
1 2 3 4 HYSPLIT=$HOME/models/hysplit.v5.4.2_x86_64_publicmkdir -p "$HYSPLIT/test_trajectory"cd "$HYSPLIT/test_trajectory" 如果安装路径不同,需要相应修改 HYSPLIT 变量。
2. 创建 CONTROL 文件
HYSPLIT 使用 CONTROL 文件指定轨迹模拟的初始条件、运行时长和气象数据。
1 2 3 4 5 6 7 8 9 10 11 12 13 cat > CONTROL <<EOF00 00 00 00140.0 -90.0 100.024010000.01$HYSPLIT/working/oct1618.BIN./tdumpEOF 主要参数说明:
00 00 00 00 | |
1 | |
40.0 -90.0 100.0 | |
24 | |
0 | |
10000.0 | |
oct1618.BIN | |
tdump |
3. 运行模型
1 2 3 4 "$HYSPLIT/exec/hyts_std" > run.log 2>&1echo "Exit code: $?"tail -n 20 run.log 若日志显示:
1 2 Percent complete: 100.0Complete Hysplit 并在/test_trajectory生成 tdump 文件,说明轨迹模拟成功。
四、tdump 轨迹输出文件
tdump 是 HYSPLIT 生成的 ASCII 文本文件,记录轨迹每个时刻的经纬度、高度和相关气象诊断变量。

本次模拟的文件共有 30 行:
前 5 行:头文件(Header) 后 25 行:逐小时轨迹位置(Endpoints)
1. 头文件第 1 行:气象网格信息
1 1 1 第一个 1:本次模拟使用 1 个气象网格。第二个 1:轨迹输出文件的格式版本标识。
2. 头文件第 2 行:气象数据来源
1 NGM 95 10 16 0 0 说明本次使用的示例气象数据从 1995 年 10 月 16 日 00:00 UTC 开始。
3. 头文件第 3 行:轨迹类型
1 1 FORWARD OMEGA - 1: 模拟轨迹的数量。
- FORWARD: 前向轨迹,追踪气团未来的运动。
- OMEGA: 采用气象数据中的垂直速度场计算垂直运动。
4. 头文件第 4 行:起始位置
1 95 10 16 0 40.000 -90.000 100.0 表示:
起始时间:1995-10-16 00:00 UTC 纬度:40.000°N 经度:90.000°W 起始高度:100 m AGL
注意:AGL(Above Ground Level)表示相对于当地地面的高度,不是海拔高度。
5. 头文件第 5 行:诊断变量
1 1 PRESSURE 表示本次输出 1 个附加诊断变量,即 PRESSURE(气压,hPa)。
除标准的时间、经纬度、高度外,也可以根据配置与气象数据条件,输出其他诊断变量。
6. 轨迹数据读取
例如第 4 小时的轨迹记录:
1 1 1 95 10 16 4 0 0 4.0 39.433 -89.160 72.0 987.2 这行包含 13 列:
这一行的物理意义是:
气团从起点出发 4 小时后,移动到 39.433°N、89.160°W,高度为 72.0 m AGL,气压为 987.2 hPa。
其中 Age 是轨迹运行时间,不能与气象数据的 Forecast hour 混淆。
7. 本次模拟的轨迹结果
气团整体向东南方向输送,距地高度逐渐降低。
需要注意,AGL 高度变化还受到地形影响,不能仅凭距地高度下降就判断污染物发生了沉降。
五、轨迹可视化
HYSPLIT 自带 trajplot 程序,可以直接读取 tdump 文件并生成轨迹地图。
1 2 3 4 5 "$HYSPLIT/exec/trajplot" \ -itdump \ -otrajplot.html \ +g1 \ -j"$HYSPLIT/graphics/arlmap" 运行成功后会显示:
1 2 3 Started Trajectory DrawingHYSPLIT version: hysplit.v5.4.2Complete Trajplot 生成的 trajplot.html 可以直接在浏览器中查看。
VS Code 用户的小技巧:
如果使用 Remote-SSH 连接 Linux 服务器,可以安装 Microsoft 的 Live Preview 扩展。
直接打开服务器上的 trajplot.html,右键选择 Show Preview,即可在 VS Code 中查看轨迹图,不需要将结果下载到本地。

参考资料:
https://www.ready.noaa.gov/HYSPLIT.php https://www.ready.noaa.gov/hysplitusersguide/S262.htm https://hysplit2.arl.noaa.gov/hysplitusersguide/S263.htm















































































