{
  "schema_version": "1.0",
  "generated_at": "2026-08-04T18:53:47.813764Z",
  "country_code": "CH",
  "country": "Switzerland",
  "reference_system": {
    "installedKwp": 10,
    "orientation": "S",
    "tiltDeg": 35,
    "systemLossPct": 14
  },
  "city_count": 8,
  "summary": {
    "tomorrow_average_kwh": 48.6375,
    "tomorrow_min_kwh": 41.8,
    "tomorrow_max_kwh": 54.4,
    "typical_annual_average_kwh": 12188.605000000001,
    "typical_annual_min_kwh": 11341.52,
    "typical_annual_max_kwh": 13356.96
  },
  "cities": [
    {
      "city_id": "basel",
      "city": "Basel",
      "latitude": 47.5584,
      "longitude": 7.5733,
      "forecast": {
        "cityId": "basel",
        "name": "Basel",
        "lat": 47.5584,
        "lon": 7.5733,
        "timezone": "Europe/Zurich",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 45.4,
        "lowKwh": 32.2,
        "highKwh": 56.3,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.679740Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11730.48,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 17.07,
          "monthlyKwh": 529.12,
          "variabilityKwh": 122.41
        },
        {
          "month": 2,
          "averageDailyKwh": 25.13,
          "monthlyKwh": 703.68,
          "variabilityKwh": 166.36
        },
        {
          "month": 3,
          "averageDailyKwh": 34.32,
          "monthlyKwh": 1063.97,
          "variabilityKwh": 214.1
        },
        {
          "month": 4,
          "averageDailyKwh": 40.77,
          "monthlyKwh": 1223.01,
          "variabilityKwh": 237.64
        },
        {
          "month": 5,
          "averageDailyKwh": 40.01,
          "monthlyKwh": 1240.32,
          "variabilityKwh": 168.76
        },
        {
          "month": 6,
          "averageDailyKwh": 43.69,
          "monthlyKwh": 1310.8,
          "variabilityKwh": 154.65
        },
        {
          "month": 7,
          "averageDailyKwh": 44.05,
          "monthlyKwh": 1365.59,
          "variabilityKwh": 161.01
        },
        {
          "month": 8,
          "averageDailyKwh": 40.7,
          "monthlyKwh": 1261.76,
          "variabilityKwh": 129.56
        },
        {
          "month": 9,
          "averageDailyKwh": 37.65,
          "monthlyKwh": 1129.58,
          "variabilityKwh": 107.95
        },
        {
          "month": 10,
          "averageDailyKwh": 28.18,
          "monthlyKwh": 873.49,
          "variabilityKwh": 115.41
        },
        {
          "month": 11,
          "averageDailyKwh": 18.38,
          "monthlyKwh": 551.29,
          "variabilityKwh": 122.77
        },
        {
          "month": 12,
          "averageDailyKwh": 15.41,
          "monthlyKwh": 477.86,
          "variabilityKwh": 175.16
        }
      ]
    },
    {
      "city_id": "geneva",
      "city": "Geneva",
      "latitude": 46.2022,
      "longitude": 6.1457,
      "forecast": {
        "cityId": "geneva",
        "name": "Geneva",
        "lat": 46.2022,
        "lon": 6.1457,
        "timezone": "Europe/Zurich",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 49.1,
        "lowKwh": 38.7,
        "highKwh": 55.9,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:39.709175Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 12747.24,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 20.69,
          "monthlyKwh": 641.38,
          "variabilityKwh": 129.71
        },
        {
          "month": 2,
          "averageDailyKwh": 29.4,
          "monthlyKwh": 823.22,
          "variabilityKwh": 183.22
        },
        {
          "month": 3,
          "averageDailyKwh": 37.93,
          "monthlyKwh": 1175.79,
          "variabilityKwh": 181.79
        },
        {
          "month": 4,
          "averageDailyKwh": 43.31,
          "monthlyKwh": 1299.43,
          "variabilityKwh": 183.89
        },
        {
          "month": 5,
          "averageDailyKwh": 42.95,
          "monthlyKwh": 1331.5,
          "variabilityKwh": 156.88
        },
        {
          "month": 6,
          "averageDailyKwh": 46.79,
          "monthlyKwh": 1403.76,
          "variabilityKwh": 132.39
        },
        {
          "month": 7,
          "averageDailyKwh": 47.46,
          "monthlyKwh": 1471.4,
          "variabilityKwh": 150.14
        },
        {
          "month": 8,
          "averageDailyKwh": 44.68,
          "monthlyKwh": 1385.16,
          "variabilityKwh": 92.53
        },
        {
          "month": 9,
          "averageDailyKwh": 40.69,
          "monthlyKwh": 1220.57,
          "variabilityKwh": 98.11
        },
        {
          "month": 10,
          "averageDailyKwh": 29.73,
          "monthlyKwh": 921.68,
          "variabilityKwh": 134.74
        },
        {
          "month": 11,
          "averageDailyKwh": 19.39,
          "monthlyKwh": 581.66,
          "variabilityKwh": 117.91
        },
        {
          "month": 12,
          "averageDailyKwh": 15.86,
          "monthlyKwh": 491.69,
          "variabilityKwh": 86.98
        }
      ]
    },
    {
      "city_id": "zurich",
      "city": "Zurich",
      "latitude": 47.3667,
      "longitude": 8.55,
      "forecast": {
        "cityId": "zurich",
        "name": "Zurich",
        "lat": 47.3667,
        "lon": 8.55,
        "timezone": "Europe/Zurich",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 48.8,
        "lowKwh": 37.8,
        "highKwh": 56,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.738419Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11506.07,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 15.72,
          "monthlyKwh": 487.39,
          "variabilityKwh": 112.46
        },
        {
          "month": 2,
          "averageDailyKwh": 24.69,
          "monthlyKwh": 691.4,
          "variabilityKwh": 153.09
        },
        {
          "month": 3,
          "averageDailyKwh": 34.34,
          "monthlyKwh": 1064.54,
          "variabilityKwh": 215.31
        },
        {
          "month": 4,
          "averageDailyKwh": 41.32,
          "monthlyKwh": 1239.47,
          "variabilityKwh": 224.69
        },
        {
          "month": 5,
          "averageDailyKwh": 40.56,
          "monthlyKwh": 1257.39,
          "variabilityKwh": 158.7
        },
        {
          "month": 6,
          "averageDailyKwh": 43.88,
          "monthlyKwh": 1316.3,
          "variabilityKwh": 157.17
        },
        {
          "month": 7,
          "averageDailyKwh": 43.65,
          "monthlyKwh": 1353.11,
          "variabilityKwh": 152.91
        },
        {
          "month": 8,
          "averageDailyKwh": 40.35,
          "monthlyKwh": 1250.96,
          "variabilityKwh": 135.09
        },
        {
          "month": 9,
          "averageDailyKwh": 36.9,
          "monthlyKwh": 1106.97,
          "variabilityKwh": 112.29
        },
        {
          "month": 10,
          "averageDailyKwh": 26.6,
          "monthlyKwh": 824.67,
          "variabilityKwh": 106.92
        },
        {
          "month": 11,
          "averageDailyKwh": 16.97,
          "monthlyKwh": 509.17,
          "variabilityKwh": 89.79
        },
        {
          "month": 12,
          "averageDailyKwh": 13.05,
          "monthlyKwh": 404.68,
          "variabilityKwh": 122.11
        }
      ]
    },
    {
      "city_id": "bern",
      "city": "Bern",
      "latitude": 46.9481,
      "longitude": 7.4474,
      "forecast": {
        "cityId": "bern",
        "name": "Bern",
        "lat": 46.9481,
        "lon": 7.4474,
        "timezone": "Europe/Zurich",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 49.6,
        "lowKwh": 36.8,
        "highKwh": 57.3,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.799255Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 12416.25,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 20,
          "monthlyKwh": 620,
          "variabilityKwh": 137.71
        },
        {
          "month": 2,
          "averageDailyKwh": 29.19,
          "monthlyKwh": 817.4,
          "variabilityKwh": 158.54
        },
        {
          "month": 3,
          "averageDailyKwh": 37.16,
          "monthlyKwh": 1151.94,
          "variabilityKwh": 190.33
        },
        {
          "month": 4,
          "averageDailyKwh": 42,
          "monthlyKwh": 1260.1,
          "variabilityKwh": 217.27
        },
        {
          "month": 5,
          "averageDailyKwh": 40.61,
          "monthlyKwh": 1259.06,
          "variabilityKwh": 153.47
        },
        {
          "month": 6,
          "averageDailyKwh": 44.87,
          "monthlyKwh": 1346.1,
          "variabilityKwh": 153.23
        },
        {
          "month": 7,
          "averageDailyKwh": 45.78,
          "monthlyKwh": 1419.19,
          "variabilityKwh": 131.45
        },
        {
          "month": 8,
          "averageDailyKwh": 42.17,
          "monthlyKwh": 1307.34,
          "variabilityKwh": 114.32
        },
        {
          "month": 9,
          "averageDailyKwh": 39.01,
          "monthlyKwh": 1170.35,
          "variabilityKwh": 97.11
        },
        {
          "month": 10,
          "averageDailyKwh": 30.53,
          "monthlyKwh": 946.37,
          "variabilityKwh": 125.17
        },
        {
          "month": 11,
          "averageDailyKwh": 20.59,
          "monthlyKwh": 617.82,
          "variabilityKwh": 110.55
        },
        {
          "month": 12,
          "averageDailyKwh": 16.15,
          "monthlyKwh": 500.6,
          "variabilityKwh": 158.17
        }
      ]
    },
    {
      "city_id": "lausanne",
      "city": "Lausanne",
      "latitude": 46.516,
      "longitude": 6.6328,
      "forecast": {
        "cityId": "lausanne",
        "name": "Lausanne",
        "lat": 46.516,
        "lon": 6.6328,
        "timezone": "Europe/Zurich",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 52.2,
        "lowKwh": 41.3,
        "highKwh": 56.7,
        "bestWindowStart": "2026-08-05T13:00:00+02:00",
        "bestWindowEnd": "2026-08-05T17:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.900738Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 12849.13,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 19.88,
          "monthlyKwh": 616.25,
          "variabilityKwh": 111.49
        },
        {
          "month": 2,
          "averageDailyKwh": 29.08,
          "monthlyKwh": 814.18,
          "variabilityKwh": 181.36
        },
        {
          "month": 3,
          "averageDailyKwh": 37.82,
          "monthlyKwh": 1172.52,
          "variabilityKwh": 190.39
        },
        {
          "month": 4,
          "averageDailyKwh": 43.98,
          "monthlyKwh": 1319.44,
          "variabilityKwh": 194.47
        },
        {
          "month": 5,
          "averageDailyKwh": 43.24,
          "monthlyKwh": 1340.39,
          "variabilityKwh": 148.33
        },
        {
          "month": 6,
          "averageDailyKwh": 47.36,
          "monthlyKwh": 1420.71,
          "variabilityKwh": 129.21
        },
        {
          "month": 7,
          "averageDailyKwh": 47.61,
          "monthlyKwh": 1475.83,
          "variabilityKwh": 145.05
        },
        {
          "month": 8,
          "averageDailyKwh": 44.42,
          "monthlyKwh": 1376.92,
          "variabilityKwh": 103.38
        },
        {
          "month": 9,
          "averageDailyKwh": 40.82,
          "monthlyKwh": 1224.61,
          "variabilityKwh": 89.3
        },
        {
          "month": 10,
          "averageDailyKwh": 31.06,
          "monthlyKwh": 962.72,
          "variabilityKwh": 134.53
        },
        {
          "month": 11,
          "averageDailyKwh": 20.93,
          "monthlyKwh": 627.76,
          "variabilityKwh": 121.35
        },
        {
          "month": 12,
          "averageDailyKwh": 16.06,
          "monthlyKwh": 497.79,
          "variabilityKwh": 104.41
        }
      ]
    },
    {
      "city_id": "lucerne",
      "city": "Lucerne",
      "latitude": 47.0505,
      "longitude": 8.3064,
      "forecast": {
        "cityId": "lucerne",
        "name": "Lucerne",
        "lat": 47.0505,
        "lon": 8.3064,
        "timezone": "Europe/Zurich",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 41.8,
        "lowKwh": 30.8,
        "highKwh": 50.2,
        "bestWindowStart": "2026-08-05T10:00:00+02:00",
        "bestWindowEnd": "2026-08-05T14:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.841758Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11561.19,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 18.72,
          "monthlyKwh": 580.39,
          "variabilityKwh": 124.06
        },
        {
          "month": 2,
          "averageDailyKwh": 27.75,
          "monthlyKwh": 777.14,
          "variabilityKwh": 150.24
        },
        {
          "month": 3,
          "averageDailyKwh": 35.58,
          "monthlyKwh": 1102.92,
          "variabilityKwh": 194.8
        },
        {
          "month": 4,
          "averageDailyKwh": 40.78,
          "monthlyKwh": 1223.48,
          "variabilityKwh": 213.92
        },
        {
          "month": 5,
          "averageDailyKwh": 39.35,
          "monthlyKwh": 1219.77,
          "variabilityKwh": 156.77
        },
        {
          "month": 6,
          "averageDailyKwh": 42.52,
          "monthlyKwh": 1275.64,
          "variabilityKwh": 160.17
        },
        {
          "month": 7,
          "averageDailyKwh": 42.48,
          "monthlyKwh": 1316.73,
          "variabilityKwh": 157.18
        },
        {
          "month": 8,
          "averageDailyKwh": 39.43,
          "monthlyKwh": 1222.31,
          "variabilityKwh": 138.91
        },
        {
          "month": 9,
          "averageDailyKwh": 35.54,
          "monthlyKwh": 1066.16,
          "variabilityKwh": 120.62
        },
        {
          "month": 10,
          "averageDailyKwh": 26.55,
          "monthlyKwh": 823.13,
          "variabilityKwh": 113.05
        },
        {
          "month": 11,
          "averageDailyKwh": 16.87,
          "monthlyKwh": 505.99,
          "variabilityKwh": 79.14
        },
        {
          "month": 12,
          "averageDailyKwh": 14.44,
          "monthlyKwh": 447.54,
          "variabilityKwh": 111.42
        }
      ]
    },
    {
      "city_id": "lugano",
      "city": "Lugano",
      "latitude": 46.0101,
      "longitude": 8.96,
      "forecast": {
        "cityId": "lugano",
        "name": "Lugano",
        "lat": 46.0101,
        "lon": 8.96,
        "timezone": "Europe/Zurich",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 54.4,
        "lowKwh": 47.3,
        "highKwh": 56.1,
        "bestWindowStart": "2026-08-05T12:00:00+02:00",
        "bestWindowEnd": "2026-08-05T16:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:39.871226Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 13356.96,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 27.95,
          "monthlyKwh": 866.49,
          "variabilityKwh": 144.06
        },
        {
          "month": 2,
          "averageDailyKwh": 33.56,
          "monthlyKwh": 939.69,
          "variabilityKwh": 160.41
        },
        {
          "month": 3,
          "averageDailyKwh": 40,
          "monthlyKwh": 1239.98,
          "variabilityKwh": 167.78
        },
        {
          "month": 4,
          "averageDailyKwh": 40.63,
          "monthlyKwh": 1218.97,
          "variabilityKwh": 181.07
        },
        {
          "month": 5,
          "averageDailyKwh": 42.15,
          "monthlyKwh": 1306.5,
          "variabilityKwh": 144.52
        },
        {
          "month": 6,
          "averageDailyKwh": 46.04,
          "monthlyKwh": 1381.28,
          "variabilityKwh": 132.9
        },
        {
          "month": 7,
          "averageDailyKwh": 48.46,
          "monthlyKwh": 1502.16,
          "variabilityKwh": 124.97
        },
        {
          "month": 8,
          "averageDailyKwh": 44.73,
          "monthlyKwh": 1386.48,
          "variabilityKwh": 110.19
        },
        {
          "month": 9,
          "averageDailyKwh": 38.21,
          "monthlyKwh": 1146.4,
          "variabilityKwh": 101.41
        },
        {
          "month": 10,
          "averageDailyKwh": 29.93,
          "monthlyKwh": 927.69,
          "variabilityKwh": 177.65
        },
        {
          "month": 11,
          "averageDailyKwh": 23.99,
          "monthlyKwh": 719.76,
          "variabilityKwh": 189.97
        },
        {
          "month": 12,
          "averageDailyKwh": 23.28,
          "monthlyKwh": 721.57,
          "variabilityKwh": 147.65
        }
      ]
    },
    {
      "city_id": "st-gallen",
      "city": "St. Gallen",
      "latitude": 47.4239,
      "longitude": 9.3748,
      "forecast": {
        "cityId": "st-gallen",
        "name": "St. Gallen",
        "lat": 47.4239,
        "lon": 9.3748,
        "timezone": "Europe/Zurich",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 47.8,
        "lowKwh": 35.1,
        "highKwh": 54.8,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:39.930765Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11341.52,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 18.29,
          "monthlyKwh": 567.14,
          "variabilityKwh": 139.05
        },
        {
          "month": 2,
          "averageDailyKwh": 27.62,
          "monthlyKwh": 773.44,
          "variabilityKwh": 137.03
        },
        {
          "month": 3,
          "averageDailyKwh": 33.83,
          "monthlyKwh": 1048.7,
          "variabilityKwh": 196.47
        },
        {
          "month": 4,
          "averageDailyKwh": 39.44,
          "monthlyKwh": 1183.2,
          "variabilityKwh": 205.94
        },
        {
          "month": 5,
          "averageDailyKwh": 37.5,
          "monthlyKwh": 1162.41,
          "variabilityKwh": 167.43
        },
        {
          "month": 6,
          "averageDailyKwh": 40.98,
          "monthlyKwh": 1229.26,
          "variabilityKwh": 184.4
        },
        {
          "month": 7,
          "averageDailyKwh": 41.06,
          "monthlyKwh": 1272.83,
          "variabilityKwh": 155.85
        },
        {
          "month": 8,
          "averageDailyKwh": 38.43,
          "monthlyKwh": 1191.33,
          "variabilityKwh": 154.62
        },
        {
          "month": 9,
          "averageDailyKwh": 35.05,
          "monthlyKwh": 1051.52,
          "variabilityKwh": 132.84
        },
        {
          "month": 10,
          "averageDailyKwh": 27.44,
          "monthlyKwh": 850.52,
          "variabilityKwh": 117.05
        },
        {
          "month": 11,
          "averageDailyKwh": 17.94,
          "monthlyKwh": 538.2,
          "variabilityKwh": 150.21
        },
        {
          "month": 12,
          "averageDailyKwh": 15.26,
          "monthlyKwh": 472.97,
          "variabilityKwh": 168.78
        }
      ]
    }
  ],
  "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/"
}
