如何在NCL(The NCAR Command Language )启动时自动加载自定义的函数和程序

首先任意建立一个目录存放自定义的程序,例如:

$ mkdir ~/MyNCL
然后建立一个环境变量:

export NCL_DEF_SCRIPTS_DIR="~/MyNCL"

然后在MyNCL文件夹里面放入你的ncl文件,文件名不重要,放在该文件夹里面的所有文件都会在程序运行前自动加载。

例如该功能可以用于:

a.简化load

        每次调试代码都要load一大堆代码,可以如果能自动load该有多好!

b.简化输入

        在调试ncl代码时,可以使用print和printVarSummary等,但是print给出的信息太多,而printVarSummary有时对文件变量给出的信息又太少,且输入printVarSummary太繁琐。

这时可以创建一个简化的子程序pvs,方便脚本调试。内容如下:


undef("pvs")
procedure pvs(x)
local i,varnames
begin
	printVarSummary(x)

	if (isfile(x))then
		varnames = getfilevarnames(x)
		if(.not.any(ismissing(varnames))) then
			do i=0,dimsizes(varnames)-1
				printFileVarSummary (x,varnames(i))
			end do
		end if
	end if

end


测试文件变量的信息,也只要简单地输入pvs(f)即可:

ncl 7> f=addfile("Jsst.nc","r")
ncl 8> pvs(f)

Variable: x (parameter)
Type: file
File path:      Jsst.nc
Number of global attributes:     7
Number of dimensions:    1
Number of variables:     3


Variable: time
Type: integer
Total Size: 2208 bytes
            552 values
Number of Dimensions: 1
Dimensions and sizes:   [time | 552]
Coordinates:
            time: [0..551]
Number of Attributes: 3
  long_name :   Months since January 1950
  short_name :  Mo
  units :       Month


Variable: SST
Type: float
Total Size: 2208 bytes
            552 values
Number of Dimensions: 1
Dimensions and sizes:   [time | 552]
Coordinates:
            time: [0..551]
Number of Attributes: 4
  units :       C
  short_name :  sst
  long_name :   SST Anomalies for Nino-3
  _FillValue :  -999

ncl 9>

The NCAR Command Language (NCL),功能确实比grads强多了.当在输入方面没有grads简洁明了,如果在调试的时候,使用pvs就可以避免繁琐的输入。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值