示例#1
0
        /// <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);
                }
            }
        }