Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
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: