其他分享
首页 > 其他分享> > 小白跑WRF第二天,安装环境(各种编译器)的准备

小白跑WRF第二天,安装环境(各种编译器)的准备

作者:互联网

小白跑WRF第二天,安装环境(各种编译器)的准备

linux子系统位置

接上一个帖子,Windows下WSL2安装linux子系统在安装完成后,可以在资源管理器(或者计算机)中找到一个linux盘符,如下图,里面就有home文件夹,
在这里插入图片描述

编译器和系统环境的安装

首先推荐一个网址,是WRF官方的安装教程:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php

第一步是需要安装各类系统环境,其实就是几个系统支持编译器,本文推荐的是gfortran和gcc模式,网上还有其他模式。
需要安装的系统环境有:

系统环境用途
cshShell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务,csh是具有C语言风格的一种shell。
m4m4是一个通用的宏处理器,主要是后续的安装过程中会用到,不然会报错。
gccgcc是由GNU推出的一款功能强大的、性能优越的多平台编译器。gcc编译器能将C、C++语言源程序和目标程序编译、连接成可执行文件,而后面很多包都是C或者C++的。
g++和gcc功能差不多,或者说干的事情都是一样的,但是有些文件用gcc编译会报错,所以还需要它。
cpp*好吧,我承认我没找到相关资料 *
gfortran对应的fortran编译器,WRF有一些东西是fortran编的。
makemake是一种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

在这里插入图片描述
下载测试文件有三种方式

  1. 利用Linux命令下载。
  2. 进入网站https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compile_tutorial/tar_files/直接下载。
  3. 留下邮箱,作者给你发。

这里展示第一种
输入命令:

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