/// <summary> /// Calculates the actual heat rate. /// </summary> /// <param name="coalGenerator">The coal generator.</param> /// <returns></returns> private async Task <ActualHeatRates> CalculateActualHeatRate(Input.CoalGenerator coalGenerator) { if (coalGenerator == null) { return(null); } try { _iLog.Info("Actual heat rate calculation started."); return(new ActualHeatRates { Name = coalGenerator.Name, HeatRate = (coalGenerator.TotalHeatInput / coalGenerator.ActualNetGeneration) }); } catch (Exception ex) { _iLog.Error($"Error while calculating coal actual heat rate. Error: {ex.Message}"); } return(null); }
/// <summary> /// Calculates the coal maximum emission. /// </summary> /// <param name="coalGenerator">The coal generator.</param> /// <returns></returns> private async Task <List <Day> > CalculateCoalMaxEmission(Input.CoalGenerator coalGenerator) { if (coalGenerator == null) { return(null); } List <Day> days = new List <Day>(); try { _iLog.Info("Calculate coal max emission process started."); foreach (var day in coalGenerator.Generations?.Days) { days.Add(await CalculateDailyMaxEmission(day, coalGenerator.Name, coalGenerator.EmissionsRating, "High")); } } catch (Exception ex) { _iLog.Error($"Error while calculating coal max emission. Error: {ex.Message}"); } return(days); }