1. 从一次雾霾说起:为什么我们需要后向轨迹分析?
去年秋天,我所在的城市经历了一次持续三天的轻度污染。那天早上推开窗,熟悉的“灰蒙蒙”又来了,空气里带着一股说不清的焦糊味。作为搞环境分析的,我的第一反应不是抱怨,而是好奇:这污染物到底是从哪儿来的?是我们本地工厂半夜偷排,还是隔壁省市的“礼物”顺着风飘过来了?要回答这个问题,靠猜肯定不行,我们需要一种科学的方法来“追踪”空气的来路。这就是后向轨迹分析大显身手的时候。
你可以把后向轨迹想象成给空气粒子装上一个“行车记录仪”,只不过我们是倒着放录像带。我们选定一个时间点(比如污染最严重的那一刻)和一个地点(比如市中心的监测站),然后利用气象数据,反向模拟出在过去几天里,到达这个点的空气团究竟是从哪里、沿着什么路径飘过来的。这就像侦探通过线索倒推嫌疑人的行动路线一样。而NOAA HYSPLIT模型,就是全球环境科研和业务部门最常用、也最可靠的这位“空气侦探”。它由美国国家海洋和大气管理局开发,经过了数十年的验证和迭代,无论是学术研究还是实际的污染源排查,用它得出的结论都很有说服力。
这个实战指南,就是为你——可能是环境监测站的技术员、高校里做大气课题的研究生,或者是对环境数据感兴趣的爱好者——准备的一份“侦探手册”。我不会讲太多深奥的流体力学方程,而是聚焦于“怎么用”。我们将手把手走通整个流程:从打开官网、选择数据、设置参数,到最终生成一张能在Google Earth或专业GIS软件里清晰展示的轨迹图。学完它,你就能独立完成一次污染事件的溯源分析,用数据说话,搞清楚“锅”到底该谁背。
2. 侦探的准备工作:认识HYSPLIT与关键气象数据
工欲善其事,必先利其器。在开始追踪之前,我们得先熟悉一下我们的核心工具——HYSPLIT模型,以及它赖以运行的“粮食”:气象数据。
HYSPLIT这个名字听起来有点复杂,其实拆开看就明白了。它是“混合单粒子拉格朗日综合轨迹模型”的缩写。关键在“拉格朗日”这个词,这是一种描述流体运动的方法。想象一下,你不是站在河边看水流过(那是欧拉方法),而是跳上一片树叶,跟着它顺流而下,记录它一路的旅程(这就是拉格朗日方法)。HYSPLIT就是模拟无数个这样的“空气粒子”在三维风场中的运动。当我们做“后向”分析时,就是让这些粒子从终点(你的监测点)开始,逆着风场倒着走,回溯它们的来源。
模型有了,驱动它运行的核心燃料就是气象数据。HYSPLIT官网提供了多种全球气象数据集,对于大多数后向轨迹分析,尤其是区域尺度的污染传输研究,GDAS数据是最常用、也最推荐的选择。GDAS全称是“全球数据同化系统”,它由NOAA自己运行,质量有保障,而且时空分辨率适中(通常是1度网格,3小时间隔),足以捕捉大尺度的空气运动。关键是,它完全免费,并且官网提供了按周打包的归档文件,下载和使用都非常方便。
这里有个非常重要的细节,也是新手最容易踩坑的地方:气象文件命名规则。我们以原始例子中的 gdas1.oct24.w2 这个文件名为例,来一次彻底解密:
gdas1:这指的是数据来源和格式,就是GDAS 1度网格的数据。oct:这是月份的英文缩写,代表10月份。其他月份同理,jan是一月,feb是二月,以此类推。24:这是年份的缩写,代表2024年。如果是2023年,这里就是23。w2:这是“周”的编号,这是关键!它把一个月分成大约5周(因为一个月有30或31天)。具体划分是:w1:当月第1天到第7天w2:当月第8天到第14天w3:当月第15天到第21天w4:当月第22天到第28天w5:当月第29天到最后一天
所以,gdas1.oct24.w2 这个文件,包含的就是2024年10月8日至10月14日这整整一周的气象数据。如果你的污染事件发生在10月12日,那么选择这个文件就是完全正确的,因为它覆盖了事件发生的时间段。如果你选错了周文件,模型就找不到对应时间的气象场,计算自然会失败。我刚开始用的时候就犯过这个错,明明时间设对了,却总是报错,排查了半天才发现是周文件选错了月份。
3. 实战第一步:定位目标与获取数据
理论准备就绪,现在我们打开浏览器,正式开始实战操作。整个过程都是在NOAA ARL的HYSPLIT在线平台上完成的,无需本地安装任何复杂软件,对电脑配置要求极低,非常友好。
首先,我们访问HYSPLIT的官方门户网站。在搜索引擎里输入“NOAA HYSPLIT”就能找到,或者直接记住这个地址(通常以 ready.arl.noaa.gov 开头)。进入网站后,页面可能信息较多,找到导航栏或明显按钮,点击 “Get/Run HYSPLIT” 这个选项,然后在新页面中选择 “Run HYSPLIT Dispersion Model”。这里虽然写着“Dispersion”(扩散),但它包含了我们需要的轨迹计算功能。
接下来,我们会看到一个任务选择界面。这里务必看清楚,我们要计算的是历史轨迹,所以应该点击 “Compute archive trajectories”(计算归档轨迹)。它旁边那个“Compute forecast trajectories”是用来计算未来预测轨迹的,用的是预报数据,我们这次用不到。
点击之后,就进入了参数设置的核心流程。第一步是设置轨迹的基本模式。
- 轨迹数量:第一个选项是问你要计算几个地点的轨迹。默认是“1”,表示只计算一个起始点(也就是我们的受体点)。如果你需要同时对比分析两个不同监测站点的空气来源,比如想看看城区和郊区的污染来源差异,那就需要选“2”,并分别输入两地的经纬度。我们这次先从单点开始。
- 垂直运动计算方法:下面会有一个“Vertical Motion”的选择,通常默认选 “Model Vertical Velocity” 或者 “Isobaric” 即可。对于入门,我们直接选择最常用的 “Normal” 模式。这个模式使用的是模型数据本身的垂直速度场,计算结果比较平衡可靠。至于“Matrix”等选项,涉及到更复杂的源受体矩阵计算,在简单的后向轨迹分析中极少使用。
- 点击 “Next”,进入下一步。
现在,我们需要告诉模型:“侦探,请从这个位置开始破案。” 这就是输入受体点经纬度。
- 气象数据源选择:在页面顶部,通常有一个下拉菜单让你选择气象数据集。我们从列表里选择 “GDAS”。选好后,页面可能会刷新一下,显示出GDAS数据相关的选项。
- 输入经纬度:找到输入经纬度的两个框。这里有个关键细节:纬度(Latitude)要输入北纬(North),经度(Longitude)要输入东经(East)。我们以萍乡市湘东区的一个假设监测点为例,纬度27.6385,经度113.7540。
- 在纬度框输入:
27.6385,并确保后面的单位是 “N”(北纬)。 - 在经度框输入:
113.7540,并确保后面的单位是 “E”(东经)。 - 千万注意:对于中国境内的地点,经度基本都是东经。如果你不小心选成了“W”(西经),输入113度,模型就会跑到地球另一面去,结果完全错误。这是我提醒新手必查的第一个点!
- 在纬度框输入:
- 如果你不知道某个地点的精确经纬度,可以借助一些在线工具。例如,在主流地图App的卫星视图上长按某个点,通常就会显示坐标。或者使用一些专业的经纬度查询网站,输入地名即可获取。输入无误后,再次点击 “Next”。
4. 核心参数设置:时间、高度与回溯时长
来到最关键的一步:设置“行车记录仪”的启动时间、安装高度和回溯时长。这里的设置直接决定了轨迹模拟的准确性和针对性。
首先,页面会列出可供选择的GDAS气象文件。根据我们之前解密过的命名规则,找到覆盖你污染事件发生日期的那一周文件。例如,我们的案例事件发生在2024年10月14日,那么它属于10月8日-14日这一周,对应的文件就是 gdas1.oct24.w2。选中它,然后点击“Next”。
现在进入时间与高度设置面板,这里需要格外仔细:
- 轨迹方向:首先,明确选择 “Backward”(后向)。这是我们的核心目的。
- 起始时间(UTC):这是最大的坑点!HYSPLIT模型使用的世界协调时(UTC),而中国使用北京时间(东八区)。北京时间比UTC快8个小时。也就是说,UTC时间 = 北京时间 - 8小时。
- 我们的案例:污染事件关注的是北京时间2024年10月14日早上8点(假设这是污染峰值时刻)。
- 那么,在模型里需要输入的UTC时间就是:2024年10月14日8点 - 8小时 = 2024年10月14日0点。
- 在输入框里,格式通常是
YY MM DD HH。所以我们应该输入:24 10 14 00。表示2024年10月14日00时(UTC)。 - 切记:不要直接输入北京时间的8点,否则你计算出来的轨迹起始时间实际上是北京时间的下午4点,整整差了8小时,风场完全不同,结果也就失去了意义。
- 回溯时长:接下来要设置“倒放录像带”的长度。输入框可能会显示“Run Time (hours)”。我们想看看过去24小时空气从哪来,就输入
-24(负号表示向后回溯)。如果想看48小时,就输入-48。通常对于区域传输,24-72小时是常用的范围。 - 起始高度:这是指我们关心的空气团在受体点(监测点)上空的高度。污染物在不同高度层的传输路径可能不同。模型允许我们同时计算多个高度的轨迹。
- 在“Height”输入框里,我们可以输入多个值,用空格隔开。例如,输入
50 500 1000。 - 这代表我们将同时计算起始于监测点地面以上50米、500米和1000米的三个气团的来向。50米能反映近地面局地影响,500-1000米更能体现区域尺度的输送。对比不同高度的轨迹,有时能发现很有趣的现象,比如低层轨迹显示本地循环,高层轨迹却显示远距离输送,这说明污染可能是高空输送下来再混合到近地面的。
- 在“Height”输入框里,我们可以输入多个值,用空格隔开。例如,输入
设置好这些,模型就知道:请从2024年10月14日00时(UTC)开始,在萍乡市(113.7540°E, 27.6385°N)上空50米、500米、1000米的高度,分别反向模拟空气团在过去24小时内的运动路径。
5. 输出与可视化:让轨迹“活”起来
参数设好,就差临门一脚了。在提交计算之前,我们需要决定让模型输出什么格式的结果。不同的格式决定了我们后续分析和展示的方式。
在时间高度参数下方,你会找到一个输出选项区域。通常有几个选择:
- None / Default:只生成最基本的文本总结和简单的图形(如GIF或静态图)。这些图在线查看可以,但分辨率低,且不便于进一步分析。
- Google Earth (KML/KMZ):强烈推荐给大多数使用者。选择这个,模型会生成一个
.kmz文件。这是Google Earth可以识别的格式。它的好处是可视化效果极佳,你可以在一个真实的三维地球模型上看到轨迹线,可以自由旋转、缩放,结合地形地貌,传输路径一目了然。对于制作报告、汇报演示,这个格式非常出彩。 - GIS Shapefile:如果你需要利用专业的地理信息系统软件(如ArcGIS, QGIS)进行更深入的空间分析,比如与污染源数据库叠加、计算轨迹密度等,那么应该选择这个选项。它会生成
.shp等一组文件,可以导入GIS软件。
对于我们这次的实战,我建议直接勾选 “Google Earth” 选项。然后,找到页面最下方那个大大的按钮,通常写着 “Run Model” 或者 “Request Trajectory”。放心点击它(注意通常只点一次,防止重复提交任务)。
模型计算通常很快,几秒到几十秒后,页面会跳转到结果页。结果页会提供一些链接,包括文本摘要、简易图和我们要的KMZ文件。找到类似 Trajectory.kmz 或 hypsplit.kmz 的链接,点击它就可以下载到你的电脑上。
现在,让我们的成果闪亮登场。双击下载的 .kmz 文件,如果你的电脑安装了 Google Earth Pro(免费软件),它会自动启动并加载这条轨迹。你会看到几条彩色的线(代表不同高度层)从萍乡市的位置出发,像丝带一样向后延伸。每条线上面可能还有小点,表示时间标记(比如每小时一个点)。你可以拉近看看它具体经过哪些城市、山川。在我分析的萍乡案例中,清晰显示在污染发生前24小时,中低层的气团主要来自西北偏西方向,正好途经长株潭城市群区域,这为“区域传输影响”提供了非常直观的证据。
如果你没有Google Earth,或者需要在报告中使用,也可以使用一些开源GIS软件来打开KMZ文件,比如 QGIS。在QGIS中,你可以调整轨迹的颜色、粗细,添加底图,输出成为高质量的静态地图。
6. 结果解读与进阶分析:从看到懂
生成一张漂亮的轨迹图只是第一步,更重要的是如何解读它,从线条中读出故事。这才是分析工作的价值所在。
基础解读:
- 路径集中与发散:如果多条轨迹(特别是不同时间起始或不同高度)的路径非常集中,都指向同一个方向或区域,那么这个区域是潜在污染源的可能性就非常大。如果路径非常发散,四面八方都有,则可能说明污染以本地贡献为主,或者气象条件不稳定。
- 移动速度:轨迹线上点的疏密可以反映气团移动速度。点很密,说明那段时间风小,空气移动慢;点很稀疏,说明风大,移动快。在污染源附近如果速度变慢,可能意味着污染物有更长时间累积和沉降。
- 高度变化:观察轨迹线在垂直方向上的波动。一条轨迹如果起伏很大,说明空气团在垂直方向上运动剧烈,可能经历了上升、下沉过程,这对污染物的扩散和稀释有重要影响。
结合其他数据: 单纯的轨迹线是“孤证”,我们需要把它和其他信息结合起来,形成“证据链”。
- 叠加污染源数据:在GIS软件中,你可以把轨迹图层和已知的工业区、电厂、密集交通线等污染源分布图叠加。看看轨迹是否直接穿过了这些高排放区域。如果穿过,那么这些源贡献污染的可能性就增加了。
- 对照污染物浓度时序:把监测站污染物(如PM2.5)浓度随时间变化的曲线,和轨迹图对应的时间结合起来看。当浓度开始快速上升时,对应的后向轨迹指向哪里?这能帮你锁定污染输送的关键时段和关键路径。
- 多站点对比:如果你有多个监测站的数据,可以分别计算它们的后向轨迹。如果所有站点在污染期间的轨迹都共同指向某一个上游区域,那么这个区域作为共同污染源区的证据就非常强了。
一次完整的分析案例: 回到我们开头的例子。假设萍乡站在10月14日早上8点PM2.5浓度飙升。我们计算了13日8点至14日8点(北京时间)多个时刻的后向轨迹。发现从13日傍晚开始,抵达萍乡站500米高度的气团,有超过70%的轨迹路径在回溯12-18小时期间,集中经过长株潭城市群北部工业区。同时,我们查看长株潭地区同期的气象数据,发现当地风速较小,不利于污染物扩散。而萍乡本地的风向在13日夜间由南风转为北风,正好与轨迹方向吻合。把这些信息综合起来,我们就能撰写一份有数据支撑的分析简报:“根据HYSPLIT后向轨迹模型模拟,结合气象条件分析,初步判断本次萍乡市PM2.5浓度升高过程,主要受北部上游地区在不利扩散条件下积累的污染物,于13日夜间至14日清晨随系统北风输送影响所致。”
7. 避坑指南与经验之谈
最后,分享一些我在这几年使用HYSPLIT过程中踩过的坑和积累的经验,希望能帮你少走弯路。
- 时间时区是头号杀手:我已经强调了三遍,但还得再说一遍:UTC和北京时间的8小时时差,是新手翻车的第一大原因。养成条件反射:输入模型时间前,先做“减8”运算。最好在笔记本上明确记下:事件北京时间 -> 对应UTC时间。
- 气象文件日期覆盖:确保你选的GDAS周文件(w1-w5)完全覆盖你轨迹计算的整个时间段。比如你要回溯72小时,那么起始时间往前推3天,这3天都必须包含在你选的那个周文件里。如果跨周了,比如从14号回溯到11号,而11号在w2文件的第一天之前,那你就需要手动下载相邻两周的文件,并通过更高级的本地运行模式来设置,在线单次运行可能无法直接处理。
- 起始高度设置要合理:不要只用一个高度。至少设置两个(如50米和500米),对比着看。近地面高度受地形和边界层影响大,代表性可能局限;500-1500米的高度更能反映自由大气中的主导气流,对于区域传输研究更重要。
- 模型误差客观存在:HYSPLIT是模型,不是上帝视角。它的准确性依赖于输入的气象数据(GDAS等)的精度。对于复杂地形、静稳天气下的微风条件,模拟不确定性会增大。所以,轨迹分析更多是提供一种“可能性”和“指向性”,它是指南针,而不是GPS定位器。解读结论时,要用“可能”、“主要贡献”、“指示作用”这类词汇,避免绝对化。
- KMZ文件打不开? 如果下载的KMZ文件用Google Earth打不开,可能是文件下载不完整,或者Google Earth版本太旧。尝试重新下载,或更新到最新版的Google Earth Pro。也可以尝试用解压软件(如7-Zip)将
.kmz文件解压(它本质是个zip包),里面会有.kml文件,用文本编辑器可以查看其内容,或者用QGIS直接打开这个KML文件。 - 从在线到本地:当你熟练掌握在线操作后,如果分析需求变得频繁和复杂,可以考虑学习在本地计算机上安装和运行HYSPLIT。本地运行功能更强大,可以批量计算、自定义气象数据、进行聚类分析等。NOAA官网提供了完整的本地版安装包和教程,虽然初期配置有点麻烦,但一旦搞定,工作效率会大大提升。
后向轨迹分析就像给大气污染拍一张“来源CT”,它不能直接告诉你污染物的化学成分,但它能清晰地勾勒出“风从哪里来”这条至关重要的线索。结合排放清单、卫星遥感、地面监测等多源数据,你就能构建起一套立体的污染溯源分析体系。
697



被折叠的 条评论
为什么被折叠?



