WRFDA保姆级安装教程

news/2024/9/25 11:06:05/

文章目录

    • 前言
    • 基础环境准备
      • Ubuntu20.04子系统安装
        • WSL功能开启与Ubuntu子系统下载
        • Ubuntu用户创建
      • Ubuntu 20.04 更换国内镜像
    • 相关库及WRFDA安装
      • 检验和安装基础包
      • WRF基础环境测试
      • 编译器基础环境测试
      • 基础库安装
        • zlib安装
        • hdf5安装
        • netcdf4-c 安装
        • netcdf-fortran安装
        • mpich安装
        • 安装libpng
        • 安装jasper
      • netcdf与mpich兼容性测试
      • 下载WRFDA
      • RTTOV安装(可选的不影响WRFDA的使用)
      • WRDA安装
    • F&A区域

前言

Hello 大家好呀,由于毕业+就业的原因,我已经很久很久没有更新我的博客。正好最近需要涉及到资料同化的问题需要安装WRFDA,所以这一期就给大家带来一个保姆级的WRFDA安装教程!

基础环境准备

由于我用的是个人电脑测试的,所以直接用的微软的Ubuntu20.04子系统安装的WRFDA
如果各位用的是大型机,或者是实体机那么就可以直接跳过Ubuntu20.04的安装过程,直接从相关库及WRFDA安装开始!

Ubuntu20.04子系统安装

WSL功能开启与Ubuntu子系统下载

首先,我们需要在控制面板中点击程序
在这里插入图片描述
随后,单机启用或关闭Windows功能
在这里插入图片描述
然后开启适用于Linux的Windows子系统,并重启电脑!
在这里插入图片描述
接下来在微软商店中搜索Ubuntu,并安装。在这里我选用的是Ubuntu 20.04,大家也可以选择其他版本!!

在这里插入图片描述

在这里插入图片描述

Ubuntu用户创建

在第一次启动ubuntu 20.04的时候需要创建用户名和密码,用户名大家就起一个自己能记住的英文字符就好;密码在输入的时候是不显示的,并且需要输入两遍!
这里偷懒了,直接用我自己之前发过的图片啦
()

Ubuntu 20.04 更换国内镜像

我的Ubuntu 20.04使用的是清华的镜像源

首先,在更换镜像之前,我们需要给Ubuntu的原有镜像进行备份

sudo cp /etc/apt/sources.list /etc/apt/sources.list.back

在这里插入图片描述
随后,编辑sources.list

sudo nano /etc/apt/sources.list

输入密码之后,大家就能看到如下的界面,并将下面的全部链接源全部注释掉即可!
在这里插入图片描述
随后进入到下面的地址:

https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/

将Ubuntu版本切换到20.04,并且复制下面的代码到sources.list中
在这里插入图片描述
完成之后的样子就是下面的样子
在这里插入图片描述
随后按ctrl + octrl + x保存并退出
随后在命令框中输入下面两段命令,更新源

sudo apt update
sudo apt upgrade

至此,在Windows下安装配置Ubuntu子系统就完事了

相关库及WRFDA安装

其实WRFDA的安装过程与正常WRF的安装过程一模一样,如果你的电脑中已经配置好了WRF的相关环境,并且可以运行的话,那么就直接下载对应版本的WRF,将WRF文件夹重命名为WRFDA,并进入到WRFDA文件夹中输入:

./configure wrfda # 我在个人电脑中选择的是编号是32GUN串行编译。

随后直接

./compile all_wrfvar

就完事了

接下来我就详细讲述从0开始安装的流程

检验和安装基础包

which gfortran
which cpp
which gcc

在这里插入图片描述
如果输出和上面的不一样也没关系,大家可以在输入以下命令进行安装

sudo apt-get update
sudo apt-get install gfortran cpp gcc g++ m4 csh libcurl4-openssl-dev libxml2-dev libhdf5-dev

WRF基础环境测试

首先我们需要找一个地方来安装WRF,我个人是安装在D盘的!!那么就可以在终端中输入cd /mnt/d/来切换到D盘

 cd /mnt/d/

在这里插入图片描述

随后输入以下命令来创建测试文件夹和库文件夹

mkdir Build_WRF
cd Build_WRF
mkdir TESTS
mkdir LIBRARIES

接下来还需要将我们创建的Build_WRF文件夹添加到系统变量中,方便后需的操作!!

export DIR='/mnt/e/Build_WRF' #这是我的个人文件夹目录,大家根据自己的路径修改
echo $DIR 

在这里插入图片描述

随后,我们还需要将DIR这个路径添加到~/.bashrc

sudo nano ~/.bashrc

将你刚才export的DIR目录重新再bashrc中重新输入一遍即可

在这里插入图片描述
随后保存,并退出该文件。

编译器基础环境测试

输入下列命令,下载并解压测试文件。

cd $DIR/TESTS
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar
tar xvf Fortran_C_tests.tar

随后输入下列代码测试编译器基础环境

gfortran TEST_1_fortran_only_fixed.f
./a.out
gfortran TEST_2_fortran_only_free.f90
./a.out
gcc TEST_3_c_only.c
./a.out
gcc -c -m64 TEST_4_fortran+c_c.c
gfortran -c -m64 TEST_4_fortran+c_f.f90
gfortran -m64 TEST_4_fortran+c_f.o TEST_4_fortran+c_c.o
./a.out
./TEST_csh.csh
./TEST_perl.pl
./TEST_sh.sh

如果输出的结果为
在这里插入图片描述
那就没问题,进入下一个环节即可~~~

基础库安装

接下来就到了掉头发的时候了,也是最折磨人的时候了~~
首先,需要再终端中输入下面代码

cd $DIR/LIBRARIES
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/mpich-3.0.4.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/jasper-1.900.1.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/libpng-1.2.50.tar.gz
wget https://downloads.unidata.ucar.edu/netcdf-c/4.9.2/netcdf-c-4.9.2.tar.gz
wget https://downloads.unidata.ucar.edu/netcdf-fortran/4.6.1/netcdf-fortran-4.6.1.tar.gz
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/zlib-1.2.11.tar.gz
wget https://hdf-wordpress-1.s3.amazonaws.com/wp-content/uploads/manual/HDF5/HDF5_1_14_3/src/hdf5-1.14.3.tar.gz
tar xvf mpich-3.0.4.tar.gz
tar xvf jasper-1.900.1.tar.gz
tar xvf libpng-1.2.50.tar.gz
tar xvf netcdf-c-4.9.2.tar.gz
tar xvf netcdf-fortran-4.6.1.tar.gz
tar xvf zlib-1.2.11.tar.gz
tar xvf hdf5-1.14.3.tar.gz

下载所有的依赖环境

zlib安装
#先安装zlib
cd $DIR/LIBRARIES/zlib-1.2.11
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install
hdf5安装
cd $DIR/LIBRARIES/hdf5-1.14.3
./configure --prefix=$DIR/LIBRARIES/hdf5 --enable-fortran --enable-cxx --with-zlib=$DIR/LIBRARIES/grib2
make
make install

安装好Zlib与hdf5之后需要向bashrc中添加环境

export LD_LIBRARY_PATH=$DIR/LIBRARIES/grib2/lib:$DIR/LIBRARIES/hdf5/lib:$LD_LIBRARY_PATH

接下来输入

sudo nano ~/.bashrc

export LD_LIBRARY_PATH=$DIR/LIBRARIES/grib2/lib:$DIR/LIBRARIES/hdf5/lib:$LD_LIBRARY_PATH 添加到环境中
在这里插入图片描述
保存,并退出~

netcdf4-c 安装
cd $DIR/LIBRARIES/netcdf-c-4.9.2
./configure --prefix=$DIR/LIBRARIES/netcdf --enable-dap --enable-netcdf4 --enable-shared LDFLAGS="-L$DIR/LIBRARIES/hdf5/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/hdf5/include -I$DIR/LIBRARIES/grib2/include"
make
make install

随后还是需要声明变量

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

接下来输入

sudo nano ~/.bashrc

将刚刚声明的变量写到bashrc
在这里插入图片描述

netcdf-fortran安装
cd $DIR/LIBRARIES/netcdf-fortran-4.6.1
./configure --prefix=$DIR/LIBRARIES/netcdf --enable-shared LIBS="-lnetcdf -lz" LDFLAGS="-L$DIR/LIBRARIES/netcdf/lib -L$DIR/LIBRARIES/grib2/lib" CPPFLAGS="-I$DIR/LIBRARIES/netcdf/include -I$DIR/LIBRARIES/grib2/include"
make
make install

安装完成之后可以检查一下netcdf-cnetcdf-fortran是否安装成功

nc-config --has-nc4
nf-config --has-nc4

看到两个Yes就说明没毛病了
在这里插入图片描述

mpich安装
cd $DIR/LIBRARIES/mpich-3.0.4
./configure --prefix=$DIR/LIBRARIES/mpich
make
make install

随后声明mpich的路径

export PATH=$DIR/LIBRARIES/mpich/bin:$PATH\

接下来输入

sudo nano ~/.bashrc

将刚刚声明的变量写到bashrc
在这里插入图片描述

安装libpng
cd $DIR/LIBRARIES/libpng-1.2.50
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install
安装jasper
cd $DIR/LIBRARIES/jasper-1.900.1
./configure --prefix=$DIR/LIBRARIES/grib2
make
make install

声明环境变量

export JASPERLIB=$DIR/LIBRARIES/grib2/lib
export JASPERINC=$DIR/LIBRARIES/grib2/include
export LDFLAGS=-L$DIR/LIBRARIES/grib2/lib
export CPPFLAGS=-I$DIR/LIBRARIES/grib2/include

接下来输入

sudo nano ~/.bashrc

将刚刚声明的变量写到bashrc
在这里插入图片描述

netcdf与mpich兼容性测试

cd $DIR/TESTS
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_NETCDF_MPI_tests.tar
tar xvf Fortran_C_NETCDF_MPI_tests.tar

输出下面的结果表示安装的没毛病

在这里插入图片描述

下载WRFDA

在WRF4.0版本之后WRFDA就被集成到WRF中了,因此下载WRFDA和下载WRF是同一个东西的

cd $DIR
git clone --recurse-submodules https://github.com/wrf-model/WRF

下载好之后在你的电脑上就多出来一个文件夹
在这里插入图片描述
你可以直接将这个文件夹重命名问WRFDA也可以复制一个再重命名为WRFDA,甚至改都不用改也行(PS:自己能记住哦!)

RTTOV安装(可选的不影响WRFDA的使用)

RTTOV与 BUFR和CRTM一样都是辐射传输模型,只是RTTOV需要手动安装,而BUFR和CRTM被集成到了WRF源代码中。
RTTOV需要自己去官网注册和下载(魔法)
注册很简单的,就需要填写一下个人信息,外加上会给你发两个邮件就完事了

https://nwpsaf.eu/site/software/rttov/

随后可以根据下面的过程进行下载
在这里插入图片描述
点击user area
在这里插入图片描述
登录一下(已经登录的不会有这个页面哦)
在这里插入图片描述
拉到网页下面
在这里插入图片描述
然后输入下列代码解压rttov

tar -xf rttov132.tar.xz

随后进入到rttov的src文件夹下

cd /mnt/e/Build_WRF/rttov132/src #这是我个人的路径,请大家根据自己的路径进行修改

随后输入下列命令安装rttov

../build/rttov_compile.sh

安装过程中的会提示相关信息,大家可以根据自己需求是否开启。如果不是很清楚的,直接全默认即可~
随后声明rttov的路径

export rttov= $DIR/rttov132

然后将这个变量添加到bashrc

sudo nano ~/.bashrc

在这里插入图片描述

WRDA安装

cd $DIR/WRFDA
./configure wrfda # 这里我选择的是32 GUN串行编译
./compile all_wrfvar 

在编译完成之后我们可以输入

ls -l var/build/*exe var/obsproc/src/obsproc.exe

检查一共生成了多少个.exe,如果是44个exe文件的话,那么WRFDA就安装完成了~~~~~~~~
在这里插入图片描述

F&A区域

问题1:nano怎么保存并退出?
解答:先按住ctrl+o 再按一下 Enter就可以保存文本,接着按ctrl + x即可退出nano编译器!


http://www.ppmy.cn/news/1530264.html

相关文章

【pytorch】relu的实现逻辑

笔者最近在尝试实现AlexNet的底层算子,基于pytorch的框架,本文主要记录一下pytorch中是如何实现relu算子的。 首先最外层是位于torch\nn\modules\activation.py,主要代码如下: __constants__ ["inplace"]inplace: bool…

配置文件--UmiJs

配置文件 umi 允许在 .umirc.js 或 config/config.js (二选一,.umirc.js 优先)中进行配置,支持 ES6 语法。 为简化说明,文档里只会出现 .umirc.js。 比如: export default {base: /admin/,publicPath: ht…

(11)iptables-仅开放指定ip访问指定端口

iptables实现拒绝所有访问8080端口的ip,仅仅开放172.22.200.220(172.22.200.1)访问8080端口 ---------------- # 拒绝所有对端口 8080 的访问 iptables -A INPUT -p tcp --dport 8080 -j DROP # 允许 IP 地址 172.22.200.220 访问端口 8080 (…

mysql学习教程,从入门到精通,SQL RIGHT JOIN语句(24)

1、SQL RIGHT JOIN语句 RIGHT JOIN(也被称为RIGHT OUTER JOIN)是一种SQL语句,它用于从两个或多个表中根据连接条件返回右表(RIGHT JOIN语句中指定的表)的所有记录,以及左表中匹配的记录。如果左表中的行在…

【软考】传输层协议TCP与UDP

目录 1. TCP1.1 说明1.2 三次握手 2. UDP3. 例题3.1 例题1 1. TCP 1.1 说明 1.TCP(Transmission Control Protocol,传输控制协议)是整个 TCP/IP 协议族中最重要的协议之一。2.它在IP提供的不可靠数据服务的基础上为应用程序提供了一个可靠的、面向连接的、全双工的…

【React】(推荐项目)一个用 React 构建的 CRUD 应用程序

推荐项目:CRUD 应用示例 在本篇文章中,我想向大家推荐一个非常实用的项目:CRUD 应用示例。这个项目展示了如何使用现代技术栈创建一个基础的增删改查(CRUD)应用,非常适合用于学习和实践后端开发技能。 适…

git配置ssh免密

为了配置 Git 通过 SSH 进行免密连接,你需要在本地机器上生成一个 SSH 密钥对,并将公钥添加到你的 GitLab 账户中。以下是详细的步骤: 1.检查现有的 SSH 密钥 首先,检查你是否已经有一个可用的 SSH 密钥。 ls -al ~/.ssh如果你…

linux安装solr

Solr Downloads - Apache Solr 直接下载:https://dlcdn.apache.org/solr/solr/9.7.0/solr-9.7.0.tgz 这个包依赖jdk11以上版本 需要jdk1.8版本的,下载Index of /dist/lucene/solr/7.1.0 # 解压 tar -zxvf solr-9.7.0.tgz # 进入启动目录 cd solr-9.7…