登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 lrxwisdom 于 2015-8-14 12:47 编辑
因为学校的服务器不给用我,只好在自己的机器上安装CMAQv5.0.2。期间各种折腾,现在终于弄完成了,现在把安装过程记录下来分享给大家。 之前试过Redhat,CentOS,觉得如果是在自己的机器上安装还是Ubuntu比较好用,友好的界面,流畅的过度动画,完善的包管理器,关键还有国人专门开发的版本,各种贴心啊。下载地址: http://www.ubuntu.com/download/desktop http://www.ubuntu.com/download/ubuntu-kylin 第一个是原始版本,我用的第二个kylin版,15.0464位。
如果是在虚拟机上安装没有什么问题。如果是直接安装,用UltraISO制作启动U盘会无法直接进入安装程序,没有关系,进入命令行之后输入live可以进入liveCD模式(类似winPE),然后点击桌面上的安装Ubuntu即可进入安装程序。
如果是安装双系统,需要在windows下安装分区助手,把动态磁盘转换成基本磁盘(如果之前用windows自带工具把磁盘分成四个区及以上的会自动变成动态磁盘),然后除c盘和系统保留的空间保持主分区之外,其余分区转换成逻辑分区。不这么做Ubuntu安装程序很可能无法正确识别分区。我就是在这里纠结很久。
特别提醒1:如果是安装双系统,选择安装类型一定要选择其他,否则会覆盖windows。 特别提醒2:分配磁盘空间的时候很多教程说要弄4个挂载点,其实只用挂载“/”这一个挂载点就够了。 特别提醒3:一定要选择连网安装,不然后面software里面不能正常安装synaptic package manager
具体安装可以参考:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 安装完成后,获取root权限 打开终端(terminal)输入: sudo passwd root 设定密码的时候光标不会动滴。 sudo gedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
然后该输入密码,弹出一个文本编辑器。
补全以下命令(哪项没有就添加哪项):
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true
allow-guest=false
安装中文输入法(没这个查资料很不方便): 参考:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 先在语言支持里面把输入方式改成fcitx。重启系统,在右上的语言栏里面选配置,加入pinyin,wb等输入法。
安装flash(跑模型的时候很无聊滴,看看视频也不错): 系统自动firefox和chromium两个浏览器,如果用系统自带的软件中心只能按照firefox的flash插件。可以访问下面网址: https://get.adobe.com/cn/flashplayer/ 选择APTfor Ubuntu 会下载一个安装包然后自动跳转到软件中心安装。 chromium浏览器有个问题,会每隔十秒左右自动刷新页面。我试网上关闭google即使搜索的方法也没用,我也下载了chrome的正式linux版也没用。但是在国外,chrome(chromium)的unblockyouku插件是不可取代的,怎么办?一个临时的解决办法是同时打开chromium和随便其他程序的一个窗口,打开视频之后然后鼠标点击那个程序窗口只要不再次点击chromium就不会刷新了。
安装synaptic package manager 打开软件中心softwarecenter,搜索synaptic直接点install安装就好。
安装其他应用,现在Windows很多软件都能找到在软件中心(kylin版有两个软件中心,一个原版ubuntu自带,一个专门针对国人优化的版本)找到Ubuntu(linux)的对应版本。我常用软件里面有QQ里面找不到,可以使用网页版或者使用(WineQQ:http://www.ubuntukylin.com/applications/showimg.php?id=23&)。
可以说不玩大型游戏,Ubuntu已经可以取代Windows系统了(其实Steam已经有linux版本了) 到此ubuntu的安装配置基本告一段落。
怕万一系统崩溃,恢复麻烦可以先备份一下系统。 需要先登录到root账号,如果只是在普通账号下使用su命令提示到root权限还是会出错。具体命令: cd / tar -cvpzf /media/root/BED4FFD0D4FF8943/backup.tgz --exclude=/proc --exclude=/lost+found --exclude=/mnt --exclude=/sys --exclude=/media / 其中/media/root/BED4FFD0D4FF8943/backup.tgz是备份路径和备份名称。具体含义参考:http://os.51cto.com/art/201003/188486.htm
还原系统 光盘或者U盘启动进入liveCD模式 =======分割线====== sudo -i 进入root权限 fdisk -l 查看想恢复到的分区是哪一个,一般就是ld是83的那个 格式化那个分区 mount /dev/sda* *对应挂载分区的编号。 grub-install--root-directory=/mnt /dev/sda 显示没有No error reported则修复引导成功 下面还需要改一下挂载分区的uuid以便引导程序能改顺利识别 chroot /mnt cd / ========[size=14.6666669845581px]分割线======= 分割线以内的可以跳过,修改下面命令把备份的系统还原到新磁盘下。 tar -xvpzf /media/sda7/backup.tgz -C / 转到还原磁盘目录 mkdir proc mkdir lost+found mkdir mnt mkdir sys mkdir media
其中/media/sda7/backup.tgz是备份文件放置的路径。 打开文件管理器,在要恢复到的分区点击右键,点击properties,查看改分区的uuid。 gedit /etc/fstab gedit/boot/grub.cfg 利用gedit的replace all(ctrl+h)把老uuid换成新的 · 首先如果有PGI编译器请参照如下链接安装各种库文件: https://www.pgroup.com/resources/netcdf/netcdf43_pgi2014.htm 我就是因为学校不给PGI许可证才折腾到现在,之前试过intel的学生版编译器也不成功,最后才转投GCC。 Ubuntu 15.04自带的编译器是GCCv4.9.2,但是我必须先把它降级成4.6版。 根据这个帖子4.7以上的版本编译ioapi会出现Error: 'runspec' of module 'm3utilio', importedat。。。 里面提到的解决方法我试了,貌似没用。如果哪位大神成功解决请留言,一定向你请教。 参考:http://blog.csdn.net/astrotycoon/article/details/8069621 这里有个trick,那就是Ubuntu默认只有gcc和g++,而没有gfortran降级之前还需要安装gfortran的4.9.2版。 安装gfortran的4.9.2版和gcc4.6命令如下: sudo apt-get install gfortran gfortran-multilib gcc-4.6gcc-4.6-multilib g++-4.6 g++-4.6-multilib gfortran -4.6 gfortran -4.6-multilib 然后用下面几个命令改变4.6和4.9版本的优先级 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 50 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 40 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.6 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.9 40 sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-4.6 50 sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-4.9 40 然后使用下面命令看gcc各版本的优先顺序 sudo update-alternatives --config gcc sudo update-alternatives --config g++ sudo update-alternatives --config gfortran 然后使用下面命令查看当前编译器版本 gcc --version g++ --version gfortran --version 确认当前gcc,g++和gfortran都是4.6版本。
CMAQ的官方说明文档里面说只需要NETCDF,IOAPI两个库,如果需要多核并行再加一个mpich(openmpi也可以,这里只介绍mpich),但其实需要还zlib,HDF5。NETCDF也在4.2及以后版本几个语言版本分开了,很多教程里面说只用装c库和fortran库,但其实c++库也需要安装。 Netcdf c和fortran其实可以独立安装,但是因为要安装c++,zlib和hdf5必须也安装。 另外需要couple的话还需要安装pvm3,这在ioapi和CMAQ配置里面需要加入pvm3的路径,但是我没用到pvm3,所以就不介绍了,需要的同学可以自行加入。
注意:如果复制的命令无法运行请检查是不是有空格或者“--”被系统吞掉了 安装zlib wget是下载命令,如果下载地址不能用请自行下载相关安装压缩包。 sudo make如果不想每次都输入sudo可以先su提升到管理员权限。 我的安装压缩包都放在/home/leo/CMAQ_libs下面,大家可以安装需要改变存放路径。 --prefix前面“-“是两个,复制粘贴的时候很可能被系统吞掉一个,需要注意 cd /home/leo/CMAQ_libs wget http://zlib.net/zlib-1.2.8.tar.gz tar xf zlib-1.2.8.tar.gz cd zlib-1.2.8 ./configure --prefix=/usr/local/netcdf make make check sudo make install cd .. 这里很多教程是把zlib,HDF5,NETCDF分别按照在三个不同的目录,但是本人亲测只有把三个安装在同一个目录下,安装netcdf时才不会提示找不到zlib。 装在同一个目录下的方法,参考netcdfpython的安装https://code.google.com/p/netcdf4-python/wiki/UbuntuInstall
安装hdf5 wget https://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.14/src/hdf5-1.8.14.tar.gz tar xf hdf5-1.8.14.tar.gz cd hdf5-1.8.14 ./configure --prefix=/usr/local/netcdf --enable-shared --enable-hl --with-zlib=/usr/local/netcdf make -j 4 make -j 4 check sudo make -j 4 install cd ..
如果只用单核makehdf5需要很长时间,这里 –j 4是使用多个核心make可以根据电脑配置改变核心数。
安装netcdf c库 wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-4.3.3.1.tar.gz tar xf netcdf-4.3.3.1.tar.gz cd netcdf-4.3.3.1 LDFLAGS=-L/usr/local/netcdf/lib CPPFLAGS=-I/usr/local/netcdf/include ./configure --enable-netcdf-4 --enable-dap --enable-shared --prefix=/usr/local/netcdf make make check sudo make install cd .. 这里--enable-netcdf-4 --enable-dap这里很多教程是选择disable掉来解决找不到zlib的问题,但是安装c++库的时候会提示netcdf-4必须enable,所以解决办法就是把zlibhdf5 netcdf安装到一个文件夹下面。 Netcdf make 不能加 –j 4,不然会出错,亲测!!
安装netcdf c++库 wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-cxx-4.2.tar.gz tar xf netcdf-cxx-4.2.tar.gz cd netcdf-cxx-4.2 LDFLAGS=-L/usr/local/netcdf/lib CPPFLAGS=-I/usr/local/netcdf/include ./configure --enable-shared --prefix=/usr/local/netcdf make make check sudo make install cd .. 这里没有--enable-netcdf-4 --enable-dap
安装netcdf fortran库 wget ftp://ftp.unidata.ucar.edu/pub/netcdf/netcdf-fortran-4.4.2.tar.gz tar xf netcdf-fortran-4.4.2.tar.gz cd netcdf-fortran-4.4.2 LDFLAGS=-L/usr/local/netcdf/lib CPPFLAGS=-I/usr/local/netcdf/include ./configure --enable-shared --prefix=/usr/local/netcdf make make check sudo make install cd .. 这里还是没有--enable-netcdf-4 --enable-dap 另外我下载的时候netcdf-cxx-4.2.tar.gz的名字会莫名其妙的变成4.4.2.tar.gz。大家注意一下。
安装mpich wget http://www.mpich.org/static/downloads/3.1.4/mpich-3.1.4.tar.gz tar xf mpich-3.1.4.tar.gz cd mpich-3.1.4 ./configure --prefix=/usr/local/mpich make -j 4
make -j 4 check sudo make -j 4 install cd .. 这里make也需要很长时间,make -j 4加速能不能用我没有试过,大家自行尝试吧。
更新:后来试了一边,测试是通过的
更新:这里如果不加--prefix=/usr/local/mpich 就不用设置专门为mpich设置环境变量,但是CMAQ要求ln或者cp mpich安装目录,所以必须加。不想设环境变量可以安装两次,一次加--prefix=/usr/local/mpich 一次不加--prefix=/usr/local/mpich
设置环境变量
gedit ~/.bashrc 在最后加入 #for netcdf export NETCDF=/usr/local/netcdf export PATH=$NETCDF/bin:$PATH export LD_LIBRARY_PATH=$NETCDF/lib:$LD_LIBRARY_PATH #for mpich export PATH=/usr/local/mpich/bin:${PATH} export LD_LIBRARY_PATH=/usr/local/mpich/lib:${LD_LIBRARY_PATH} export MANPATH=/usr/local/mpich/share/man:${MANPATH} 保存退出退出 source ~/.bashrc 不得不说ubuntu这个gedit的文本编辑器还是很赞的,习惯使用vi的同学注意ubuntu的vi很奇怪,Centos和Redhat的vi命令好多用不了。我反正彻底放弃在ubuntu下面使用vi了。
使用下面两个命令看看是否安装成功 which ncdump which mpif90 如果返回安装路径说明安装成功 很多教程说要设置zlib和hdf5的环境变量,对于CMAQ真的不用。
ioapi安装 ioapi安装可以是最纠结的,我耗费的很长时间,试了各种教程,各种版本intel和gcc的编译器。 最后可以确定的是网上直接下载的ioapi-3.1.tar.gz如果按照教程在makeconfigure这一步肯定会报错。使用gcc4.7版本以上make步骤会报错。使用wget命令下载也会出错。(还让不让人活了!!) 官网下载地址 https://www.cmascenter.org/ioapi/download/ioapi-3.1.tar.gz 最后在如下网页找到解决办法: https://gcc.gnu.org/wiki/GfortranBuild#ioapi 这个网页的最后提供了一个脚本,可以自动完成ioapi 安装,但是脚本里面的下载链接是失效的,需要手动修改,里面的安装目录和NETCDF 的路径也需要手动修改。如果不想修改可以使用我修改过的脚本,在附件里下载。
ioapi31.install
(3.72 KB, 下载次数: 292)
|