[ncl-talk] Segmentation error at dim_permsort

Rick Brownrigg brownrig at ucar.edu
Thu Jun 4 07:46:34 MDT 2020


You might do a printVarSummary after this line to make sure anom1_nomiss
contains valid data:

anom1_nomiss=anom1_1d(ind(anom1_1d.ne.-9999))

Other than that, if you can provide your data, I can dig into it deeper.
You can either email directly to me if not too large, or use our FTP site:

http://ncl.ucar.edu/ftp_files.shtml

Rick


On Thu, Jun 4, 2020 at 5:50 AM Sri nandini via ncl-talk <ncl-talk at ucar.edu>
wrote:

> Hello ncl users,
>
> I have a segementation error when executing dim_pqsort which i use for
> plotting the percentiles in my PDF.
>
> The last print i get is "started percentiles" and then segmentation
> error on the line starting with anom1_permsort. I am using ncl version
> 6.5.0.
>
> Below is my script: would appreciate any help in this?
>
> Sri
>
>
> begin
>
>     f     = addfile ("anom_hist_zo_slr.nc", "r")
>     hist_anom    = f->hist_anom
>     printVarSummary(hist_anom)
>     dimx = dimsizes(hist_anom)
>     ntim = dimx(0)          ; 240
>     nens = dimx(1)          ; 100
>     nlat = dimx(2)          ; 45
>     mlon = dimx(3)          ; 90
>     hist_anom at _FillValue = -9.96921e+36
>
>     hist_anom1= dtrend_n(hist_anom,False,0)
>     printVarSummary(hist_anom1)
>     delete(hist_anom)
>
>     f1     = addfile ("anom_rcp45_zo_slr.nc", "r")
>     rcp45_anom   = f1->rcp45_anom
>     printVarSummary(rcp45_anom)
>     rcp45_anom1= dtrend_n(rcp45_anom, False,0)
>     printVarSummary(rcp45_anom1)
>     delete(rcp45_anom)
>
>     f2     = addfile ("anom_rcp85_zo_slr.nc", "r")
>     rcp85_anom   = f2->rcp85_anom
>     printVarSummary(rcp85_anom)
>     rcp85_anom1= dtrend_n(rcp85_anom, False,0)
>     printVarSummary(rcp85_anom1)
>     delete(rcp85_anom)
>
> ;=================================================================
>
>    anom1_1d = ndtooned(hist_anom1)                     ;to carry out the
> dim_stat4_n on one dimension.
>    anom2_1d = ndtooned(rcp45_anom1)
>    printVarSummary(anom2_1d)
>    anom3_1d = ndtooned(rcp85_anom1)
>    printVarSummary(anom3_1d)
>
>   TTstat1 = dim_stat4(anom1_1d)
>    printVarSummary(TTstat1)                             ; (4,?)
>
>    TTstat2 = dim_stat4(anom2_1d)
>    printVarSummary(TTstat2)                             ; (4,?)
>        print("success")
>    TTstat3 = dim_stat4(anom3_1d)
>    printVarSummary(TTstat3)                             ; (4,?)
>      print("success")
>
>    xLow   = min(anom1_1d)
>    xHi    = max(anom1_1d)
>      print("success")
>    xLow1   = min(anom2_1d)
>    xHi1    = max(anom2_1d)
>      print("success")
>    xLow2   = min(anom3_1d)
>    xHi2    = max(anom3_1d)
>
> ;==================================================================
>   ; percentiles (requires sorting the array)
>
>    anom1_nomiss=anom1_1d(ind(anom1_1d.ne.-9999))
>      print("started percentiles")
>
>    anom1_permsort = dim_pqsort(anom1_nomiss,2) ;; sorted array is
> anom1_nomiss!!
>    delete(anom1_permsort)
>
>    anom1_p05=anom1_nomiss(floattoint(0.05*dimsizes(anom1_nomiss)))
> ;(rank_p5)
>    anom1_p95=anom1_nomiss(floattoint(0.95*dimsizes(anom1_nomiss)))
>    printVarSummary(anom1_p05)
> anom2_nomiss=anom2_1d(ind(anom2_1d.ne.-9999))
>    anom2_permsort = dim_pqsort(anom2_nomiss,2)
>      delete(anom2_permsort)
>
>    anom2_p05=anom2_nomiss(floattoint(0.05*dimsizes(anom2_nomiss)))
> ;(rank_p5)
>    anom2_p95=anom2_nomiss(floattoint(0.95*dimsizes(anom2_nomiss)))
>          print("started percentiles")
>     delete(anom2_nomiss)
>
>    anom3_nomiss=anom3_1d(ind(anom3_1d.ne.-9999))
>    anom3_permsort = dim_pqsort(anom3_nomiss,2)
>      delete(anom3_permsort)
>
>    anom3_p05=anom3_nomiss(floattoint(0.05*dimsizes(anom3_nomiss)))
> ;(rank_p5)
>    anom3_p95=anom3_nomiss(floattoint(0.95*dimsizes(anom3_nomiss)))
>      print("started percentiles")
>
>
> ;================================================================================
> ; calculate empirical PDF
>
> ;================================================================================
>    opt          = True
>    opt at bin_min = -50.
>    opt at bin_max =  50.
>
>    pdf1 = pdfx(hist_anom1, 100, opt)
>    printVarSummary(pdf1)
>    pdf2 = pdfx(rcp45_anom1, 100, opt)
>    printVarSummary(pdf2)
>    pdf3 = pdfx(rcp85_anom1, 100, opt)
>
>
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200604/75345552/attachment.html>


More information about the ncl-talk mailing list