[ncl-talk] Sub: Set lonL/lonR error
Adv
advita6 at gmail.com
Wed May 18 10:14:54 MDT 2016
Hi,
I still get error.
Output of PrintVarSummary command.
Variable: xt
Type: float
Total Size: 128943360 bytes
32235840 values
Number of Dimensions: 3
Dimensions and sizes: [time | 1968] x [lat | 91] x [lon | 180]
Coordinates:
time: [447048..1883904]
lat: [90..-90]
lon: [ 0..358]
Number Of Attributes: 19
cell_methods : time: mean (monthly from 6-hourly values)
long_name : Monthly Air Temperature at sigma level 0.995
units : degK
precision : 2
GRIB_id : 11
GRIB_name : TMP
var_desc : Air temperature
dataset : NOAA-CIRES 20th Century Reanalysis version 2c Monthly
Averages
level_desc : sigma level 0.995
statistic : Ensemble Mean
parent_stat : Individual Obs
standard_name : air_temperature
missing_value : -9.96921e+36
valid_range : ( 100, 500 )
statistic_method : Ensemble mean is calculated by averaging over all
56 ensemble members at each time step and then averaging mean over all time
steps in a month
GridType : Cylindrical Equidistant Projection Grid
datum : wgs84
actual_range : ( 215.7992, 318.2858 )
_FillValue : -9.96921e+36
Now I get error ::::::
(0) gsn_add_cyclic: Warning: The range of your longitude data is not 360.
(0) You may want to set the gsnAddCyclic resource to False to avoid a
(0) warning message from the spline function.
warning:_NhlCreateSplineCoordApprox: Attempt to create spline approximation
for X axis failed: consider adjusting trXTensionF value
warning:IrTransInitialize: error creating spline approximation for
trXCoordPoints; defaulting to linear
There is shift in the region too.
Please help me to fix this.
Thank you
On Tue, May 17, 2016 at 6:07 PM, Adam Phillips <asphilli at ucar.edu> wrote:
> Hello,
> Please remember to always include ncl-talk on any responses, as that way
> other users can assist.
>
> You responded to me stating that the error message occurs at this line:
> x = f->air(iStrt:iLast,{latS:latN},{lonL:lonR}) ;;;;;{line
> 51}:::::::::::
>
> The error message stated that the 2nd subscript is out of range. Thus,
> your specified lonL and lonR coordinate subscripts are not within the range
> of air's longitudes. You are setting lonL = -116 and lonR = -90. A
> common ncl-talk phrase is to always look at your data.
>
> Try this:
> xT = f->air
> printVarSummary(xT)
> With printVarSummary you will see the coordinate variables and their
> range. I am guessing that your longitudes run from 0-360. Thus, when
> coordinate subscripting you should specify longitudes from 0-360. (You
> might want to check the latitude order as well, do they run from south to
> north or north to south?)
>
> Now try this:
> lonL = 244
> lonR = 270
> x = xT(iStrt:iLast,{latS:latN},{lonL:lonR})
> delete(xT)
> printVarSummary(x)
>
> Hopefully that all answers your query. If not, please respond to the
> ncl-talk email list.
> Adam
>
>
>
>
>
> On Tue, May 17, 2016 at 1:09 PM, Adv <advita6 at gmail.com> wrote:
>
>> Hi,
>> I am getting this error. Could someone help me to fix this bug?
>>
>> Thanks
>>
>> fatal:["NclFile.c":2103]:Subscript out of range, error in subscript #2
>> fatal:["Execute.c":8575]:Execute: Error occurred at or near line 51 in
>> file regress_dennis.ncl
>> load "./contributed.ncl_beta_640"
>>
>> begin
>>
>> ;************************************************
>> ; Specify geographical region and time span (year-month start and end
>> ;************************************************
>>
>> latS = 40
>> ; latS = 0
>> latN = 49
>> lonL = -116
>> lonR = -90
>>
>> ymStrt = 195101
>> ymLast = 201012
>>
>> pltType = "x11"
>> pltName = "regress"
>> pltTitle = "Globe: "+(ymStrt/100)+"-"+(ymLast/100)
>>
>> ;************************************************
>> ; Read from netCDF file: variable is type short...unpack
>> ;************************************************
>> version= "v2" ; "v2", "v2c"
>>
>> diri = "./"
>> ; fili = "air.sig995.mon.mean."+version+".nc"
>> fili = "air.sig995.mon.mean.nc"
>> f = addfile(diri+fili,"r")
>>
>> YYYYMM = cd_calendar( f->time, -1)
>> yyy = yyyymm/100
>>
>> dimx = dimsizes(x)
>> ntim = dimx(0) ; all years and months
>> nlat = dimx(1)
>> mlon = dimx(2)
>>
>> year = ispan(yyyy(0), yyyy(ntim-1), 1)
>> nyrs = dimsizes(year)
>>
>> ;************************************************
>> ; Areal averages: cos(lat) is good enough
>> ;************************************************
>> wgt = cos(0.01745329*x&lat)
>> xann = month_to_annual(x , 1) ; [year| 60]x[lat|
>> 91]x[lon| 180]
>> xavg = wgt_areaave_Wrap(xann , wgt, 1.0, 1) ; [year| 110]
>>
>> xann&year = year
>> xann at long_name = "Annual Air Temperature ("+version+": sigma=0.995)"
>> printVarSummary(xann)
>> printMinMax(xann,0)
>> ;return
>> ;************************************************
>> ; Calculate the regression coefficients (slopes)
>> ;************************************************
>> rc = regCoef(year,xann(lat|:,lon|:,year|:))
>>
>> rc at long_name = "Trend"
>> rc at units = "degC/"+nyrs+"_year"
>> printMinMax(rc,0)
>>
>>
>> ;************************************************
>> ; plotting parameters
>> ;************************************************
>> wks = gsn_open_wks("x11","regress_4_"+version) ; specifies a ps
>> plot
>>
>> res = True
>> res at gsnMaximize = True ; make large
>> res at cnFillOn = True ; turn on color
>> res at cnLinesOn = False ; turn off contour lines
>> res at cnLineLabelsOn = False ; turn off contour line
>> labels
>> ;;res at cnFillMode = "RasterFill"
>>
>> res at cnLevelSelectionMode = "ManualLevels" ; set manual contour
>> levels
>> ; res at cnMinLevelValF = -2.0 ; set min contour level
>> res at cnMinLevelValF = -3.0 ; set min contour level
>> ; res at cnMaxLevelValF = 2.0 ; set max contour level
>> res at cnMaxLevelValF = 5.0 ; set max contour level
>> ; res at cnLevelSpacingF = 0.2 ; set contour interval
>> res at cnLevelSpacingF = 0.5 ; set contour interval
>> res at mpFillOn = False ; turn off default
>> background gray
>> ;res at mpCenterLonF = 180
>>
>> res at gsnCenterString = year(0)+"-"+year(nyrs-1)
>>
>> res at tiMainString = "20th Century Reanalysis ("+version+"):
>> sig995" ; fili
>> plot = gsn_csm_contour_map_ce(wks,rc,res)
>>
>>
>> ;************************************************
>> ; Perform linear regression on selected annual mean
>> ;************************************************
>>
>>
>> rcTest = regline_stats(year, xavg) ; degC/year
>> ; rcTest at long_name = "trend: ("+toint(LAT)+","+toint(LON)+")"
>> rcTest at long_name = "trend:"
>> rcTest at units = "degC/year"
>> rcTest = rcTest*nyrs ; (C/year)*(nyrs)
>> rcTest at units = "degC/"+nyrs+"_year"
>>
>> pltarry = new ( (/2,nyrs/), typeof(xann))
>> pltarry(0,:) = xavg ; use markers
>> pltarry(1,:) = rcTest at Yest ; regression
>> values
>>
>> resxy = True ; plot mods desired
>> resxy at xyMarkLineModes = (/"Markers","Lines"/); choose which have
>> markers
>> resxy at xyMarkerColors = (/"Red", "Blue" /); choose which have
>> markers
>> resxy at xyMarkers = 16 ; choose type of
>> marker
>> resxy at xyMarkerSizeF = 0.0075 ; Marker size
>> (default 0.01)
>>
>> resxy at xyDashPatterns = 0 ; solid line
>> resxy at xyLineThicknesses = (/2,3/)
>> resxy at xyLineColors = (/ "blue" , "black" /)
>> resxy at tmYLFormat = "f" ; not necessary
>> but nicer labels
>>
>> ;;resxy at trXMinF = min(year)
>> resxy at trXMaxF = max(year)
>> resxy at tiMainString = "regline: 20th Renalysis
>> ("+version+"): trend="+sprintf("%5.2f", rcTest)
>>
>> ;---Make legend smaller and move into plot
>> resxy at pmLegendDisplayMode = "Always" ; turn on legend
>> resxy at pmLegendSide = "Top" ; Change location
>> of
>> resxy at pmLegendParallelPosF = 0.225 ; move units Leftt
>> resxy at pmLegendOrthogonalPosF = -0.30 ; move units down
>> resxy at pmLegendWidthF = 0.10 ; Change width and
>> resxy at pmLegendHeightF = 0.100 ; height of legend.
>> resxy at lgPerimOn = True ; turn off/on box
>> around
>> resxy at lgLabelFontHeightF = .015 ; label font height
>> resxy at xyExplicitLegendLabels = (/"data" , "regline" /)
>> plot = gsn_csm_xy
>> (wks,year,pltarry,resxy) ; create plot
>>
>> end
>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
>
> --
> Adam Phillips
> Associate Scientist, Climate and Global Dynamics Laboratory, NCAR
> www.cgd.ucar.edu/staff/asphilli/ 303-497-1726
>
> <http://www.cgd.ucar.edu/staff/asphilli>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160518/d62a8c5c/attachment.html
More information about the ncl-talk
mailing list