一、前言
在COAWST耦合模式系统中,coupling.in 是控制多模式耦合运行的核心配置文件。它定义了大气模式(WRF)、海洋模式(ROMS)、海浪模式(SWAN/WW3)和水文模式之间的耦合关系、通信频率以及插值权重文件等关键参数。
本文以Sandy飓风模拟案例的 coupling_sandy.in 为例,详细解析各参数的含义与配置方法。
二、文件基本规则
在介绍具体参数之前,先了解一下该文件的通用规则:
三、处理器分配参数
3.1 参数说明
NnodesATM = 1 ! 大气模式
NnodesWAV = 1 ! 海浪模式
NnodesOCN = 1 ! 海洋模式
NnodesHYD = 0 ! 水文模式
| NnodesATM | 分配给大气模式(WRF)的处理器数量 | 1 |
| NnodesWAV | 分配给海浪模式(SWAN/WW3)的处理器数量 | 1 |
| NnodesOCN | 分配给海洋模式(ROMS)的处理器数量 | 1 |
| NnodesHYD | 分配给水文模式的处理器数量 | 0(未启用) |
3.2 注意事项
- 所有处理器数量之和必须等于总处理器数,如用mpirun运行此例子需要 -np 3
- 如果水文模式未启用,NnodesHYD 应设为 0
- 处理器分配应根据各模式的计算量和网格大小合理配置,可通过运行输出日志中模式分量的打印情况配置,哪个计算得慢,多分配给哪个
- NnodesOCN要与roms_ocean.in中NtileI*NtileJ保持一致
四、耦合时间间隔参数
4.1 参数说明
TI_ATM2WAV = 1800.0d0 ! 大气 → 海浪 耦合间隔
TI_ATM2OCN = 1800.0d0 ! 大气 → 海洋 耦合间隔
TI_WAV2ATM = 1800.0d0 ! 海浪 → 大气 耦合间隔
TI_WAV2OCN = 1800.0d0 ! 海浪 → 海洋 耦合间隔
TI_OCN2WAV = 1800.0d0 ! 海洋 → 海浪 耦合间隔
TI_OCN2ATM = 1800.0d0 ! 海洋 → 大气 耦合间隔
TI_OCN2HYD = 0.0d0 ! 海洋 → 水文 耦合间隔
TI_HYD2OCN = 0.0d0 ! 水文 → 海洋 耦合间隔
| TI_ATM2WAV | 大气模式向海浪模式传递数据的间隔 | 秒 |
| TI_ATM2OCN | 大气模式向海洋模式传递数据的间隔 | 秒 |
| TI_WAV2ATM | 海浪模式向大气模式传递数据的间隔 | 秒 |
| TI_WAV2OCN | 海浪模式向海洋模式传递数据的间隔 | 秒 |
| TI_OCN2WAV | 海洋模式向海浪模式传递数据的间隔 | 秒 |
| TI_OCN2ATM | 海洋模式向大气模式传递数据的间隔 | 秒 |
| TI_OCN2HYD | 海洋模式向水文模式传递数据的间隔 | 秒 |
| TI_HYD2OCN | 水文模式向海洋模式传递数据的间隔 | 秒 |
4.2 配置建议
五、模式输入文件路径
5.1 参数说明
ATM_name = namelist.input ! 大气模式输入文件
WAV_name = Projects/Sandy/swan_sandy.in \\
Projects/Sandy/swan_sandy_ref3.in ! 海浪模式输入文件
OCN_name = Projects/Sandy/ocean_sandy.in ! 海洋模式输入文件
HYD_name = hydro.namelist ! 水文模式输入文件
| ATM_name | 大气模式(WRF)的namelist输入文件路径 | namelist.input |
| WAV_name | 海浪模式的输入文件路径,多网格需列出多个文件 | swan_sandy.in |
| OCN_name | 海洋模式(ROMS)的输入文件路径 | ocean_sandy.in |
| HYD_name | 水文模式的namelist输入文件路径 | hydro.namelist |
5.2 海浪模式多网格配置
当海浪模式有多个嵌套网格时,需要为每个网格指定输入文件:
WAV_name = Projects/Sandy/swan_sandy.in \\
Projects/Sandy/swan_sandy_ref3.in
这里表示有两个网格:主网格 swan_sandy.in 和嵌套网格 swan_sandy_ref3.in。
六、插值权重文件配置
6.1 两种配置选项
COAWST提供了两种配置插值权重文件的方式:
SCRIP_WEIGHT_OPTION = 1
| 1 | 使用单一合并文件(推荐) |
| 2 | 使用多个独立文件(未来版本将移除) |
6.2 选项1:单一合并文件
SCRIP_WEIGHT_OPTION = 1
SCRIP_COAWST_NAME = Projects/Sandy/scrip_sandy_static.nc
所有网格间的插值权重都存储在一个NetCDF文件中,由 scrip_coawst 工具生成。
优点:
- 文件管理简单
- 配置简洁明了
- 运行效率更高
6.3 选项2:多个独立文件(即将废弃)
SCRIP_WEIGHT_OPTION = 2
W2ONAME == Projects/Sandy/wav1_to_ocn1_weights.nc \\
Projects/Sandy/wav1_to_ocn2_weights.nc \\
Projects/Sandy/wav2_to_ocn1_weights.nc \\
Projects/Sandy/wav2_to_ocn2_weights.nc
W2ANAME == …
A2ONAME == …
A2WNAME == …
O2ANAME == …
O2WNAME == …
需要为每对网格间的关系指定独立的权重文件。
命名规则:
- W2ONAME:Wave → Ocean 插值权重文件
- W2ANAME:Wave → Atmosphere 插值权重文件
- A2ONAME:Atmosphere → Ocean 插值权重文件
- A2WNAME:Atmosphere → Wave 插值权重文件
- O2ANAME:Ocean → Atmosphere 插值权重文件
- O2WNAME:Ocean → Wave 插值权重文件
参考资料
- COAWST官方文档
- Warner, J.C., et al. (2010). Development of a Coupled Ocean–Atmosphere–Wave–Sediment Transport (COAWST) Modeling System. Ocean Modelling, 35(3), 230-244.




