# [IDV #JHR-169833]: Cannot create display from formula

• Subject: [IDV #JHR-169833]: Cannot create display from formula
• From: "Unidata IDV Support" <address@hidden>
• Date: Fri, 18 Jan 2013 08:17:10 -0700

No problem Al, I'm sorry it took so long to figure out. Delta's for
Temperature variables can be tricky, but I think we can do something
better in the IDV to get it right.

Cheers!

Sean

> Thanks Sean!
> A simple solution that I should've seen coming. Thank you for all your help.
> Al
>
> ________________________________________
> From: Unidata IDV Support address@hidden
> Sent: Friday, 18 January 2013 1:43 AM
> To: Mr Alister Hawksford
> Subject: [IDV #JHR-169833]: Cannot create display from formula
>
> 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
> > 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
> > > 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
> > >
> > >
> > > Thanks!
> > >
> > > Sean
> > >
> > > > Full Name: Alister Hawksford
> > > > 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
> > > > 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
>
>
>
>

Ticket Details
===================
Ticket ID: JHR-169833
Department: Support IDV
Priority: Normal
Status: Closed

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.