GetWYAnnualAverages() static private method

static private GetWYAnnualAverages ( List flow ) : List
flow List
return List
Example #1
0
        private static List <double> AnnualBiasCorrection(List <Point> obs,
                                                          List <Point> sim, List <Point> fut)
        {
            List <double> fut_avgs = Utils.GetWYAnnualAverages(fut);

            AnnualCDF obs_dist = new AnnualCDF(obs);
            AnnualCDF sim_dist = new AnnualCDF(sim);

            var rval = new List <double> {
            };

            foreach (var item in fut_avgs)
            {
                double value = GetBiasCorrectedFlow(item,
                                                    obs_dist.Flow,
                                                    obs_dist.Probability,
                                                    obs_dist.LNfit,
                                                    sim_dist.Flow,
                                                    sim_dist.Probability,
                                                    sim_dist.LNfit);

                rval.Add(value);
            }
            return(rval);
        }
Example #2
0
        public AnnualCDF(List <Point> points)
        {
            var values = Utils.GetWYAnnualAverages(points);

            List <double> sorted_values;
            var           cdf = Utils.ComputeCDF(values, out sorted_values);

            Probability = cdf;
            Flow        = sorted_values;
            LNfit       = new LNFit(values);
        }
Example #3
0
        /// <summary>
        /// Dictionary of key=wy, value=annual_factor
        /// </summary>
        /// <param name="biasedAnnual"></param>
        /// <param name="biasedMonthly"></param>
        /// <param name="startYear"></param>
        /// <returns></returns>
        private static Dictionary <int, double> GetAnnualFactors(
            List <double> biasedAnnual,
            List <Point> biasedMonthly)
        {
            var rval = new Dictionary <int, double> {
            };

            List <double> biasedMonthlyAnnual = Utils.GetWYAnnualAverages(biasedMonthly);

            int startYear = biasedMonthly[0].Date.Year + 1;

            for (int i = 0; i < biasedAnnual.Count; i++)
            {
                rval.Add(startYear + i, biasedAnnual[i] / biasedMonthlyAnnual[i]);
            }

            return(rval);
        }