NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi All, Lets say I've got data of MathType ((lat,lon)->(u,v)) and I want todisplay this using wind barbs (where u = x component of wind and v = y component).
To do this, I create scalar maps of u mapped to Flow1X and v to Flow1Y. I then need to call "setRange" on these scalar maps eg: uMap.setRange(-3.0, 3.0); vMap.setRange(-3.0, 3.0); If I don't do this, then the windbarbs display as "calm" (0 knots). If I choose -3 to 3, then it displays correctly (5 knots in the example below). If I choose other numbers (eg -1 to 1) then the wind barb displays incorrectly (10 knots in the example below). Can anyone explain why? Thanks, James Above problem is illustrated by the jython code (and data file) below, which incorrectly displays a 5 knot wind as 10 knot wind barbs: from visad.python.JPythonMethods import * from visad import RealType, Real, FunctionType, FlatField, RealTuple, ScalarMap, Display from visad.data.text import TextAdapter from visad.bom import BarbRendererJ3D import subs, graph, sys width = 800 height = 600 textAdapter = TextAdapter("uv.txt") data = textAdapter.getData() print data uType = RealType.getRealType("U") vType = RealType.getRealType("V") latitudeType = RealType.Latitude longitudeType = RealType.Longitude xMap = ScalarMap(longitudeType, Display.XAxis) yMap = ScalarMap(latitudeType, Display.YAxis) uMap = ScalarMap(uType, Display.Flow1X) vMap = ScalarMap(vType, Display.Flow1Y) dataRenderer = BarbRendererJ3D() maps = (xMap, yMap, uMap, vMap) disp = subs.makeDisplay(maps) uMap.setRange(-1.0, 1.0); vMap.setRange(-1.0, 1.0); flowU_control = uMap.getControl() flowV_control = vMap.getControl() flowU_control.setFlowScale(0.1) flowV_control.setFlowScale(0.1) dr=subs.addData("test_uv", data, disp, None, dataRenderer, None) subs.setBoxSize(disp, .80) subs.setAspectRatio(disp, float(width)/float(height)) subs.showDisplay(disp,width,height,"Test UV") uv.txt contains the following: (Longitude, Latitude) -> (U, V) Latitude, Longitude, U, V -12.4, 131.8, 5.0, 5.0 -16.9, 133.7, 5.0, 5.0 -14.4, 134.8, 5.0, 5.0 -15.4, 135.8, 5.0, 5.0 -- James Kelly Meteorological Systems Section Bureau of Meteorology PO Box 1289K Melbourne 3001, Australia
visad
archives: