{
  "schema_version": "1.0",
  "generated_at": "2026-08-04T18:53:47.813764Z",
  "country_code": "XK",
  "country": "Kosovo",
  "reference_system": {
    "installedKwp": 10,
    "orientation": "S",
    "tiltDeg": 35,
    "systemLossPct": 14
  },
  "city_count": 4,
  "summary": {
    "tomorrow_average_kwh": 55.25,
    "tomorrow_min_kwh": 53.5,
    "tomorrow_max_kwh": 56.5,
    "typical_annual_average_kwh": 13177.32,
    "typical_annual_min_kwh": 12998.36,
    "typical_annual_max_kwh": 13402.59
  },
  "cities": [
    {
      "city_id": "peja",
      "city": "Peja",
      "latitude": 42.6593,
      "longitude": 20.2887,
      "forecast": {
        "cityId": "peja",
        "name": "Peja",
        "lat": 42.6593,
        "lon": 20.2887,
        "timezone": "Europe/Belgrade",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 56.5,
        "lowKwh": 49.4,
        "highKwh": 59.1,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:47.585867Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 13111.15,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 21.68,
          "monthlyKwh": 672.23,
          "variabilityKwh": 186.02
        },
        {
          "month": 2,
          "averageDailyKwh": 30.54,
          "monthlyKwh": 855.13,
          "variabilityKwh": 178.28
        },
        {
          "month": 3,
          "averageDailyKwh": 35.78,
          "monthlyKwh": 1109.18,
          "variabilityKwh": 168.31
        },
        {
          "month": 4,
          "averageDailyKwh": 40.7,
          "monthlyKwh": 1220.86,
          "variabilityKwh": 152.28
        },
        {
          "month": 5,
          "averageDailyKwh": 42.41,
          "monthlyKwh": 1314.72,
          "variabilityKwh": 105.35
        },
        {
          "month": 6,
          "averageDailyKwh": 45.17,
          "monthlyKwh": 1355.19,
          "variabilityKwh": 131.23
        },
        {
          "month": 7,
          "averageDailyKwh": 48.67,
          "monthlyKwh": 1508.88,
          "variabilityKwh": 120.41
        },
        {
          "month": 8,
          "averageDailyKwh": 48.98,
          "monthlyKwh": 1518.53,
          "variabilityKwh": 126.53
        },
        {
          "month": 9,
          "averageDailyKwh": 39.92,
          "monthlyKwh": 1197.45,
          "variabilityKwh": 146.43
        },
        {
          "month": 10,
          "averageDailyKwh": 33.96,
          "monthlyKwh": 1052.76,
          "variabilityKwh": 206.51
        },
        {
          "month": 11,
          "averageDailyKwh": 23.62,
          "monthlyKwh": 708.49,
          "variabilityKwh": 144.87
        },
        {
          "month": 12,
          "averageDailyKwh": 19.28,
          "monthlyKwh": 597.71,
          "variabilityKwh": 165.02
        }
      ]
    },
    {
      "city_id": "pristina",
      "city": "Pristina",
      "latitude": 42.6629,
      "longitude": 21.1655,
      "forecast": {
        "cityId": "pristina",
        "name": "Pristina",
        "lat": 42.6629,
        "lon": 21.1655,
        "timezone": "Europe/Belgrade",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 56.5,
        "lowKwh": 49.7,
        "highKwh": 59.6,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:47.430574Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 13197.18,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 20.99,
          "monthlyKwh": 650.6,
          "variabilityKwh": 151.73
        },
        {
          "month": 2,
          "averageDailyKwh": 29.25,
          "monthlyKwh": 819.07,
          "variabilityKwh": 167.32
        },
        {
          "month": 3,
          "averageDailyKwh": 35.49,
          "monthlyKwh": 1100.32,
          "variabilityKwh": 170.79
        },
        {
          "month": 4,
          "averageDailyKwh": 40.28,
          "monthlyKwh": 1208.45,
          "variabilityKwh": 147.87
        },
        {
          "month": 5,
          "averageDailyKwh": 42.31,
          "monthlyKwh": 1311.58,
          "variabilityKwh": 119.26
        },
        {
          "month": 6,
          "averageDailyKwh": 45.94,
          "monthlyKwh": 1378.32,
          "variabilityKwh": 118.96
        },
        {
          "month": 7,
          "averageDailyKwh": 49.69,
          "monthlyKwh": 1540.47,
          "variabilityKwh": 100.96
        },
        {
          "month": 8,
          "averageDailyKwh": 48.46,
          "monthlyKwh": 1502.31,
          "variabilityKwh": 101.26
        },
        {
          "month": 9,
          "averageDailyKwh": 40.52,
          "monthlyKwh": 1215.75,
          "variabilityKwh": 128.28
        },
        {
          "month": 10,
          "averageDailyKwh": 34.91,
          "monthlyKwh": 1082.3,
          "variabilityKwh": 189.97
        },
        {
          "month": 11,
          "averageDailyKwh": 25.84,
          "monthlyKwh": 775.26,
          "variabilityKwh": 137.68
        },
        {
          "month": 12,
          "averageDailyKwh": 19.77,
          "monthlyKwh": 612.77,
          "variabilityKwh": 168.44
        }
      ]
    },
    {
      "city_id": "prizren",
      "city": "Prizren",
      "latitude": 42.2139,
      "longitude": 20.7397,
      "forecast": {
        "cityId": "prizren",
        "name": "Prizren",
        "lat": 42.2139,
        "lon": 20.7397,
        "timezone": "Europe/Belgrade",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 53.5,
        "lowKwh": 45.7,
        "highKwh": 58.1,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:47.486660Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 12998.36,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 23.43,
          "monthlyKwh": 726.21,
          "variabilityKwh": 130.67
        },
        {
          "month": 2,
          "averageDailyKwh": 29.66,
          "monthlyKwh": 830.5,
          "variabilityKwh": 159.62
        },
        {
          "month": 3,
          "averageDailyKwh": 33.73,
          "monthlyKwh": 1045.55,
          "variabilityKwh": 161.8
        },
        {
          "month": 4,
          "averageDailyKwh": 38.89,
          "monthlyKwh": 1166.75,
          "variabilityKwh": 154.18
        },
        {
          "month": 5,
          "averageDailyKwh": 40.98,
          "monthlyKwh": 1270.52,
          "variabilityKwh": 123.68
        },
        {
          "month": 6,
          "averageDailyKwh": 44.93,
          "monthlyKwh": 1348.04,
          "variabilityKwh": 131.22
        },
        {
          "month": 7,
          "averageDailyKwh": 49.54,
          "monthlyKwh": 1535.81,
          "variabilityKwh": 106.89
        },
        {
          "month": 8,
          "averageDailyKwh": 47.86,
          "monthlyKwh": 1483.72,
          "variabilityKwh": 103.46
        },
        {
          "month": 9,
          "averageDailyKwh": 39.78,
          "monthlyKwh": 1193.29,
          "variabilityKwh": 147.39
        },
        {
          "month": 10,
          "averageDailyKwh": 34.03,
          "monthlyKwh": 1055.06,
          "variabilityKwh": 184.8
        },
        {
          "month": 11,
          "averageDailyKwh": 24.06,
          "monthlyKwh": 721.92,
          "variabilityKwh": 131.81
        },
        {
          "month": 12,
          "averageDailyKwh": 20.03,
          "monthlyKwh": 621,
          "variabilityKwh": 175.74
        }
      ]
    },
    {
      "city_id": "gjakova",
      "city": "Gjakova",
      "latitude": 42.3803,
      "longitude": 20.4308,
      "forecast": {
        "cityId": "gjakova",
        "name": "Gjakova",
        "lat": 42.3803,
        "lon": 20.4308,
        "timezone": "Europe/Belgrade",
        "featured": false,
        "targetDate": "2026-08-05",
        "expectedKwh": 54.5,
        "lowKwh": 47.8,
        "highKwh": 57.7,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "high",
        "fetchedAt": "2026-08-04T18:53:47.619348Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 13402.59,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 21.76,
          "monthlyKwh": 674.62,
          "variabilityKwh": 151.64
        },
        {
          "month": 2,
          "averageDailyKwh": 29.84,
          "monthlyKwh": 835.62,
          "variabilityKwh": 178.36
        },
        {
          "month": 3,
          "averageDailyKwh": 35.64,
          "monthlyKwh": 1104.75,
          "variabilityKwh": 160.43
        },
        {
          "month": 4,
          "averageDailyKwh": 41.72,
          "monthlyKwh": 1251.74,
          "variabilityKwh": 137.74
        },
        {
          "month": 5,
          "averageDailyKwh": 44.52,
          "monthlyKwh": 1379.97,
          "variabilityKwh": 95.45
        },
        {
          "month": 6,
          "averageDailyKwh": 47.41,
          "monthlyKwh": 1422.2,
          "variabilityKwh": 108.81
        },
        {
          "month": 7,
          "averageDailyKwh": 50.71,
          "monthlyKwh": 1571.87,
          "variabilityKwh": 82.41
        },
        {
          "month": 8,
          "averageDailyKwh": 49.84,
          "monthlyKwh": 1544.94,
          "variabilityKwh": 85.85
        },
        {
          "month": 9,
          "averageDailyKwh": 41.38,
          "monthlyKwh": 1241.48,
          "variabilityKwh": 130.13
        },
        {
          "month": 10,
          "averageDailyKwh": 34.81,
          "monthlyKwh": 1079.06,
          "variabilityKwh": 200.69
        },
        {
          "month": 11,
          "averageDailyKwh": 23.98,
          "monthlyKwh": 719.55,
          "variabilityKwh": 126.54
        },
        {
          "month": 12,
          "averageDailyKwh": 18.61,
          "monthlyKwh": 576.8,
          "variabilityKwh": 150.63
        }
      ]
    }
  ],
  "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/"
}
