当前位置: 首页 > news >正文

【WRFDA实操第一期】服务器中安装 WRFPLUS 和 WRFDA

目录

  • 在服务器上下载并解压 WRF v4.6.1
  • 编译 WRFDA 及相关库
    • 安装和配置所需库
  • 安装 WRFPLUS 和 WRFDA 以运行 4DVAR 数据同化
    • 一、安装 WRFPLUS(适用于 WRF v4.0 及以上版本)
    • 二、安装 WRFDA(用于 4DVAR)
  • 另-配置报错
    • 报错1:NETCDF4 IO features not supported
    • 报错2:f951: Fatal Error: Reading module ‘/home/wanzhou/soft/netcdf4.7/include/netcdf.mod’ at line 1 column 2: Unexpected EOF
  • 参考

在服务器上下载并解压 WRF v4.6.1

WRF v4.6.1 安装链接

1. 下载 WRF 源码

使用 wget(推荐):

wget https://github.com/wrf-model/WRF/releases/download/v4.6.1/v4.6.1.tar.gz

在这里插入图片描述

或使用 curl:

curl -L -O https://github.com/wrf-model/WRF/releases/download/v4.6.1/v4.6.1.tar.gz

2. 解压源码包

tar -xvzf v4.6.1.tar.gz

这个命令将解压出 WRF 目录,其中包含 WRF 模型的全部源代码和相关工具。

编译 WRFDA 及相关库

# 选择一个目录用于安装所有依赖库
export DIR=$HOME/WRFDA_LIBS
mkdir -p $DIR
cd $DIR

安装和配置所需库


1. 安装 NetCDF-C 和 NetCDF-Fortran

⚙️下载并编译 NetCDF:

# Zlib (NetCDF 依赖)
wget https://www.zlib.net/fossils/zlib-1.2.13.tar.gz
tar -xvzf zlib-1.2.13.tar.gz
cd zlib-1.2.13
./configure --prefix=$DIR/zlib
make -j$(nproc)
make install# HDF5
cd $DIR
wget https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8/hdf5-1.8.20/src/hdf5-1.8.20.tar.gz
tar -xvzf hdf5-1.8.20.tar.gz
cd hdf5-1.8.20
./configure --prefix=$DIR/hdf5 --with-zlib=$DIR/zlib
make -j$(nproc)
make install# NetCDF-C
cd $DIR
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz
tar -xvzf netcdf-c-4.9.2.tar.gz
cd netcdf-c-4.9.2
CPPFLAGS="-I$DIR/hdf5/include" LDFLAGS="-L$DIR/hdf5/lib" ./configure --prefix=$DIR/netcdf --disable-dap
make -j$(nproc)
make install# NetCDF-Fortran
cd $DIR
wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz
tar -xvzf netcdf-fortran-4.6.1.tar.gz
cd netcdf-fortran-4.6.1
export CPPFLAGS="-I$DIR/netcdf/include"
export LDFLAGS="-L$DIR/netcdf/lib"
./configure --prefix=$DIR/netcdf
make -j$(nproc)
make install

在这里插入图片描述
在这里插入图片描述

🌍 设置环境变量:

export NETCDF=$DIR/netcdf
export PATH=$NETCDF/bin:$PATH
export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH

2. 设置 HDF5 环境变量(用于 AMSR2 数据)

export HDF5=$DIR/hdf5
export LD_LIBRARY_PATH=$HDF5/lib:$LD_LIBRARY_PATH

3. CRTM(Radiative Transfer Model)

CRTM 2.3.0 包含在 WRFDA 源码中,无需额外操作。但你可以从官网获取系数文件:

🔗 CRTM Coefficients 下载链接

wget https://www2.mmm.ucar.edu/wrf/users/wrfda/download/crtm_coeffs_2.3.0.tar.gztar -xzvf crtm_coeffs_2.3.0.tar.gz

在这里插入图片描述


4. RTTOV(可选)

如果需要使用卫星辐射资料,需要安装 RTTOV v12.1:

# 下载 RTTOV(需要注册)
https://nwp-saf.eumetsat.int/site/software/rttov/rttov-v12/# 解压并编译(确保使用与 WRFDA 一致的 Fortran 编译器)
# 编译时需启用 emis_atlas 选项(见 RTTOV README)

安装完成后设置环境变量:

export RTTOV=/path/to/rttov12/compiled_dir
export LD_LIBRARY_PATH=$RTTOV/lib:$LD_LIBRARY_PATH

安装 WRFPLUS 和 WRFDA 以运行 4DVAR 数据同化

方案一:使用经典格式编译(推荐初学者)

如果你使用 csh 或 tcsh shell(如提示中的 setenv),请运行:

setenv NETCDF_classic 1

如果你使用 bash 或 zsh,使用:

export NETCDF_classic=1

重新运行配置命令:

./configure wrfda

在这里插入图片描述
一旦 configure.wrf 成功生成,就可以执行 WRFDA 的编译命令:

./compile all_wrfvar >& compile.log

一、安装 WRFPLUS(适用于 WRF v4.0 及以上版本)

gunzip <filename>.tar.gz
tar -xvf <filename>.tar
cd WRFPLUSV3
./configure wrfplus
./compile em_real

二、安装 WRFDA(用于 4DVAR)

# 设置环境变量
export DIR=$HOME/WRFDA_LIBS
export NETCDF=$DIR/netcdf
export HDF5=$DIR/hdf5
export LD_LIBRARY_PATH=$NETCDF/lib:$HDF5/lib:$LD_LIBRARY_PATH# 编译
./clean -a
./configure wrfda
./compile all_wrfvar >& compile.log &

编译成功后你可以在 var/da 目录下找到 da_wrfvar.exe。

使用以下代码,检查是否安装成功:

另-配置报错

报错1:NETCDF4 IO features not supported

❌ 这是致命错误,导致 configure.wrf 被删除,编译无法继续。

************************** W A R N I N G ************************************
NETCDF4 IO features are requested, but this installation of NetCDF/home/wanzhou/soft/netcdf4.7
DOES NOT support these IO features.
...
!!! configure.wrf has been REMOVED !!!

❓ 为什么会出错?
虽然我使用的 NetCDF 是 4.7.4,但是这个版本可能没有在编译时启用 --enable-netcdf4 选项,因此不支持 NetCDF4/HDF5 的 IO 特性。

方案一:使用经典格式编译(推荐初学者)

如果你使用 csh 或 tcsh shell(如提示中的 setenv),请运行:

setenv NETCDF_classic 1

如果你使用 bash 或 zsh,使用:

export NETCDF_classic=1

重新运行配置命令:

./configure wrfda

按照此操作后,成功生成configure.wrf 文件。

报错2:f951: Fatal Error: Reading module ‘/home/wanzhou/soft/netcdf4.7/include/netcdf.mod’ at line 1 column 2: Unexpected EOF

报错内容如下:表示 Fortran 编译器在尝试读取 netcdf.mod 模块文件时,发现该文件内容异常或损坏(Unexpected EOF = 意外的文件结尾)。

        fi
f951: Fatal Error: Reading module ‘/home/wanzhou/soft/netcdf4.7/include/netcdf.mod’ at line 1 column 2: Unexpected EOF
compilation terminated.

❗ 这是一个典型的 “模块文件损坏” 或 “编译器不兼容” 问题,最常见的原因有:

🚫 原因 1:netCDF 是用不同的 Fortran 编译器编译的
例如:你现在用 gfortran 编译 WRFDA,但你的 netcdf.mod 是用 ifort 编译的。

🚫 原因 2:netcdf.mod 是旧的/不完整的
比如你在安装 netCDF-Fortran 时,中途中断了编译,或者 netcdf.mod 是从别处复制来的,内容不完整。

参考

1、zlib下载安装包-Index of /fossils
在这里插入图片描述
2、zlib下载安装包-

http://www.dtcms.com/a/279339.html

相关文章:

  • 探索文本切分的多种方法与应用场景
  • 学习 Flutter (三):玩安卓项目实战 - 上
  • 152.Vue3中使用OpenLayers+Turf实现遮罩布挖洞效果
  • MCP终极篇!MCP Web Chat项目实战分享
  • 消费 Kafka 一个TOPIC数据,插入到另一个KAFKA的TOPIC
  • c#如何将不同类型的数据存储到一起
  • 项目进度依赖纸面计划,如何提升计划动态调整能力
  • 基于FinRL深度强化学习框架的股票预测和回测交易
  • 迁移学习:知识复用的智能迁移引擎 | 从理论到实践的跨域赋能范式
  • 什么是神经网络,常用的神经网络,如何训练一个神经网络
  • python 循环遍历取出偶数
  • 「日拱一码」027 深度学习库——PyTorch Geometric(PyG)
  • MCP基础知识二(实战通信方式之Streamable HTTP)
  • 【CTF学习】PWN基础工具的使用(binwalk、foremost、Wireshark、WinHex)
  • ewdyfdfytty
  • LangChain教程——文本嵌入模型
  • 20250714让荣品RD-RK3588开发板在Android13下长按关机
  • Debezium日常分享系列之:提升Debezium性能
  • 制造业实战:数字化集采如何保障千种备件“不断供、不积压”?
  • 16.避免使用裸 except
  • MFC扩展库BCGControlBar Pro v36.2新版亮点:可视化设计器升级
  • 计算机毕业设计Java轩辕购物商城管理系统 基于 SpringBoot 的轩辕电商商城管理系统 Java 轩辕购物平台管理系统设计与实现
  • 面向对象的设计模式
  • 【数据结构】树(堆)·上
  • js的局部变量和全局变量
  • 测试驱动开发(TDD)实战:在 Spring 框架实现中践行 “红 - 绿 - 重构“ 循环
  • Bash vs PowerShell | 从 CMD 到跨平台工具:Bash 与 PowerShell 的全方位对比
  • vue3 服务端渲染时请求接口没有等到数据,但是客户端渲染是请求接口又可以得到数据
  • 7.14 map | 内存 | 二维dp | 二维前缀和
  • python+Request提取cookie