Commit b2ad8329 authored by hrchilds's avatar hrchilds
Browse files

Update from June 1, 2005

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@478 18c085ea-50e0-402c-830e-de6fd14e8384
parent 80777a31
......@@ -134,6 +134,8 @@
# Added a pass for an optimized build
# Added calls to clean up ipc resources
#
# Mark C. Miller, Tue May 31 20:12:42 PDT 2005
# Updated skipList
# ----------------------------------------------------------------------------
# list of users who want email every night with the log file
......@@ -279,16 +281,7 @@ skipList="scalable,parallel:tests/databases/boxlib.py \
scalable,parallel:tests/hybrid/locus.py \
dlb:tests/databases/global_node_ids.py \
dlb:tests/queries/pick.py \
serial:tests/databases/pdbdatabase.py \
parallel:tests/databases/pdbdatabase.py \
scalable,parallel:tests/databases/pdbdatabase.py \
hdf5:tests/databases/pdbdatabase.py \
dlb:tests/databases/pdbdatabase.py \
serial:tests/hybrid/timelock.py \
parallel:tests/hybrid/timelock.py \
scalable,parallel:tests/hybrid/timelock.py \
hdf5:tests/hybrid/timelock.py \
dlb:tests/hybrid/timelock.py"
optimized:tests/plots/tensor.py"
# run the test(s)
error=0
......@@ -361,9 +354,9 @@ cd ..
error=0
cd test
if test "$skipList" = ""; then
./runtest -q -p -m optimized -d "$curdate" -notrackmem -minor-error 5 -major-error 20
./runtest -q -p -m optimized -d "$curdate" -notrackmem -minor-error 8 -major-error 20
else
./runtest -q -s "$skipList" -p -m optimized -d "$curdate" -notrackmem -minor-error 5 -major-error 20
./runtest -q -s "$skipList" -p -m optimized -d "$curdate" -notrackmem -minor-error 8 -major-error 20
fi
curerror=$?
if test ! "$curerror" = "0"; then
......
......@@ -10,13 +10,13 @@
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
// ****************************************************************************
GlobalAttributes::GlobalAttributes() : AttributeSubject("s*i*ibbbbbibbbbb")
GlobalAttributes::GlobalAttributes() : AttributeSubject("s*i*ibbbbbibbbbbb")
{
activeWindow = 1;
iconifiedFlag = false;
......@@ -30,6 +30,7 @@ GlobalAttributes::GlobalAttributes() : AttributeSubject("s*i*ibbbbbibbbbb")
maintainView = false;
maintainData = false;
automaticallyAddOperator = false;
tryHarderCyclesTimes = false;
}
// ****************************************************************************
......@@ -41,13 +42,13 @@ GlobalAttributes::GlobalAttributes() : AttributeSubject("s*i*ibbbbbibbbbb")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
// ****************************************************************************
GlobalAttributes::GlobalAttributes(const GlobalAttributes &obj) : AttributeSubject("s*i*ibbbbbibbbbb")
GlobalAttributes::GlobalAttributes(const GlobalAttributes &obj) : AttributeSubject("s*i*ibbbbbibbbbbb")
{
sources = obj.sources;
windows = obj.windows;
......@@ -63,6 +64,7 @@ GlobalAttributes::GlobalAttributes(const GlobalAttributes &obj) : AttributeSubje
maintainView = obj.maintainView;
maintainData = obj.maintainData;
automaticallyAddOperator = obj.automaticallyAddOperator;
tryHarderCyclesTimes = obj.tryHarderCyclesTimes;
SelectAll();
}
......@@ -76,7 +78,7 @@ GlobalAttributes::GlobalAttributes(const GlobalAttributes &obj) : AttributeSubje
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -96,15 +98,16 @@ GlobalAttributes::~GlobalAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
// ****************************************************************************
void
GlobalAttributes&
GlobalAttributes::operator = (const GlobalAttributes &obj)
{
if (this == &obj) return *this;
sources = obj.sources;
windows = obj.windows;
activeWindow = obj.activeWindow;
......@@ -119,8 +122,10 @@ GlobalAttributes::operator = (const GlobalAttributes &obj)
maintainView = obj.maintainView;
maintainData = obj.maintainData;
automaticallyAddOperator = obj.automaticallyAddOperator;
tryHarderCyclesTimes = obj.tryHarderCyclesTimes;
SelectAll();
return *this;
}
// ****************************************************************************
......@@ -132,7 +137,7 @@ GlobalAttributes::operator = (const GlobalAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -155,7 +160,8 @@ GlobalAttributes::operator == (const GlobalAttributes &obj) const
(cloneWindowOnFirstRef == obj.cloneWindowOnFirstRef) &&
(maintainView == obj.maintainView) &&
(maintainData == obj.maintainData) &&
(automaticallyAddOperator == obj.automaticallyAddOperator));
(automaticallyAddOperator == obj.automaticallyAddOperator) &&
(tryHarderCyclesTimes == obj.tryHarderCyclesTimes));
}
// ****************************************************************************
......@@ -167,7 +173,7 @@ GlobalAttributes::operator == (const GlobalAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -188,7 +194,7 @@ GlobalAttributes::operator != (const GlobalAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -209,7 +215,7 @@ GlobalAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -237,7 +243,7 @@ GlobalAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -263,7 +269,7 @@ GlobalAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -290,7 +296,7 @@ GlobalAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -313,6 +319,7 @@ GlobalAttributes::SelectAll()
Select(11, (void *)&maintainView);
Select(12, (void *)&maintainData);
Select(13, (void *)&automaticallyAddOperator);
Select(14, (void *)&tryHarderCyclesTimes);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -626,6 +633,13 @@ GlobalAttributes::SetAutomaticallyAddOperator(bool automaticallyAddOperator_)
Select(13, (void *)&automaticallyAddOperator);
}
void
GlobalAttributes::SetTryHarderCyclesTimes(bool tryHarderCyclesTimes_)
{
tryHarderCyclesTimes = tryHarderCyclesTimes_;
Select(14, (void *)&tryHarderCyclesTimes);
}
///////////////////////////////////////////////////////////////////////////////
// Get property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -726,6 +740,12 @@ GlobalAttributes::GetAutomaticallyAddOperator() const
return automaticallyAddOperator;
}
bool
GlobalAttributes::GetTryHarderCyclesTimes() const
{
return tryHarderCyclesTimes;
}
///////////////////////////////////////////////////////////////////////////////
// Select property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -755,7 +775,7 @@ GlobalAttributes::SelectWindows()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -780,6 +800,7 @@ GlobalAttributes::GetFieldName(int index) const
case 11: return "maintainView";
case 12: return "maintainData";
case 13: return "automaticallyAddOperator";
case 14: return "tryHarderCyclesTimes";
default: return "invalid index";
}
}
......@@ -793,7 +814,7 @@ GlobalAttributes::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -818,6 +839,7 @@ GlobalAttributes::GetFieldType(int index) const
case 11: return FieldType_bool;
case 12: return FieldType_bool;
case 13: return FieldType_bool;
case 14: return FieldType_bool;
default: return FieldType_unknown;
}
}
......@@ -831,7 +853,7 @@ GlobalAttributes::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -856,6 +878,7 @@ GlobalAttributes::GetFieldTypeName(int index) const
case 11: return "bool";
case 12: return "bool";
case 13: return "bool";
case 14: return "bool";
default: return "invalid index";
}
}
......@@ -869,7 +892,7 @@ GlobalAttributes::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -952,6 +975,11 @@ GlobalAttributes::FieldsEqual(int index_, const AttributeGroup *rhs) const
retval = (automaticallyAddOperator == obj.automaticallyAddOperator);
}
break;
case 14:
{ // new scope
retval = (tryHarderCyclesTimes == obj.tryHarderCyclesTimes);
}
break;
default: retval = false;
}
......
......@@ -13,7 +13,7 @@
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Thu Aug 5 16:52:19 PST 2004
// Creation: Wed Jun 1 08:17:08 PDT 2005
//
// Modifications:
//
......@@ -26,7 +26,7 @@ public:
GlobalAttributes(const GlobalAttributes &obj);
virtual ~GlobalAttributes();
virtual void operator = (const GlobalAttributes &obj);
virtual GlobalAttributes& operator = (const GlobalAttributes &obj);
virtual bool operator == (const GlobalAttributes &obj) const;
virtual bool operator != (const GlobalAttributes &obj) const;
......@@ -55,6 +55,7 @@ public:
void SetMaintainView(bool maintainView_);
void SetMaintainData(bool maintainData_);
void SetAutomaticallyAddOperator(bool automaticallyAddOperator_);
void SetTryHarderCyclesTimes(bool tryHarderCyclesTimes_);
// Property getting methods
const stringVector &GetSources() const;
......@@ -73,6 +74,7 @@ public:
bool GetMaintainView() const;
bool GetMaintainData() const;
bool GetAutomaticallyAddOperator() const;
bool GetTryHarderCyclesTimes() const;
// Persistence methods
virtual bool CreateNode(DataNode *node, bool completeSave, bool forceAdd);
......@@ -100,6 +102,7 @@ private:
bool maintainView;
bool maintainData;
bool automaticallyAddOperator;
bool tryHarderCyclesTimes;
};
#endif
......@@ -40,6 +40,9 @@
<Field name="automaticallyAddOperator" label="automaticallyAddOperator" type="bool">
false
</Field>
<Field name="tryHarderCyclesTimes" label="tryHarderCyclesTimes" type="bool">
false
</Field>
<Function name="CreateNode" user="false" member="true">
</Function>
<Function name="SetFromNode" user="false" member="true">
......
......@@ -841,10 +841,17 @@ avtDatabase::AddMeshQualityExpressions(avtDatabaseMetaData *md)
// Added code to handling forcing of reading all cycles and times and
// to update cached metadata if we ever do read all cycles and times
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added bool to force reading the current state's cycle/time. Added
// code to populate the returned metadata with current state's cycle/time
// if it was requested AND the metadata about to be returned doesn't think
// it already has accurate cycle/time information for that state.
//
// ****************************************************************************
avtDatabaseMetaData *
avtDatabase::GetMetaData(int timeState, bool forceReadAllCyclesTimes)
avtDatabase::GetMetaData(int timeState, bool forceReadAllCyclesTimes,
bool forceReadThisStateCycleTime)
{
std::list<CachedMDEntry>::iterator i;
......@@ -983,7 +990,17 @@ avtDatabase::GetMetaData(int timeState, bool forceReadAllCyclesTimes)
}
}
return metadata.front().md;
avtDatabaseMetaData *retval = metadata.front().md;
if (forceReadThisStateCycleTime)
{
if (!retval->IsCycleAccurate(timeState) ||
!retval->IsTimeAccurate(timeState))
SetCycleTimeInDatabaseMetaData(retval, timeState);
}
return retval;
}
......@@ -1626,7 +1643,7 @@ avtDatabase::GetExtentsFromAuxiliaryData(avtDataSpecification_p spec,
return false;
avtIntervalTree *tree = (avtIntervalTree *) *(list.list[0]);
float fextents[6];
float fextents[6] = {0.,0.,0.,0.,0.,0.};
tree->GetExtents(fextents);
int nvals = 2;
......
......@@ -213,6 +213,10 @@ typedef struct {
//
// Mark C. Miller, Tue May 17 18:48:38 PDT 2005
// Added forceReadAllCyclesAndTimes bool to MetaData methods
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added forceReadThisStateCycleTime bool to GetMetaData
// Added method SetCycleTimeInDatabaseMetaData
// ****************************************************************************
class DATABASE_API avtDatabase
......@@ -229,7 +233,8 @@ class DATABASE_API avtDatabase
const char *type,void *args)=0;
avtDatabaseMetaData *GetMetaData(int stateIndex,
bool forceReadAllCyclesTimes = false);
bool forceReadAllCyclesTimes = false,
bool forceReadThisStateCycleTime = false);
avtSIL *GetSIL(int stateIndex);
int GetMostRecentTimestep() const;
......@@ -298,6 +303,7 @@ class DATABASE_API avtDatabase
virtual bool HasInvariantSIL(void) const = 0;
virtual avtDataObjectSource *CreateSource(const char *, int) = 0;
virtual void SetCycleTimeInDatabaseMetaData(avtDatabaseMetaData *, int) = 0;
virtual void SetDatabaseMetaData(avtDatabaseMetaData *,
int=0, bool=false) = 0;
virtual void PopulateSIL(avtSIL *, int=0) = 0;
......
......@@ -135,11 +135,15 @@ avtDatabaseFactory::SetDefaultFormat(const char *f)
// Vastly improved the error messages when failing to open a file.
// The extra error detection prevented crashes in some common situations.
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added bool arg to forceReadAllCyclesTimes
//
// ****************************************************************************
avtDatabase *
avtDatabaseFactory::FileList(const char * const * filelist, int filelistN,
int timestep, const char *format)
int timestep, const char *format,
bool forceReadAllCyclesAndTimes)
{
int i, j;
......@@ -219,7 +223,7 @@ avtDatabaseFactory::FileList(const char * const * filelist, int filelistN,
CommonDatabasePluginInfo *info =
dbmgr->GetCommonPluginInfo(formatid);
rv = SetupDatabase(info, filelist, filelistN, timestep, fileIndex,
nBlocks);
nBlocks, forceReadAllCyclesAndTimes);
if (rv == NULL)
{
......@@ -286,7 +290,7 @@ avtDatabaseFactory::FileList(const char * const * filelist, int filelistN,
TRY
{
rv = SetupDatabase(info, filelist, filelistN, timestep,
fileIndex, nBlocks);
fileIndex, nBlocks, forceReadAllCyclesAndTimes);
}
CATCH2(InvalidDBTypeException, e)
{
......@@ -309,7 +313,7 @@ avtDatabaseFactory::FileList(const char * const * filelist, int filelistN,
CommonDatabasePluginInfo *info =
dbmgr->GetCommonPluginInfo(defaultid);
rv = SetupDatabase(info, filelist, filelistN, timestep, fileIndex,
nBlocks);
nBlocks, forceReadAllCyclesAndTimes);
}
else
{
......@@ -352,12 +356,15 @@ avtDatabaseFactory::FileList(const char * const * filelist, int filelistN,
// Jeremy Meredith/Hank Childs, Tue Mar 23 12:26:55 PST 2004
// Set the file format with the database, not the meta-data.
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added bool arg to forceReadAllCyclesTimes
// ****************************************************************************
avtDatabase *
avtDatabaseFactory::SetupDatabase(CommonDatabasePluginInfo *info,
const char * const *filelist, int filelistN,
int timestep, int fileIndex, int nBlocks)
int timestep, int fileIndex, int nBlocks,
bool forceReadAllCyclesAndTimes)
{
avtDatabase *rv = info->SetupDatabase(filelist+fileIndex,
filelistN-fileIndex, nBlocks);
......@@ -375,7 +382,7 @@ avtDatabaseFactory::SetupDatabase(CommonDatabasePluginInfo *info,
{
rv->ActivateTimestep(timestep);
rv->SetFileFormat(info->GetID());
rv->GetMetaData(timestep);
rv->GetMetaData(timestep, forceReadAllCyclesAndTimes);
}
return rv;
......@@ -422,11 +429,13 @@ avtDatabaseFactory::SetupDatabase(CommonDatabasePluginInfo *info,
// Hank Childs, Mon Mar 22 11:01:05 PST 2004
// Added format argument.
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added bool arg to forceReadAllCyclesTimes
// ****************************************************************************
avtDatabase *
avtDatabaseFactory::VisitFile(const char *visitFile, int timestep,
const char *format)
const char *format, bool forceReadAllCyclesAndTimes)
{
//
// Make sure we can read the file before we proceed.
......@@ -480,7 +489,8 @@ avtDatabaseFactory::VisitFile(const char *visitFile, int timestep,
//
// Create a database using the list of files.
//
avtDatabase *rv = FileList(reallist, listcount, timestep, format);
avtDatabase *rv = FileList(reallist, listcount, timestep, format,
forceReadAllCyclesAndTimes);
//
// Clean up memory
......
......@@ -39,21 +39,23 @@ class CommonDatabasePluginInfo;
// Hank Childs, Sun May 9 11:41:45 PDT 2004
// Allow for default file format type to be set.
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added bool args for forcing reading of all cycles/times
// ****************************************************************************
class DATABASE_API avtDatabaseFactory
{
public:
static avtDatabase *FileList(const char * const *, int, int,
const char * = NULL);
const char * = NULL, bool = false);
static avtDatabase *VisitFile(const char *, int,
const char * = NULL);
const char * = NULL, bool = false);
static void SetDefaultFormat(const char *);
protected:
static avtDatabase *SetupDatabase(CommonDatabasePluginInfo *,
const char * const *, int,
int, int, int);
int, int, int, bool);
static char *defaultFormat;
};
......
......@@ -559,6 +559,20 @@ avtGenericDatabase::SetDatabaseMetaData(avtDatabaseMetaData *md, int timeState,
md->ReplaceForbiddenCharacters(forbiddenChars, replacementStrs);
}
// ****************************************************************************
// Method: avtGenericDatabase::SetCycleTimeInDatabaseMetaData
//
// Purpose: Set cycle/time values in metadata for current state
//
// Programmer: Mark C. Miller
// Created: May 31, 3005
// ****************************************************************************
void
avtGenericDatabase::SetCycleTimeInDatabaseMetaData(avtDatabaseMetaData *md, int ts)
{
Interface->SetCycleTimeInDatabaseMetaData(md, ts);
}
// ****************************************************************************
// Method: avtGenericDatabase::GetOutput
......
......@@ -236,6 +236,9 @@ class PickVarInfo;
//
// Mark C. Miller, Tue May 17 18:48:38 PDT 2005
// Added bool arg, forceReadAllCyclesTimes, to SetDatabaseMetaData
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Added method SetCycleTimeInDatabaseMetaData
// ****************************************************************************
class DATABASE_API avtGenericDatabase : public avtDatasetDatabase
......@@ -277,6 +280,7 @@ class DATABASE_API avtGenericDatabase : public avtDatasetDatabase
virtual void PopulateSIL(avtSIL *, int=0);
virtual void PopulateIOInformation(int ts, avtIOInformation &);
virtual void SetCycleTimeInDatabaseMetaData(avtDatabaseMetaData *md, int timeState);
virtual void SetDatabaseMetaData(avtDatabaseMetaData *md,
int timeState = 0,
bool forceReadAllCyclesTimes = false);
......
......@@ -134,6 +134,10 @@ avtSourceFromDatabase::~avtSourceFromDatabase()
// Hank Childs, Sun Mar 6 11:15:11 PST 2005
// Add special support for NeedBoundarySurfaces in lieu of fix for '5723.
//
// Mark C. Miller, Tue May 31 20:12:42 PDT 2005
// Made call to GetMetaData set flag to force it to read the current
// timeState's cycle/time information.
//
// ****************************************************************************
bool
......@@ -199,8 +203,12 @@ avtSourceFromDatabase::FetchDataset(avtDataSpecification_p spec,
}
}
const bool forceReadAllCyclesTimes = false;
const bool forceReadThisStateCycleTime = true;
int timestep = spec->GetTimestep();
avtDatabaseMetaData *md = database->GetMetaData(timestep);
avtDatabaseMetaData *md = database->GetMetaData(timestep,
forceReadAllCyclesTimes,
forceReadThisStateCycleTime);
avtDataAttributes &atts = GetOutput()->GetInfo().GetAttributes();
if (md->IsCycleAccurate(timestep))
{
......
......@@ -2,6 +2,9 @@
// avtFileFormat.C //
// ************************************************************************* //
#include <limits.h> // for INT_MAX
#include <float.h> // for DBL_MAX
#include <avtFileFormat.h>
#include <avtDatabaseMetaData.h>
......@@ -21,6 +24,15 @@ using std::vector;
void FileFormatCloseFileCallback(void *, int);
//
// Class statics/constants
//
const int avtFileFormat::INVALID_CYCLE = -INT_MAX;