Jonathan, Dave:
Jonathan has his new h1daqfw2 frame writer running and writing byte identical frame files compared to production. I have extended the DAQ DETAIL MEDM to perform a check between all three frame writers, warning if their frames differ in size or content.
The attached MEDM shows all three frame writers with identical full and second trend frame files, but with FW2 having written a different minute trend file. This is because FW2 was started during the past hour and therefore wrote an incomplete file.
FW2 is currently not in production, which is shown by its error/warnings being indicated in YELLOW instead of RED.
After another hour and a full minute trend frame being written there are differences between the h1daqfw[01] and h1daqfw2 frames minute trend frames. Looking at H-H1_M-1429650000-3600.gwf there are 767 channels with differences. All of the differences are .mean channels. I randomly sampled a small number of these channels. The difference that I saw in all the channels I looked at was that h1daqfw[01] had set the mean value to -0.0, and h1daqfw2 had computed the mean to be 0.0 (no minus sign). Since having the sign bit set means the underlying bytes are not all zeros the compression isn't as nice and the h1daqfw[01] frame is slightly larger. Seeing differences like this is not unexpected. This is a different implementation and different implementation technology so floating point rounding errors are an issue. My goal is still to be able to get this to be byte for byte identical output. Here is a dump of a minute trend channel that shows the difference (using framecpp_dump_channel). from h1daqfw0: DEBUG: Processing channel: H1:SUS-MC2_M3_MASTER_OUT_LL_DQ.mean DEBUG: Trying as ADC DEBUG: Is a ADC Name: Compress: 257 (Endianness: Little Scheme: 1) Type: 2 NData: 60 NBytes: 22 Data: -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0, -0 from h1daqfw2: DEBUG: Processing channel: H1:SUS-MC2_M3_MASTER_OUT_LL_DQ.mean DEBUG: Trying as ADC DEBUG: Is a ADC Name: Compress: 266 (Endianness: Little Scheme: 10) Type: 2 NData: 60 NBytes: 8 Data: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0