[ncl-talk] Graphical error
Dennis Shea
shea at ucar.edu
Sun Apr 8 13:50:38 MDT 2018
How about addfiles
https://www.ncl.ucar.edu/Document/Functions/Built-in/addfiles.shtml
-------------
diri = "./"
fili = systemfunc("cd "+diri+" ; ls 3B42RT.2013*.7.nc4")
pthi = diri+fili
print(fili)
f = addfiles(pthi, "r")
prc = f[:]->precipitation
printVarSummary(prc)
On Sun, Apr 8, 2018 at 6:51 AM, Guido Cioni <guidocioni at gmail.com> wrote:
> You should provide clean code when writing to ncl-talk. There are a lot of
> commented lines in your script and it is hard to understand what you are
> actually doing. Everyone's time here is valuable ;)
>
> I suspect that your error is coming from this line
>
> prc_all = (prc1 + prc2 + prc3 + prc4 + prc5 + prc6 + prc7 + prc8 + prc9 + prc10 + prc11 + prc12 + prc13 + prc14 + prc15 + prc16 + prc17 + prc18 + prc19 + prc20 + prc21 + prc22 + prc23 + prc24 + prc25 + prc26 + prc27 + prc28 + prc29 + prc30 + prc31 + prc32 + prc33 + prc34 + prc35 + prc36 + prc37 + prc38 + prc39 + prc40 + prc41 + prc42 + prc43 + prc44 + prc45 + prc46 + prc47 + prc48 + prc49)
>
>
> In this assignment every metadata (including coordinate variables) will be
> lost. Thus, NCL doesn't know how to interpret the coordinates of the
> variable that you are trying to plot. It's weird because it appears that in
> a commented part of your code you were exactly trying to fix this problem
>
> ;prc_last := prc_all->precipitation
> ;prc!0 = "lat" ; 1st ... name the dimensions
> ;prc!1 = "lon"
> ;prc&lat = lat ; create coordinate variable
> ;prc&lon = lon
>
>
> So...few options to fix this.
>
> [1] Re-assign coordinate variables as you did in the aforementioned part
> of the code which is now commented out. Note that you should use the names
> lat2d and lon2d if your coordinate variables are 2d instead of 1d.
>
> [2] Directly copy var coordinates (and possibly attributes) using one of
> the function https://www.ncl.ucar.edu/Document/Functions/
> Contributed/copy_VarCoords.shtml: https://www.ncl.ucar.
> edu/Document/Functions/Contributed/copy_VarMeta.shtml.
>
> Doing copy_VarCoords(prc1,prc_all) should do the trick.
>
> [3] Manually assign the coordinate variables to the plotting routine using
> the resources sfXarray and sfYArray. (this https://www.ncl.ucar.
> edu/Applications/contour1d.shtml can help).
>
>
> Cheers
>
> On 8. Apr 2018, at 13:48, Md. Jalal Uddin <dmjalal90 at gmail.com> wrote:
>
> Dear Sir/ Madam,
>
> I am a new user in NCL. I am getting following error in NCL. I tried to
> fix it by following NCL guidelines, but don't know why it is not fixing. I
> used TRMM3B42 3 hourly data. Could you help me, please?
>
> (0) check_for_y_lat_coord: Warning: Data either does
> not contain a valid latitude coordinate array or doesn't
> contain one at all
> (0) check_for_lon_coord: Warning: Data either does
> not contain a valid longitude coordinate array or doesn't
> contain one at all
>
> (0) is_valid_lat_ycoord: Warning: The units attribute of
> the Y coordinate array is not set to one of the allowable
> units values (i.e. 'degrees_north'). Your latitude labels
> may not be correct.
>
> (0) is_valid_lat_xcoord: Warning: The units attribute of
> the X coordinate array is not set to one of the allowable
> units values (i.e. 'degrees_east'). Your longitude labels
> may not be correct.
>
> ;;;;;My script
>
>
> ;***********************************************
> ;
> ; These files are loaded by default in NCL V6.2.0 and newer
> ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
> ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
>
> begin
> ;************************************************
> ; Read the file
> ;************************************************
> f1 = addfile("3B42RT.2013051100.7.nc4","r")
> prc1 = f1->precipitation ;; prc1 here is two dimensional
>
> f2 = addfile("3B42RT.2013051103.7.nc4","r")
> prc2 = f2->precipitation
>
> f3 = addfile("3B42RT.2013051106.7.nc4","r")
> prc3 = f3->precipitation
>
> f4 = addfile("3B42RT.2013051109.7.nc4","r")
> prc4 = f4->precipitation
>
> f5 = addfile("3B42RT.2013051112.7.nc4","r")
> prc5 = f5->precipitation
>
> f6 = addfile("3B42RT.2013051115.7.nc4","r")
> prc6 = f6->precipitation
>
> f7 = addfile("3B42RT.2013051118.7.nc4","r")
> prc7 = f7->precipitation
>
> f8 = addfile("3B42RT.2013051121.7.nc4","r")
> prc8 = f8->precipitation
>
> f9 = addfile("3B42RT.2013051200.7.nc4","r")
> prc9 = f9->precipitation
>
> f10 = addfile("3B42RT.2013051203.7.nc4","r")
> prc10 = f10->precipitation
>
> f11 = addfile("3B42RT.2013051206.7.nc4","r")
> prc11 = f11->precipitation
>
> f12 = addfile("3B42RT.2013051209.7.nc4","r")
> prc12 = f12->precipitation
>
> f13 = addfile("3B42RT.2013051212.7.nc4","r")
> prc13 = f13->precipitation
>
> f14 = addfile("3B42RT.2013051215.7.nc4","r")
> prc14 = f14->precipitation
>
> f15 = addfile("3B42RT.2013051218.7.nc4","r")
> prc15 = f15->precipitation
>
> f16 = addfile("3B42RT.2013051221.7.nc4","r")
> prc16 = f16->precipitation
>
> f17 = addfile("3B42RT.2013051300.7.nc4","r")
> prc17 = f17->precipitation
>
> f18 = addfile("3B42RT.2013051303.7.nc4","r")
> prc18 = f18->precipitation
>
> f19 = addfile("3B42RT.2013051306.7.nc4","r")
> prc19 = f19->precipitation
>
> f20 = addfile("3B42RT.2013051309.7.nc4","r")
> prc20 = f20->precipitation
>
> f21 = addfile("3B42RT.2013051312.7.nc4","r")
> prc21 = f21->precipitation
>
> f22 = addfile("3B42RT.2013051315.7.nc4","r")
> prc22 = f22->precipitation
>
> f23 = addfile("3B42RT.2013051318.7.nc4","r")
> prc23 = f23->precipitation
>
> f24 = addfile("3B42RT.2013051321.7.nc4","r")
> prc24 = f24->precipitation
>
> f25 = addfile("3B42RT.2013051400.7.nc4","r")
> prc25 = f25->precipitation
>
> f26 = addfile("3B42RT.2013051403.7.nc4","r")
> prc26 = f26->precipitation
>
> f27 = addfile("3B42RT.2013051406.7.nc4","r")
> prc27 = f27->precipitation
>
> f28 = addfile("3B42RT.2013051409.7.nc4","r")
> prc28 = f28->precipitation
>
> f29 = addfile("3B42RT.2013051412.7.nc4","r")
> prc29 = f29->precipitation
>
> f30 = addfile("3B42RT.2013051415.7.nc4","r")
> prc30 = f30->precipitation
>
> f31 = addfile("3B42RT.2013051418.7.nc4","r")
> prc31 = f31->precipitation
>
> f32 = addfile("3B42RT.2013051421.7.nc4","r")
> prc32 = f32->precipitation
>
> f33 = addfile("3B42RT.2013051500.7.nc4","r")
> prc33 = f33->precipitation
>
> f34 = addfile("3B42RT.2013051503.7.nc4","r")
> prc34 = f34->precipitation
>
> f35 = addfile("3B42RT.2013051506.7.nc4","r")
> prc35 = f35->precipitation
>
> f36 = addfile("3B42RT.2013051509.7.nc4","r")
> prc36 = f36->precipitation
>
> f37 = addfile("3B42RT.2013051512.7.nc4","r")
> prc37 = f37->precipitation
>
> f38 = addfile("3B42RT.2013051515.7.nc4","r")
> prc38 = f38->precipitation
>
> f39 = addfile("3B42RT.2013051518.7.nc4","r")
> prc39 = f39->precipitation
>
> f40 = addfile("3B42RT.2013051521.7.nc4","r")
> prc40 = f40->precipitation
>
> f41 = addfile("3B42RT.2013051600.7.nc4","r")
> prc41 = f41->precipitation
>
> f42 = addfile("3B42RT.2013051603.7.nc4","r")
> prc42 = f42->precipitation
>
> f43 = addfile("3B42RT.2013051606.7.nc4","r")
> prc43 = f43->precipitation
>
> f44 = addfile("3B42RT.2013051609.7.nc4","r")
> prc44 = f44->precipitation
>
> f45 = addfile("3B42RT.2013051612.7.nc4","r")
> prc45 = f45->precipitation
>
> f46 = addfile("3B42RT.2013051615.7.nc4","r")
> prc46 = f46->precipitation
>
> f47 = addfile("3B42RT.2013051618.7.nc4","r")
> prc47 = f47->precipitation
>
> f48 = addfile("3B42RT.2013051621.7.nc4","r")
> prc48 = f48->precipitation
>
> f49 = addfile("3B42RT.2013051700.7.nc4","r")
> prc49 = f49->precipitation
>
> prc_all = (prc1 + prc2 + prc3 + prc4 + prc5 + prc6 + prc7 + prc8 + prc9 + prc10 + prc11 + prc12 + prc13 + prc14 + prc15 + prc16 + prc17 + prc18 + prc19 + prc20 + prc21 + prc22 + prc23 + prc24 + prc25 + prc26 + prc27 + prc28 + prc29 + prc30 + prc31 + prc32 + prc33 + prc34 + prc35 + prc36 + prc37 + prc38 + prc39 + prc40 + prc41 + prc42 + prc43 + prc44 + prc45 + prc46 + prc47 + prc48 + prc49)
>
> ;prc_last := prc_all->precipitation
> ;prc!0 = "lat" ; 1st ... name the dimensions
> ;prc!1 = "lon"
> ;prc&lat = lat ; create coordinate variable
> ;prc&lon = lon
>
>
> ;lat_p = (/-35,-30,-25,-20,-15,-10,-5,0,5,10,15,20,25,30/)
> ;lon_p = (/0,10,20,30,40,50,60,70,80,90,100,110,120,130,135/)
> ;X!0 = "lat"
> ;Y!1 = "lon"
> ;X&lat at units = "degrees_north"
> ;Y&lon at units = "degrees_east"
> ;grid = new((/14,15),float)
>
> ;grid&lat = lat_p
> ;grid&lon = lon_p
>
> printVarSummary(prc_all)
>
> ;************************************************
> ; create colors
> ;*************************************************
> wks = gsn_open_wks("png","Mahasen") ; open a workstation and send data to eps
>
> colors = (/ (/255,255,255/), (/244,255,244/), \
> (/217,255,217/), (/163,255,163/), (/106,255,106/), \
> (/43,255,106/), (/0,224,0/), (/0,134,0/),(/255,255,0/),\
> (/255,127,0/) /) / 255. ; be sure to make this a float!
>
> ;************************************************
> ; create panel plots
> ;*************************************************
> res = True ; plot options desired
>
> res at cnFillOn = True ; turn on color fill
> res at cnLinesOn = False ; turn off contour lines
> res at cnFillPalette = colors
>
> res at cnLevelSelectionMode = "ExplicitLevels" ; set explicit contour levels
> res at cnLevels = (/5,10,15,20,25,30,35,40,45,50,55/)
> ;res at cnLevels = (/0.1,0.2,0.4,0.8,1.6,3.2,6.4,12.8,20,25,30/)
>
>
> res at mpFillOn = True ; turn on gray continents
> res at pmTickMarkDisplayMode = "Always"
>
> res at mpLimitMode = "LatLon" ; select subregion
> res at mpMinLatF = -35.
> res at mpMaxLatF = 30.
> res at mpMinLonF = 0.
> res at mpMaxLonF = 135.
> ;res at mpProjection = "Mercator"
> res at lbOrientation = "horizontal"
> res at trGridType = "TriangularMesh"
> ;res at trGridType = "curvilinear"
>
> res at tmYROn = False ; turn off right and top tickmarks
> res at tmXTOn = False
>
> ; add polygon to plot
> y = (/10.3, 10.8, 11.4, 11.9, 12.3, 13.1, 13.7, 14.2, 14.7, 15.6, 16.5, 17.5, 18.5, 19.7, 20.7, 22.4, 24.3/)
> x = (/87.0, 86.7, 86.5, 86.2, 85.6, 85.4, 85.4, 85.8, 86.2, 86.7, 87.2, 87.6, 88.4, 89.0, 89.9, 91.1, 92.6/)
> resp = True ; mods yes
> resp at gsLineThicknessF = 3.0 ; line thickness
> resp at gsLineColor = "black"
>
> ;Add markers to the trajectories.
> amres = True ; marker resources for best track
> amres at gsMarkerIndex = 14 ; marker style (filled circle)
> amres at gsMarkerSizeF = 8.0 ; marker size
> amres at gsMarkerColor = "black" ; maker color
>
> plot = gsn_csm_contour_map(wks, prc_all,res) ; create plot
> d = gsn_add_polyline(wks,plot,x,y,resp)
> d1 = gsn_add_polymarker(wks,plot,x,y,amres)
> draw(plot)
> frame(wks)
> end
>
> Best Wishes
> Jalal
>
> --
> *Md. Jalal Uddin*
> MSc in Applied Meteorology (English Language)
> Nanjing University of Information, Science and Technology, China
> Jasmine Jiangsu Government Scholar
> Cell: +8613260859092
> Office: Beichen Building, School of Geography and Remote Sensing, Room No.
> 406
>
> *AND *
> B.Sc. in Disaster Management (Hons.)
> Patuakhali Science and Technology University, Bangladesh.
> Cell: +8801792052662, +8801838613203
> Email: dmjalal90 at gmail.com
> Web: www.dmjalal90.weebly.com
> Facebook: jalal.hossen.39
> LinkedIn: https://bd.linkedin.com/in/md-jalal-uddin-80a026b0
> Twitter: dmjalal90
> Skype: dmjalal90
> _______________________________________________
> ncl-talk mailing list
> ncl-talk at ucar.edu
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
>
>
> Guido Cioni
> http://guidocioni.altervista.org
>
>
> _______________________________________________
> 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/20180408/01f82e70/attachment.html>
More information about the ncl-talk
mailing list