WRF4.0安装后必做的3件事:验证你的real.exe和ungrib.exe真的能用吗?
当你终于完成了WRF和WPS的编译,看到real.exe、wrf.exe和ungrib.exe这些文件出现在目录中时,那种成就感是难以言喻的。但先别急着庆祝——这些看似成功的编译结果可能隐藏着潜在的问题。就像买了一辆新车后需要进行试驾一样,WRF安装后的验证环节同样重要。本文将带你完成三个关键验证步骤,确保你的WRF系统真正"活"了起来。
1. 验证WPS组件:从geogrid到ungrib的完整流程
编译成功只是第一步,真正的考验在于这些程序能否正确处理数据。让我们从WPS组件开始验证。
1.1 准备测试数据
首先需要获取一份测试用的GFS数据。可以从NCAR的公开数据服务器下载样例数据:
wget https://www2.mmm.ucar.edu/wrf/src/wps_files/gfs_sample.tar.gz tar -xzvf gfs_sample.tar.gz这个压缩包包含了足够小的GFS数据样本,非常适合用于初步验证。
1.2 检查configure.wps关键配置
在运行任何WPS程序前,必须确认configure.wps文件中的关键设置正确无误。特别是以下参数:
| 参数 | 正确示例 | 常见错误 |
|---|---|---|
| COMPRESSION_LIBS | -L/path/to/grib2/lib -ljasper -lpng -lz | 路径错误或缺少库 |
| COMPRESSION_INC | -I/path/to/grib2/include | 包含路径不正确 |
| FDEFS | -DUSE_JPEG2000 -DUSE_PNG | 缺少必要的宏定义 |
使用文本编辑器打开configure.wps,确保这些参数与你实际安装的grib2库路径一致。这是ungrib.exe能够正常处理GRIB2数据的关键。
1.3 运行geogrid.exe
首先测试地理数据处理组件:
./geogrid.exe >& log.geogrid检查输出日志:
grep -i "successful" log.geogrid预期看到"Successful completion of geogrid"消息。同时检查生成了geo_em.d01.nc文件。
1.4 验证ungrib.exe处理能力
这是最容易出问题的环节。运行:
./ungrib.exe >& log.ungrib检查日志中的关键点:
- 是否成功识别GRIB2文件
- 是否有解压缩错误
- 是否生成了正确的中间文件
注意:如果ungrib失败,90%的问题出在grib2库的链接上。重新检查
configure.wps中的压缩库设置。
2. 测试metgrid的数据插值功能
在WPS组件中,metgrid.exe负责将气象数据插值到模型网格上。验证步骤:
./metgrid.exe >& log.metgrid成功运行的标志:
- 日志中出现"Successful completion of metgrid"
- 生成
met_em.d01.*系列文件 - 文件大小合理(不应为0KB)
常见问题排查表:
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 无法找到输入文件 | namelist.wps配置错误 | 检查文件路径和前缀设置 |
| 插值过程中崩溃 | 数据与网格不匹配 | 确认地理网格与气象数据区域一致 |
| 输出文件为空 | 权限问题或磁盘空间不足 | 检查写入权限和磁盘状态 |
3. 完整运行WRF:从real到wrf的端到端测试
3.1 准备理想案例测试
为了最小化测试复杂度,建议从理想案例开始:
cd WRF/test/em_real ./ideal.exe这个案例不需要外部输入数据,是验证WRF核心功能的理想选择。
3.2 运行real.exe
修改namelist.input中的基本参数后执行:
./real.exe >& log.real关键检查点:
- 日志末尾应有"real_em: SUCCESS COMPLETE REAL_EM INIT"
- 生成
wrfinput_d01和wrfbdy_d01文件 - 使用ncview快速查看输出文件是否有合理数据
3.3 最终验证:运行wrf.exe
./wrf.exe >& log.wrf监控运行状态:
- 观察日志输出是否正常推进时间步长
- 检查
rsl.error.0000文件中是否有致命错误 - 确认生成了
wrfout_d01_*系列文件
性能优化提示:
- 首次运行可使用单进程测试
- 成功后尝试多进程验证并行功能
- 监控内存使用,确保没有异常泄漏
常见故障排除指南
即使按照步骤操作,仍可能遇到各种问题。以下是一些典型问题的解决方案:
ungrib.exe无法处理GRIB2数据
- 确认jasper、libpng和zlib库正确安装
- 检查
configure.wps中的库路径 - 尝试重新编译WPS
real.exe中途崩溃
- 检查namelist.input中的时间步长设置
- 确认初始条件合理
- 查看详细的错误日志定位问题
wrf.exe输出异常
- 验证输入文件是否完整
- 检查物理参数化方案组合是否兼容
- 确认计算区域和网格设置合理
最后提醒,WRF系统对依赖库的版本非常敏感。如果遇到难以解决的问题,考虑使用Docker容器或Singularity镜像来获得一个已知可工作的环境。保持耐心,仔细阅读错误日志,大多数问题都能通过系统性的排查解决。