VisIt 1.9.0 Release Notes
Welcome to VisIt's release notes page. This page describes the important
enhancements and bug-fixes that were added to this release.
Announcements
- The VisIt team released a patch release, version 1.8.1, to
fix some critical defects that surfaced in the VisIt 1.8 release. Descriptions of the defects addressed
by the patch release can be found in the VisIt 1.8.1 release notes.
All version 1.8.1 fixes are included in this release.
- A VisIt wiki site has been set up at http://www.visitusers.org. The wiki contains contributed
user documentation and developer documentation for VisIt. Add to it today! The site also offers a
user forum.
- The release notes have been reorganized so that users can more easily find the changes that interest them.
General features added in version 1.9.0
- VisIt's Annotation Window has been redesigned and enhanced to support
setting text font, size, and color for database and user information
as well as for independent 2D and 3D axes. The 2D and 3D tabs now have a
tab for each axis that allows you to independently set the properties for
the titles and labels that comprise the axis.
- VisIt's GUI has been enhanced so that a scroll view is automatically added
to tall windows when VisIt is run on short displays. This makes it possible to
access controls that would otherwise extend beyond the edges of the screen.
- Visit's Plot List Context Menu has the added option to "Disconnect Plot
from the TimeSlider". This functionality allows the user to plot multiple
times from a database of related files, by Right-Clicking on the plot(s) in
the plot list.
- VisIt now automatically saves a crash recovery file every 5 minutes. If VisIt crashes, the next time you run VisIt, you will be prompted as to whether you want to restore the crash recovery session file to return to the last saved state. This crash recovery option can be disabled in the Preferences window.
- VisIt's Windows menu now features an Unlock
everything option under the Lock submenu. The Unlock
everything option turns off locking for time, tools, and view in
all visualization windows.
- There is a new Spreadsheet Pick mode (same icon as node/zone pick, but with
an "S" next to it. In this pick mode, VisIt will behave the same as in zone pick mode, but
also bring up a Spreadsheet plot with the current pick.
- The Spreadsheet plot can now highlight the currently picked cell in the viewer
window
- The apply operators and selections to all plots checkbox is now
split into to two separate checkboxes to control individually whether operators
and/or selections will be applied to all plots.
- If a data set contains any +/- infs or nans, those are now ignored when
VisIt calculates the min/max extents for variables.
Advanced features added in version 1.9.0
- VisIt's Preferences window now has an option called New
plots inherit SIL restriction. SIL refers to the subset selection
(such as turning off materials or domains of a plot).
This button allows you to turn off VisIt's
default behavior of assigning a subset selection from a compatible plot
to new plots when they are created. If you turn off the inherit
option, new plots will be created with all of their subsets selected.
- VisIt now looks for session files in the current directory by default. There is a preference in the Preferences window to make VisIt look for session files in your .visit directory by default.
- The visit -movie movie generation program will now preferentially
use the ffmpeg encoder program to encode MPEG movies if ffmpeg
is installed on your computer. The ffmpeg encoder produces higher quality
MPEG movies much faster than VisIt's standard MPEG encoder. If you do not
want VisIt to use ffmpeg to encode MPEG movies then you can provide the
-noffmpeg command line option when generating your movie at the
command prompt.
- VisIt's Equivalence Class Function (DDF) ability now has a "Count"
statistical operator. This operator simply counts the number of data
points that lie within a given bin. This allows for easy generation of
multidimensional histograms.
- The POV-Ray export format has been enhanced. This format is used for
exporting surfaces into the POV-Ray tool, which makes high end movies.
It now includes exporting of
atomic properties useful for molecular data, it replaces fixed-function
glyph scaling with user-defined glyph scaling, and it writes all scalar
arrays to the output files. It also writes data in the correct
coordinate handedness without modifying data values.
- It is now possible to set options when opening files (for database plugins that
provide options in their file reader). These can be accessed through the File Open
dialog, or through the Plugin Manager window. Default values will be saved
with the user configuration settings.
- The default file format which could be specified on the command line through the
-default_format argument has been replaced by two new, more specific options:
- -assume_format which specifies a file format reader to try before guessing, and
- -fallback_format which specifis the file format reader to try after guessing fails
- A -viewerdisplay argument has been added to VisIt's launcher, which allows the
GUI/CLI to be displayed on a separate X11 display than the viewer. This can be
useful for powerwalls and other demonstration modes where the interface and
visualizations will run on different monitors.
- VisIt now has custom settings files for the LBNL Applied Numerical Algorithms group
and its collaborators. These files are located in <VISITINSTALLDIR>/1.9.0/.visit and
are named visit-config-anag, visit-guiconfig-anag, and visit-visitrc-anag. To enable these
settings, create symbolic links config, guiconfig and visitrc to these files in
<VISITINSTALLDIR>/1.9.0/.visit (site-wide) or copy them to config, guiconfig and visitrc
in the .visit directory in your home directory (user-specific). visitrc defines a couple
of macros aimed at easing the transition of ChomboVis users to VisIt. guiconfig posts
the macro window by default within the main gui. config ensures that the Chombo reader
will cause plots to default only to the root level of an AMR hierarchy and display only
explicitly defined Chombo materials and contains additional settings that are aimed
at helping ChomboVis users making the transition to VisIt. Furthermore, visitrc allows to
turn of the mapping of grids if a .map.hdf5 file exists. (See Chombo reader release notes
for more details.)
File format reader changes in version 1.9.0
- VisIt now has an XDMF reader (see http://www.xdmf.org/index.php/Main_Page). The file must end with a ".xmf" extension to be recognized as an XDMF file.
Supported features:
- It supports all the grid types, except for the Subset grid type.
- It supports all the topology types.
- It supports all the geometry types.
- It supports both XML and HDF format data items. It supports all the number formats for the data items. It only supports Uniform data items.
- It supports Node and Cell centered variables. It does not support Grid, Face and Edge centered variables.
- It supports Scalar, Vector, Tensor and Tensor6 variables. It does not support Matrix variables.
- It does not support Time. This means that all the grids from a single file will be assumed to belong to the same time state.
- It does not support XPath.
Support for most of the remaining features will be added in later releases.
- The Nek reader was improved by adding code to discover domain boundaries,
making it scale better, and supporting more options for the parallel format.
- The Flash reader was enhanced with support for
- Subsets by processor number
- Subsets of Morton curve
- Concurrent subsets by Block-Level and Block-Processor Number pairs for both the domain and Morton curve
- Submenus for the above concurrent subsets
- Support for file format version 9
- VisIt now has a PlainText file reader which can open whitespace, comma,
and tab-separated ASCII text files as either 2D grids or columnar data.
- Bugs in the CCM reader have been fixed for files that contain only a mesh and
files with unusual internal indexing.
- A partial reader was added to support the AVSucd files from CEA.
- VisIt's ZeusMP reader now supports cylindrical coordinates.
- The Miranda reader supports a new file version which scales better.
- .visit files generated on unix can now successfully be read on windows systems, and vice-versa.
- VisIt now reads in and plots VTK's .vti format.
- The Silo writer (accessed through an ExportDatabase call) now correctly outputs
voxels.
- A file format (AugDecomp) was added to allow existing files to be augmented
with material information.
- SAMRAI file format now correctly ghosts material data.
- The CGNS reader was enhanced so it can read data from multiple bases.
- The CGNS reader now correctly handles reading time varying data, including getting time and iteration values from the BaseIterative node.
- The Chombo reader was enhanced with
- Support for node centered Chombo files.
- Reading Chombo files in double precision format. (Data is still converted automatically to float for all plots/operators except for the Spreadsheet plot.)
- The Chombo reader has now two file format option that control whether new plots default to only displaying the root level of an AMR hierarchy and whether only material explicitly specified in a Chombo file are displayed by default. (These options are disabled by default.)
- The Chombo reader has now an option "Check for mapping file and import coordinates if available."
If this option is enabled, the Chombo reader will check for a file file.map.hdf5 (file.map.h5) when
opening a file file.hdf5 (file.h5). If the .map.hdf5 file exists, it will create an expression
that imports the variables x, y and z from that file using a conn_cmfe expression and create
a file_hdf5_disp expression, which can be used with the "Displacement" operator to transform
the grid to the coordinates specified in the .map.hdf5 file.
Changes to VisIt's plots in version 1.9.0
- VisIt can now be built with support for the SLIVR volume rendering
library from SCI, University of Utah. SLIVR provides an advanced
hardware-accelerated volume renderer and when it is available, the Volume
plot attributes window provides a "SCI, University of Utah (SLIVR)"
rendering method.
- VisIt now has a new Parallel Coordinates plot for viewing high-dimensional data.
It also supports a new Axis Restriction tool which can interact with the Parallel Coordinates
plot for viewing focus data overlaid with the context data. Note: the ParallelAxis plot
is deprecated and will be removed in a future release.
- The Subset plot can now plot mesh variables. This is a convenient way to
obtain a single-color lighted plot for surfaces of three dimensional data,
including single-domain data sets and those without scalar variables.
- VisIt's Label plot now correctly shows untransformed 3D vector data, even
when a Slice operator that projects data to 2D is present in the
pipeline.
- VisIt's volume rendering plot now works correctly when the view frustum of the
camera is contained entirely within a data set.
Changes to VisIt's operators in version 1.9.0
- The Create Bonds operator has been enhanced to support wildcards, allowing
for much more powerful rules. The default options in this mode correspond to a
heuristic algorithm providing good support for many molecule types.
- VisIt's Clip operator now has a 'fast' vs. 'accurate' option,
with 'fast' being the default.
- VisIt's Clip operator no longer generates bad clips when using
multiple planes.
- The Resample operator now works on meshes. This simply will output the mesh that resample
operator placed the data onto.
- The quality of resampling given by the Resample operator has been improved.
- A memory leak was fixed with the Threshold operator when it used multiple variables.
Changes to VisIt's expression language in version 1.9.0
- Expressions that utilize constants now store the constants much more efficiently.
- A new "colorlookup" operator is now available for use in VisIt's
expressions. This operator maps a scalar variable to a (color) vector
variable by performing a lookup in one of VisIt's color tables. It can
be used to "simulate" a Pseudocolor plot by means of a Truecolor plot,
allowing users to perform several lookups and blend colors using
expressions. CAVEAT: Unlike in the Pseudocolor plot, interpolation is
performed AFTER a color table lookup instead of before. As a result,
VisIt will interpolate colors after the lookup instead of values before
lookup.
- Enhancements were made to allow filters to obtain ghost corrected material
information for datasets where VisIt generates ghost zones. This removes the
previous restriction preventing ghost zone generation when the matvf
expression was used.
- VisIt now provides a value_for_material expression
that gives direct access to per material values for mixed variables. This expression also
utilizes ghost corrected material info and will not hinder ghost zone generation.
Example Usage:
- value_for_material(var,1) -- Provides the value of "var" for material 1
- The "cylindrical_radius" expression now allows a user to specify a cylinder axis.
Example Use Cases:
- cylindrical_radius(mesh) -- Prior use case
- cylindrical_radius(mesh,"x")
- cylindrical_radius(mesh,"y")
- cylindrical_radius(mesh,"z") -- Same as default
- cylindrical_radius(mesh,{x,y,z}) -- x,y,z should be numeric constants
- There is a new enumerate expression which maps nonnegative integers to real values.
- The cell_constant and point_constant expressions have been added as a convenient
method of creating a constant on a mesh without needing to read a variable from the file.
- Several bugs with using the recenter expression were fixed.
- A bug was fixed where variables from the array_decompose expression could not be plotted.
- The zonetype(mesh) expression now creates a scalar variable that will plot
single characters for the zone type (e.g. 'H'=Hex, 'Q'=Quad, 'T'=Tet, etc.)
Changes to VisIt's command-line interface in version 1.9.0
VisIt's CLI has been enhanced so it supports registration of user-defined
callback functions for many actions. Callback functions can be associated with
many state objects, including all plot and operator plugin state objects. This means
that whenever a state object changes, your callback function will be called and it
will be passed the value of the state object that caused the update.
Callback functions can also be installed for many ViewerRPC rpc's, which lets you
attach custom behavior at a much finer grain. For example, if you register a
callback function with the OpenDatabaseRPC RPC then your callback function will
be called whenever a VisIt client opens a database.
Callbacks are registered using the RegisterCallback(cbName, callback) function.
The cbName parameter indicates the name of a valid callback function slot
name. You can see a list of these by calling the GetCallbackNames() function. The
callback argument is the name of the callback function that you want to
be called. The RegisterCallback function can take an optional 3rd argument that
lets you pass user-defined data to your Python callback function when VisIt
calls your callback function.
VisIt's CLI now has GetPlotOptions and GetOperatorOptions functions
that can be used to return the plot attributes for the active plot as well as the
operator attributes on the i'th operator on the active plot.
Calling functions such as SetOperatorOptions() now preserves the "apply
operators/apply selection to all plots" checkboxes in the GUI.
Recording macros now appends state information of the "apply operators/apply
selection to all plots" checkboxes to functions such as SetOperatorOptions(). When
recording a macro it is possible to change the state of these checkboxes and the
macro will recreate option changes as they were performed in the gui.
- VisIt will now check for a global site visitrc file in the same directory as
VisIt's global configuration files. A user's visitrc file still has
precedence over the global visitrc file.
Bugs fixed in version 1.9.0
- VisIt's Save Movie wizard now displays the command to run
later in a window that allows you to cut and paste the command to
run into a command prompt. (Cutting and pasting was previously not
possible.)
- VisIt's Save Movie wizard does not come to the front when it
is activated until the GUI's Main window is clicked on MacOS
X.
- VisIt's File Open dialog immediately closes when restoring a
session file with different sources and the sources do not exist on the
local computer.
- VisIt's GUI no longer crashes when the plot menu is activated immediately after
choosing an engine profile from the Engine Chooser dialog. The crash only
happened when reading SAMRAI data.
- The CheckForNewStates function now works.
- VisIt no longer prints an error message indicating that it cannot open the "notset"
database when the OpenGUI() function is called from the CLI in order to start
the GUI.
- VisIt no longer has problems registering macro buttons inside of a
"visitrc" file.
- Performance problems with large AMR data sets, specifically those uncovered
by the FLASH team, have been resolved.
- A bug was fixed where VisIt's comparison capability ("cross mesh field evaluations")
would sometimes fail when comparing files from different file formats.
- A bug was fixed where databases correlated in time across different windows
could get out of synch when the VCR controls were used.
- The progress indication for queries over time is now more accurate.
- The progress indication no longer gives erroneous values at the beginning of execution.
- VisIt's viewer will no longer crash when switching to log scaling.
- Lineout's sampling mode no longer recenters zone-center variables.
- Applying the transform operator to curve plots works correctly again for transformations on the y-axis.
- The centering of a Pseudocolor Plot no longer wrongly influences query results.
- Queries from the same database, but different windows, no longer returns incorrect results.
- The Variables menu does no longer disappear for certain font sizes.
- Added a check to QPostableWindow that prevents a window from being
posted if it is already posted.
- For the Windows version, updated the method by which VisIt determines the path to a user's My Documents folder to better support roaming profiles.
Changes to VisIt's "libsim" in version 1.9.0
- VisIt's SimV1 database reader plugin can now accept mixed scalar
data from simulations that implement the GetMixedScalar callback
function. Note that the Force interface reconstruction option still needs
to be enabled in the Material Options window for mixed scalars to be
plotted.
- VisIt's Simulation database reader now supports materials whose
material numbers do not begin at zero. Ranges of material numbers
where not all numbers are used are also supported now.
- VisIt's viewer no longer crashes when receiving commands from a simulation
while already communicating with the simulation for other
operations.
Changes to configuration files in version 1.9.0
- A config file was added for installations at Argonne National Lab.
- The config site files for yana have been updated to use MOAB in the LLNL open network configuration file. If the new host profiles are not showing up you will need to delete the yana host profiles, save the settings, and restart VisIt.
Changes for VisIt developers in version 1.9.0
- VisIt's source code now contains an example program, /src/viewer/proxy/proxyexample.C,
which shows how to use VisIt's C++ interface to make a new VisIt client that can
control VisIt's viewer. More information is online at:
http://visitusers.org/index.php?title=CreatingNewClientWithC%2B%2B
- Many classes and method names in VisIt underwent a renaming for consistency purposes.
- VisIt's operators now have support for creating new variables through the
expression mechanism.
- VisIt's XML tools have been enhanced to support the notion of a code
generation target (one of the XML tools: xml2atts, xml2java, xml2python, etc.)
Code generation targets are designated by the "Target:" keyword in the .code
file and allow you to embed code destined for generated Java or Python bindings
directly in the code file.
- VisIt's XMLEdit tool has been improved to support code generation targets.
- VisIt's xml2python code generation tool now better supports nested state objects.
- VisIt's XMLEdit tool has an improved look and feel, including various user-improvements
such as a new menu option for regenerating plugin code. The new menu option
opens a dialog that allows you to select which code generators will be run and
then it runs them, regenerating your code to incorporate changes that you've made
to the XML file.
- VisIt's Java API has been updated so ViewerProxy is now divided into ViewerState
and ViewerMethods objects, mirroring the change in the C++ implementation that was
made several releases ago. In addition, the ViewerMethods class has been annotated
with JavaDoc comments that facilitate automatic generation of documentation from
the Java code. The ViewerMethods class is the most important class with respect to
controlling VisIt's viewer.
- The method "GetFilenames" for file format readers is now fully supported with the XML
generation tools.
- Debug log file extension was changed from '.log' to '.vlog'. Also, default behavior
of VisIt to over-write existing logs was eliminated. Use new command line argument,
'-clobber_vlogs' to overwrite logs. Otherwise, logs from successive runs will be
numbered sequentially.
- Added a -numdiff argument to runtest testing tool to specify a relative
error threshold for numerical diffs. Fixed numerous issues with previous numerical
difference filtering.
- New hook for checking autoconf version was added. Post-commit hook behavior was
changed to exercise all hook scripts before existing the meta script. All variables
associated with hook scripts were moved to a new hooks_var.sh script.
- avtDataBaseMetaData has a new field suggestedDefaultSILRestriction
that allows a database plugin to suggest a default SIL restriction for
plots. This field is a stringVector, where each string is considered as
a "command". Supported commands are "!TurnOnAll", "!TurnOffAll" (doing
the obvious thing), "+" to add a SIL set to the selection
and "-" to remove a SIL set from the selection. This
stringList is parsed (in order) whenever a default SIL restriction is
generated for a plot.
- visit-bin-dist has now a "-configuration" option that allows
overriding the behavior that LLNL open is the default configuration in a
VisIt tarball. If the "-configuration" option is omitted, visit-bin-dist
will still default to the LLNL open configuration. Furthermore, visit-bin-dist
now also creates default symlinks for guiconfig and visitrc, if the
specified configuration has these files (currently only the ANAG
configuration has).
- If a system guiconfig file but no user guiconfig file exists, then
the initially visible windows are created from the system guiconfig
file. (This is to enable posting windows such as the "Macros" windows in
a default system guiconfig file.)
- The viewer debug logs now include truncated output from xdpyinfo and glxinfo.
- VisIt's xml2projectfile tool has been improved to generate project files with correct paths when run from the public (installed from binary) version of VisIt or a development version.
- Public Version
- Project files are stored in the same directory as the '.xml' file from which they were generated.
- Dll's created from building the solution are stored in the user's "Application Data" folder (with 'LLNL\VisIt' appended), and VisIt searches there on launch.
- Development Version -- when plugin is part of the VisIt source tree:
- Project files will be stored in the appropriate place within the source tree (projects-MSVC7.Net/plugintype)
- The plugin can be built by using the generated plugin-specific stand-alone solution, or by adding its projects to the general solution file for the plugin's type.
- Dll's are stored in the appropriate bin directory within the source tree.
- Development Version -- when plugin is outside the VisIt source tree:
- Project files will be stored in the same directory as the '.xml' file from which they were generated.
- Dll's are stored in that same directory. They can then be moved to the user's "Application Data\LLNL\VisIt" folder.
- When run on Linux, the generated project files are created according to this paradigm.
Click the following link to view the release notes for the 1.8.1 patch version
of VisIt: VisIt 1.8.1 Release Notes.
Click the following link to view the release notes for the previous version
of VisIt: VisIt 1.8 Release Notes.