爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 26906|回复: 17

WRF4.2基础安装——新手指南2——依赖库安装(2)

[复制链接]

新浪微博达人勋

发表于 2021-2-1 20:52:19 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 执笔天天 于 2021-2-1 20:52 编辑

cd    LIBRARIES
——接上文——下面用到的安装包请到上文附件处下载——
现在我们进入了LIBRARIES文件夹,可以看见命令行如下显示:root@ubuntu:/home/wyl/Build_WRF/LIBRARIES#
文件夹里有我们需要的五个压缩包,尽量使用WRF官网教程推荐的安装包,使用比较新的安装包有些地方会报错。

首先设置环境变量:(Ubuntu设置环境变量使用export命令,官网用的setenv命令,喜欢的可以自行研究)
export DIR=/Build_WRF的上级主目录/Build_WRF/LIBRARIES   
##(比如我的电脑就是/home/wyl/Build_WRF/LIBRARIES)##
export CC=gcc
export CXX=g++
export FC=gfortran
export FCFLAGS=-m64
export F77=gfortran
export FFLAGS=-m64
export JASPERLIB=$DIR/grib2/lib
export JASPERINC=$DIR/grib2/include
export LDFLAGS=-L$DIR/grib2/lib
export CPPFLAGS=-I$DIR/grib2/include
设置好环境变量之后,开始解压安装依赖库,安装的顺序为:1.NETCDF  2.MPICH  3.zlib  4.libpng  5.Jasper  
首先来安装NETCDF
tar -xvf netcdf-4.1.3.tar.gz  (--解压安装包--)
cd netcdf-4.1.3  (--进入文件夹--)
./configure --prefix=$DIR/netcdf --disable-dap --disable-netcdf-4 --disable-shared
make
make install
export PATH=$DIR/netcdf/bin:$PATH
export NETCDF=$DIR/netcdf
cd ..

然后是MPICH
tar -xzvf mpich-3.0.4.tar.gz
cd mpich-3.0.4
./configure --prefix=$DIR/mpich
make
make install
export PATH=$DIR/mpich/bin:$PATH
cd ..

然后是zlib
tar -xvf zlib-1.2.7.tar.gz
cd zlib-1.2.7
./configure --prefix=$DIR/grib2
make
make install
cd ..

然后是libpng
tar -xvf libpng-1.2.50.tar.gz
cd libpng-1.2.50
./configure --prefix=$DIR/grib2
make
make install
cd ..

最后是jasper
tar -xvf jasper-1.900.1.tar.gz
cd jasper-1.900.1
./configure --prefix=$DIR/grib2
make
make install
cd ..

到了这里没有意外的话我们就完成了依赖库的安装,接下来不要急着退出,在当前环境下我们需要测试一下是否可以正常使用
在Build_WRF下新建一个TEST文件夹,懒得话直接在Build_WRF文件夹里直接解压就行了(比如我),因为文件不多tar -xvf Fortran_C_NETCDF_MPI_tests.tar
cp ${NETCDF}/include/netcdf.inc .
gfortran -c 01_fortran+c+netcdf_f.f
gcc -c 01_fortran+c+netcdf_c.c
gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o \ -L${NETCDF}/lib -lnetcdff -lnetcdf
./a.out

如果安装成功的话命令行会输出以下内容
C function called by Fortran
Values are xx = 2.00 and ii = 1
SUCCESS test 1 fortran + c + netcdf

继续运行以下测试
cp ${NETCDF}/include/netcdf.inc .
mpif90 -c 02_fortran+c+netcdf+mpi_f.f
mpicc -c 02_fortran+c+netcdf+mpi_c.c
mpif90 02_fortran+c+netcdf+mpi_f.o \
02_fortran+c+netcdf+mpi_c.o \ -L${NETCDF}/lib -lnetcdff -lnetcdf
mpirun ./a.out


如果安装成功的话命令行会输出以下内容
C function called by Fortran
Values are xx = 2.00 and ii = 1
status = 2
SUCCESS test 2 fortran + c + netcdf + mpi

到此为止我们便完成了依赖库的安装与测试



2021-01-31 22-42-06屏幕截图.png

评分

参与人数 1金钱 +10 贡献 +2 收起 理由
Cloudfree + 10 + 2 很给力!

查看全部评分

密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-2-16 12:44:21 | 显示全部楼层
本帖最后由 pps5569 于 2021-2-16 12:47 编辑

cp ${NETCDF}/include/netcdf.inc .
gfortran -c 01_fortran+c+netcdf_f.f
gcc -c 01_fortran+c+netcdf_c.c
gfortran 01_fortran+c+netcdf_f.o 01_fortran+c+netcdf_c.o \ -L${NETCDF}/lib -lnetcdff -lnetcdf
./a.out
在执行这一句的时候要把netcdf里面的lib复制到TEST里面,然后把${NETCDF}换成TEST里面lib的路径,最后把-L前的/删掉
在检测下一个库的时候同理,加路径,删除/斜杠
祝顺利

密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2021-2-1 21:47:17 | 显示全部楼层
请问以下   测试的时候,显示 L/netcdf/lib: 没有那个文件或目录      怎么解决?
是前面编译有问题吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-2 08:21:53 | 显示全部楼层
点赞!!!环境设置啥的太麻烦了{:eb303:}{:eb303:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-2 11:06:54 | 显示全部楼层
Cloudfree 发表于 2021-2-1 21:47
请问以下   测试的时候,显示 L/netcdf/lib: 没有那个文件或目录      怎么解决?
是前面编译有问题吗?

是因为测试的时候要调用NETCDF文件夹的lib文件夹,将那个文件夹直接复制到test文件夹就可以了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-8 23:16:13 | 显示全部楼层
楼主,在编译mpich时无法使用make,你们也有同样的问题吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-2-9 19:55:17 | 显示全部楼层
本帖最后由 执笔天天 于 2021-2-9 21:40 编辑
pps5569 发表于 2021-2-8 23:16
楼主,在编译mpich时无法使用make,你们也有同样的问题吗

没有,可以看看是否有输入错误或者多一个,少一个空格之类的问题
如果不行的话可以删除重新安装试试
具体可以参考WRF官网 Compiling WRF指南https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-16 11:11:44 | 显示全部楼层
执笔天天 发表于 2021-2-9 19:55
没有,可以看看是否有输入错误或者多一个,少一个空格之类的问题
如果不行的话可以删除重新安装试试
具 ...

还是不行。
提示:make: *** 没有指明目标并且找不到 makefile。 停止。
我是按照你的方法./configure --prefix=$DIR/mpich,但是没办法用make,楼主遇到过这个问题吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-16 11:26:06 | 显示全部楼层
pps5569 发表于 2021-2-16 11:11
还是不行。
提示:make: *** 没有指明目标并且找不到 makefile。 停止。
我是按照你的方法./configure  ...

搞定了
原因是我没有装C++
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-16 11:30:42 | 显示全部楼层
pps5569 发表于 2021-2-16 11:26
搞定了
原因是我没有装C++

sudo apt-get install g++   
不是c++
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2021-2-16 11:52:45 | 显示全部楼层
Cloudfree 发表于 2021-2-1 21:47
请问以下   测试的时候,显示 L/netcdf/lib: 没有那个文件或目录      怎么解决?
是前面编译有问题吗?

同问,楼主解决了吗?
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表