ncl源码安装方案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

气象项目NCL开发环境配置手册
1建立和测试源码安装ncl所需要的编译环境
1.1安装ncl所需要的编译器
源码编译安装ncl需要C编译器和Fortran编译器。

C编译器使用gcc即可。

安装ncl5.2.1版本时,最好使用gfortran或g95作为Fortran编译器,而不要使用g77。

1.2为外部软件配置环境变量
例如设置C编译器环境变量,export CC=gcc;设置Fortran编译器,export FC=gfortran。

2下载安装非可选外部软件
注:安装时最好把所有的外部软件都安装到同一根目录下,这样做便于以后告诉ncl编译系统所有的外部软件的安装位置。

本文假设所有的外部软件都安装在/usr/local目录下。

官网上说如果源码编译安装ncl,则下面的几款软件都是必须安装的:
●JPEG
支持jpeg图形的软件,我下载的jpeg源码安装文件是jpegsrc.v8c.tar.gz。

一旦有了源码,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
如果jpeg版本是v6的,则还要额外执行以下命令:
make install-lib
make install-headers
●zlib
如果想要支持png图形,或者支持grib2数据,则需要下载安装此软件。

我下载的zlib源码安装文件是zlib-1.2.5.tar.gz。

一旦有了源码,执行以下命令进行安装:
./configure - -prefix=/usr/local
make all install
●NetCDF
支持NetCDF数据格式读取的软件包。

(如果不需要NetCDF数据读取的话,应该可以
不用安装)
- 1-
3下载安装可选的外部软件
3.1GRIB2 software
如果需要读取GRIB2格式数据,则需要安装以下软件包:
●Jasper
官网上建议下载1.900版本或者更高的版本,我下载的是Jasper源码版本是
jasper-1.900.1.zip。

一旦有了源码,便可以执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
●g2clib
我下载的g2clib版本是g2clib_with_changes-1.1.9.tar.gz,下载完源码以后,需要对makefile 做以下修改:
1.修改C编译器(CC行)和C编译器标记(CFLAGS行)。

2.确保DEFS行同时包含"-DUSE_JPEG2000" 和"-DUSE_PNG"。

3.把Jasper/libpng的包含文件加到INC行。

修改完以后,执行以下的命令:
make all
mv libgrib2c.a /usr/local/lib
cp grib2.h /usr/local/include
3.2cairo software
如果需要支持png格式文件输出,则需要安装以下软件包:
●libpng
我下载的libpng版本是libpng-1.5.0.tar.gz,执行以下命令进行安装:
./configure --with-pic --disable-shared --prefix=/usr/local
make all install
●pkg-config
我下载的pkg-config版本是pkg-config-0.25.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
安装完成以后,需要设置环境变量,执行以下命令进行环境变量设置:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/cairo/lib
export PATH=/usr/local/bin:$PATH
●fontconfig
我下载的fontconfig版本是fontconfig-2.8.0.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
●FreeType
我下载的FreeType版本是freetype-2.4.4.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
●pixman
我下载的pixman版本是pixman-0.21.4.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
●expat
我下载的expat版本是expat-2.0.1.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
●cairo
我下载的cairo版本是cairo-1.10.2.tar.gz,执行以下命令进行安装:
./configure --prefix=/usr/local
make all install
4下载并解压ncl源码包
我下载的ncl源码包是ncl_ncarg_src-5.2.1.tar.gz,把它上传到linux下的/usr/local/src目录下,执行以下命令进行解压还原:
gunzip ncl_ncarg_src-5.2.1.tar.gz
tar -xvf ncl_ncarg_src-5.2.1.tar
解压完成以后,将在/usr/local/src目录下生成ncl_ncarg-5.2.1文件夹,执行以下命令设置环境变量:
export NCARG=/usr/local/src/ncl_ncarg-5.2.1
5自定义ncl编译环境
5.1测试当前系统是否能被ncl编译环境识别
在开始编译ncl源码前,需要快速检查一下当前系统是否能被ncl编译环境识别,执行下命令:
cd $NCARG/config
make -f Makefile.ini
./ymake -config `pwd`
如果屏幕上没有输出信息,则说明当前系统能被ncl编译环境识别;否则,如果你得到一下的提示信息:
ymake: system unknown
则说明当前系统不能被ncl编译环境识别,需要修改$NCARG/config目录下一些文件以让ncl编译环境能识别你的系统:
5.2获得配置文件名称
如果ncl编译环境能识别当前系统,则执行以下命令来获得配置文件名称:
grep SYSTEM_INCLUDE Makefile
此时系统应该输出以下类似信息:
SYSTEM_INCLUDE = "Darwin"
这说明配置文件名称是“Darwin”,这就是下一步要修改的配置文件。

5.3修改系统配置文件来改变默认值
一般要修改的宏定义有CCompiler、FCompiler、CcOptions、FcOptions、COptimizeFlag、FOptimizeFlag、ExtraSysLibraries、CtoFLibraries、NgCallF,如果想要修改某个宏定义,需要在配置文件(本文指上一步中的“Darwin”文件)中加入以下代码:
#define CCompiler gcc
以同样的方式改变其它宏定义即可。

5.4源码编译安装ncl
编译ncl源码之前,确保当前系统中装有C编译器(如gcc)和Fortran编译器(如gfortran)。

5.4.1运行配置脚本
执行以下命令来运行配置脚本:
cd $NCARG
./Configure -v
make Info
5.4.2开始源码安装过程
cd $NCARG
make Everything >& make-output &
安装过程可能需要花上半个小时到几个小时。

这取决于机器配置和加载情况。

安装过程中有可能出错,出错的话还要根据提示的错误信息来解决错误,然后再执行以下的命令(具体是命令还是makefile文件内容,我也没看懂)重启安装过程:
Everything = (Makefiles, clean, all, install)
All = (Makefiles, all, install)
all = (compile and build libraries)
install = (move objects to destinations)
clean = (remove object files, core dumps, etc.)
5.4.3设置ncl环境变量
安装完成以后,需要设置环境变量,以便使用ncl,执行以下命令来进行环境变量设置:export NCARG_ROOT=/usr/local
export PATH=$NCARG_ROOT/bin:$PATH
export MANPATH=$NCARG_ROOT/man:$MANPATH
设置完环境变量后,还需要拷贝一个.hluresfile文件到根目录。

5.4.4测试ncl是否安装成功
执行以下命令来检测ncl是否安装成功:
ncl –V
ng4ex gsun01n
ncl gsun01n.ncl
如果程序能执行成功,有图形输出,则说明安装成功。

相关文档
最新文档