MDF-DAT Sync Plugin (HVAC) ^^^^^^^^^^ This guide focuses on the MDF-DAT Sync Plugin (HVAC) plugin within the d3VIEW Desktop application, and includes the CLI interface information as well. The MDF-DAT sync plugin syncs together multiple (or singular) MDF and DAT files together with respect to the time channel. The time channel for DAT files is typically "Test Run Time", and MDF files' responses have their own times, albeit they are typically closely correlated with each other and the main time channel ("mdf_time"). The two different kinds of files are synced together via the time channels. When there are multiple MDF files, each MDF file's time values must be offset by some value in order to sync the MDF files with the DAT file(s) [usually there is just one DAT file]. The value of this offset differs for each different MDF file and is calculated using a formula that optimizes the differences between the composite MDF curve and the DAT curve. There is a multitude of different user options available. .. image:: ./_images/hvac_desktop.png Command Line Arguments ~~~~~~~~~~~~~~~~~~~~~~ .. list-table:: Command Line Args :widths: 30 30 30 30 30 30 30 :header-rows: 1 * - Name - Mapping (dest) - Default - Action - Metavar - Help - Group * - -dat_file - dat_file - 'empty string' - NA - dat_file - dat file name - NA * - -dat_files - dat_files - 'empty string' - NA - dat_files - Comma separated list of dat files. ex: "file1,file2" - NA * - -dat_channel - dat_channel - 'empty string' - NA - dat_channel - dat channel - NA * - -mdf_files - mdf_files - 'empty string' - NA - mdf_files - Comma separated list of mdf files. ex: "file1,file2" - NA * - -mdf_channel - mdf_channel - 'empty string' - NA - mdf_channel - mdf channel - NA * - -time_channel - time_channel - 'empty string' - NA - time_channel - dat time channel used for syncing - NA * - -channel_filter - channel_filter - 'empty string' - NA - channel_filter - dat/mdf channel filter - NA * - -dat_time_channel - dat_time_channel - 'empty string' - NA - dat_time_channel - dat channel filter - NA * - -mdf_time_channel - mdf_time_channel - 'empty string' - NA - mdf_time_channel - mdf channel filter - NA * - -directory - directory - 'empty string' - NA - directory - directory to detect dat and mdf files - NA * - -output_file - output_file - 'mdf_dat_sync_output.dat' - NA - output_file - output file name - NA * - -summary - summary - 'False' - NA - summary - Summary flag - NA * - -stitch_mdf - stitch_mdf - 'True' - NA - stitch_mdf - Flag to stitch channels from multiple mdf files together - NA * - -auto_sync - auto_sync - 'False' - NA - auto_sync - Includes synced channels in the responses output - NA * - -sync_time_channels - sync_time_channels - 'False' - NA - sync_time_channels - Flag to indicate syncing using time channels - NA * - -indent - indent - 'None' - NA - indent - Indent for the json output - NA * - -keep_internal_files - keep_internal_files - 'False' - NA - keep_internal_files - Option to keep internal files the program produces - NA * - -sample_interval - sample_interval - '0' - NA - NA - Reduce the points to only ones at the specified interval - NA * - -rsp_per_file - responses_per_file - 'empty string' - NA - NA - Number of responses per file, helpful for partitioning a large response json into smaller files - NA Desktop Application ~~~~~~~~~~~~~~~~~~~ Users will likely prefer to use the plugin in the desktop app. HVAC tests can be published test-by-test ("Single" tab) or multiple tests at a time ("Multiple" tab). Multiple-test publishing is useful if the tests have share the DAT/MDF channel. For the Single test ("Single" tab) publishing, the only required fields are the data folder selection and DAT channel and MDF channel dropdown selection, the latter two both being automatically selected - Ticks for DAT channel and SecondsFromMidnight for MDF channel - assuming they are present in the data, which they should be. If they are absent for whatever reason, the dropdown will be blank. For the Multiple test publishing, DAT channel and MDF channel are in text boxes as reading through all the data and checking whether the usual fields exist would be unwieldy in terms of time. Options Descriptions ~~~~~~~~~~~~~~~~~~~~ .. list-table:: Options Descriptions :widths: 30 30 :header-rows: 1 * - Option - Description * - Tags - Tags to associate the test with * - Project - Project to organize the published test into * - Template - Template to apply towards the test * - Keep DAT Columns / Keep MDF Columns - List of responses that shall only be present in the published test. Wildcards may be used, and are not case-sensitive. For instance, eng*, dia* will capture EngineSpeed, EngineSts, EngineWaterTemp, DIA_DIA_run, DIA_Evap_Temp_Base_Freeze, etc. * - Sample Interval - Useful for large tests, should be an integer whose value will determine the nth lines to keep. For instance, a value of 10 indicates that only every 10th data value will be kept in the published test. * - Track GUI options - Useful to check the configurations that the test was published with. If something is unexpected, then checking the publication parameters may clear up some confusion. * - Override time zero - If engineers would like to manually set the time 0, this is the place to do it. If the value entered does not match any time value exactly, the closest time value is selected. For instance, a value of 500.0 is entered, but the closest time value is 500.015. The 500.015 time value would be set to time 0.0 and the other time values would be adjusted accordingly. So if the neighborhooding time values around the new time 0.0 are 498.001, 499.003, 500.015, 501.008, 502.007, then the adjusted time values would be the following: -2.014, -1.012, 0.0, 0.993, 1.992. * - # of Responses per File - Useful for large tests. If the resulting responses.json (the file that contains the test data to be published) is expected to be too large due to the large input data sizes, then this option may be used to expediate the publishing process. * - Remove DAT/MDF channels' outliers - If selected, outlier data in the DAT and MDF files will removed as follows: the difference between consecutive datapoints will be normalized and those datapoint pairs whose differences have a normalized value whose absolute value is greater than 10 will be removed. * - Launch Visualizer & Raw Data Viewer / MDF-dat sync in visualizer - Shows the visualizer plugin for all the MDF and DAT files in the test folder. Users can visualize individual MDF and DAT files, or the synced test. Viewing the synced test will take some time as the sync algorithm must complete. If a test is published already and the unified dat file is still present in the test folder, then the unified dat file can be viewed which is equivalent to viewing the synced test.