[ncl-talk] Problems with gsn_csm_xy

Lara Gunn lara.n.gunn at gmail.com
Thu Aug 27 08:13:57 MDT 2015


Hi


I am running ncl 6.2.1 in cygwin



I am running a plot script which seems to be working but I get this error.



(0)        gsn_csm_xy: Fatal: X and Y must have the same dimensions sizes,
or one must be one-dimensional and both have the same rightmost dimension.



However when I print out the two variables I am plotting I get this



Variable: dt

Type: float

Total Size: 12 bytes

            3 values

Number of Dimensions: 1

Dimensions and sizes:   [3]

Coordinates:

Number Of Attributes: 1

  _FillValue :  9.96921e+36

(0)      0

(1)      3

(2)      6





Variable: T_dif

Type: float

Total Size: 12 bytes

            3 values

Number of Dimensions: 1

Dimensions and sizes:   [3]

Coordinates:

Number Of Attributes: 1

  _FillValue :  9.96921e+36

(0)     0.1149902

(1)     -0.3859797

(2)     -0.0739994



The line of code is as follows



                         res3 = res

                         res3 at tiMainString       = ""

                         res3 at tiXAxisString      = "Time Step"

                         res3 at tiYAxisString      = "Temperature Difference
(C)"

                         res3 at trYMinF            = -3

                         res3 at trYMaxF            = 3

                         res3 at trXMinF            = 0

                         res3 at trXMaxF            = 240

                         res3 at vpXF               = 0.1

                         res3 at gsnYRefLine        = 0.0

                         res3 at gsnAboveYRefLineColor = "red"

                         res3 at gsnBelowYRefLineColor = "blue"



                         polyres                  = True

                         polyres at gsLineThicknessF = 3.0



                         if (dimsizes(T).gt.1).and.(dimsizes(T).lt.240) then

                                plot2 = gsn_csm_xy(wks,dt,T_dif,res3)

                                gsn_polyline(wks,plot,dt,T_dif,polyres)

                                psres = True

                                gsn_panel(wks,(/plot,plot2/),(/1,2/),psres)

                         end if



Obviously this isn’t the whole piece of code but the other graph in the
image using gsn_csm_x2y2 so that can’t be the cause of the error. There do
seem to be some errors in this because the gsn_polyline is on plot2 not
plot one on the image it creates, but if I put plot there instead it draws
a mysterious line of the first plot. All in all I am quite confused what I
have done.



I have attached the full script just incase that help shed light on my
coding.



Thanks in advance

Lara

                        load
"$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"

                        load
"$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"



                        grib_in = addfile("$file1","r")

                        names = getfilevarnames(grib_in)



                        ncdf_out = addfile("$file2","c")

                        do i=0,dimsizes(names)-1

                                ncdf_out->$extra(i)$ = grib_in->$extra(i) $

                        end do



                        setfileoption("nc","FileStructure","Advanced")

                        fn = "$file2"

                        fi = addfile(fn,"r")



                        t2m = fi->TMP_P0_L103_GLL0

                        lat = fi->lat_0

                        lon = fi->lon_0



                         T_london=t2m(154,0)

                         T_birmingham=t2m(150,1432)

                         T_manchester=t2m(146,1431)

                         T_glasgow=t2m(137,1421)



                         T_UK =
(0.44*(T_london)+0.18*T_birmingham+0.27*(T_manchester)+0.11*(T_glasgow))-272.15

                         asciiwrite ("T_UK_$i",T_UK)

                         asciiwrite ("dt_$i",$i)

                         system("cat T_UK_* > T_UK")

                         system("cat dt_* > datefile")



                         T_old=asciiread("T_00z",-1,"float")

                         dt_old=asciiread("DATEFILE_00z",-1,"float")

                         T=asciiread("T_UK",-1,"float")

                         dt=asciiread("datefile",-1,"float")

                         dt2=dt+6





                         if (dimsizes(T).lt.240) then

                                 T_dif =
T(0:dimsizes(T)-1)-T_old(2:(2+dimsizes(T))-1)

                         end if



                         filename="$a"

                         wks = gsn_open_wks("png",filename)



                         res                            = True

                         res at gsnFrame                   = False

                         res at gsnDraw                    = False

                         res at tiMainString               = "GFS 06z op UK
Temperatures"

                         res at tiXAxisString              = "Time Step"

                         res at tiYAxisString              = "Temperature (C)"

                         res at trYMinF                    = min(T_old)-2

                         res at trYMaxF                    = max(T_old)+2

                         res at trXMinF                    = 0

                         res at trXMaxF                    = 390

                         res at xyLineColor                = "black"

                         res at xyLineThicknessF           = 4

                         res at xyDashPattern              = 4

                         res2                           = True

                         res2 at gsnFrame                  = False

                         res2 at gsnDraw                   = False

                         res2 at trYMinF                   = min(T_old)-2

                         res2 at trYMaxF                   = max(T_old)+2

                         res2 at trXMinF                   = 0

                         res2 at trXMaxF                   = 390

                         res2 at xyLineColor               = "red"

                         res2 at xyLineThicknessF          = 4

                         res2 at xyDashPattern             = 0





                         if (dimsizes(T).gt.1) then

                                plot =
gsn_csm_x2y2(wks,dt_old,dt2,T_old,T,res,res2)

                         end if



                         res3 = res

                         res3 at tiMainString       = ""

                         res3 at tiXAxisString      = "Time Step"

                         res3 at tiYAxisString      = "Temperature Difference
(C)"

                         res3 at trYMinF            = -3

                         res3 at trYMaxF            = 3

                         res3 at trXMinF            = 0

                         res3 at trXMaxF            = 240

                         res3 at vpXF               = 0.1

                         res3 at gsnYRefLine        = 0.0

                         res3 at gsnAboveYRefLineColor = "red"

                         res3 at gsnBelowYRefLineColor = "blue"



                         polyres                  = True

                         polyres at gsLineThicknessF = 3.0



                         if (dimsizes(T).gt.1).and.(dimsizes(T).lt.240) then

                                plot2 = gsn_csm_xy(wks,dt,T_dif,res3)

                                gsn_polyline(wks,plot,dt,T_dif,polyres)

                                psres = True

                                gsn_panel(wks,(/plot,plot2/),(/1,2/),psres)

                         end if
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20150827/922c6c8b/attachment.html 


More information about the ncl-talk mailing list