Bug #2821

3d surface area query over time does not match query value

Added by Cyrus Harrison 10 months ago. Updated 10 months ago.

Status:Resolved Start:05/18/2017
Priority:High Due date:
Assigned to:Kathleen Biagas % Done:


Target version:2.12.3
Likelihood:3 - Occasional OS:All
Severity:5 - Very Serious Support Group:Any
Found in Version:2.12.1


using varying.visit (from the tutorial data)
create a PC plot of temp, add an isosurface opeartor

query the 3d surface area at the first time step:

The total Surface Area is 4151.63

now do a query over time:
The first point on this curve is 5254.6


Updated by Cyrus Harrison 10 months ago

these should be the same, we need a test suite script that compares query at teach time step vs query over time result

Updated by Cyrus Harrison 10 months ago

  • Severity changed from 2 - Minor Irritation to 5 - Very Serious

Updated by Mark Miller 10 months ago

Just curious but is the query value on the 2nd timestep? Is there an obvious off-by-one error?

Also, don't know the details of QOT but is it iterating over actual time values, cycles or state indices? Reason I ask is that maybe an over-time curve is somehow doing a fixed delta-t and then finding nearest neighbor state to actually use for the value. Otherwise, it would have to produce a curve with arbitary times as determined by the input database's states.

Updated by Cyrus Harrison 10 months ago

Until i created the more complete example I though that could have been the case.

With varying.visit, the results very different - one curve increases and then decreases, the other does the opposite -- the actually only look similar on the end points.

For wave.visit, the results for the query time don't even appear to change, but they clearly should.

Updated by Eric Brugger 10 months ago

  • Assigned to set to Kathleen Biagas

Updated by Eric Brugger 10 months ago

  • Priority changed from Normal to High

I also had Jose Milovich and Karnig Mikaelian report the same issue. Karnig was doing a boundary plot with 2 materials selected. I don't recall what Jose was doing.

Updated by Eric Brugger 10 months ago

  • Status changed from New to Pending

Updated by Kathleen Biagas 10 months ago

  • Target version set to 2.12.3

Updated by Kathleen Biagas 10 months ago

  • Status changed from Pending to Resolved
  • % Done changed from 0 to 100

There were several problems:
1) Wrong input grabbed for the query (eg grabbing input for an 'actual-data' query when it should have been for 'original-data' or vice-versa
2) Data extents dependent operators like Isosurface were not receiving the correct extents at each time step.
3) BoundaryPlot didn't serve up the correct 'intermediate-data-object' needed for actual-data queries.

So, to solve all that, the following changes were made:

M resources/help/en_US/relnotes2.12.3.html

Add 'ResetAllExtents'
M avt/Pipeline/Data/avtDataAttributes.C
M avt/Pipeline/Data/avtDataAttributes.h
M avt/Pipeline/Data/avtDataObject.C
M avt/Pipeline/Data/avtDataObject.h
M avt/Pipeline/Sinks/avtDataObjectSink.C
M avt/Pipeline/Sinks/avtDataObjectSink.h
M avt/Pipeline/Sources/avtDataObjectSource.h
M avt/Pipeline/Sources/avtOriginatingSource.C
M avt/Pipeline/Sources/avtOriginatingSource.h
M avt/Pipeline/AbstractFilters/avtFilter.C
M avt/Pipeline/AbstractFilters/avtFilter.h

Call ResetAllExtents when changing time steps

M       avt/Filters/avtTimeLoopFilter.C

Added originalDataExtents to DebugDump.

M       avt/Pipeline/Data/avtDataAttributes.C
M avt/Pipeline/Data/avtDataAttributes.h

Handle PyLong in conversion from python dictionary to MapNode.

M       visitpy/common/PyMapNode.C

Only create an avtIsolevelsSelection if isoValues have been set.
Clear isoValues if Contour method is 'Level', ensures they are recreated correctly if the min/max have changed.
M avt/Filters/avtContourFilter.C

Move use of avtSubsetFilter from ApplyRenderingTransformation to ApplyOperators. Allows
query-over-time to receive the correct input to operate correctly.

M       plots/Boundary/avtBoundaryPlot.C

Ensure 'use_actual_data' is set in the query parameters for a query-over-time.
M viewer/core/ViewerQueryManager.C

Also available in: Atom PDF