public HouseDeviceProfileFileProcessor([NotNull] IFileFactoryAndTracker fft,
                                        [NotNull] CalcDataRepository repository,
                                        [NotNull] ICalculationProfiler profiler) : base(repository, AutomationUtili.GetOptionList(CalcOption.DeviceProfilesHouse),
                                                                                        profiler, "House Device Profiles")
 {
     _fft = fft;
 }
コード例 #2
0
 public IndividualHouseholdJsonSumProfileProcessor([NotNull] CalcDataRepository repository,
                                                   [NotNull] IFileFactoryAndTracker fft,
                                                   [NotNull] ICalculationProfiler calculationProfiler) : base(
         repository,
         AutomationUtili.GetOptionList(CalcOption.JsonHouseholdSumFiles),
         calculationProfiler,
         "Individual Household Json Sum Profiles") =>
コード例 #3
0
 public DurationCurveMaker([NotNull] CalcDataRepository repository,
                           [NotNull] ICalculationProfiler calculationProfiler,
                           [NotNull] IFileFactoryAndTracker fft)
     : base(repository, AutomationUtili.GetOptionList(CalcOption.DurationCurve), calculationProfiler, "Duration Curves")
 {
     _fft = fft;
 }
コード例 #4
0
 protected GeneralStepBase([JetBrains.Annotations.NotNull] CalcDataRepository repository, [JetBrains.Annotations.NotNull] List <CalcOption> option,
                           [JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                           [JetBrains.Annotations.NotNull] string stepName, int priority) : base(
         repository, option, calculationProfiler,
         stepName, priority)
 {
 }
 public WeekdayLoadProfileMaker(
     [NotNull] IFileFactoryAndTracker fft,
     [NotNull] CalcDataRepository repository,
     [NotNull] ICalculationProfiler profiler
     ) : base(repository, AutomationUtili.GetOptionList(CalcOption.WeekdayProfiles), profiler, "Weekday Profiles")
 {
     _fft = fft;
 }
コード例 #6
0
 public TransportationDeviceJson([JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                                 [JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                 [JetBrains.Annotations.NotNull] IFileFactoryAndTracker fft
                                 ) : base(repository, AutomationUtili.GetOptionList(CalcOption.TansportationDeviceJsons), calculationProfiler,
                                          "Transportation Device Statistics as Json", 10)
 {
     _fft = fft;
 }
コード例 #7
0
 public HouseSumProfilesFromDetailedDatsProcessor([NotNull] IFileFactoryAndTracker fft,
                                                  [NotNull] CalcDataRepository repository,
                                                  [NotNull] ICalculationProfiler profiler)
     : base(repository, AutomationUtili.GetOptionList(CalcOption.HouseSumProfilesFromDetailedDats),
            profiler, "Individual Sum Profiles")
 {
     _fft = fft;
 }
コード例 #8
0
 public TimeOfUseMaker(
     [NotNull] CalcDataRepository repository,
     [NotNull] ICalculationProfiler profiler,
     [NotNull] IFileFactoryAndTracker fft) : base(repository,
                                                  AutomationUtili.GetOptionList(CalcOption.TimeOfUsePlot), profiler, "Time of Use Averages")
 {
     _fft = fft;
 }
 public MakeActivationsPerHour([NotNull] CalcDataRepository repository,
                               [NotNull] ICalculationProfiler profiler,
                               [NotNull] IFileFactoryAndTracker fft) : base(repository,
                                                                            AutomationUtili.GetOptionList(CalcOption.ActivationsPerHour),
                                                                            profiler,
                                                                            "Activiations per Hour", 0)
 {
     _fft = fft;
 }
 public ImportFileCreatorPolysun([NotNull] CalcDataRepository repository,
                                 [NotNull] ICalculationProfiler profiler,
                                 [NotNull] IFileFactoryAndTracker fft) : base(repository,
                                                                              AutomationUtili.GetOptionList(CalcOption.PolysunImportFiles),
                                                                              profiler,
                                                                              "Polysun Import Files")
 {
     _fft = fft;
 }
コード例 #11
0
 public ExternalTimeResolutionMaker([NotNull] IFileFactoryAndTracker fft,
                                    [NotNull] CalcDataRepository repository,
                                    [NotNull] ICalculationProfiler calculationProfiler) : base(repository,
                                                                                               AutomationUtili.GetOptionList(CalcOption.SumProfileExternalEntireHouse, CalcOption.SumProfileExternalIndividualHouseholds,
                                                                                                                             CalcOption.DeviceProfileExternalEntireHouse, CalcOption.DeviceProfileExternalIndividualHouseholds,
                                                                                                                             CalcOption.SumProfileExternalIndividualHouseholdsAsJson), calculationProfiler, "External Time Resolution Profiles")
 {
     _fft = fft;
 }
 public LocationStatisticsMaker([JetBrains.Annotations.NotNull] IFileFactoryAndTracker fft,
                                [JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                [JetBrains.Annotations.NotNull] ICalculationProfiler profiler) : base(repository,
                                                                                                      AutomationUtili.GetOptionList(CalcOption.LocationsFile),
                                                                                                      profiler, "Location Statistics", 0)
 {
     _fft = fft;
     MakeStreamWriterFunc = GetWriter;
 }
コード例 #13
0
 public MakeHouseholdPlanResult(
     [NotNull] CalcDataRepository repository,
     [NotNull] ICalculationProfiler profiler,
     [NotNull] IFileFactoryAndTracker fft) : base(repository,
                                                  AutomationUtili.GetOptionList(CalcOption.HouseholdPlan),
                                                  profiler, "Household Plans", 0)
 {
     _fft = fft;
 }
コード例 #14
0
 protected ChartBaseSqlStep([JetBrains.Annotations.NotNull] ChartCreationParameters parameters,
                            [JetBrains.Annotations.NotNull] FileFactoryAndTracker fft, [JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                            [JetBrains.Annotations.NotNull] List <ResultTableID> validResultTableIds, [JetBrains.Annotations.NotNull] string stepName,
                            FileProcessingResult shouldHaveProducedFiles,
                            [JetBrains.Annotations.NotNull] CalcDataRepository calcDataRepository) : base(parameters, stepName, shouldHaveProducedFiles, fft)
 {
     _calculationProfiler = calculationProfiler;
     ValidResultTableIds  = validResultTableIds;
     CalcDataRepository   = calcDataRepository;
 }
 public BodilyActivityLevelsStatistics([NotNull] ICalculationProfiler calculationProfiler,
                                       [NotNull] CalcDataRepository repository,
                                       IFileFactoryAndTracker fft) : base(repository,
                                                                          AutomationUtili.GetOptionList(CalcOption.BodilyActivityStatistics), calculationProfiler,
                                                                          "Make Bodily Activity Level Counts", 10)
 {
     _repository          = repository;
     _fft                 = fft;
     _calculationProfiler = calculationProfiler;
 }
        //[JetBrains.Annotations.NotNull]private readonly Dictionary<HouseholdKey, StreamWriter> _files;

        public MakeTotalsPerLoadtype(
            [NotNull] CalcDataRepository repository,
            [NotNull] ICalculationProfiler profiler,
            [NotNull] IInputDataLogger inputDataLogger)
            : base(repository, AutomationUtili.GetOptionList(CalcOption.TotalsPerLoadtype), profiler,
                   "Totals per LoadType")
        {
            _inputDataLogger = inputDataLogger;
            //   _files = new Dictionary<HouseholdKey, StreamWriter>();
        }
コード例 #17
0
 public MakeActionsEachTimestep([NotNull] ICalculationProfiler calculationProfiler,
                                [NotNull] CalcDataRepository repository,
                                [NotNull] IInputDataLogger inputDataLogger) : base(repository,
                                                                                   AutomationUtili.GetOptionList(CalcOption.ActionsEachTimestep), calculationProfiler,
                                                                                   "Make Actions Each Timestep List", 0)
 {
     _repository          = repository;
     _inputDataLogger     = inputDataLogger;
     _calculationProfiler = calculationProfiler;
 }
 public MakeBodilyActivityLevelStatistics([NotNull] ICalculationProfiler calculationProfiler,
                                          [NotNull] CalcDataRepository repository,
                                          [NotNull] IInputDataLogger inputDataLogger) : base(repository,
                                                                                             AutomationUtili.GetOptionList(CalcOption.BodilyActivityStatistics),
                                                                                             calculationProfiler,
                                                                                             "Make Bodily Activity Level Statistics", 1)
 {
     _calculationProfiler = calculationProfiler;
     _repository          = repository;
     _inputDataLogger     = inputDataLogger;
 }
コード例 #19
0
 public MakeTotalsPerDevice([NotNull] CalcDataRepository repository,
                            [NotNull] ICalculationProfiler profiler,
                            [NotNull] IFileFactoryAndTracker fft,
                            IInputDataLogger inputDataLogger) : base(repository,
                                                                     AutomationUtili.GetOptionList(CalcOption.TotalsPerDevice),
                                                                     profiler,
                                                                     "Totals per Device")
 {
     _inputDataLogger = inputDataLogger;
     _fft             = fft;
 }
 public MakeActivationsPerFrequencies([NotNull] IFileFactoryAndTracker fft,
                                      [NotNull] CalcDataRepository repository,
                                      [NotNull] ICalculationProfiler profiler,
                                      [NotNull] IInputDataLogger logger) : base(repository,
                                                                                AutomationUtili.GetOptionList(CalcOption.ActivationFrequencies),
                                                                                profiler,
                                                                                "Activation Frequency Analysis", 0)
 {
     _dataLogger = logger;
     _fft        = fft;
 }
コード例 #21
0
 public AffordanceEnergyUsePerPerson([JetBrains.Annotations.NotNull] ChartCreationParameters parameters,
                                     [JetBrains.Annotations.NotNull] FileFactoryAndTracker fft,
                                     [JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                                     [JetBrains.Annotations.NotNull] CalcDataRepository calcDataRepository) : base(parameters,
                                                                                                                   fft,
                                                                                                                   calculationProfiler,
                                                                                                                   new List <ResultTableID> {
     ResultTableID.AffordanceEnergyUse
 },
                                                                                                                   "Affordance Energy Use Per Person",
                                                                                                                   FileProcessingResult.ShouldCreateFiles,
                                                                                                                   calcDataRepository)
 {
 }
        public AffordanceStatisticsWriter([JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                          [JetBrains.Annotations.NotNull] ICalculationProfiler profiler, [JetBrains.Annotations.NotNull] IInputDataLogger logger)
            : base(repository, AutomationUtili.GetOptionList(CalcOption.AffordanceEnergyUse), profiler, "Affordance Energy Use")
        {
            _logger = logger;

            /*   EnergyUseByHouseholdAffordanceAndLoadtype =
             *     new Dictionary<HouseholdKey, Dictionary<CalcLoadTypeDto, Dictionary<string, double>>>();
             * _energyUseListByHouseholdAffordanceAndLoadtype =
             *     new Dictionary<HouseholdKey, Dictionary<CalcLoadTypeDto, Dictionary<string, List<double>>>>();
             * _energyUseListByHouseholdAffordancePersonAndLoadtype =
             *     new Dictionary<HouseholdKey,
             *         Dictionary<CalcLoadTypeDto, Dictionary<string, Dictionary<string, double>>>>();
             */
        }
コード例 #23
0
        protected override FileProcessingResult MakeOnePlot(HouseholdKeyEntry hhkey)
        {
            CalculationProfiler.StartPart(Utili.GetCurrentMethodAndClass());
            var entries       = CalcDataRepository.LoadAffordanceEnergyUses(hhkey.HHKey);
            var usedLoadtypes = entries.Select(x => x.LoadTypeGuid).Distinct().ToList();
            var loadTypeInfos = CalcDataRepository.LoadTypes;

            foreach (StrGuid loadtypeGuid in usedLoadtypes)
            {
                var lti = loadTypeInfos.Single(x => x.Guid == loadtypeGuid);

                List <AffordanceEnergyUseEntry> filteredEntries = entries.Where(x => x.LoadTypeGuid == loadtypeGuid).ToList();
                var persons = filteredEntries.Select(x => x.PersonName).Distinct().ToList();
                PrepareData(filteredEntries, out var energyUsesPerPersonByAffordance, persons);
                DrawChart(hhkey, energyUsesPerPersonByAffordance, persons, lti);
            }

            CalculationProfiler.StopPart(Utili.GetCurrentMethodAndClass());
            return(FileProcessingResult.ShouldCreateFiles);
        }
コード例 #24
0
 public Postprocessor(
     [NotNull] ICalculationProfiler calculationProfiler,
     [NotNull] CalcDataRepository repository,
     [NotNull][ItemNotNull] ILoadTypeStep[] loadTypePostProcessingSteps,
     [NotNull][ItemNotNull] IGeneralStep[] generalPostProcessingSteps,
     [NotNull][ItemNotNull] IGeneralHouseholdStep[] generalHouseholdSteps,
     [NotNull][ItemNotNull] IHouseholdLoadTypeStep[] householdloadTypePostProcessingSteps,
     [NotNull][ItemNotNull] ILoadTypeSumStep[] loadtypeSumPostProcessingSteps,
     [NotNull] IFileFactoryAndTracker fft
     )
 {
     _loadTypeSumPostProcessingSteps = loadtypeSumPostProcessingSteps;
     _fft = fft;
     _calculationProfiler                  = calculationProfiler;
     _repository                           = repository;
     _loadTypePostProcessingSteps          = loadTypePostProcessingSteps;
     _generalPostProcessingSteps           = generalPostProcessingSteps;
     _generalHouseholdSteps                = generalHouseholdSteps;
     _householdloadTypePostProcessingSteps = householdloadTypePostProcessingSteps;
 }
コード例 #25
0
        public ChartGenerator([JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler, [JetBrains.Annotations.NotNull] ChartCreationParameters generalParameters,
                              [JetBrains.Annotations.NotNull] FileFactoryAndTracker fft, [ItemNotNull][JetBrains.Annotations.NotNull] IChartMakerStep[] chartMakerSteps,
                              [ItemNotNull][JetBrains.Annotations.NotNull] ISqlChartMakerStep[] sqlChartMakerSteps,
                              [JetBrains.Annotations.NotNull] SqlResultLoggingService srls,
                              [JetBrains.Annotations.NotNull] CalcDataRepository repository)
        {
            GeneralParameters = generalParameters;
            _fft                 = fft;
            _chartMakerSteps     = chartMakerSteps;
            _sqlChartMakerSteps  = sqlChartMakerSteps;
            _srls                = srls;
            _repository          = repository;
            _calculationProfiler = calculationProfiler;
            HashSet <ResultFileID> fileIDs = new HashSet <ResultFileID>();

            foreach (var step in chartMakerSteps)
            {
                foreach (ResultFileID id in step.ResultFileIDs)
                {
                    if (!fileIDs.Add(id))
                    {
                        throw new LPGException("Duplicate file id added:" + id);
                    }
                }
            }
            HashSet <ResultTableID> tableIDs = new HashSet <ResultTableID>();

            foreach (var step in sqlChartMakerSteps)
            {
                foreach (var id in step.ValidResultTableIds)
                {
                    if (!tableIDs.Add(id))
                    {
                        throw new LPGException("Duplicate table id added:" + id);
                    }
                }
            }
        }
コード例 #26
0
 public AffordanceTagsWriter([JetBrains.Annotations.NotNull] CalcDataRepository repository, [JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                             [JetBrains.Annotations.NotNull] IFileFactoryAndTracker fft)
     : base(repository, AutomationUtili.GetOptionList(CalcOption.HouseholdContents), calculationProfiler, "Affordance Tags", 0)
 {
     _fft = fft;
 }
 public TransportationStatisticsWriter([JetBrains.Annotations.NotNull] CalcDataRepository repository,
                                       [JetBrains.Annotations.NotNull] ICalculationProfiler profiler, [JetBrains.Annotations.NotNull] IInputDataLogger logger)
     : base(repository,
            AutomationUtili.GetOptionList(CalcOption.TransportationStatistics),
            profiler, "Transportation Statistics Use", 0) =>
コード例 #28
0
 protected LoadTypeStepBase([JetBrains.Annotations.NotNull] CalcDataRepository repository, [JetBrains.Annotations.NotNull] List <CalcOption> options,
                            [JetBrains.Annotations.NotNull] ICalculationProfiler calculationProfiler,
                            [JetBrains.Annotations.NotNull] string stepName) : base(repository, options, calculationProfiler,
                                                                                    stepName, 0)
 {
 }
 public HouseJsonSumProfileProcessor([NotNull] CalcDataRepository repository,
                                     [NotNull] IFileFactoryAndTracker fft,
                                     [NotNull] ICalculationProfiler calculationProfiler)
     : base(repository, AutomationUtili.GetOptionList(CalcOption.JsonHouseSumFiles), calculationProfiler,
            "Json Sum Profile Creation") =>
 public HouseSumProfileFromOverallDatProcessor([NotNull] CalcDataRepository repository,
                                               [NotNull] IFileFactoryAndTracker fft,
                                               [NotNull] ICalculationProfiler calculationProfiler)
     : base(repository, AutomationUtili.GetOptionList(CalcOption.OverallSum), calculationProfiler,
            "Sum Profile Creation") =>