气象项目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/localmake all install如果jpeg版本是v6的,则还要额外执行以下命令:make install-libmake install-headers●zlib如果想要支持png图形,或者支持grib2数据,则需要下载安装此软件。
我下载的zlib源码安装文件是zlib-1.2.5.tar.gz。
一旦有了源码,执行以下命令进行安装:./configure - -prefix=/usr/localmake all install●NetCDF支持NetCDF数据格式读取的软件包。
(如果不需要NetCDF数据读取的话,应该可以不用安装)- 1-3下载安装可选的外部软件3.1GRIB2 software如果需要读取GRIB2格式数据,则需要安装以下软件包:●Jasper官网上建议下载1.900版本或者更高的版本,我下载的是Jasper源码版本是jasper-1.900.1.zip。
一旦有了源码,便可以执行以下命令进行安装:./configure --prefix=/usr/localmake 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 allmv libgrib2c.a /usr/local/libcp grib2.h /usr/local/include3.2cairo software如果需要支持png格式文件输出,则需要安装以下软件包:●libpng我下载的libpng版本是libpng-1.5.0.tar.gz,执行以下命令进行安装:./configure --with-pic --disable-shared --prefix=/usr/localmake all install●pkg-config我下载的pkg-config版本是pkg-config-0.25.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install安装完成以后,需要设置环境变量,执行以下命令进行环境变量设置:export PKG_CONFIG_PATH=/usr/local/lib/pkgconfigexport LD_LIBRARY_PATH=/usr/local/cairo/libexport PATH=/usr/local/bin:$PATH●fontconfig我下载的fontconfig版本是fontconfig-2.8.0.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install●FreeType我下载的FreeType版本是freetype-2.4.4.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install●pixman我下载的pixman版本是pixman-0.21.4.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install●expat我下载的expat版本是expat-2.0.1.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install●cairo我下载的cairo版本是cairo-1.10.2.tar.gz,执行以下命令进行安装:./configure --prefix=/usr/localmake all install4下载并解压ncl源码包我下载的ncl源码包是ncl_ncarg_src-5.2.1.tar.gz,把它上传到linux下的/usr/local/src目录下,执行以下命令进行解压还原:gunzip ncl_ncarg_src-5.2.1.tar.gztar -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.15自定义ncl编译环境5.1测试当前系统是否能被ncl编译环境识别在开始编译ncl源码前,需要快速检查一下当前系统是否能被ncl编译环境识别,执行下命令:cd $NCARG/configmake -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 -vmake Info5.4.2开始源码安装过程cd $NCARGmake 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/localexport PATH=$NCARG_ROOT/bin:$PATHexport MANPATH=$NCARG_ROOT/man:$MANPATH设置完环境变量后,还需要拷贝一个.hluresfile文件到根目录。
5.4.4测试ncl是否安装成功执行以下命令来检测ncl是否安装成功:ncl –Vng4ex gsun01nncl gsun01n.ncl如果程序能执行成功,有图形输出,则说明安装成功。