Silo 4.10.0 Pre-Release Is Available

Added by Mark Miller about 3 years ago

This is a PRE-RELEASE announcment for Silo 4.10

We are making a pre-release of Silo 4.10 available for users to test and provide feedback. A list of bug fixes and feature enhancments in this release are provided below. The pre-release tarball can be obtained from here. For this pre-release, we are providing only the legacy licensed tarball. The final release will provide the BSD licensed version as well.

For LLNL users...

This pre-release will be installed on OCF platforms by end of this week in /usr/gapps/silo/4.10-preX and in same place on SCF early next week.

Organization of information in this announcement

  1. Important information regarding this release.
  2. Bugs fixed in this release.
  3. New features in this release.

1. Important information regarding this release.

  • This pre-release has yet to be fully tested on Windows platforms.
  • This version of Silo should work with any version of the HDF5 library though newer versions of HDF5 are required for some features. In particular, the ability to open a buffer of bytes as a Silo file requires HDF5 version 1.8.10.
  • This version of Silo is NOT link-time compatible with any previous version. You will need to re-compile and re-link your applications.
  • In some cases, passing a \'make check\' requires adding \'LIBS=-lstdc++\' to the make command line (e.g. \'make check LIBS=-lstdc++\'.
  • The rocket test will fail during \'make check\' on OSX. I\'ve yet to learn how to handle dlopen and shared libs there. For similar reasons, Silo\'s python module has yet to be tested on a OSX.
  • For building on OS X with silex enabled, see <a href=\"\">these notes</a>.

2. Bugs fixed in this release

  • Fixed DBMakeNamescheme to automagically handle nameschemes that include external array references. In previous releases, the caller was required to scan the namescheme for any extenal array references and read them from the file in a separate step. Now, this work is handled automatically by DBMakeNamescheme.
  • Fixed erroneous display of empty material and quadvar objects in browser.
  • Fixed incorrect documentation for 1-origin indexing of matspecies object.
  • Fixed missing documentation for return value for Fortran interface dbcreate/dbopen.
  • Fixed documentation for PMPIO_RankInGroup to clearly indcate caller can obtain rank of any processor in a group.
  • Changed name of CheckVersion macro to SiloCheckVersion to avoid possible name collision with similar symbols from other packages.
  • Fixed documentation for namescheme construction with external array references.
  • Fixed erroneous error message regarding missing HDF5 driver when opening no-writeable file in browser.
  • Improved manner in which empty objects are created relieving caller of several tedious constraints in setting argument lists just right to create empty objects.
  • Fixed Silo\'s Fortran header,, so that it is compatible with free-format 9x. Super thanks to Bob Apthorpe for this fix!
  • Fixed browser\'s display of some objects containing variable length lists of arrays as well as failing to include such arrays in diffs produced by silodiff.
  • Fixed handling of complex indexing expressions in external array indices in nameschemes.
  • Fixed handling of ?:: operator in nameschemes to not attempt to evaluate whichever path is not taken.
  • Fixed documentation of species example in user\'s manual to show correct percentages for O-1 steel.
  • Fixed a number of compilation warnings from OS X (clang) compiler.
  • Fixed misleading ERROR message from browser when exiting and command history is not able to be saved.
  • Fixed misleading display of repr_block_idx in silex.
  • Fixed documentation regarding node-ordering for DB_ZONETYPE_POLYHEDRON zones.
  • Improved ducmentation regarding polyhedral zonelists for 2D meshes.
  • Fixed error in documentation regarding DBPutCompoundarray for Fortran callers.
  • Added Fortran equiv. of DBPutQuadvar to documentation.
  • Removed silly make dependencey of silock on browser in order to build silock.
  • Fixed silex display of \'topo_dim\' member for ucd meshes.
  • Fixed diff\'ing of curve objects in browser when reading HDF5 data.
  • Added missing documentation for Fortran dbaddcaopt.
  • Fixed file and library version comparison (GE) functions and macros.

4. New features in this release

  • The entire Silo interface has been const-qualified where appropriate.
  • It is now possible for PDBLite API to be exported publicly as part of a Silo installation. Use the --enable-install-lite-headers configuration option to enable this. This frees applications which have been using PDBLite interface for some time to have to maintain their own CPP mapping macros.
  • Improved DBoptlist processing so that caller needn\'t worry about exceeding maximum number of options specified in DBMakeOptlist call. Now, Silo will silently reallocate to accomodate going beyond maximum option count specified.
  • Improved DBobject processing similarly so that caller needn\'t worry about exceeding maximum number of object components specified in DBMakeObject. Now, Silo will silently reallocate to accomodate going beyond the maximum component count specified.
  • Added support to all variable writing routines for missing data using DBOPT_MISSING_VALUE option.
  • Added support for data producer to specify ghosting of meshes by writing extra mesh (or generic) variable data and using DBOPT_GHOST_NODE_LABELS and/or DBOPT_GHOST_ZONE_LABELS optlist options. This is as convenient alternative to hi/lo indexing method used for ghost zone enumeration.
  • Changed browser\'s default setting to open files for read-only instead of read-write. To open a file for writing, you must now pass the -W command-line switch.
  • Added opening a Silo \"file\" from a buffer of bytes (e.g. the File-In-Core). Note, this is different from the \"core\" file driver where a file is first read entirely into core before it is opened because it does not require or start as a file on disk.
  • Added a convenient DBOpenByBcast() method for parallel applications to open and process a root or master file. This method will open the file on a single processor and then broadcast its entire contents to all processors all of which turn around and open the resulting buffer of bytes as a Silo file. Note that this requires HDF5-1.8.10 or later.
  • Added support for Silo curves in polar coordinates.
  • Improved time and space performance of DBGetMultiXXX calls\' processing long lists of catenated strings for large block counts.
  • DB[Set|Get]DataReadMask using long type was replaced with DB[Set|Get]DataReadMask2 using long long type.
  • DBVersionDigits and DBFileVersionDigits were added to return integer major, minor, patch and pre-release version digits.
  • DBVersionGEFileVersion was added to compare library version with file version.
  • JSON support was added to Silo using the <a href=\"\">json-c</a> library. This interface permits Silo applications to manipulate their Silo objects as JSON objects. The implementation includes extensions to json-c for efficient handling of problem-sized array data in Silo objects. This interface should be considered experimental and is likely to change, perhaps in dramatic ways, in future releases.
  • Improved display of character array data in silex.