Bug #2821

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

Added by Cyrus Harrison 4 months ago. Updated 4 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 4 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 4 months ago

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

Updated by Mark Miller 4 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 4 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 4 months ago

  • Assigned to set to Kathleen Biagas

Updated by Eric Brugger 4 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 4 months ago

  • Status changed from New to Pending

Updated by Kathleen Biagas 4 months ago

  • Target version set to 2.12.3

Updated by Kathleen Biagas 4 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