ENVI-met微气候模拟实战:从建模到结果解读

发布时间:2026/10/4 7:19:24
ENVI-met微气候模拟实战:从建模到结果解读 做微气候模拟这几年我被问得最多的软件就是 ENVI-met。很多刚接触这个方向的朋友要么是卡在建模阶段不知道怎么下手要么是模型能跑但不会调参数结果算出来的东西自己都不信。这很正常ENVI-met 在同类微气候模型里算是上手门槛偏高的那类它不像 CFD 通用软件那样有庞大的中文社区也不像热环境评价工具那样输入几个参数就能出结果。但它确实是目前做城市街区尺度热环境、风环境、人体热舒适模拟时用得最顺手、发表成果认可度也最高的工具之一。这篇内容我不打算写成软件手册的翻译版而是按我自己从零开始用 ENVI-met 做项目的一套完整流程来梳理从拿到一个场地怎么准备底图到模型怎么建、参数怎么调、模拟怎么跑再到结果怎么提图、怎么判断数据靠不靠谱。文章主要面向两类人一是刚接触微气候模拟、正准备把 ENVI-met 作为主要工具的研究生或设计师二是已经能跑通简单案例、但总感觉结果哪里不对劲、想系统排查问题的人。看完你至少能建立起一条完整的工作链——拿到场地建出能用的模型跑出可信的结果最后把图提出来放进论文或报告里。1. 为什么城市微气候研究绕不开 ENVI-met1.1 它能解决什么问题先聊点实在的。城市热岛、行人高度热舒适、通风廊道评估、绿化降温效益分析这些命题有一个共同特点它们都发生在城市街区这个尺度上既不像气象模式那样覆盖几十公里范围又不像单体建筑能耗模拟那样只盯着建筑内部。ENVI-met 恰好卡在这个中间尺度——水平范围从几十米到几公里都能处理空间分辨率可以做到 0.5 米到 10 米能够精细刻画建筑、植被、水体、下垫面对微气候的联合影响。它的核心计算逻辑是求解大气动力学、热力学、辐射传递、土壤-植被-大气相互作用等多物理场耦合方程。换句话说它同时模拟了风速风向随建筑布局的改变、太阳辐射在建筑和树木遮挡下的再分配、地表和墙面的热量平衡、蒸散发对空气温湿度的影响。所以当你需要回答“这排树能不能降低街道行人高度的体感温度”“这个地块改了建筑高度后风环境会不会变差”“铺透水砖比沥青路面对热环境改善多大”这类具体问题时ENVI-met 几乎是首选。它不是万能的。它不适合做单体建筑内部的热工模拟也不适合分析城市尺度数小时的气象过程。但如果你需要评估“设计方案对户外热舒适的影响”目前它是最成熟、可操作性最强的工具。1.2 版本迭代带来的工作流差异ENVI-met 目前已经更新到了 5.x 系列工作流界面发生了比较大的变化。5.0 之后软件把建模、模拟、后处理分成了 Spaces建模、ENVI-met计算核心、LEONARDO可视化三个模块另外还附带 ENVI-met 插件用于 SketchUp、Grasshopper、QGIS 等平台的模型导入导出。我用过 4.x 和 5.x最大的感受是新版对中文用户更友好界面逻辑更清晰建模效率也高很多。老版本里很多操作要手动输入坐标现在可以在 Spaces 里直接用鼠标绘制建筑和植被还支持从 GeoJSON、DXF 等格式导入地形和建筑底图。但核心计算原理没有变网上能找到的大部分 4.x 教程里的参数含义放到 5.x 里仍然适用只是菜单位置变了。我建议新用户直接学 5.x没必要在老版本上浪费时间。但有一点要注意不同版本的模型文件格式不兼容如果用 5.1 建的模型最好用同样版本去跑否则会出现参数丢失或读不出来模型的情况。2. 建模前的准备工作比打开软件更重要2.1 场地资料的收集与整理很多人拿到一个场地就急着打开 Spaces 开始画方块结果建到一半发现缺地形、缺建筑高度、缺树木资料又得回去补数据。我自己的经验是建模前花一两天把资料整理齐后面能省出一周时间。最基本的资料清单包括三类。第一类是场地边界和建筑轮廓一般从规划图纸、测绘 CAD、或者 Google Earth / 百度地图里获取。第二类是建筑高度和层数信息可以从规划条件、建筑设计图纸里拿到实在没有的话也可以按经验估算——比如住宅层高按 2.8 到 3 米、办公建筑按 3.6 到 4 米来换算但要标注清楚这是估算值后面做敏感性分析时再讨论不确定性。第三类是植被和水体分布要知道场地里哪些是乔木、哪些是灌木、哪些是草地树的冠幅大概多少米水体是静止的还是流动的。环境气象数据也别漏了。ENVI-met 需要输入模拟起始时刻的气温、相对湿度、风速、风向以及太阳辐射参数。这些可以参考当地气象站的典型气象年数据也可以实测。注意要选一个典型的夏季或冬季代表日别拿极端天气日的数据来做常态评价。2.2 模型域尺寸与栅格分辨率怎么定模型域的尺寸和网格分辨率直接决定模拟的精细程度和计算耗时需要在建模前就定好。这里面有个核心经验ENVI-met 的模拟结果只对模型中心区域有意义边界附近的流场和热场会受开放边界条件影响所以场地周边要有足够的缓冲区域。一般来说模型域的水平范围至少是研究区域边界向外扩展 3 到 5 个网格的距离。比如你要研究一个 200 米 × 300 米的街区网格分辨率取 3 米的话那么模型域至少应该是200 2×15×300 2×15米也就是 230 × 330 米。网格分辨率的取值要平衡计算精度和时间。2 米网格能刻画小尺度的树木和构筑物细节但计算量是 4 米网格的 8 倍以上因为水平网格每减少一半垂直层数可能还得跟着加密。我给不同尺度的案例做过对比街区尺度用 3 到 5 米网格基本够了如果要重点分析单棵树的遮荫效果可以用 1 到 2 米网格但不建议把整个模型域都设成这个分辨率算一次可能要跑好几天。开源的备用方案是把模型域分块研究区域用细网格外围用粗网格。ENVI-met 5.x 支持嵌套网格功能能显著减少计算量。2.3 模拟日期、时长与初始条件设置在 ENVI-met 主界面设置模拟参数时有几个关键选项要注意。模拟日期决定了太阳辐射的强度和角度一般选择你关心的典型日比如夏季最热时段7 月或 8 月或冬季最冷时段1 月。模拟时长建议至少 24 小时从夜间开始算起这样可以让模型预热一段时间消掉初始场带来的不稳定性。初始边界条件里风速风向、气温、相对湿度这三个是必填项。如果你的目标是做方案对比一定要保证所有方案用同一套气象边界条件否则对比结果就没有意义。地面温度和墙体温度参数一般用默认值让模型自己去calculate。需要提醒的是ENVI-met 的辐射计算考虑了纬度、经度和海拔你需要在建模时准确输入场地的经纬度。有的版本会根据投影坐标自动换算但最好自己复核一下别差出几百公里。还在纠结用 Tair 还是 Specific Humidity 填写初始条件的读者我建议手上备一份转换公式或者直接用 ENVI-met 的默认相对湿度。这些细节属于“看着不起眼、错起来要命”的类型后面数据偏差往往就是从这里来的。3. 在 Spaces 里一步步搭建可用的模型3.1 用 Spaces 建模的基本操作逻辑Spaces 是 ENVI-met 5.x 的建模模块界面分区非常清晰左侧是对象面板和图层管理中间是三维视图窗口右侧是属性栏。初次打开默认会生成一个带有少量网格的空白模型你可以通过 Model 菜单调整模型域的尺寸和网格设置。Spaces 的基本操作逻辑是先定义一个网格系统然后在网格上放置不同类型的对象。建筑是“实心体块”植被分乔木、灌木、草地三种地表类型包括水泥地、沥青路、草地、裸土、水体和自定义类型。每个对象都可以设置高度、层数、墙体材料、屋顶类型等属性。我强烈建议在开始放置对象之前先在菜单栏的 Model Settings 里把网格分辨率和模型域尺寸设置好建完模型再改网格会导致对象位置错乱。这个坑我踩过一次两百多个建筑体块全部重来印象太深刻了。在地块建筑的平面定位上可以在底图模式下导入场地卫星图或 CAD 底图然后在三维视图里照着描。Space 提供了 Add Building 工具选择后可以直接拖拽出一个长方体再用右侧的属性栏修改长、宽、高。需要更精准的定位时直接输入坐标。3.2 建筑体块的建模技巧Shoebox 模型长方体盒子是 ENVI-met 最基础也是最高效的建筑建模方式。在街区尺度研究中建筑内部的房间划分、开窗位置、空调系统都不用关心只需要把建筑体块高度和外轮廓做对就行了。但有几个细节值得留意。第一建筑高度不能只写总高度还要在属性面板里确认建筑底部是否在网格地面上。如果地形有起伏需要把 Base Elevation 设置到真实标高否则会出现建筑悬浮或者埋进土里的情况。第二屋顶类型会影响屋顶表面热量平衡比如绿色屋顶和普通混凝土屋顶模拟出来的屋表温度会差很多要按实际情况选择。第三墙面材料和颜色影响反照率默认值往往偏大有条件的话按照真实材料去设置。对于复杂屋顶比如坡屋顶、退台、屋顶设备可以用多个体块叠加来实现。ENVI-met 不要求建模到建筑细节级别那是渲染软件的事模拟核心关心的是体量关系对风热环境的影响。植被建模是 ENVI-met 的一大特色。在 Spaces 左侧的对象面板里可以选择不同种类的树木支持调整树高、冠幅、树冠起始高度、叶面积密度等参数。不同的树种对温湿环境的影响差异很大——比如冠幅大、叶面积指数高的树遮荫效果好但可能阻碍通风。你需要根据目标来选择树种参数。很多人忽略的一点是树木的位置和冠幅要按真实情况放不要为了美观把树排得均匀对称。建筑阴影和树影是微气候模拟中最重要的辐射调节因素之一一棵 8 米高的树放在开阔地还是建筑南侧降温效果能差近一倍。灌木和草地的建模更简单同样在对象面板里拖拽即可。注意草地不要覆盖整个地表否则会影响下垫面反照率和水文过程。理想情况下地表层应该由建筑投影区域、道路、铺装、绿化、水体等不同属性组合而成每种地表都有各自的热力和水分参数。3.3 从 CAD 和 GIS 数据快速导入模型如果场地比较规则、有几栋建筑手动画没问题。但如果是复杂的城市片区建议使用 ENVI-met 的插件或导入功能。ENVI-met 5.x 支持通过 Spaces 里的 Import 菜单导入 DXF、GeoJSON、Shapefile 等格式的数据。操作流程是在 GIS 里整理好建筑轮廓和高度属性导出成 GeoJSON 或 Shapefile然后用 Import 功能导入再在对话框里指定建筑高度的属性字段。这样一个几十栋建筑的小区几分钟就能建完。对于 SketchUp 用户可以在插件库中安装 ENVI-met 插件直接在 SketchUp 里选择面然后一键导出为 ENVI-met 模型格式。这个插件对体量模型的识别很稳定但对复杂曲面不友好如果模型里有大量弧面、球面最好先简化成多面体再导出。导入数据时最常遇到的问题就是坐标偏移。原因通常是模型坐标系和 ENVI-met 的网格系统不一致或者 CAD 中的单位和 ENVI-met 的单位设置不一致。我建议在导入前先把 CAD 文件平移靠近原点比如将场地中心放在0,0附近再把单位统一成米。实测下来这个操作能规避 80% 的坐标错位问题。3.4 地表类型和下垫面的精细化处理ENVI-met 的地表分类直接关系潜热通量、储热通量和表面反射率。比如沥青路面的反照率默认在 0.05 左右白天吸热能力极强辐射温度升高明显而透水砖或草地则有较好的蒸发降温效果。在 Spaces 里通过 Set Surface 工具可以逐格指定地表类型也可以在导入 GIS 数据时一并携带地表分类字段。这里有一个容易犯的错很多人把所有非建筑区域都默认成草地或裸土模拟结果会明显偏离现实。城市环境里真实的下垫面大部分是硬质铺装和道路草地的比例其实很低。建议花点时间把道路、人行道、广场铺装、水体这些下垫面类型分出来再单独设置相应的热力参数。水体在 ENVI-met 中也有专门类型默认水面反照率大概在 0.1 左右。水体虽然比热容大、白天升温慢但其对空气温湿度的调节机制比我们想象中要复杂——水面蒸发会增加近地面湿度在湿热地区可能反而降低人体热舒适度。研究结果解释时要特别留意这个非线性效应。4. 模拟运行的参数设置和计算控制4.1 模拟时长与时间步长的选择逻辑在 ENVI-met 5.x 的 ENVI-met 模块中设置模拟时除了起始时间、总时长还有一个重要的 Time Step 选项。Time Step 决定了每步计算的物理时间模型会在每个步长内求解一次辐射、热量和水汽平衡。默认值是 1 秒到 5 秒不等具体取决于模型复杂度和 Courant 稳定性条件。我能给出的实操建议是优先使用自动时间步长让软件根据风速自动调整因为过大的时间步长容易导致风场发散过小则会浪费无效计算时间。如果你的模型里风速较高比如超过 5 m/s初始阶段很容易出现数值震荡这时把时间步长调小到 1 秒往往能解决问题。模拟时长方面常规研究习惯设置 24 小时且建议从前一天下午开始。比如你关心的是 7 月 15 日下午 14:00 的热环境那可以设置为 7 月 14 日 18:00 开始、模拟 24 小时这样利用夜间时间预热模型让夜间到凌晨的冷空气和辐射冷却过程建立好初始场白天的结果才可靠。如果需要分析连续多天ENVI-met 支持连续模拟多日但计算时间会成倍增加而且多日模拟的边界条件要跟气象数据序列匹配设置不对反而产生系统误差。大多数方案对比不需要连续多日单日典型气象日足以说明问题。4.2 嵌套网格与边界条件的处理边界条件在 ENVI-met 里的设置比多数人想象的更影响结果的可靠性。默认的开放式边界适合中小尺度模型但如果模型域外还有大范围的城市区域也就是外围的粗糙度更高建议打开嵌套网格Nesting Grid功能软件会在模型域外自动生成一圈默认城市下垫面的缓冲网格让边界处的流动更自然。嵌套网格的层数一般设置 3 到 5 层就够了太多会增加计算量。我自己做小尺度案例时习惯不启用嵌套网格但场地周边是密集城市时一定会开 3 层嵌套两种设置跑出来的风场差异肉眼可见。土壤参数和地表温度初始值也要合理设置。ENVI-met 默认将土壤分为多层它可以模拟不同深度土壤的温湿度随时间的变化。如果你研究的是长时间尺度或涉及LID措施、雨水下渗等土壤参数优先使用实测值如果只是做一天的热环境对比土壤默认参数已经足够。4.3 计算资源与收益时间管理ENVI-met 的计算速度受网格数量、嵌套层数、模拟时长和计算机 CPU 核数影响。一个 100×120×30 网格的模型用普通 6 核 12 线程的笔记本跑 24 小时模拟大约要 6 到 12 个小时。如果用 2 米网格把尺寸翻倍网格数变 8 倍计算时间会涨到 48 小时以上。有几个加速技巧值得记住。第一把要跑的场景尽量控制在必要的最小模型域内用嵌套网格替代大模型域扩展。第二在初始条件稳定后保存 checkpoint后续改参模拟可以从checkpoint继续跳过前面预热的计算量。第三ENVI-met 支持并行计算可以在 ENVI-met 设置中分配多核给足内存就行。对刚入门的人来说先用一个较小的模型跑通整个流程比一开始就追求高分辨率更实际。先绕开“建了个大而美的模型却跑不动”的困境。5. 结果可视化与数据解读的实操方法5.1 在 LEONARDO 中绘制常用图件模拟完成后ENVI-met 会生成一系列二进制结果文件需要用 LEONARDO 模块来可视化。打开 LEONARDO 后加载结果文件你会看到所有输出变量列表风速、风向量、气温、相对湿度、平均辐射温度MRT、PET、UTCI、PMV 等。每个变量可以对应到不同的高度面最常见的是行人高度也就是地面上方 1.5 米左右的高度层具体看模型垂直网格的划分。绘制一张合格的热环境图一般要经过三个步骤选变量、选高度、设定图例范围和配色方案。图例范围不要直接使用默认的 min-max那样会被局部极值带到失真。比如气温模拟结果在 28 到 39 摄氏度之间如果你关心的是对比方案差异最好把色带范围统一设为 28 到 39 或其他同一区间保证不同方案图件具可比性。LEONARDO 支持导出位图和矢量图。论文投稿通常需要至少 300 dpi 的 TIF 格式或矢量 AI 格式建议直接在 LEONARDO 里调好配色和图例后导出不要导出灰度再后期着色。风向和风速箭头可以在设置里调整密度和比例不要用默认的每隔一个网格画一个箭头——那会让图上密密麻麻全是箭。一般取 3 到 5 个网格画一个箭头比较清爽风场图的观感会好很多。5.2 热舒适指标怎么读ENVI-met 直接输出的指标非常多PET生理等效温度、UTCI通用热气候指数、PMV、SET* 是最常用的几个。它们之间的区别简单理解就是PET 和 UTCI 考虑了人体热平衡与环境参数的耦合PMV 偏向稳态热感觉模型而 SET* 是标准有效温度。在不同文献里不同指标的解释标准不一样做研究时选定一种指标后必须保持全文一致。用手感判断高温热环境时最直观的变量是平均辐射温度MRT。MRT 其实是衡量人体在环境中接收到的所有短波和长波辐射总效应的温度它跟太阳直接辐射、地面长波辐射、墙体反射都相关。夏季晴天中午开阔沥青广场的 MRT 可以比气温高出 20 到 30 摄氏度这时候人感受到的不舒适主要不是空气热而是辐射热。ENVI-met 的优势在于能较准确地模拟这种辐射分布差异这是很多简单热指数无法做到的。在结果解读时要记住 ENVI-met 输出的是“某个物理过程之间的平衡状态”不是实测值。把它和实测数据对比时需要先校准边界条件不要期望模拟值和实测数据完全贴在一起。能还原趋势、空间分布规律和相对差异就已经达到了方案对比阶段的要求。5.3 从结果反推模型问题的思考路径我拿到一份模拟结果时第一步不是直接看图而是看几个“检查变量”模拟区域平均气温是否随时间变化平滑、夜间风速是否过小、建筑背风侧是否出现极低风速区。如果气温曲线出现锯齿状跳跃多半是数值不稳定如果整个模型域风速普遍趋近 0可能是边界条件设置错误或地形导致了过度阻塞。另一种常见问题是建筑表面温度异常——比如某些墙面白天飙到 70 摄氏度以上一般是因为墙体材料默认参数里反照率被设得太低或导热系数太高需要调整。解决方法是先在属性面板检查材质的热力学参数再对比实际经验范围有条件用热红外实测数据来标定。结果检查其实是模拟流程中最重要的“质检”环节。宁可多花半天排查异常也不要着急出图写报告否则错误结果带着错误结论一起出去返工成本更高。6. 常见问题与排查技巧实录6.1 模拟中途报错或结果发散这是新手在用 ENVI-met 时最容易撞上的问题。报错五花八门但最常见的根子就两个一是时间步长大导致风场发散二是模型里出现了孤立的、互不连通的体块导致局部流动畸形。解决办法是这样的先把 Time Step 手动调小到 1 秒重新跑如果还是发散检查建筑体块是否悬浮在半空、是否有完全封闭的庭院但没留出进风口、是否有种植在水体上的树。这些建模“脏数据”都会干扰计算。还有一个非常实用的办法先跑 1 小时模拟看日志如果前几十分钟温度场和风场不异常再跑完整时长省时省力。6.2 模拟结果与实测数据偏差大对比实测时偏差过大优先检查气象边界条件。气象站数据在模拟时段内的风速风向是否和输入完全一致气温是否有日较差输入有些人在模拟时随手填了一个固定气温等于没让模型感受到昼夜变化结果自然对不上实测。另一个隐蔽原因是观测点位置与模型网格位置的对应关系出了问题。ENVI-met 结果文件里如果要在特定点提取数值需要记录该点所在网格的索引不能直接用地理坐标找。网格索引和地理坐标的换算要提前弄清楚否则提取出来的数据根本不是那个点的。最后要检查的是植被参数。树木的叶面积密度LAD和冠幅会在很大程度上影响太阳辐射衰减量参数设置不合理会导致树荫下气温明显偏离实测。有实测数据时用 LAD 和反照率做一次敏感性分析找出最匹配的一组参数比盲目堆条件更能提升准确率。6.3 我的排错参考速查表现象可能原因优先排查手段计算发散时间步长过大手动设为 1 秒再试全场风速过小边界条件或嵌套层设置不当检查风速风向输入增大嵌套层白天温度过高下垫面类型和反照率不合理调整地表类型降低反照率极低值区域夜间降温过快初始土壤温湿度或云量设置不当校准初始场检查云量设置建筑阴影偏大/偏小经纬度或模拟日期错误核对场地经纬度和日期模拟速度极慢网格数过多、嵌套层过多降低分辨率减少嵌套层开启并行图例对比不客观不同方案色带范围不一致统一色带 min-max 范围这张表里的条目都是我在实际项目里踩过并且反复排查过的问题可以作为你调模型时的参考清单。7. 最后再分享几个提高效率的小技巧建模时的图层管理建议从一开始就建立好习惯。在 Spaces 中把建筑、乔木、灌木、地表类型分别放到不同图层后面要做方案对比时只要复制项目文件、替换其中一个图层就能快速生成对比模型。我见过不少人所有对象都堆在默认图层里等到想改一个树的位置选半天选不中效率极低。做多方案对比时强烈建议给不同方案单独建立文件夹并在文件命名里包含日期、分辨率、边界条件版本。ENVI-met 的模拟文件比较多命名不清晰的话一周后你根本分不清哪个模型对应哪个方案。我自己的命名格式是“场地名_方案A_3m_0807_完整”供你参考。最后一个体会用 ENVI-met 做微气候分析最花时间的不一定是操作本身而是理解你得到的数字到底在讲什么故事。城市热环境是个多因素耦合的系统一栋楼、一排树、一片水体的影响都是相互作用的。建模的前期工作越扎实、参数设置越贴近实际情况结果就越有说服力。建议拿到一个新场地时先花时间在现场或者地图上把每一类下垫面确认一遍这个习惯比任何参数优化技巧都更值钱。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询