visit
visit copied to clipboard
Fix VTK9 update issues in the test suite.
Describe the bug
- [ ] The following tests were added to the skip list in all three modes. They were added for a few reasons, many because of transparency differences, one because of a missing horizontal mesh line.
{"category":"operators","file":"cart_proj.py","cases":["ops_cart_proj_1","ops_cart_proj_3"]},
{"category":"operators","file":"dual_mesh.py","cases":["ops_dualmesh_mesh_plot_2d_01"]},
{"category":"plots","file":"volumePlot.py","cases":["volumeOpacity_05"]},
{"category":"queries","file":"avg_value.py","cases":["avg_value_02"]},
{"category":"queries","file":"pick.py","cases":["Pick2D","Pick3DTo2D","PickAMR","PickBox","PickIndexSelect","PickSamrai_01","PickSamrai_05"]},
{"category":"rendering","file":"bigdata.py","cases":["bigdata_01"]},
{"category":"rendering","file":"legends.py","cases":["legends_07"]},
{"category":"rendering","file":"pixeldata.py","cases":["pixeldata_0_05","pixeldata_0_07","pixeldata_0_08","pixeldata_0_09","pixeldata_0_10","pixeldata_0_11"]},
{"category":"rendering","file":"volume.py","cases":["volume_01","volume_02"]},
- [ ] The following tests were added to the skip list in scalable,parallel,icet mode. These all have to do with transparency. Either it is way off from what it should be or it is a "broken" image.
{"category":"databases","file":"ANSYS.py","cases":["ansys1_2","ansys2_2","ansys3_2"]},
{"category":"databases","file":"CGNS.py","cases":["CGNS_NFace_Elements_01"]},
{"category":"databases","file":"bov.py","cases":["bov_0_05","bov_3_05","bov_6_05"]},
{"category":"databases","file":"pixie.py","cases":["pixie_06"]},
{"category":"databases","file":"unv.py","cases":["unv_05"]},
{"category":"databases","file":"NASTRAN.py","cases":["nastran1_2","nastran2_2","nastran3_2","nastran5_1"]},
{"category":"databases","file":"PATRAN.py","cases":["PATRAN1_2","PATRAN2_2","PATRAN3_2"]},
{"category":"databases","file":"boxlib.py","cases":["boxlib_01","boxlib_03"]},
{"category":"hybrid","file":"lineout.py","cases":["Lineout3d"]},
{"category":"hybrid","file":"ghost_node.py","cases":["ghost_node_01"]},
{"category":"meshtype","file":"rect3d.py","cases":["rect3d_02"]},
{"category":"operators","file":"lcs_ic_2.py"},
{"category":"operators","file":"lcs_lc_2.py"},
{"category":"operators","file":"moveoperators.py","cases":["moveoperator_8","moveoperator_9"]},
{"category":"operators","file":"reflect.py","cases":["ops_refl10","ops_refl11","ops_refl12"]},
{"category":"plots","file":"multicolor.py","cases":["multicolor_1_05","multicolor_2_05","multicolor_3_05"]},
{"category":"plots","file":"singlecolor.py","cases":["singlecolor00","singlecolor01","singlecolor02"]},
{"category":"plots","file":"pseudocolor.py","cases":["pseudocolor_domain_bounds_02"]},
{"category":"plots","file":"contour.py","cases":["contour_colorMethod_03","contour_colorMethod_05","contour_colorMethod_06","contour_colorMethod_07","contour_colorMethod_08","contour_colorMethod_09","contour_multicolor_00","contour_multicolor_01","contour_multicolor_02"]},
{"category":"plots","file":"filledboundary.py","cases":["fb_lines_03"]},
{"category":"queries","file":"xrayimage.py","cases":["NonSquare_Pixels_Ray_trace_setup_1","NonSquare_Pixels_Ray_trace_setup_2","NonSquare_Pixels_Ray_trace_setup_3","NonSquare_Pixels_Ray_trace_setup_4","NonSquare_Pixels_Ray_trace_setup_5","NonSquare_Pixels_Ray_trace_setup_6","NonSquare_Pixels_Ray_trace_setup_8"]},
{"category":"queries","file":"compositing.py","cases":["compositing_01"]},
{"category":"rendering","file":"pixeldata.py","cases":["pixeldata_0_00","pixeldata_0_01","pixeldata_0_02","pixeldata_0_03","pixeldata_0_04","pixeldata_0_06"]},
{"category":"rendering","file":"transparency.py"},
{"category":"session","file":"rect3d-contour.py","cases":["rect3d-contour00"]},
{"category":"session","file":"simplekeyframe.py"},
- [ ] The checksum for the 16384x16384 image save test in
rendering/offscreensave.py
is wrong. Image saving beyond 4096x4096 appears to be broken. At 8192x8192 the image is correct, but the axes are wrong. Beyond that the image is mostly blank. - [ ] A few tests were skipped in scalable mode in
hybrid/timelock.py
since it crashes. - [x] #19205
- [x] #19204
Cartographic Projection operator failures:
I tried using Cartographic Projection operator on Windows, and this was printed to the terminal window:
pj_obj_create: Cannot find proj.db
The file exists in the VTK install location in share/vtk-9.2/proj
folder.
We need to make sure these get copied to the Build/Install.
Preliminary search indicates need to set PROJ_LIB
environment variable. Am still searching to see if there is another way.
Update:
I do not see a similar error on Linux.
On Windows, use of PROJ_LIB
environment variable had no effect. Neither did setting PATH
to point the location of proj.db
. I tried copying the file to the root of the VisIt directory. Still got the error. The only method I found to remove the message was to copy the proj.db
file to the current working directory, the directory from which I ran VisIt. Even so, the operator still didn't yield the correct results.
Update Jan 4, 2024:
I discovered that since we use VTK's libproj, the environment variable should be VTK_PROJ_LIB. With that set correctly on my Windows machine, proj.db
error goes away.
Still not getting the same results with VTK9 as with VTK8. Perhaps the way vtkGeoProjection and vtkGeoTransfrom are used has changed in VTK9. I generated a simple example to compare the results between VTK 8 and VTK 9 and created a VTK discourse discussion. Hopefully someone there can point me to better results.
Part of the update should be to modify our VTK find module so that the libproj resources in <VTK_DIR>/share/vtk-9.2/proj
are copied to VisIt's build and install dirs. Then launchers need to be updated to set VTK__PROJ_LIB env var to the location where we copied the files. That way we know the correct libproj resources are found.
rendering/bigdata case bigdata_01 This test applies Scale transform of 1e20 in each dimension to noise.silo I tried doing this with VisIt directly, added -dump, and turned on DOUBLE precision before creating the plot. Dumped vtk files shows that after avtSimilarityTransform, the vtk file has ALL coordinate values exactly 1e20.
rendering/pixeldata I am seeing this message when the test is run:
vtkTextureObject.cxx:1025 ERR| vtkTextureObject (0x3890e90): Attempt to use a texture buffer exceeding your hardware's limits. This can happen when trying to color by cell data with a large dataset. Hardware limit is 65536 values while 180000 was requested.
Some of the saved 'Alpha' png images are blank. (I ran with --nocleanup so all intermediate results are still accessible) Might have something to do with the BackgroundPass that was added to VisWinRendering::PostProcessScreenCapture