{
  "schema_version": "1.0",
  "generated_at": "2026-08-04T18:53:47.813764Z",
  "country_code": "DE",
  "country": "Germany",
  "reference_system": {
    "installedKwp": 10,
    "orientation": "S",
    "tiltDeg": 35,
    "systemLossPct": 14
  },
  "city_count": 12,
  "summary": {
    "tomorrow_average_kwh": 42.233333333333334,
    "tomorrow_min_kwh": 35,
    "tomorrow_max_kwh": 53.4,
    "typical_annual_average_kwh": 10474.370833333332,
    "typical_annual_min_kwh": 9775.57,
    "typical_annual_max_kwh": 11378.52
  },
  "cities": [
    {
      "city_id": "berlin",
      "city": "Berlin",
      "latitude": 52.52,
      "longitude": 13.405,
      "forecast": {
        "cityId": "berlin",
        "name": "Berlin",
        "lat": 52.52,
        "lon": 13.405,
        "timezone": "Europe/Berlin",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 37.2,
        "lowKwh": 26.9,
        "highKwh": 45.9,
        "bestWindowStart": "2026-08-05T13:00:00+02:00",
        "bestWindowEnd": "2026-08-05T17:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.358056Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10494.22,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 10.2,
          "monthlyKwh": 316.18,
          "variabilityKwh": 72.87
        },
        {
          "month": 2,
          "averageDailyKwh": 19.54,
          "monthlyKwh": 547.2,
          "variabilityKwh": 148.75
        },
        {
          "month": 3,
          "averageDailyKwh": 29,
          "monthlyKwh": 898.92,
          "variabilityKwh": 179.46
        },
        {
          "month": 4,
          "averageDailyKwh": 40.33,
          "monthlyKwh": 1209.91,
          "variabilityKwh": 189.37
        },
        {
          "month": 5,
          "averageDailyKwh": 42.52,
          "monthlyKwh": 1318.02,
          "variabilityKwh": 202.95
        },
        {
          "month": 6,
          "averageDailyKwh": 44.17,
          "monthlyKwh": 1325.13,
          "variabilityKwh": 109.04
        },
        {
          "month": 7,
          "averageDailyKwh": 41.61,
          "monthlyKwh": 1289.76,
          "variabilityKwh": 151.15
        },
        {
          "month": 8,
          "averageDailyKwh": 38.97,
          "monthlyKwh": 1208.11,
          "variabilityKwh": 125.91
        },
        {
          "month": 9,
          "averageDailyKwh": 34.27,
          "monthlyKwh": 1028.16,
          "variabilityKwh": 140.32
        },
        {
          "month": 10,
          "averageDailyKwh": 22.57,
          "monthlyKwh": 699.54,
          "variabilityKwh": 154.34
        },
        {
          "month": 11,
          "averageDailyKwh": 12.68,
          "monthlyKwh": 380.55,
          "variabilityKwh": 94.66
        },
        {
          "month": 12,
          "averageDailyKwh": 8.8,
          "monthlyKwh": 272.74,
          "variabilityKwh": 56.07
        }
      ]
    },
    {
      "city_id": "hamburg",
      "city": "Hamburg",
      "latitude": 53.5511,
      "longitude": 9.9937,
      "forecast": {
        "cityId": "hamburg",
        "name": "Hamburg",
        "lat": 53.5511,
        "lon": 9.9937,
        "timezone": "Europe/Berlin",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 47.1,
        "lowKwh": 35.4,
        "highKwh": 55.1,
        "bestWindowStart": "2026-08-05T10:00:00+02:00",
        "bestWindowEnd": "2026-08-05T14:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.388826Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 9775.57,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 8.7,
          "monthlyKwh": 269.55,
          "variabilityKwh": 32.52
        },
        {
          "month": 2,
          "averageDailyKwh": 16.64,
          "monthlyKwh": 466.02,
          "variabilityKwh": 109.59
        },
        {
          "month": 3,
          "averageDailyKwh": 26.96,
          "monthlyKwh": 835.63,
          "variabilityKwh": 163.75
        },
        {
          "month": 4,
          "averageDailyKwh": 39.73,
          "monthlyKwh": 1191.9,
          "variabilityKwh": 180.72
        },
        {
          "month": 5,
          "averageDailyKwh": 40.82,
          "monthlyKwh": 1265.42,
          "variabilityKwh": 187.09
        },
        {
          "month": 6,
          "averageDailyKwh": 42,
          "monthlyKwh": 1260.11,
          "variabilityKwh": 115.73
        },
        {
          "month": 7,
          "averageDailyKwh": 40.11,
          "monthlyKwh": 1243.54,
          "variabilityKwh": 173.16
        },
        {
          "month": 8,
          "averageDailyKwh": 35.89,
          "monthlyKwh": 1112.62,
          "variabilityKwh": 123.5
        },
        {
          "month": 9,
          "averageDailyKwh": 31.24,
          "monthlyKwh": 937.34,
          "variabilityKwh": 114.96
        },
        {
          "month": 10,
          "averageDailyKwh": 20.93,
          "monthlyKwh": 648.76,
          "variabilityKwh": 125.32
        },
        {
          "month": 11,
          "averageDailyKwh": 10.67,
          "monthlyKwh": 320.11,
          "variabilityKwh": 61.9
        },
        {
          "month": 12,
          "averageDailyKwh": 7.24,
          "monthlyKwh": 224.56,
          "variabilityKwh": 32.47
        }
      ]
    },
    {
      "city_id": "munich",
      "city": "Munich",
      "latitude": 48.1351,
      "longitude": 11.582,
      "forecast": {
        "cityId": "munich",
        "name": "Munich",
        "lat": 48.1351,
        "lon": 11.582,
        "timezone": "Europe/Berlin",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 53.4,
        "lowKwh": 43.6,
        "highKwh": 56.4,
        "bestWindowStart": "2026-08-05T12:00:00+02:00",
        "bestWindowEnd": "2026-08-05T16:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.330629Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11378.52,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 16.09,
          "monthlyKwh": 498.73,
          "variabilityKwh": 110.06
        },
        {
          "month": 2,
          "averageDailyKwh": 25.24,
          "monthlyKwh": 706.64,
          "variabilityKwh": 146.56
        },
        {
          "month": 3,
          "averageDailyKwh": 33.33,
          "monthlyKwh": 1033.22,
          "variabilityKwh": 189.25
        },
        {
          "month": 4,
          "averageDailyKwh": 40.12,
          "monthlyKwh": 1203.66,
          "variabilityKwh": 230.81
        },
        {
          "month": 5,
          "averageDailyKwh": 39.34,
          "monthlyKwh": 1219.56,
          "variabilityKwh": 182.07
        },
        {
          "month": 6,
          "averageDailyKwh": 42.21,
          "monthlyKwh": 1266.45,
          "variabilityKwh": 160.26
        },
        {
          "month": 7,
          "averageDailyKwh": 42.13,
          "monthlyKwh": 1306.16,
          "variabilityKwh": 132.91
        },
        {
          "month": 8,
          "averageDailyKwh": 39.84,
          "monthlyKwh": 1234.99,
          "variabilityKwh": 130.17
        },
        {
          "month": 9,
          "averageDailyKwh": 35.34,
          "monthlyKwh": 1060.05,
          "variabilityKwh": 146.84
        },
        {
          "month": 10,
          "averageDailyKwh": 27.14,
          "monthlyKwh": 841.22,
          "variabilityKwh": 125.43
        },
        {
          "month": 11,
          "averageDailyKwh": 17.79,
          "monthlyKwh": 533.59,
          "variabilityKwh": 103.47
        },
        {
          "month": 12,
          "averageDailyKwh": 15.3,
          "monthlyKwh": 474.24,
          "variabilityKwh": 131.47
        }
      ]
    },
    {
      "city_id": "bremen",
      "city": "Bremen",
      "latitude": 53.0758,
      "longitude": 8.8072,
      "forecast": {
        "cityId": "bremen",
        "name": "Bremen",
        "lat": 53.0758,
        "lon": 8.8072,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 44.1,
        "lowKwh": 31.8,
        "highKwh": 54.8,
        "bestWindowStart": "2026-08-05T12:00:00+02:00",
        "bestWindowEnd": "2026-08-05T16:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.706490Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 9958.11,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 8.95,
          "monthlyKwh": 277.54,
          "variabilityKwh": 45.58
        },
        {
          "month": 2,
          "averageDailyKwh": 17.58,
          "monthlyKwh": 492.29,
          "variabilityKwh": 119.12
        },
        {
          "month": 3,
          "averageDailyKwh": 27.64,
          "monthlyKwh": 856.92,
          "variabilityKwh": 163.9
        },
        {
          "month": 4,
          "averageDailyKwh": 40.05,
          "monthlyKwh": 1201.49,
          "variabilityKwh": 170.18
        },
        {
          "month": 5,
          "averageDailyKwh": 41.02,
          "monthlyKwh": 1271.66,
          "variabilityKwh": 166.24
        },
        {
          "month": 6,
          "averageDailyKwh": 41.98,
          "monthlyKwh": 1259.3,
          "variabilityKwh": 109.21
        },
        {
          "month": 7,
          "averageDailyKwh": 39.98,
          "monthlyKwh": 1239.33,
          "variabilityKwh": 159.74
        },
        {
          "month": 8,
          "averageDailyKwh": 36.85,
          "monthlyKwh": 1142.24,
          "variabilityKwh": 107.13
        },
        {
          "month": 9,
          "averageDailyKwh": 31.94,
          "monthlyKwh": 958.06,
          "variabilityKwh": 122.57
        },
        {
          "month": 10,
          "averageDailyKwh": 21.54,
          "monthlyKwh": 667.8,
          "variabilityKwh": 124.09
        },
        {
          "month": 11,
          "averageDailyKwh": 11.66,
          "monthlyKwh": 349.69,
          "variabilityKwh": 66.67
        },
        {
          "month": 12,
          "averageDailyKwh": 7.8,
          "monthlyKwh": 241.82,
          "variabilityKwh": 54.48
        }
      ]
    },
    {
      "city_id": "cologne",
      "city": "Cologne",
      "latitude": 50.9333,
      "longitude": 6.95,
      "forecast": {
        "cityId": "cologne",
        "name": "Cologne",
        "lat": 50.9333,
        "lon": 6.95,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 38,
        "lowKwh": 27.2,
        "highKwh": 46.7,
        "bestWindowStart": "2026-08-05T10:00:00+02:00",
        "bestWindowEnd": "2026-08-05T14:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.450007Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10420.92,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 12.02,
          "monthlyKwh": 372.63,
          "variabilityKwh": 86.54
        },
        {
          "month": 2,
          "averageDailyKwh": 20.19,
          "monthlyKwh": 565.25,
          "variabilityKwh": 143.97
        },
        {
          "month": 3,
          "averageDailyKwh": 29.95,
          "monthlyKwh": 928.43,
          "variabilityKwh": 185.21
        },
        {
          "month": 4,
          "averageDailyKwh": 39.03,
          "monthlyKwh": 1170.98,
          "variabilityKwh": 175.73
        },
        {
          "month": 5,
          "averageDailyKwh": 40.82,
          "monthlyKwh": 1265.28,
          "variabilityKwh": 167.44
        },
        {
          "month": 6,
          "averageDailyKwh": 42.17,
          "monthlyKwh": 1265.02,
          "variabilityKwh": 156.98
        },
        {
          "month": 7,
          "averageDailyKwh": 40.11,
          "monthlyKwh": 1243.28,
          "variabilityKwh": 146.85
        },
        {
          "month": 8,
          "averageDailyKwh": 37.11,
          "monthlyKwh": 1150.47,
          "variabilityKwh": 116.24
        },
        {
          "month": 9,
          "averageDailyKwh": 33.3,
          "monthlyKwh": 998.92,
          "variabilityKwh": 110.95
        },
        {
          "month": 10,
          "averageDailyKwh": 22.94,
          "monthlyKwh": 711.06,
          "variabilityKwh": 118.45
        },
        {
          "month": 11,
          "averageDailyKwh": 14.46,
          "monthlyKwh": 433.86,
          "variabilityKwh": 95.24
        },
        {
          "month": 12,
          "averageDailyKwh": 10.18,
          "monthlyKwh": 315.73,
          "variabilityKwh": 76.36
        }
      ]
    },
    {
      "city_id": "dortmund",
      "city": "Dortmund",
      "latitude": 51.5149,
      "longitude": 7.466,
      "forecast": {
        "cityId": "dortmund",
        "name": "Dortmund",
        "lat": 51.5149,
        "lon": 7.466,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 41,
        "lowKwh": 31.2,
        "highKwh": 47.5,
        "bestWindowStart": "2026-08-05T12:00:00+02:00",
        "bestWindowEnd": "2026-08-05T16:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.570645Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10211.21,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 11.03,
          "monthlyKwh": 341.83,
          "variabilityKwh": 87.01
        },
        {
          "month": 2,
          "averageDailyKwh": 18.94,
          "monthlyKwh": 530.26,
          "variabilityKwh": 133.99
        },
        {
          "month": 3,
          "averageDailyKwh": 28.87,
          "monthlyKwh": 894.99,
          "variabilityKwh": 183.04
        },
        {
          "month": 4,
          "averageDailyKwh": 38.21,
          "monthlyKwh": 1146.39,
          "variabilityKwh": 182.15
        },
        {
          "month": 5,
          "averageDailyKwh": 40.57,
          "monthlyKwh": 1257.6,
          "variabilityKwh": 151.05
        },
        {
          "month": 6,
          "averageDailyKwh": 41.85,
          "monthlyKwh": 1255.47,
          "variabilityKwh": 145.18
        },
        {
          "month": 7,
          "averageDailyKwh": 39.7,
          "monthlyKwh": 1230.78,
          "variabilityKwh": 147.37
        },
        {
          "month": 8,
          "averageDailyKwh": 37.09,
          "monthlyKwh": 1149.82,
          "variabilityKwh": 125.55
        },
        {
          "month": 9,
          "averageDailyKwh": 32.37,
          "monthlyKwh": 971.24,
          "variabilityKwh": 119.07
        },
        {
          "month": 10,
          "averageDailyKwh": 22.81,
          "monthlyKwh": 707.2,
          "variabilityKwh": 115.18
        },
        {
          "month": 11,
          "averageDailyKwh": 14.41,
          "monthlyKwh": 432.21,
          "variabilityKwh": 114.16
        },
        {
          "month": 12,
          "averageDailyKwh": 9.47,
          "monthlyKwh": 293.43,
          "variabilityKwh": 85.58
        }
      ]
    },
    {
      "city_id": "dusseldorf",
      "city": "Düsseldorf",
      "latitude": 51.2232,
      "longitude": 6.7793,
      "forecast": {
        "cityId": "dusseldorf",
        "name": "Düsseldorf",
        "lat": 51.2232,
        "lon": 6.7793,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 36,
        "lowKwh": 26.9,
        "highKwh": 43,
        "bestWindowStart": "2026-08-05T10:00:00+02:00",
        "bestWindowEnd": "2026-08-05T14:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.482433Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10324.54,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 11.69,
          "monthlyKwh": 362.24,
          "variabilityKwh": 93.62
        },
        {
          "month": 2,
          "averageDailyKwh": 19.41,
          "monthlyKwh": 543.47,
          "variabilityKwh": 138.89
        },
        {
          "month": 3,
          "averageDailyKwh": 29.57,
          "monthlyKwh": 916.63,
          "variabilityKwh": 189.1
        },
        {
          "month": 4,
          "averageDailyKwh": 39.16,
          "monthlyKwh": 1174.86,
          "variabilityKwh": 172.73
        },
        {
          "month": 5,
          "averageDailyKwh": 40.95,
          "monthlyKwh": 1269.57,
          "variabilityKwh": 159.14
        },
        {
          "month": 6,
          "averageDailyKwh": 41.98,
          "monthlyKwh": 1259.39,
          "variabilityKwh": 143.05
        },
        {
          "month": 7,
          "averageDailyKwh": 39.98,
          "monthlyKwh": 1239.28,
          "variabilityKwh": 141.98
        },
        {
          "month": 8,
          "averageDailyKwh": 36.95,
          "monthlyKwh": 1145.3,
          "variabilityKwh": 129.21
        },
        {
          "month": 9,
          "averageDailyKwh": 32.73,
          "monthlyKwh": 982.02,
          "variabilityKwh": 108.5
        },
        {
          "month": 10,
          "averageDailyKwh": 22.97,
          "monthlyKwh": 712.12,
          "variabilityKwh": 115.53
        },
        {
          "month": 11,
          "averageDailyKwh": 14.17,
          "monthlyKwh": 425.07,
          "variabilityKwh": 107.56
        },
        {
          "month": 12,
          "averageDailyKwh": 9.5,
          "monthlyKwh": 294.59,
          "variabilityKwh": 79.37
        }
      ]
    },
    {
      "city_id": "essen",
      "city": "Essen",
      "latitude": 51.4566,
      "longitude": 7.0123,
      "forecast": {
        "cityId": "essen",
        "name": "Essen",
        "lat": 51.4566,
        "lon": 7.0123,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 35,
        "lowKwh": 25.8,
        "highKwh": 42.9,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.665909Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10216.84,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 10.95,
          "monthlyKwh": 339.55,
          "variabilityKwh": 93.08
        },
        {
          "month": 2,
          "averageDailyKwh": 18.76,
          "monthlyKwh": 525.17,
          "variabilityKwh": 137.11
        },
        {
          "month": 3,
          "averageDailyKwh": 28.59,
          "monthlyKwh": 886.19,
          "variabilityKwh": 184.93
        },
        {
          "month": 4,
          "averageDailyKwh": 38.4,
          "monthlyKwh": 1152.06,
          "variabilityKwh": 177.95
        },
        {
          "month": 5,
          "averageDailyKwh": 40.67,
          "monthlyKwh": 1260.63,
          "variabilityKwh": 159.38
        },
        {
          "month": 6,
          "averageDailyKwh": 41.95,
          "monthlyKwh": 1258.35,
          "variabilityKwh": 146.26
        },
        {
          "month": 7,
          "averageDailyKwh": 40.16,
          "monthlyKwh": 1245.08,
          "variabilityKwh": 136.9
        },
        {
          "month": 8,
          "averageDailyKwh": 37.26,
          "monthlyKwh": 1154.95,
          "variabilityKwh": 120.74
        },
        {
          "month": 9,
          "averageDailyKwh": 32.34,
          "monthlyKwh": 970.18,
          "variabilityKwh": 104.09
        },
        {
          "month": 10,
          "averageDailyKwh": 22.74,
          "monthlyKwh": 705.08,
          "variabilityKwh": 114.87
        },
        {
          "month": 11,
          "averageDailyKwh": 14.26,
          "monthlyKwh": 427.88,
          "variabilityKwh": 102.71
        },
        {
          "month": 12,
          "averageDailyKwh": 9.41,
          "monthlyKwh": 291.71,
          "variabilityKwh": 75.14
        }
      ]
    },
    {
      "city_id": "frankfurt",
      "city": "Frankfurt",
      "latitude": 49.6833,
      "longitude": 10.5333,
      "forecast": {
        "cityId": "frankfurt",
        "name": "Frankfurt",
        "lat": 49.6833,
        "lon": 10.5333,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 48,
        "lowKwh": 35.6,
        "highKwh": 55.8,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.600616Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10721.21,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 10.82,
          "monthlyKwh": 335.52,
          "variabilityKwh": 87.52
        },
        {
          "month": 2,
          "averageDailyKwh": 20.09,
          "monthlyKwh": 562.43,
          "variabilityKwh": 140.09
        },
        {
          "month": 3,
          "averageDailyKwh": 30.44,
          "monthlyKwh": 943.57,
          "variabilityKwh": 182.74
        },
        {
          "month": 4,
          "averageDailyKwh": 40.81,
          "monthlyKwh": 1224.39,
          "variabilityKwh": 190.89
        },
        {
          "month": 5,
          "averageDailyKwh": 41.92,
          "monthlyKwh": 1299.64,
          "variabilityKwh": 190.19
        },
        {
          "month": 6,
          "averageDailyKwh": 43.74,
          "monthlyKwh": 1312.31,
          "variabilityKwh": 136.54
        },
        {
          "month": 7,
          "averageDailyKwh": 42.78,
          "monthlyKwh": 1326.03,
          "variabilityKwh": 126.19
        },
        {
          "month": 8,
          "averageDailyKwh": 39.17,
          "monthlyKwh": 1214.24,
          "variabilityKwh": 124.38
        },
        {
          "month": 9,
          "averageDailyKwh": 35.44,
          "monthlyKwh": 1063.09,
          "variabilityKwh": 149.99
        },
        {
          "month": 10,
          "averageDailyKwh": 24.04,
          "monthlyKwh": 745.37,
          "variabilityKwh": 123.35
        },
        {
          "month": 11,
          "averageDailyKwh": 13.22,
          "monthlyKwh": 396.55,
          "variabilityKwh": 75.77
        },
        {
          "month": 12,
          "averageDailyKwh": 9.62,
          "monthlyKwh": 298.08,
          "variabilityKwh": 53.06
        }
      ]
    },
    {
      "city_id": "hanover",
      "city": "Hanover",
      "latitude": 52.3705,
      "longitude": 9.7332,
      "forecast": {
        "cityId": "hanover",
        "name": "Hanover",
        "lat": 52.3705,
        "lon": 9.7332,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 46.7,
        "lowKwh": 34.8,
        "highKwh": 55.4,
        "bestWindowStart": "2026-08-05T10:00:00+02:00",
        "bestWindowEnd": "2026-08-05T14:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.769888Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10108.79,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 9.88,
          "monthlyKwh": 306.21,
          "variabilityKwh": 64.77
        },
        {
          "month": 2,
          "averageDailyKwh": 18.22,
          "monthlyKwh": 510.07,
          "variabilityKwh": 120.14
        },
        {
          "month": 3,
          "averageDailyKwh": 28.08,
          "monthlyKwh": 870.45,
          "variabilityKwh": 169.33
        },
        {
          "month": 4,
          "averageDailyKwh": 39.44,
          "monthlyKwh": 1183.08,
          "variabilityKwh": 172.48
        },
        {
          "month": 5,
          "averageDailyKwh": 41.3,
          "monthlyKwh": 1280.2,
          "variabilityKwh": 176.72
        },
        {
          "month": 6,
          "averageDailyKwh": 42.31,
          "monthlyKwh": 1269.24,
          "variabilityKwh": 122.76
        },
        {
          "month": 7,
          "averageDailyKwh": 40.13,
          "monthlyKwh": 1243.99,
          "variabilityKwh": 153.41
        },
        {
          "month": 8,
          "averageDailyKwh": 37.04,
          "monthlyKwh": 1148.31,
          "variabilityKwh": 120.21
        },
        {
          "month": 9,
          "averageDailyKwh": 32.46,
          "monthlyKwh": 973.82,
          "variabilityKwh": 126.97
        },
        {
          "month": 10,
          "averageDailyKwh": 21.74,
          "monthlyKwh": 673.94,
          "variabilityKwh": 133.6
        },
        {
          "month": 11,
          "averageDailyKwh": 12.38,
          "monthlyKwh": 371.26,
          "variabilityKwh": 79.19
        },
        {
          "month": 12,
          "averageDailyKwh": 8.97,
          "monthlyKwh": 278.22,
          "variabilityKwh": 59.49
        }
      ]
    },
    {
      "city_id": "leipzig",
      "city": "Leipzig",
      "latitude": 51.3396,
      "longitude": 12.3713,
      "forecast": {
        "cityId": "leipzig",
        "name": "Leipzig",
        "lat": 51.3396,
        "lon": 12.3713,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 37.2,
        "lowKwh": 26.5,
        "highKwh": 44.7,
        "bestWindowStart": "2026-08-05T13:00:00+02:00",
        "bestWindowEnd": "2026-08-05T17:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.511484Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 10775.19,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 11.25,
          "monthlyKwh": 348.67,
          "variabilityKwh": 93.02
        },
        {
          "month": 2,
          "averageDailyKwh": 19.64,
          "monthlyKwh": 549.82,
          "variabilityKwh": 140.98
        },
        {
          "month": 3,
          "averageDailyKwh": 29.31,
          "monthlyKwh": 908.74,
          "variabilityKwh": 177.42
        },
        {
          "month": 4,
          "averageDailyKwh": 40.55,
          "monthlyKwh": 1216.5,
          "variabilityKwh": 183.65
        },
        {
          "month": 5,
          "averageDailyKwh": 43.22,
          "monthlyKwh": 1339.87,
          "variabilityKwh": 177.44
        },
        {
          "month": 6,
          "averageDailyKwh": 44.02,
          "monthlyKwh": 1320.66,
          "variabilityKwh": 126.32
        },
        {
          "month": 7,
          "averageDailyKwh": 42.33,
          "monthlyKwh": 1312.31,
          "variabilityKwh": 146.03
        },
        {
          "month": 8,
          "averageDailyKwh": 38.97,
          "monthlyKwh": 1208.15,
          "variabilityKwh": 118.46
        },
        {
          "month": 9,
          "averageDailyKwh": 34.26,
          "monthlyKwh": 1027.94,
          "variabilityKwh": 146
        },
        {
          "month": 10,
          "averageDailyKwh": 24.17,
          "monthlyKwh": 749.12,
          "variabilityKwh": 135.85
        },
        {
          "month": 11,
          "averageDailyKwh": 15,
          "monthlyKwh": 450.05,
          "variabilityKwh": 112.61
        },
        {
          "month": 12,
          "averageDailyKwh": 11.08,
          "monthlyKwh": 343.37,
          "variabilityKwh": 79.62
        }
      ]
    },
    {
      "city_id": "stuttgart",
      "city": "Stuttgart",
      "latitude": 48.7823,
      "longitude": 9.177,
      "forecast": {
        "cityId": "stuttgart",
        "name": "Stuttgart",
        "lat": 48.7823,
        "lon": 9.177,
        "timezone": "Europe/Berlin",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 43.1,
        "lowKwh": 31.1,
        "highKwh": 52.1,
        "bestWindowStart": "2026-08-05T14:00:00+02:00",
        "bestWindowEnd": "2026-08-05T18:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:40.541443Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11307.33,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 14.54,
          "monthlyKwh": 450.81,
          "variabilityKwh": 97.24
        },
        {
          "month": 2,
          "averageDailyKwh": 23.34,
          "monthlyKwh": 653.57,
          "variabilityKwh": 163.5
        },
        {
          "month": 3,
          "averageDailyKwh": 33.31,
          "monthlyKwh": 1032.46,
          "variabilityKwh": 170.82
        },
        {
          "month": 4,
          "averageDailyKwh": 40.4,
          "monthlyKwh": 1211.95,
          "variabilityKwh": 223.91
        },
        {
          "month": 5,
          "averageDailyKwh": 40.2,
          "monthlyKwh": 1246.2,
          "variabilityKwh": 167.58
        },
        {
          "month": 6,
          "averageDailyKwh": 43.56,
          "monthlyKwh": 1306.75,
          "variabilityKwh": 145.72
        },
        {
          "month": 7,
          "averageDailyKwh": 42.92,
          "monthlyKwh": 1330.61,
          "variabilityKwh": 134.85
        },
        {
          "month": 8,
          "averageDailyKwh": 39.29,
          "monthlyKwh": 1217.88,
          "variabilityKwh": 122.71
        },
        {
          "month": 9,
          "averageDailyKwh": 36.35,
          "monthlyKwh": 1090.48,
          "variabilityKwh": 125.83
        },
        {
          "month": 10,
          "averageDailyKwh": 26.28,
          "monthlyKwh": 814.65,
          "variabilityKwh": 128.21
        },
        {
          "month": 11,
          "averageDailyKwh": 17.41,
          "monthlyKwh": 522.35,
          "variabilityKwh": 105.5
        },
        {
          "month": 12,
          "averageDailyKwh": 13.86,
          "monthlyKwh": 429.61,
          "variabilityKwh": 136.84
        }
      ]
    }
  ],
  "sources": {
    "tomorrow": {
      "weather": {
        "source_id": "OPEN_METEO",
        "name": "Open-Meteo weather forecast",
        "public_display_allowed": true,
        "requires_commercial_license": true,
        "terms_url": "https://open-meteo.com/en/terms",
        "pricing_url": "https://open-meteo.com/en/pricing"
      },
      "model": {
        "source_id": "GRIDPASSPORT_PV_PUBLIC_V1",
        "name": "GridPassport public PV forecast model",
        "description": "Weather-based physical PV estimate with public-safe inputs."
      },
      "attribution": {
        "text": "Weather forecast by Open-Meteo, PV estimate by GridPassport.",
        "transformation_notes": "GridPassport projects irradiance onto the configured PV array and applies public lead-magnet loss assumptions."
      }
    },
    "typical_year": {
      "name": "European Commission Joint Research Centre PVGIS 5.3",
      "url": "https://joint-research-centre.ec.europa.eu/photovoltaic-geographical-information-system-pvgis_en",
      "api": "https://re.jrc.ec.europa.eu/api/v5_3/PVcalc",
      "method": "Monthly average fixed-system output calculated from a multi-year solar radiation and climate series."
    }
  },
  "methodology_url": "https://gridpassport.com/solar-forecast/methodology/"
}
