【SUEWS 教程第7.1期】天气研究与预报模型 WRF-SUEWS

目录

  • [7.1.1.1. WRF-SUEWS Coupling](#7.1.1.1. WRF-SUEWS Coupling)
    • [7.1.1.1.1 概述(Overview)](#7.1.1.1.1 概述(Overview))
    • [7.1.1.1.2 技术架构(Technical Architecture)](#7.1.1.1.2 技术架构(Technical Architecture))
    • [7.1.1.1.3 安装与配置(Installation and Setup)](#7.1.1.1.3 安装与配置(Installation and Setup))
    • [7.1.1.1.4 使用流程(Usage Workflow)](#7.1.1.1.4 使用流程(Usage Workflow))
    • [7.1.1.1.5 与现代 SUEWS 的集成(Integration with Modern SUEWS)](#7.1.1.1.5 与现代 SUEWS 的集成(Integration with Modern SUEWS))
    • [7.1.1.1.6 研究应用(Research Applications)](#7.1.1.1.6 研究应用(Research Applications))
  • [GitHub-WRF-SUEWS 简介](#GitHub-WRF-SUEWS 简介)
  • 参考

WRF-SUEWS 是一个将 天气研究与预报模型WRF )与 城市表面能量与水分平衡模式SUEWS)相集成的耦合系统。它旨在通过结合大气环流模拟与城市地表物理过程,提高城市气候模拟的精度,尤其是在中尺度范围内。

7.1.1.1. WRF-SUEWS Coupling

7.1.1.1.1 概述(Overview)

目的:

WRF-SUEWS 联合模拟系统结合了 WRF 和 SUEWS 各自的优势:

  • WRF 提供中尺度三维大气动力与气象场模拟;
  • SUEWS 提供城市地表详细的能量与水分通量计算。

主要优势:

  • 双向耦合
    • SUEWS 给 WRF 提供地表热通量;
    • WRF 向 SUEWS 提供气象强迫;
  • 城市物理机制增强:模拟城市热岛、植被影响等;
  • 高分辨城市气候模拟:适用于评估微气候、热浪等;
  • 研究应用广泛:城市规划、极端气候研究等。

7.1.1.1.2 技术架构(Technical Architecture)

耦合策略:

  • 替换 WRF 默认的城市冠层模式(UCM)为 SUEWS;
  • 初始化:将 SUEWS 地表参数嵌入到 WRF 土地利用数据中;
  • 运行期:每时间步由 WRF 调用 SUEWS 生成地表热、湿通量;
  • 数据交换:双向传输气象变量与地表能量平衡结果;
  • 输出结果:保存结合后的 WRF 气象变量与 SUEWS 诊断量。

支持功能:

  • 地表类型(7种):建筑、硬化地面、植被、水体等;
  • 能量平衡计算:包括地下热通量;
  • 水文过程模拟:蒸散发、地表径流;
  • 人为影响建模:例如人口密度、建筑耗能等。

7.1.1.1.3 安装与配置(Installation and Setup)

⚠️ 推荐在高性能计算平台(如 JASMIN HPC)运行,需较强技术背景。

系统依赖:

  • 编译器:Intel Fortran(推荐)或 GCC;
  • 依赖库:NetCDF、HDF5、MPI;
  • 平台:Linux/Unix,Apple M1 支持;

安装步骤:

bash 复制代码
# 克隆代码库
git clone --recurse-submodules https://github.com/Urban-Meteorology-Reading/WRF-SUEWS.git
cd WRF-SUEWS

# 创建 Conda 环境并激活
conda env create --file=wrf_suews.yml
conda activate wrf_suews

然后根据不同平台编译说明完成编译。

7.1.1.1.4 使用流程(Usage Workflow)

  1. 预处理(WPS 阶段)
bash 复制代码
./geogrid.exe   # 生成地理数据
./ungrib.exe    # 解析气象数据
./metgrid.exe   # 网格内插
  1. SUEWS 参数设置
  • 土地利用分类
  • 表面参数(建筑高度、植被覆盖率等)
  • 人为强迫(人口密度、能耗模式)
  1. 运行 WRF-SUEWS 模拟
bash 复制代码
./real.exe       # 实际气象预处理
mpirun -np <cores> ./wrf.exe   # 并行运行耦合模型
  1. 输出分析

输出结果涵盖:

  • 气象变量:温度、风速、湿度等;
  • 地面通量:感热、潜热、动量通量;
  • 城市诊断量:地下热通量、径流、建筑能耗等。

7.1.1.1.5 与现代 SUEWS 的集成(Integration with Modern SUEWS)

❗ 当前局限:

  • 基于旧版 SUEWS,不支持 Python 接口 SuPy;
  • 需复杂手动设置参数,缺乏自动化工具。

未来发展方向:

1、SuPy 接口构想:

python 复制代码
import supy as sp
import wrfsuews

sites = wrfsuews.generate_suews_sites(wrf_domain, landuse_data)
wrf_output = wrfsuews.run_coupled(
    wrf_config="namelist.input",
    suews_sites=sites,
    start_date="2020-06-01",
    end_date="2020-08-31"
)

2、自动参数推导:

  • 利用现代 GIS 工具;
  • 接入 UMEP 平台进行空间分析;
  • 自动生成建筑与覆盖数据。

3、输出可视化与分析:

  • 接入 Pandas/xarray;
  • 半自动生成科技图表;
  • 接入气候影响评估流程。

7.1.1.1.6 研究应用(Research Applications)

1、城市热岛(UHI)研究:

python 复制代码
urban_temp = wrf_output.sel(landuse='urban')['T2']
rural_temp = wrf_output.sel(landuse='rural')['T2']
uhi_intensity = urban_temp - rural_temp

2、气候变化情境模拟:

  • 极端天气再现:如热浪;
  • 模拟城市绿色基础设施效益;
  • 建筑节能策略验证。

3、城市规划支持:

  • 不同建设情境模拟;
  • 城市自然通风与绿化配置优化;
  • 城市尺度能耗模式分析。

GitHub-WRF-SUEWS 简介

WRF-SUEWS 是一个将传统的 WRF 模型中的城市冠层模块替换为更详细、更物理真实的城市地表能量与水分平衡模型 SUEWS 的耦合方案。被广泛用于城市热岛研究、气候影响评估以及城市规划支持。

bash 复制代码
git clone --recurse-submodules ...
        ↓
conda create & activate 环境
        ↓
编译 WRF & WRF-SUEWS 接口整合
        ↓
准备输入数据(met + SUEWS)
        ↓
运行 ./real.exe & ./wrf.exe
        ↓
分析增强后的输出

1、克隆 WRF-SUEWS 仓库 ➕ 子模块

WRF-SUEWS 使用 Git 的子模块功能来管理依赖的模块,比如 SUEWS 与运行脚本,因此需使用 --recurse-submodules 选项。

bash 复制代码
git clone --recurse-submodules https://github.com/Urban-Meteorology-Reading/WRF-SUEWS.git

git submodule init
git submodule update

cd WRF-SUEWS

2、安装环境依赖(推荐使用 Conda)

README 提供了一个 Conda 环境配置文件 wrf_suews.yml,可一键安装所需依赖。

步骤:

bash 复制代码
conda env create --file=wrf_suews.yml
conda activate wrf_suews

安装内容包括:

  • Fortran 编译器(如:ifortgfortran
  • NetCDF、MPI 库(HPC 并行计算支持)
  • Python 依赖(可能用于配置或分析)

3、编译 WRF 和 WRF-SUEWS

编译分为两部分:

3.1 编译标准 WRF:

需先配置 WRF 的编译环境(推荐 GCC 或 Intel 工具链):

bash 复制代码
cd WRF/
./configure
./compile em_real >& compile.log &

3.2 编译 SUEWS 模块并向 WRF 中集成(WRF-SUEWS 定制)

根据仓库中的说明文件(通常包含在 WRF-SUEWS/README.mddoc/ 子目录中)调整如下:

  • 替换 WRF 中的某些模块或添加接口函数(如 SurfaceDriver);
  • 修改 module_sf_noahdrv.F 加入 SUEWS 接口;
  • Makefile 中添加编译规则;

⚠️ 具体操作请参阅项目文档中的 "Platform-specific build instructions"


4、准备运行所需的输入数据

模拟运行前,需要准备以下数据:

  1. WPS 文件处理阶段:
bash 复制代码
./geogrid.exe
./ungrib.exe
./metgrid.exe
  1. SUEWS 所需输入参数:
  • 土地利用类型分类 (landuse)
  • 城市表面参数(建筑、草地、植被覆盖等)
  • 人为排放与能耗数据(如:人口密度、建筑用能)

这些可以通过 Python 工具或 GIS 工具生成。


5、运行模拟

bash 复制代码
./real.exe       # 预处理
mpirun -np <N> ./wrf.exe     # 并行运行 WRF-SUEWS

运行成功后,将生成联合模拟的输出文件,其中同时包含:

  • WRF 标准气象输出(温度、湿度、风速等);
  • SUEWS 输出(感热通量、太阳辐射、地下热通量、人为热等)。

参考

1、官方文档-WRF-SUEWS 联合系统

2、GitHub-Urban-Meteorology-Reading/WRF-SUEWS

3、论文-J2024-WRF (v4.0)--SUEWS (v2018c) coupled system: development, evaluation and application-Geoscientific Model Development