getDailyTotalPrecipitationRange method

(double, double) getDailyTotalPrecipitationRange()

Get daily total precipitation range (min, max). Used for chart axis scaling when displaying daily totals. Min is always 0 (precipitation cannot be negative).

Implementation

(double min, double max) getDailyTotalPrecipitationRange() {
  final dailyTotals = getDailyTotalPrecipitation();
  if (dailyTotals.isEmpty) return (0, 10); // Default range for no data

  final values = dailyTotals.values.toList();
  var maxValue = values.first;

  for (final value in values) {
    if (value > maxValue) maxValue = value;
  }

  // If all values are 0 or very close, set a visible range.

  if (maxValue < 0.5) {
    return (0, 5.0); // Show 0-5mm range for very small/zero precipitation
  }

  if (maxValue < 1.0) {
    return (0, maxValue + 5.0);
  }

  // Add some padding to the max for better visualization.
  return (0, maxValue * 1.1);
}