1. 环境准备与基础软件安装在Ubuntu系统上安装WRF模式前确保你的系统满足以下条件运行Ubuntu 18.04或更高版本、拥有sudo权限、能够正常连接网络。我实测在Ubuntu 20.04 LTS上最稳定这个版本对各类科学计算库的支持都比较完善。首先更新软件源并升级现有包这个步骤能避免很多奇怪的依赖问题sudo apt update sudo apt upgrade -y接着安装编译器套件。虽然系统可能预装了GCC但建议重新安装确保版本一致sudo apt install -y gcc g gfortranWRF编译过程中会用到多种脚本解释器这些工具缺一不可sudo apt install -y csh ksh m4 make这里有个容易踩的坑m4宏处理器。有次我跳过了这个安装结果configure脚本直接报command not found排查了半天才发现是这个基础工具缺失。建议用m4 --version确认安装成功。2. 关键依赖库安装2.1 WPS必备三件套处理气象数据必须的三大库安装顺序有讲究。先装zlib它是其他库的基础依赖sudo apt install -y zlib1g zlib1g-devlibpng的安装要注意版本兼容性。在Ubuntu 20.04建议直接安装最新版sudo apt install -y libpng-devJasper库用于处理GRIB2格式数据这个安装命令和旧版Ubuntu不同sudo apt install -y libjasper-dev libjasper-runtime验证是否安装成功的小技巧检查/usr/lib/x86_64-linux-gnu/下是否存在libz.so、libpng16.so、libjasper.so等文件。2.2 MPI环境配置WRF的并行计算需要MPI支持。实测mpich比openmpi更稳定推荐使用sudo apt install -y mpich安装后运行这个测试命令mpiexec --version如果显示类似MPICH version 3.3.2的输出说明安装正确。我遇到过环境变量未自动配置的情况这时需要手动添加echo export PATH/usr/bin/mpich/bin:$PATH ~/.bashrc source ~/.bashrc3. HDF5与NetCDF安装3.1 源码编译最佳实践虽然apt可以直接安装这些库但源码编译能获得更好的性能优化。先创建专用目录mkdir ~/libs cd ~/libs wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.12/hdf5-1.12.2/src/hdf5-1.12.2.tar.gz tar -xzvf hdf5-1.12.2.tar.gz cd hdf5-1.12.2编译配置时这几个参数最关键./configure --prefix/usr/local/hdf5 --enable-fortran --enable-cxx --enable-hl \ --enable-shared --enable-static --with-picmake时启用多线程编译能大幅缩短时间根据CPU核心数调整-j参数make -j4 sudo make install3.2 NetCDF完整安装指南NetCDF需要先装C库再装Fortran接口。下载解压后cd ~/libs wget https://downloads.unidata.ucar.edu/netcdf-c/4.8.1/netcdf-c-4.8.1.tar.gz tar -xzvf netcdf-c-4.8.1.tar.gz cd netcdf-c-4.8.1配置时务必指定HDF5路径./configure --prefix/usr/local/netcdf --enable-netcdf-4 \ --enable-dap --enable-shared CPPFLAGS-I/usr/local/hdf5/include \ LDFLAGS-L/usr/local/hdf5/libFortran接口的安装要等C库完成wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.5.4/netcdf-fortran-4.5.4.tar.gz tar -xzvf netcdf-fortran-4.5.4.tar.gz cd netcdf-fortran-4.5.4 ./configure --prefix/usr/local/netcdf CPPFLAGS-I/usr/local/netcdf/include \ LDFLAGS-L/usr/local/netcdf/lib最后别忘记配置环境变量echo export NETCDF/usr/local/netcdf ~/.bashrc echo export PATH$NETCDF/bin:$PATH ~/.bashrc echo export LD_LIBRARY_PATH$NETCDF/lib:$LD_LIBRARY_PATH ~/.bashrc source ~/.bashrc4. WRF核心安装流程4.1 源码获取与配置建议从官网下载最新稳定版wget https://github.com/wrf-model/WRF/archive/v4.4.tar.gz tar -xzvf v4.4.tar.gz cd WRF-4.4运行configure时选择34选项GNUdmpar./configure这里有个实用技巧先执行ulimit -s unlimited解除栈大小限制能避免编译过程中的段错误。4.2 编译优化技巧设置并行编译环境变量根据CPU核心数调整export J-j4编译真实案例模块耗时约30-60分钟./compile em_real log.compile监控编译进度的小技巧tail -f log.compile成功编译后检查main目录下是否生成这四个关键可执行文件wrf.exe主程序real.exe初始场处理tc.exe台风模块ndown.exe嵌套降尺度4.3 常见编译问题解决如果遇到Could not find netcdf.inc错误通常是路径问题cp /usr/local/netcdf/include/*.mod /usr/local/include/Fortran类型不匹配错误可以尝试export FFLAGS-fallow-argument-mismatch内存不足时添加swap空间sudo fallocate -l 4G /swapfile sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile5. WPS安装与配置5.1 基础安装步骤解压源码包后进入目录cd WPS ./configure选择3GNUdmparGRIB2组合。这里有个细节如果configure报错找不到库可能需要手动指定路径export JASPERLIB/usr/lib/x86_64-linux-gnu export JASPERINC/usr/include/jasper5.2 地理数据准备下载静态地理数据约50GBwget https://www2.mmm.ucar.edu/wrf/src/wps_files/geog_high_res_mandatory.tar.gz tar -xzvf geog_high_res_mandatory.tar.gz编辑namelist.wps指定路径geogrid geog_data_path /path/to/geog /5.3 三阶段处理验证依次运行三个程序检查是否正常./geogrid.exe ./ungrib.exe ./metgrid.exe遇到GRIB2数据读取问题时检查是否安装了所有依赖ldd ungrib.exe | grep not6. 系统调优与测试6.1 环境变量终极配置完整的.bashrc配置示例# WRF Environment export NETCDF/usr/local/netcdf export HDF5/usr/local/hdf5 export WRFIO_NCD_LARGE_FILE_SUPPORT1 export PATH$NETCDF/bin:$HDF5/bin:$PATH export LD_LIBRARY_PATH$NETCDF/lib:$HDF5/lib:$LD_LIBRARY_PATH export WRF_CHEM1 # 如需化学模块6.2 测试案例运行下载测试数据wget https://www2.mmm.ucar.edu/wrf/WG2/bench/wrf_v4_bench_12km.tar.gz tar -xzvf wrf_v4_bench_12km.tar.gz cd bench_12km运行完整流程./real.exe mpirun -np 4 ./wrf.exe监控运行状态tail -f rsl.out.00006.3 性能优化建议在namelist.input中添加这些关键参数time_control history_interval 60 # 输出间隔(分钟) frames_per_outfile 12 # 每文件包含时段数 / domains time_step 72 # 根据dx调整(6*dx_km) /对于大区域模拟建议开启IO优化namelist_quilt nio_tasks_per_group 2 nio_groups 1 /