calwrf编译linux红帽,WRF编译指南2--netcdf3.6.2库的编译

先贴一下wrf中文手册上编译netcdf3.6.2的方法

安装NetCDF

安装运行WRF模式之前,必须要安装NetCDF。可以通过下面的网址下载。

http://www.unidata.ucar.edu/software/netcdf/index.html

1、使用gunzip和tar命令对文件进行解压,展开。

􀂾 tar –xvf netcdf-3.6.1.tar

􀂾 cd netcdf-3.6.1/src

2、􀂾 ./configure --prefix=/home/user/you/(安装在指定的目录下)

3、检查/netcdf-3.6.1/src 目录下的 macros.make 文件。

􀂾 vi macros.make

(在此处,使用vi命令。UNIX的初学者注意:用vi命令可以编辑文件,不保存退出时按顺序按下

: q !

键,即可退出;若要保存后退出可按

: w q 共四键)

注意到INSTALL行。如果此行是INSTALL = /usr/bin/install –c 即可;如果不是,要按此修正。

4、 make check

5、􀂾make install (UNIX下安装软件的一般步骤: 1../configure 2. make 3. make

install )

此时,要确认在prefix的地方(这回是/home/user/you/)会有bin, lib,

include和man目录生成。

6、设定NetCDF的环境变量:(个人建议直接写到bashrc文件里面,方便)

􀂾 NETCDF=/home/user/you;export NETCDF

2007年3月初,推出了NetCDF-3.6.2版本。使用最新版或者前一版都可以安装运行WRF Model

WRF中文手册这个地方写的太简单,也有可能作者在编译的时候没有遇到什么问题。

在此我在补充一下:上述流程都是正确,关键在于编译器的选择上,比如一般的系统自带的F90,F77,c编译器的cc,gcc,我们常用的pgi的pgf90、pgcc,intel

的ifort,icc,ibm的xlf90,因为你编译wrf时候要用到netcdf的库libnetcdf.a,这个库文件的所用的编译器要和你w编译rf所用的编译器相同,比如你编译wrf要用到ifort和icc,那么编译netcdf你就必须要用ifort和icc,这就是编译器一致的问题。

所以我们在编译netcdf的时候要指定fortran、c、c++的编译器(一般系统上都有好几种fortran和c的编译器),然后在修改相应的编译参数(netcdf给的编译参数不大正确),以用intel的编译器为例说明下:

在configure之前指定fortran和c的编译器(括号内可省略),

export CC=(/opt/intel/cc/10.1.013/bin/)icc

export CXX==(/opt/intel/fce/10.1.018/bin/)cpc

export F77=(/opt/intel/fce/10.1.018/bin/)ifort

export F77=(/opt/intel/fce/10.1.018/bin/)ifort

然后在./configure --prefix=/home/user/you

然后在修改makefile,注意netcdf4.0以上版本并没有macros.make这个文件,直接修改makefile即可,主要是修改编译参数,改动部分如下;(注意不同cpu有不同的编译参数,下面是针对intel的酷睿)

CC = icc

CFLAGS = -O3 -xT -ip -no-prec-div -static

CPP = icc -E

CPPFLAGS =

CXX = icpc

CXXCPP = icpc -E

CXXFLAGS = -O3 -xT -ip -no-prec-div -static

F77 = ifort

FC = ifort

FCFLAGS = -O3 -xT -ipo -no-prec-div -static

FCFLAGS_f90 =

FFLAGS = -O3 -xT -ipo -no-prec-div -static

LD = ifort

LDFLAGS = -O3 -xT -no-prec-div -static

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值