Unit tests failed sometimes. Found that an attributes structure for time
in the data recording class was unintialized. This led to the mods
field to have random data, and sometimes triggering sys.exec.out.time
to be assigned no units. Fixed it by zeroing out the structure.
refs #254
Used the mods field in the attributes to indicate of "--" was specified in the header file. We
still save the units as "1" to keep it compatible with udunits. When outputting the variable
in data recording or variable server we check to see if the mods field for "--" is set. We
output "--" if the mods field is set. Also allowed "--" to persist in data products.
refs #254
Changed Trick::Executive::get_current_version to return a const reference
to the string that holds the version. This avoids a copy of the string object
and avoids that object going out of scope. As a string, the debug_command
had the same problem so I fixed that one as well.
refs #252
Added a makefile install rule to copy the header files out of
er7_utils to the install directory. Adjusted ICG to ignore
Trick header files if they are installed.
refs #246
Created a configure time test to see if clang will compile ICG correctly.
If the compilation fails, an error message telling the user to go download
clang/llvm from llvm.org is show.
refs #174
Copied the units_conv.c from 15 that includes the new units to master.
Swept through the code removing includes to Unit.hh and UCF.h where they
are no longer needed. Remade makefile dependencies.
refs #231
Changed the include for udunits to #include <udunits2.h> to work
on all platforms. Added the include directory /usr/include/udunits2
for Linux.
refs #231
Changed the handling of how we handle doubles and ints allowing
more mathematical operations like multiplication, division, and
some limited exponentiation.
refs #231
Initial checkin of using udunits for measurement units conversions. Replaced
our conversion code in ICG and swig code to use udunits.
Also added code to convert unit symbols that we used in Trick that are different
names in udunits.
Added a sim_object that will eventually allow users to specify a custom
set of files to read units information.
refs #231
ICG dies on a strdup if the the input file is empty. Added a check for
an empty input file name. We exit with an error message if there is
no input file given.
refs #229
Overrode the write_data routine for HDF5 recording. The new routine writes
out all buffered values of an individual variable with one or two HDF5 calls.
This is much more efficient than before where we were making an HDF5 call
for a single value.
refs #188
Added a test to set the debugger command to gdb or lldb depending
on availability. Created a new script for lldb to run. Modified
the script for gdb to backtrace all threads.
refs #227
Added mutexes in the variable server listener thread and each variable server thread.
During checkpoint restart all of these mutexes are locked by the master thread to
stop accepting new connections and stop all read/writing to all variable server clients.
Communication is resumed after the checkpoint has been reloaded.
refs #168
Added a pthread specific swap buffer in both tc_read and tc_write.
The buffer is resized if a thread tries to send a buffer larger than
the current swap size.
refs #187