示例#1
0
文件: NLDAS.cs 项目: quanted/hms
        /// <summary>
        /// Makes the GetData call to the base NLDAS class.
        /// </summary>
        /// <param name="errorMsg"></param>
        /// <param name="output"></param>
        /// <param name="input"></param>
        /// <returns></returns>
        public ITimeSeriesOutput GetData(out string errorMsg, ITimeSeriesOutput output, ITimeSeriesInput input)
        {
            errorMsg = "";
            Data.Source.NLDAS nldas = new Data.Source.NLDAS();
            string            data  = nldas.GetData(out errorMsg, "PRECIP", input);
            //if (errorMsg.Contains("ERROR")) { return null; }
            //if (data.Contains("ERROR"))
            //{
            //    string[] lines = data.Split(new string[] { "\n" }, StringSplitOptions.RemoveEmptyEntries);
            //    errorMsg = lines[0] + " Dataset: precipitation, Source: " + input.Source;
            //    return null;
            //}

            ITimeSeriesOutput nldasOutput = output;

            if (errorMsg.Contains("ERROR"))
            {
                Utilities.ErrorOutput err = new Utilities.ErrorOutput();
                output   = err.ReturnError("Precipitation", "nldas", errorMsg);
                errorMsg = "";
                return(output);
            }
            else
            {
                nldasOutput = nldas.SetDataToOutput(out errorMsg, "Precipitation", data, output, input);
            }

            nldasOutput = TemporalAggregation(out errorMsg, output, input);
            if (errorMsg.Contains("ERROR"))
            {
                return(null);
            }

            return(nldasOutput);
        }
示例#2
0
        /// <summary>
        /// Returns ITimeSeries object containing the errorMsg in the metadata.
        /// </summary>
        /// <param name="errorMsg">Error message to be pasted to the MetaData in the output.</param>
        /// <returns>ITimeSeries</returns>
        public ITimeSeriesOutput ReturnError(string errorMsg)
        {
            ITimeSeriesOutput output = new ErrorOutput();

            output.Metadata["ERROR"] = errorMsg;
            return(output);
        }
示例#3
0
        /// <summary>
        /// Returns ITimeSeries object containing the errorMsg in the metadata.
        /// </summary>
        /// <param name="errorMsg">Error message to be pasted to the MetaData in the output.</param>
        /// <returns>ITimeSeries</returns>
        public ITimeSeriesOutput ReturnError(string dataset, string source, string errorMsg)
        {
            ITimeSeriesOutput output = new ErrorOutput
            {
                Dataset    = dataset,
                DataSource = source
            };

            output.Metadata[source + "_ERROR"] = errorMsg;
            return(output);
        }