[ncarg-talk] HELP!!!
NELSON MATEUS
mateus12es at gmail.com
Fri Oct 12 23:50:09 MDT 2018
Hi, I'm trying to plot the "mjoclivar_16 and I'm finding some errors" the
script and the error are listed below, "could you help me please?
________________________________________________________________
error :
fatal:error in statement
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotInitialize: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotInitialize: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
warning:VectorPlotSetValues: no valid values in vector field; VectorPlot
not possible:[errno=1101]
warning:ContourPlotSetValues: no valid values in scalar field; ContourPlot
not possible:[errno=1101]
_______________________________________________________________
Script
***********************************************************
;
; mjoclivar_16.ncl
;
;***********************************************************
; Generate life cycle composites based upon daily phase space
; If the MJO_INDEX is < 1.0 it is not included
;
; Source: Eun-Pa Lim: Bureau of Meteorology, Australia
; July, 2016
;***********************************************************
;
; These files are loaded by default in NCL V6.2.0 and newer
load "/usr/local/ncarg/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "/usr/local/ncarg/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "/usr/local/ncarg/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
latS = -90
latN = 90
ymdStrt = 20130101 ; start yyyymmdd
ymdLast = 20131231 ; last
yrStrt = ymdStrt/10000
yrLast = ymdLast/10000
pltSubTitle = "Anomalous: OLR, U850, V850"
pltDir = "./" ; plot directory
pltType = "pdf" ; send graphics to PNG file
pltName = "mjoclivar" ; yrStrt+"_"+yrLast
diro = "./" ; output directory
diri = "./" ; input directory
filo = "olr.day.anomalies.1979-2013.nc"
filu = "u850.day.anomalies.1979-2013.nc"
filv = "v850.day.anomalies.1979-2013.nc"
;************************************************
; create BandPass Filter
;************************************************
ihp = 2 ; bpf=>band pass filter
nWgt = 201
sigma = 1.0 ; Lanczos sigma
fca = 1./100.
fcb = 1./20.
wgt = filwgts_lanczos (nWgt, ihp, fca, fcb, sigma )
;***********************************************************
; Find the indicies (subscripts) corresponding to the start/end times
;***********************************************************
f = addfile (diri+filu , "r")
TIME = f->time ; days since ...
YMD = cd_calendar(TIME, -2) ; entire (time,6)
iStrt = ind(YMD.eq.ymdStrt) ; index start
iLast = ind(YMD.eq.ymdLast) ; index last
delete(TIME)
delete(YMD )
time = f->time(iStrt:iLast) ; days since ...
u = f->uwnd_anom(iStrt:iLast,{latS:latN},:)
;***********************************************************
; Read anomalies frpm other fields
;***********************************************************
f = addfile (diro+filv , "r")
v = f->vwnd_anom(iStrt:iLast,{latS:latN},:)
f = addfile (diro+filo , "r")
x = f->olr_anom(iStrt:iLast,{latS:latN},:)
dimx = dimsizes( x )
ntim = dimx(0)
nlat = dimx(1)
mlon = dimx(2)
;************************************************
; Apply the band pass filter to the original anomalies
;************************************************
x = wgt_runave_leftdim (x, wgt, 0)
u = wgt_runave_leftdim (u, wgt, 0)
v = wgt_runave_leftdim (v, wgt, 0)
;***********************************************************
; Open PC components file created in 'mjo_14.ncl'
;***********************************************************
dirMJO = "./" ; input directory
fMJO = "MJO_PC_INDEX.nc" ; created in mjo_14.ncl
f = addfile (dirMJO+fMJO, "r")
;***********************************************************
; Find the indices corresponding to the start/end times
;***********************************************************
TIME = f->time ; days since ...
YMD = cd_calendar(TIME, -2) ; entire (time,6)
iStrt = ind(YMD.eq.ymdStrt) ; index start
iLast = ind(YMD.eq.ymdLast) ; index last
delete(TIME)
delete(YMD )
delete(time)
;***********************************************************
; Read the data for the desired period
;***********************************************************
pc1 = f->PC1(iStrt:iLast)
pc2 = f->PC2(iStrt:iLast)
mjo_indx= f->MJO_INDEX(iStrt:iLast)
time = pc1&time
ymdhms = cd_calendar(time, 0)
imon = floattoint( ymdhms(:,1) ) ; convenience
iday = floattoint( ymdhms(:,2) ) ; subscripts must be integer
;***********************************************************
; Coloque cada matriz em uma matriz apropriada
;***********************************************************
nPhase = 8
angBnd = new( (/2,nPhase/), "float")
angBnd(0,:) = fspan( 0,315,nPhase)
angBnd(1,:) = fspan( 45,360,nPhase)
r2d = 180./(4.*atan(1.0))
ang = atan2(pc2,pc1)*r2d ; phase space
nn = ind(ang.lt.0)
ang(nn) = ang(nn) + 360 ; make 0 to 360
;----------------------------------------------------------
; 0 <= ang < 45 --> MJO Phase 5 (i.e. +ve PC1 & +ve PC2)
;
; print(pc1(:19)+" "+pc2(:19)+" "+ang(:19))
;----------------------------------------------------------
nDays = new (nPhase, "integer")
pLabel = "P"+ispan(1,nPhase,1)+": "
;------------------------------------------------------------
; PLOTS
;------------------------------------------------------------
; pltPath = pltDir+pltName+"_rv_16"
pltPath = pltDir+pltName
wks = gsn_open_wks(pltType,pltPath)
plot = new(nPhase,graphic) ; create graphic array
res = True
res at gsnDraw = False ; don't draw yet
res at gsnFrame = False ; don't advance frame yet
res at mpFillOn = False ; turn off map fill
res at mpMinLatF = latS ; zoom in on map
res at mpMaxLatF = latN
res at mpCenterLonF = 210.
res at cnFillOn = True ; turn on color fill
res at cnFillPalette = "ViBlGrWhYeOrRe" ; set color map
res at cnLinesOn = False ; True is default
res at cnLineLabelsOn = False ; True is default
res at lbLabelBarOn = False ; turn off individual lb's
res at gsnScalarContour = True ; contour 3rd array
res at gsnMajorLatSpacing = 15
res at gsnMajorLonSpacing = 60
res at tmXBLabelFontHeightF = 0.01
res at tmYLLabelFontHeightF = 0.01
; common contours
;mnmxint = nice_mnmxintvl( min(x) , max(x), 16, False)
res at cnLevelSelectionMode = "ManualLevels"
res at cnMinLevelValF = -40 ; -100; mnmxint(0)
res at cnMaxLevelValF = 40 ; 80; mnmxint(1)
res at cnLevelSpacingF = 5 ; 20; mnmxint(2)
;print(res)
res at vcMinDistanceF = 0.01 ; thin the vector density
res at vcRefMagnitudeF = 2.0 ; define vector ref mag
res at vcRefLengthF = 0.025 ; define length of vec ref
res at vcRefAnnoOrthogonalPosF = -1.0 ; move ref vector
res at vcRefAnnoArrowLineColor = "black" ; change ref vector color
res at vcRefAnnoArrowUseVecColor = False ; don't use vec color for
ref
; panel plot only resources
resP = True ; modify the panel plot
resP at gsnMaximize = True ; large format
resP at gsnPanelLabelBar = True ; add common colorbar
resP at lbLabelFontHeightF = 0.01
resP at gsnPanelBottom = 0.05 ; add some space at bottom
resP at pmLabelBarWidthF = 0.8 ; label bar width
resP at pmLabelBarHeightF = 0.05
resP at gsnPanelFigureStringsFontHeightF = 0.0125 ; bit larger than default
;resP at pmLabelBarOrthogonalPosF = 0.015 ; move labelbar up a bit
txres = True
txres at txFontHeightF = 0.01
txid = gsn_create_text(wks, pltSubTitle, txres)
amres = True
;amres at amParallelPosF = 0.575
amres at amOrthogonalPosF = 0.75
amres at amJust = "CenterCenter"
;amres at amResizeNotify = True
;*******************************************
; Loop over each phase
;*******************************************
res at gsnLeftString = ""
res at gsnRightString = ""
do nSeason=1,2
if (nSeason.eq.1) then
resP at gsnPanelMainString = yrStrt+"-"+yrLast+": May to Oct"
else
resP at gsnPanelMainString = yrStrt+"-"+yrLast+": Nov to Apr"
end if
do n=0,nPhase-1
na = n+4 ; temporary adjustment for 0 <= ang < 45
represents MJO phase 5 not MJO phase 1
if(na.gt.7) then
na = na - 8
end if
; print(na)
if (nSeason.eq.1) then
nt = ind(mjo_indx.gt.1.0 .and. \
(imon.ge.5 .and. imon.le.10).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
else
nt = ind(mjo_indx.gt.1.0 .and. \
(imon.ge.11 .or. imon.le. 4).and. \
ang.ge.angBnd(0,n) .and. ang.lt.angBnd(1,n))
end if
if (.not.all(ismissing(nt))) then
xAvg = dim_avg_Wrap( x(lat|:,lon|:,time|nt) )
uAvg = dim_avg_Wrap( u(lat|:,lon|:,time|nt) )
vAvg = dim_avg_Wrap( v(lat|:,lon|:,time|nt) )
nDays(na) = dimsizes(nt)
res at tmXBLabelsOn = False ; do not draw lon labels
res at tmXBOn = False ; lon tickmarks
if (n.eq.(nPhase-1)) then ;
res at tmXBLabelsOn = True ; draw lon labels
res at tmXBOn = True ; tickmarks
end if
plot(n) = gsn_csm_vector_scalar_map(wks,uAvg,vAvg,xAvg,res)
end if
delete(nt) ; will change next iteration
end do
resP at gsnPanelFigureStrings= pLabel+nDays
gsn_panel(wks,plot,(/nPhase,1/),resP) ; now draw as one plot
end do
end
_______________________________________________________________
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncarg-talk/attachments/20181013/d2276fab/attachment-0001.html>
More information about the ncarg-talk
mailing list