小白跑WRF第二天,安装环境(各种编译器)的准备
作者:互联网
小白跑WRF第二天,安装环境(各种编译器)的准备
linux子系统位置
接上一个帖子,Windows下WSL2安装linux子系统在安装完成后,可以在资源管理器(或者计算机)中找到一个linux盘符,如下图,里面就有home文件夹,
编译器和系统环境的安装
首先推荐一个网址,是WRF官方的安装教程:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php
第一步是需要安装各类系统环境,其实就是几个系统支持编译器,本文推荐的是gfortran和gcc模式,网上还有其他模式。
需要安装的系统环境有:
系统环境 | 用途 |
---|---|
csh | Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,csh是具有C语言风格的一种shell。 |
m4 | m4是一个通用的宏处理器,主要是后续的安装过程中会用到,不然会报错。 |
gcc | gcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件,而后面很多包都是C或者C++的。 |
g++ | 和gcc功能差不多,或者说干的事情都是一样的,但是有些文件用gcc编译会报错,所以还需要它。 |
cpp | * |
gfortran | 对应的fortran编译器,WRF有一些东西是fortran编的。 |
make | make是一种C文件编译器,和gcc一样,但是大型的工程中,里面有很多文件,因此进行开发的时候,每个文件都使用gcc进行编译会很麻烦。而使用make文件,则可一次性对很多文件进行编译。 |
检查各个环境和安装
这个我不演示了,因为新装的linux大概率是没有装的,这也是为啥需要网的原因,因为离线肯定很麻烦,我也没尝试过。第一篇帖子说的特定的linux也是指的内置好这些环境的系统,这样后续的离线安装问题也不大。
用which命令就好了:
升级sudo
原因的安装csh时会报错:Unable to locate package csh
输入:
sudo apt-get update
得到:
一次安装所有环境
这里就不分步安装了,一起来
输入:
sudo apt install gcc cpp gfortran g++ m4 make csh
得到:
中途会有一个确认的选项,选yes
如果不放心,可以一个一个安装,或者,装完以后which查看一下。
建立文件夹
创建两个文件夹,一个Build_WRF,用来进行WRF的安装;一个TESTS,用来进行安装前的环境测试。
输入:
mkdir Build_WRF
mkdir TESTS
这个就不截图了,没意思,执行完成后,系统home文件夹下的用户文件内多出两个文件夹。
下载测试环境文件
将操作目录改到。。TESTS。。下
cd TESTS
下载测试文件有三种方式
- 利用Linux命令下载。
- 进入网站https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/直接下载。
- 留下邮箱,作者给你发。
这里展示第一种
输入命令:
wget https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/Fortran_C_tests.tar
得到:
这时候,你的TESTS文件里就多出了一个Fortran_C_tests.tar文件,这是测试你Linux环境的,和WRF没啥关系哈,看名字,测试C和Fortran。
测试环境
这也是之前给的官网教程中的内容,英文看不懂就用浏览器翻译成中文。
解压测试文件
输入:
tar -xf Fortran_C_tests.tar
得到
好吧,不会有任何反应,害我输了三遍,但是实际是成功了。可以去文件夹下面看,不行就手工解压。
测试 1.固定格式 Fortran 测试
输入:
gfortran TEST_1_fortran_only_fixed.f
./a.out
得到
测试 2.自由格式 Fortran 测试
输入:
gfortran TEST_2_fortran_only_free.f90
./a.out
得到
测试 3.C 测试
输入:
gcc TEST_3_c_only.c
./a.out
得到
测试 4.Fortran调用C函数 测试
输入:
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
得到
测试 5. csh 测试
输入:
./TEST_csh.csh
得到:SUCCESS csh test
测试 6. perl 测试
输入:
./TEST_perl.pl
得到:SUCCESS perl test
测试 7. sh 测试
输入:
./TEST_sh.sh
得到:SUCCESS sh test
自此,全部环境测试完毕。
添加环境变量
环境安装完成后,还需要在系统中添加环境变量,下面作者展示的环境变量是全部的变量,包括后面需要添加的grib、netcdf等等依赖库的环境变量,目的在于少开几次环境变量的文本,少一点麻烦。
打开环境变量文本
输入:
sudo nano ~/.bashrc
nano是一个文本编辑器,.bashrc环境变量文本
得到:
用方向键把光标移至最底部,目前在最上面
然后在最底层复制(很多路径还不存在,没事,后面慢慢创建):
其实大致的意思就,C编译器用gcc,fortran编译器用gfortran诸如此类的东西。
export DIR=/home/(这里请输入自己的用户名文件夹)/Build_WRF/LIBRARIES
export CC=gcc
export CXX=g++
export FC=gfortran
export CFLAGS='-m64'
export F77=gfortran
export FFLAGS='-m64'
export PATH=$DIR/mpich/bin:$PATH
export PATH=$DIR/netcdf/bin:$PATH
export NETCDF=$DIR/netcdf
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include
export LDFLAGS=-L$DIR/grib2/lib
export CPPFLAGS=-I$DIR/grib2/include
export LD_LIBRARY_PATH=$DIR/grib2/lib:$LD_LIBRARY_PATH
键入:ctrl+x 然后键入y 回车
即可退出文本编辑器。
重新生效环境变量
输入:
source ~/.bashrc
没有任何反应,但是已经执行。
自此,环境搭建完成。后续就是依赖库的安装。
标签:WRF,gcc,白跑,Fortran,编译器,export,测试,安装 来源: https://blog.csdn.net/weixin_42372313/article/details/121849142