/// <summary> /// Each ensemble will have its own file. So the filename will contain the subsystem and /// ensemble number. /// </summary> /// <param name="ensemble">Ensemble to encode to matlab.</param> /// <param name="isMultipleFile">Set flag if you want individual files per ensemble or combine it all into one file.</param> public void Write(DataSet.Ensemble ensemble, bool isMultipleFile = false) { if (ensemble != null) { // Create a file name string filename = _filePath + _fileName; // Get the ensemble number and subsystem config if (ensemble.IsEnsembleAvail) { string ensNum = ensemble.EnsembleData.EnsembleNumber.ToString("00000"); string subsys = String.Format("{0}_{1}", ensemble.EnsembleData.SubsystemConfig.CommandSetupToString(), ensemble.EnsembleData.SubsystemConfig.SubSystem.CodeToString()); filename += string.Format("_{0}_{1}", ensNum, subsys); } // Get the extension filename += ".mat"; // Ony used for testing to force some datasets off //ensemble.IsEnsembleAvail = false; //ensemble.IsAmplitudeAvail = false; //ensemble.IsAncillaryAvail = false; //ensemble.IsBeamVelocityAvail = false; //ensemble.IsBottomTrackAvail = false; //ensemble.IsCorrelationAvail = false; //ensemble.IsEarthVelocityAvail = false; //ensemble.IsEarthWaterMassAvail = false; //ensemble.IsGoodBeamAvail = false; //ensemble.IsGoodEarthAvail = false; //ensemble.IsInstrumentVelocityAvail = false; //ensemble.IsInstrumentWaterMassAvail = false; //ensemble.IsNmeaAvail = false; try { File.WriteAllBytes(filename, ensemble.EncodeMatlab()); } catch (Exception e) { log.Error(string.Format("Error writing file {0} {1}", filename), e); } } }