This archive contains answers to questions sent to Unidata support through mid-2025. Note that the archive is no longer being updated. We provide the archive for reference; many of the answers presented here remain technically correct, even if somewhat outdated. For the most up-to-date information on the use of NSF Unidata software and data services, please consult the Software Documentation first.
Hi Al, I think I see the issue. Your fields are in Celsius, which is no big deal. Then, we use sub(a,b) or (a-b) to compute a temperature difference. Again, this is ok. So now we have a delta T in Celsius...and a 1 delta T in Celsius is also 1 delta T in Kelvin. It appears that the IDV computes the difference as a difference in Kelvin, then converts that value back to Celsius, since that is the unit of your original temperature field. I am pretty sure there is a way in the IDV to handle Temperature differences, but in this case, you can modify the formula and get it correct: sub(a,b)+273.15 This will ensure the values you get back from the formula are in Celsius. The values range between 19 C and 33 C, which is consistent with the values in the example grids you sent. Let me know if this works for you. Cheers! Sean > Thanks Sean, > I've got a display using the "sub" command, however the output values don't > appear to be correct. I'm getting values between -259.6 and -236.1 when i'm > expecting between -135 and 135. I get the same result when I use the preset > formula a-b. Any idea what might be going wrong here? > Cheers Al > > ________________________________________ > From: Unidata IDV Support [address@hidden] > Sent: Tuesday, 15 January 2013 7:22 AM > To: Mr Alister Hawksford > Cc: address@hidden > Subject: [IDV #JHR-169833]: Cannot create display from formula > > Greetings! > > Try using this for your formula: > > sub(a,b) / 350 > > I think because the grids are on two different vertical levels, you need to > use the > sub(a,b) routine to do the subtraction. > > Cheers! > > Sean > > > No problem Sean. > > I've uploaded the two datasets onto motherlode in two separate uploads > > addressed to you. The variables are: > > (a) temperature at the 850mb level (850temp.nc) > > (b) temperature at the 500mb level (500temp.nc) > > which relate to > > (a-b)/350 > > The domain and times are identical. > > Thanks for your time. > > > > ________________________________________ > > From: Unidata IDV Support [address@hidden] > > Sent: Tuesday, 15 January 2013 3:38 AM > > To: Mr Alister Hawksford > > Cc: address@hidden > > Subject: [IDV #JHR-169833]: Cannot create display from formula > > > > Greetings Alister, > > > > Is there any way we could get a sample of your data to see exactly what is > > going on? Also, > > could you tell us which variables you are subtracting? If you don't mind > > sending some > > example data, please upload it here: > > > > http://motherlode.ucar.edu/repository/alias/idvupload > > > > Thanks! > > > > Sean > > > > > Full Name: Alister Hawksford > > > Email Address: address@hidden > > > Organization: Bureau of Meteorology > > > Package Version: 3.1u1 build date:2012-11-30 17:36 UTC > > > Operating System: Windows Vista > > > Hardware: Java: home: C:\Program Files\IDV_3.1u1\jre version: 1.6.0_31 > > > j3d:1.5.2 fcs (build4) > > > Description of problem: Creating display: Color-Filled Contour Plan View > > > visad.SetException: visad.SetException: Gridded3DSet.valueToGrid: > > > ManifoldDimension must be 3 > > > Gridded3DSet.valueToGrid: ManifoldDimension must be 3 > > > > > > To whom it may concern, > > > I have been following the Unidata instructions for formula creation > > > (http://www.unidata.ucar.edu/software/idv/docs/workshop/formulas/SimpleFormulas.html) > > > and I have not been able to display my formula as follows: > > > (a-b)/(850-500) > > > Could you please explain what the above error code means and how I might > > > solve it? > > > Thank you for your help. > > > > > > ****************** > > > Stack trace: > > > visad.SetException: Gridded3DSet.valueToGrid: ManifoldDimension must be 3 > > > at visad.Gridded3DSet.valueToGrid(Gridded3DSet.java:1070) > > > at visad.Gridded3DSet.valueToIndex(Gridded3DSet.java:418) > > > at visad.FlatField.resample(FlatField.java:4737) > > > at visad.FlatField.binary(FlatField.java:2085) > > > at visad.FieldImpl.binary(FieldImpl.java:836) > > > at visad.DataImpl.binary(DataImpl.java:139) > > > at visad.DataImpl.subtract(DataImpl.java:192) > > > at visad.DataImpl.__sub__(DataImpl.java:1400) > > > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > > > at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) > > > at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) > > > at java.lang.reflect.Method.invoke(Unknown Source) > > > at > > > org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:186) > > > at > > > org.python.core.PyReflectedFunction.__call__(PyReflectedFunction.java:204) > > > at org.python.core.PyObject.__call__(PyObject.java:404) > > > at org.python.core.PyObject.__call__(PyObject.java:408) > > > at org.python.core.PyMethod.__call__(PyMethod.java:124) > > > at org.python.core.PyMethod.__call__(PyMethod.java:115) > > > at org.python.core.PyObjectDerived.__sub__(PyObjectDerived.java:187) > > > at org.python.core.PyObject._basic_sub(PyObject.java:2119) > > > at org.python.core.PyObject._sub(PyObject.java:2105) > > > at org.python.pycode._pyx109.f$0(<string>:1) > > > at org.python.pycode._pyx109.call_function(<string>) > > > at org.python.core.PyTableCode.call(PyTableCode.java:165) > > > at org.python.core.PyCode.call(PyCode.java:18) > > > at org.python.core.Py.runCode(Py.java:1261) > > > at org.python.core.__builtin__.eval(__builtin__.java:484) > > > at org.python.core.__builtin__.eval(__builtin__.java:488) > > > at org.python.util.PythonInterpreter.eval(PythonInterpreter.java:190) > > > at ucar.unidata.data.DerivedDataChoice.getData(DerivedDataChoice.java:782) > > > at ucar.unidata.data.DataChoice.getData(DataChoice.java:637) > > > at ucar.unidata.data.DataInstance.getData(DataInstance.java:243) > > > at ucar.unidata.data.DataInstance.getData(DataInstance.java:207) > > > at ucar.unidata.data.grid.GridDataInstance.init(GridDataInstance.java:205) > > > at > > > ucar.unidata.data.grid.GridDataInstance.<init>(GridDataInstance.java:162) > > > at > > > ucar.unidata.data.grid.GridDataInstance.<init>(GridDataInstance.java:143) > > > at > > > ucar.unidata.idv.control.GridDisplayControl.doMakeDataInstance(GridDisplayControl.java:284) > > > at > > > ucar.unidata.idv.control.DisplayControlImpl.initializeDataInstance(DisplayControlImpl.java:3176) > > > at > > > ucar.unidata.idv.control.DisplayControlImpl.setData(DisplayControlImpl.java:3158) > > > at > > > ucar.unidata.idv.control.PlanViewControl.setData(PlanViewControl.java:641) > > > at > > > ucar.unidata.idv.control.ContourPlanViewControl.setData(ContourPlanViewControl.java:194) > > > at ucar.unidata.idv.control.PlanViewControl.init(PlanViewControl.java:471) > > > at > > > ucar.unidata.idv.control.DisplayControlImpl.init(DisplayControlImpl.java:1419) > > > at > > > ucar.unidata.idv.control.DisplayControlImpl.init(DisplayControlImpl.java:1102) > > > at > > > ucar.unidata.idv.ControlDescriptor.initControl(ControlDescriptor.java:986) > > > at ucar.unidata.idv.ControlDescriptor$1.run(ControlDescriptor.java:911) > > > at ucar.unidata.util.Misc$3.run(Misc.java:1250) > > > > > > > > > > > > > Ticket Details > > =================== > > Ticket ID: JHR-169833 > > Department: Support IDV > > Priority: Normal > > Status: Open > > > > > > > > > > Ticket Details > =================== > Ticket ID: JHR-169833 > Department: Support IDV > Priority: Normal > Status: Open > > > > Ticket Details =================== Ticket ID: JHR-169833 Department: Support IDV Priority: Normal Status: Open