Пример #1
0
        // </DeclareData>

        static void Main(string[] args)
        {
            // <HeatingAndCooling>
            var heatingDegreeDays = new HeatingDegreeDays(65, data);

            Console.WriteLine(heatingDegreeDays);

            var coolingDegreeDays = new CoolingDegreeDays(65, data);

            Console.WriteLine(coolingDegreeDays);
            // </HeatingAndCooling>

            // <GrowingDegreeDays>
            // Growing degree days measure warming to determine plant growing rates
            var growingDegreeDays = coolingDegreeDays with {
                BaseTemperature = 41
            };

            Console.WriteLine(growingDegreeDays);
            // </GrowingDegreeDays>

            // <RunningFiveDayTotal>
            // showing moving accumulation of 5 days using range syntax
            List <CoolingDegreeDays> movingAccumulation = new();
            int rangeSize = (data.Length > 5) ? 5 : data.Length;

            for (int start = 0; start < data.Length - rangeSize; start++)
            {
                var fiveDayTotal = growingDegreeDays with {
                    TempRecords = data[start..(start + rangeSize)]
Пример #2
0
        static void Main(string[] args)
        {
            foreach (var item in data)
            {
                Console.WriteLine(item);
            }

            var heatingDegreeDays = new HeatingDegreeDays(65, data);

            Console.WriteLine(heatingDegreeDays);

            var coolingDegreeDays = new CoolingDegreeDays(65, data);

            Console.WriteLine(coolingDegreeDays);

            var growingDegreeDays = coolingDegreeDays with {
                BaseTemperature = 41
            };

            Console.WriteLine(growingDegreeDays);

            List <CoolingDegreeDays> movingAccumulation = new();
            int rangeSize = (data.Length > 5) ? 5 : data.Length;

            for (int start = 0; start < data.Length - rangeSize; start++)
            {
                var fiveDayTotal = growingDegreeDays with {
                    TempRecords = data[start..(start + rangeSize)]
        public void InitializeDailyAmounts(double yearlyConsumption)
        {
            double sum = HeatingDegreeDays.Select(x => x.DegreeDays).Sum();
            double degreeDayProportion = yearlyConsumption / sum;

            foreach (var day in HeatingDegreeDays)
            {
                day.DailyEnergyConsumption = day.DegreeDays * degreeDayProportion;
            }
        }
        public HeatingDegreeProfile([NotNull] Profile temperatures, double heatingTemperature, double roomTemperature)
        {
            var timeStepsPerDay = FindProfileResolution(temperatures);
            var dailyaverages   = MakeDailyAverages(timeStepsPerDay, temperatures);

            for (var i = 0; i < dailyaverages.Count; i++)
            {
                var dailyaverage = dailyaverages[i];
                HeatingDegreeDays.Add(new HeatingDegreeDay(dailyaverage, heatingTemperature, roomTemperature));
            }
        }