- 积分
- 253
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-4-30
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2014-12-20 17:54:10
|
显示全部楼层
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"
begin
;************************************************
; Specify geographical region and time span (year-month start and end
;************************************************
latS = -90
latN = 90
lonL = -180
lonR = 180
ymStrt = 195001
ymLast = 201312
;************************************************
; Read from netCDF file: variable is type short...unpack
;************************************************
diri = "E:/ENSO/"
fili = "HadISST_sst.nc"
f = addfile(diri+fili,"r")
YYYYMM = cd_calendar( f->time, -1)
iStrt = ind(YYYYMM.eq.ymStrt)
iLast = ind(YYYYMM.eq.ymLast)
x = short2flt( f->sst(iStrt:iLast,{latS:latN},{lonL:lonR}) )
printVarSummary(x) ; [time| 720]x[lat| 91]x[lon| 180]
yyyymm = cd_calendar(x&time, -1) ;转换时间格式
yyyy = yyyymm/100 ;年份
dimx = dimsizes(x) ;给各变量分配维数大小
ntim = dimx(0)
nlat = dimx(1)
mlon = dimx(2)
year = ispan(yyyy(0), yyyy(ntim-1), 1) ;创建整型数组 (1948,。。。。2010)
nyrs = dimsizes(year)
xann=clmMonTLL(x)
xano=calcMonAnomTLL(x,xann)
printVarSummary(xano)
aave34 = wgt_areaave_Wrap(xano(:,{-5:5},{-170:-120}),1.0,1.0,1)
aave3 = wgt_areaave_Wrap(xano(:,{-5:5},{-150:-90}),1.0,1.0,1)
aave4 = wgt_areaave_Wrap(xano(:,{-5:5},{160:-150}),1.0,1.0,1)
printVarSummary(aave34)
nina34 = onedtond(aave34,(/64,12/))
nina3 = onedtond(aave3,(/64,12/))
nina4 = onedtond(aave4,(/64,12/))
opt34=True
opt34@fout="E:/ENSO/nina34.txt"
write_matrix(nina34,"12f6.2",opt34)
opt3=True
opt3@fout="E:/ENSO/nina3.txt"
write_matrix(nina3,"12f6.2",opt3)
opt4=True
opt4@fout="E:/ENSO/nina4.txt"
write_matrix(nina4,"12f6.2",opt4)
end
这是脚本 nino3和nino4指数求出来是没有问题的 可能是没跨日界线的原因
|
|