由于MEGAN model的前期配置环境需求:
Linux/Unix operating system、csh/sd scripting language、Fortran90 complier、netcdf3.6 or greater、ioapi3.1、MCIP3.6(或者CMAQ)
Ubuntu 18.04(Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,基于Debian GNU/Linux)
安装前后遇到了很多的问题,中间也很有幸在网上查阅了很多的前辈们的资料,借此机会将安装过程中遇到的问题与解决方法,以及自己的一些心得总结一下,总结一下,如有不到之处,还请指正。
1、Ubuntu重置之后之后需要重新安装一些文件包:
sudo apt update
sudo apt install build-essential
sudo apt-get install csh
sudo apt-get install m4
sudo apt-get install build-essential
sudo apt-get install libstdc++5
sudo apt-get install alien
sudo apt-get install g++-multilib
sudo apt-get install gfortran
sudo apt-get install csh
下边将主要的安装过程列举一下:
https://blog.csdn.net/toby54king/article/details/78980365
前期主要参考该博主的方法安装Netcdf-C,Netcdf-fortran;采用的基于本地文件包的安装。
相对来说,HDF5对netcdf的支持安装,比较简单,但是需要注意的是,这里没有安装netcdf—C++(关于安装方法下面介绍), HDF4对netcdf的支持安装比较难,但是该链接中的方法很有效,在安装过程中遇到的主要问题基本都可以得到解决,中间涉及到jpegsrc的安装和sudo apt-get install libtools, sudo apt-get install byacc等等。
CMAQ的安装要点:
http://www.linuxdiyf.com/linux/13235.html
https://blog.csdn.net/oZuoYu123/article/details/90285971#commentBox
1.这里需要说一下,NETCDF-fortran的安装并没有必须安装crul,这里就没有安装curl;还有帖子说编译器版本的问题,我用的Ubuntu18.04版本下的编译器版本为:
安装zlib、hdf5,netcdf-c,netcdf-c++,netcdf-fortran的库版本见课题组硬盘CMAQv5.0.2.安装好之后记得配置环境。
检查nc-config –all, nf-config --all
2.安装mpich,记得配置环境。
3.安装ioapi,这一步遇到了很多的问题。
http://blog.sciencenet.cn/blog-200199-1050897.html
安装之后放在桌面(Linux下的路径为/mnt/c/Users/Mahone/Desktop),在这里有一个疑问就是下面在指定BASEDIR路径的时候,上述路径/mnt/c/Users/Mahone/Desktop不能识别。
所以在处理的时候,先定位在home/Mahone/文件夹下边
cd /home/mahone
创建一个新文件家ioapi31
mkdir ioapi31
然后把ioapi-3.1.tar.gz复制到/home/Mahone
cd /mnt/c/Users/mahone/Desktop
cp -r ioapi-3.1.tar.gz home/mahone/ioapi31
然后可以看到
然后解压
tar -xzvf ioapi-3.1.tar.gz
2、设置环境变量BIN和建立安装子目录
下边就是安装步骤一步来:
在ioapi31文件下创建Linux2_x86_64
mkdir ioapi31/Linux2_x86_64
vim ~/.bashrc
export BIN=Linux2_x86_64
source ~/.bashrc
3、修改ioapi目录下的Makefile
本帖介绍的是nocpl的安装方式,需要用到Makefile.nocpl
cd ioapi31/ioapi
cp Makefile.nocpl Makefile
vim Makefile
# 修改BASEDIR如下:
BASEDIR =/home/mahone/ioapi31
保存修改后的Makefile
4、修改ioapi目录下的Makeinclude.Linux2_x86_64
vim Makeinclude.Linux2_x86_64
4.7以上版本的gfortran可能会出现不兼容问题,因此需要删除或注释掉ARCHFLGS一项中的-DNEED_ARGS=1
保存修改后的Makeinclude.Linux2_x86_64
5、安装
sudo make
查看Linux2_x86_64中是否有libioapi.a
如果没安装成功,在ioapi中运行make clean,修改后重新make
编译成功~
但是这里遇到的问题是:在安装ioapi的时候,在/usr/local/下怎么也安装不上,但是同样的方法在/home/mahone/(系统路径)下可以安装成功。原因不是很明白……..
6. 编译安装CMAQ
下边是在
在csh下输入cd $M3LIB提示M3LIB变量未定义,但是在bash下,cd $M3LIB 会直接进入,输入pwd会提示路径为/root。
然后在chs下:setenv M3LIB /root;
cd $M3LIB
7、编译MCIP
https://www.cnblogs.com/hbmlml/p/4311189.html参考
之前一直在这里卡着,因为前边的配置不对,导致对这个下边Makefile一直存在疑问。
sudo vim Makefile
到这里就编译成功了
8、下边的安装就按照说明就行了 基本没啥问题。
安装到此结束。
关于blas、lapack、cblas在Ubuntu上的安装参考了一下,
https://blog.csdn.net/weixin_34365417/article/details/91218579主要是上述两位对编译 lapack以及lapacke中,修改make.inc文件讲的很模糊。
WRF安装:先获得权限 Ubuntu终端输入sudo su
下载安装包:http://www2.mmm.ucar.edu/wrf/src/ 例如: WRFV3.9.TAR.gz最新版本
在/usr/local/下解压 tar -xzvf WRFV3.9.TAR.gz
进入WRFV3目录:cd WRFV3
设置NETCDF环境变量:export netcdf=/usr/local/netcdf/
然后执行命令:一定要要获得权限或者以管理员的身份运行: sudo ./configure
根据自己的电脑配置信息及安装的编译器,选择35 GNU(gfortran/gcc);1basic.
./compile +case
./comile em_real >& error.log
安装时遇到的问题:在Ubuntu18.01下试安装了3.1;3.3;3.6;3.9等好几个版本,都无法安装成功,也参考了许多的网上教程。
http://bbs.06climate.com/forum.php?mod=viewthread&tid=3202
https://xg1990.com/blog/archives/190
http://www.doc88.com/p-1716023013624.html
http://www.docin.com/p-707231569.html
----------------------------------------------------------------------------------------------------------------------
检查gcc和gfortran的版本,以及安装路径
gcc -v
gfortran -version
which gcc
which gfortran
----------------------------------------------------------------------------------------------------------------------
检查netcdf的安装:
ncdump
说明Ubuntu下编译器是gcc和gfortran,这个关系到WRF./configure时候编译器的选择;
关于每个选项https://xg1990.com/blog/archives/190介绍:
每一个选项的前半部分通常是在描述编译器与运行环境,根据计算机实际情况选择即可。后半部分是并行选项:
serial 表示串行计算;
smpar 表示内存共享并行计算(shared memory option),即使用openMP,大部分多核电脑都支持这项功能;
dmpar 表示分布式并行计算(distributed memory option),即使用MPI 进行并行计算,主要用在计算集群,单个电脑就没必要用了;
dm+sm 表示同时使用openMP与MPI两种并行方式. 根据实际需要选择即可,最保险的方法就是选择 serial,不过这样编译出来的程序运行最慢
选择完编译选项后,会出现提示选择嵌套选项,一般就选 basic 选项即可:1
--------------------------------------以上不出现错误提示即为成功-----------------------------------------
./compile + case
case 有很多; ./compile em_real >&error.log, 后边是把安装的日志,错误提示输入到error.log文件中。
--------------------------
WRF(WRFV4.0.TAR.gz)的安装:可以发现WRFV4.0在本电脑可以成功安装,因该是WRF版本和netcdf及其编译器版本之间的不兼容的问题。
至此,WRF安装成功~
安装WPS,官网给出了详细的安装流程
https://blog.csdn.net/ESA_DSQ/article/details/78228678#4-%E7%BC%96%E8%AF%91wrf
安装时需要注意的问题:
1、安装依赖包的zlib,libpng,jasper要安装在同一个目录下,比如:
2、WRF编译器选择的问题,本次安装用的是gfortran安装所以在./configure选用的是32-serial(这里一开始安装的时候选择的是34、35都试过了,但是在安装WPS的时候没通过),所以在安装WPS的时候也要选择./configure 1-serial;
3、环境设置,各个安装依赖包的路径要设置对。
欢迎相互交流~
---------------------------------------------------------撒花-------------------------------------------------------