Hi All,
I am very new to NCL and working hard to learn all about NCL. I started some
basic analysis by using codes available on Internet. I made some changes in
the code for SVD analysis and I think have made every thing fine. I just
need some help to display right and left singular vectors in NCL using this
code. I do not now how to plot output (spatial patterns and time series).
Can someone further edit this script to plot patterns. I did some thing for
plotting but I received an error.
here is the script
-----------------------------------
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"
begin
nsvd = 3
f1 = addfile ("cmap_pre_obs_jjas.nc", "r")
ppr = f1->prec(:,{-5:45},{55:110}) ; (time,lat,lon)
pr = dim_rmvmean_n(ppr,0)
f2 = addfile ("sst_mean_obs_jjas.nc", "r")
stt = f2->ssto(:,{-60:60},{-180:180}) ; (time,lat,lon)
st = dim_rmvmean_n(stt,0)
dimtsm = dimsizes(pr)
ntim = dimtsm(0)
nlat = dimtsm(1)
mlon = dimtsm(2)
dimu10 = dimsizes(st)
ntim1 = dimu10(0)
nlat1 = dimu10(1)
mlon1 = dimu10(2)
printVarSummary(pr)
printVarSummary(st)
if (ntim.ne.ntim1) then
print("time dimensions must be the same: ntim="+ntim+" ,
ntim1="+ntim1)
exit
end if
P = onedtond( ndtooned(pr), (/ntim ,nlat *mlon /))
S = onedtond( ndtooned(st) , (/ntim1,nlat1*mlon1/))
P!0 = "time"
P!1 = "space"
S!0 = "time"
S!1 = "space"
PP = P(space|:,time|:)
SS = S(space|:,time|:)
; covar = svdcov(PP,SS,nsvd,homlft,hetlft,homrgt,hetrgt)
; print(covar)
svLeft = new((/nsvd,nlat *mlon /),float)
svRight = new((/nsvd,nlat1*mlon1/),float)
svdec = svdstd_sv(PP,SS,nsvd,svLeft,svRight)
print (svdec)
Le = svLeft
Le!0 = "time"
Le!1 = "space"
Left = Le(space|:,time|:)
Ri = svRight
Ri!0 = "time"
Ri!1 = "space"
Right = Ri(space|:,time|:)
transsvLeft = transpose(Left)
transsst = transpose(P)
xL = onedtond(ndtooned(transsvLeft),(/2,nlat,mlon/))
transsvRight = transpose(Right)
transV = transpose(S)
xR = onedtond(ndtooned(transsvRight),(/2,nlat1,mlon1/))
expcoeficientsL = transsvLeft#transsst
expcoeficientsR = transsvRight#transV
printVarSummary(transsvLeft)
printVarSummary(xL)
printVarSummary(transsvRight)
printVarSummary(xR)
printVarSummary(expcoeficientsR)
printVarSummary(expcoeficientsL)
end
------------------------------
here is the output
------------------------------
SVD: Warning all Y values in column are missing or are constant
Variable: svdec
Type: float
Total Size: 8 bytes
2 values
Number of Dimensions: 1
Dimensions and sizes: [2]
Coordinates:
Number Of Attributes: 1
sv : <ARRAY of 380 elements>
(0) 29.16271
(1) 14.85151
Variable: transsvLeft
Type: float
Total Size: 3040 bytes
760 values
Number of Dimensions: 2
Dimensions and sizes: [time | 2] x [space | 380]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Variable: xL
Type: float
Total Size: 3040 bytes
760 values
Number of Dimensions: 3
Dimensions and sizes: [2] x [19] x [20]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Variable: transsvRight
Type: float
Total Size: 87840 bytes
21960 values
Number of Dimensions: 2
Dimensions and sizes: [time | 2] x [space | 10980]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Variable: xR
Type: float
Total Size: 87840 bytes
21960 values
Number of Dimensions: 3
Dimensions and sizes: [2] x [61] x [180]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Variable: expcoeficientsR
Type: float
Total Size: 160 bytes
40 values
Number of Dimensions: 2
Dimensions and sizes: [2] x [20]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Variable: expcoeficientsL
Type: float
Total Size: 160 bytes
40 values
Number of Dimensions: 2
Dimensions and sizes: [2] x [20]
Coordinates:
Number Of Attributes: 1
_FillValue : -999
Cheers
Siraj
-- Siraj Ul Islam PhD student / Research Assistant Environmental Science and Engineering, University of Northern British Columbia, Prince George, BC, Canada ------------------------------------------------------------------------------------------- Please consider the environment before printing this e-mail -------------------------------------------------------------------------------------------
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Mon Feb 7 14:18:16 2011
This archive was generated by hypermail 2.1.8 : Fri Feb 11 2011 - 16:11:42 MST