;------------------------------------------------- ; Correlation between Summer PPTA and May SSTA ;------------------------------------------------- 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 region boundaries latS = -50 latN = 50 lonL = -180 lonR = 180 yrstrt = 194601 yrend = 200612 yrss = 199301 yree = 199301 ; directories and files for sst fil = addfile("/Users/mcshine/Documents/HadISST_1870-2008_sst.nc","r") ; fixing time index time1 = fil->time lat = fil->lat lon = fil->lon ;printVarSummary(time2) yearmm = cd_calendar(time1,-1) ;print(yearmm) ; read in global data & define dims sst = fil->sst time = yearmm ;print(time) year = time/100 ;print(year) ;mm = time-(year*100) ;imm = ind(mm.eq.5) sstnew = sst(lat|:,lon|:,time|:) sstnew!0 = "lat" sstnew!1 = "lon" sstnew!2 = "time" sstnew&lat = lat sstnew&lon = lon sstnew&time = time ;printVarSummary(sstnew) ;printMinMax(sstnew, True) ; read in region index sst_region = sstnew({latN:latS},{lonL:lonR},{yrstrt:yrend}) nyear = 324 ;printVarSummary(sst_region) ;printMinMax(sst_region, True) ; calculate the deviation from the zonal mean sst_stdTime = dim_stddev(sst_region) sst_anom = rmMonAnnCycLLT(sst_region) printVarSummary(sst_anom) printMinMax(sst_anom, True) ; reading in only Jan to May month sst_anom_jan = sst_anom({latN:latS},{lonL:lonR},{yrss:yree}) printVarSummary(sst_anom_jan) ;print(sst_anom_jan) printMinMax(sst_anom_jan, True) ; read in files for precip anom filename_precipanom = "precipanom.csv" ncols_precipanom = numAsciiCol(filename_precipanom) ;print(ncols_precipanom) data_precipanom = readAsciiTable(filename_precipanom,ncols_precipanom,"float",1) ; one line of header data precipanom_data_ts = ndtooned(data_precipanom(:,1:(ncols_precipanom-1))) sizedata = dimsizes(data_precipanom) yrstart = floattoint(data_precipanom(0,0)) yrendd = floattoint(data_precipanom(sizedata(0)-1,0)) time_station = yyyymm_time(yrstart,yrendd,"integer") ;print(time_station) yrs = 199301 yre = 199312 precipanom_data_ts!0 = "time" precipanom_data_ts&time = sst_region&time printVarSummary(precipanom_data_ts) printMinMax(precipanom_data_ts, True) indices_start = ind(time_station.eq.yrs) indices_end = ind(time_station.eq.yre) precip_anom = precipanom_data_ts(indices_start:indices_end) ; summer & spring season ppta precipJJA1993 = month_to_season(precip_anom, "JJA") ; summer precipanom printVarSummary(precipJJA1993) printMinMax(precipJJA1993, True) ;correlate between Jan with JJA of 1993 corr = escorc(sst_anom_jan,precipJJA1993) printVarSummary(corr) printMinMax(corr, True) end