{
  "schema_version": "1.0",
  "generated_at": "2026-08-04T18:53:47.813764Z",
  "country_code": "LI",
  "country": "Liechtenstein",
  "reference_system": {
    "installedKwp": 10,
    "orientation": "S",
    "tiltDeg": 35,
    "systemLossPct": 14
  },
  "city_count": 3,
  "summary": {
    "tomorrow_average_kwh": 49.29999999999999,
    "tomorrow_min_kwh": 48.8,
    "tomorrow_max_kwh": 50.3,
    "typical_annual_average_kwh": 11362.949999999999,
    "typical_annual_min_kwh": 11002.76,
    "typical_annual_max_kwh": 11617.99
  },
  "cities": [
    {
      "city_id": "balzers",
      "city": "Balzers",
      "latitude": 47.0665,
      "longitude": 9.5025,
      "forecast": {
        "cityId": "balzers",
        "name": "Balzers",
        "lat": 47.0665,
        "lon": 9.5025,
        "timezone": "Europe/Vaduz",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 50.3,
        "lowKwh": 40.2,
        "highKwh": 57.7,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:43.844952Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11617.99,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 17.99,
          "monthlyKwh": 557.69,
          "variabilityKwh": 109.02
        },
        {
          "month": 2,
          "averageDailyKwh": 27.93,
          "monthlyKwh": 782.04,
          "variabilityKwh": 95.1
        },
        {
          "month": 3,
          "averageDailyKwh": 38.37,
          "monthlyKwh": 1189.35,
          "variabilityKwh": 129.62
        },
        {
          "month": 4,
          "averageDailyKwh": 42.27,
          "monthlyKwh": 1268.08,
          "variabilityKwh": 166.6
        },
        {
          "month": 5,
          "averageDailyKwh": 39.79,
          "monthlyKwh": 1233.35,
          "variabilityKwh": 141.41
        },
        {
          "month": 6,
          "averageDailyKwh": 41.44,
          "monthlyKwh": 1243.29,
          "variabilityKwh": 147.99
        },
        {
          "month": 7,
          "averageDailyKwh": 41.02,
          "monthlyKwh": 1271.65,
          "variabilityKwh": 159.35
        },
        {
          "month": 8,
          "averageDailyKwh": 37.32,
          "monthlyKwh": 1156.89,
          "variabilityKwh": 143.38
        },
        {
          "month": 9,
          "averageDailyKwh": 33.88,
          "monthlyKwh": 1016.49,
          "variabilityKwh": 119.66
        },
        {
          "month": 10,
          "averageDailyKwh": 28.25,
          "monthlyKwh": 875.65,
          "variabilityKwh": 142.23
        },
        {
          "month": 11,
          "averageDailyKwh": 18.98,
          "monthlyKwh": 569.37,
          "variabilityKwh": 185.43
        },
        {
          "month": 12,
          "averageDailyKwh": 14.65,
          "monthlyKwh": 454.14,
          "variabilityKwh": 171.86
        }
      ]
    },
    {
      "city_id": "schaan",
      "city": "Schaan",
      "latitude": 47.1664,
      "longitude": 9.5096,
      "forecast": {
        "cityId": "schaan",
        "name": "Schaan",
        "lat": 47.1664,
        "lon": 9.5096,
        "timezone": "Europe/Vaduz",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 48.8,
        "lowKwh": 38.2,
        "highKwh": 57.5,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:43.809298Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11468.1,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 19.91,
          "monthlyKwh": 617.32,
          "variabilityKwh": 108.69
        },
        {
          "month": 2,
          "averageDailyKwh": 27.71,
          "monthlyKwh": 775.98,
          "variabilityKwh": 114.3
        },
        {
          "month": 3,
          "averageDailyKwh": 35.67,
          "monthlyKwh": 1105.85,
          "variabilityKwh": 161.05
        },
        {
          "month": 4,
          "averageDailyKwh": 40.13,
          "monthlyKwh": 1203.89,
          "variabilityKwh": 175.44
        },
        {
          "month": 5,
          "averageDailyKwh": 36.86,
          "monthlyKwh": 1142.55,
          "variabilityKwh": 169.59
        },
        {
          "month": 6,
          "averageDailyKwh": 40.69,
          "monthlyKwh": 1220.63,
          "variabilityKwh": 170.78
        },
        {
          "month": 7,
          "averageDailyKwh": 40.22,
          "monthlyKwh": 1246.79,
          "variabilityKwh": 167.04
        },
        {
          "month": 8,
          "averageDailyKwh": 37.55,
          "monthlyKwh": 1163.92,
          "variabilityKwh": 150.29
        },
        {
          "month": 9,
          "averageDailyKwh": 34.13,
          "monthlyKwh": 1023.8,
          "variabilityKwh": 131.3
        },
        {
          "month": 10,
          "averageDailyKwh": 28.47,
          "monthlyKwh": 882.42,
          "variabilityKwh": 130.45
        },
        {
          "month": 11,
          "averageDailyKwh": 18.34,
          "monthlyKwh": 550.3,
          "variabilityKwh": 139.2
        },
        {
          "month": 12,
          "averageDailyKwh": 17.25,
          "monthlyKwh": 534.66,
          "variabilityKwh": 178.32
        }
      ]
    },
    {
      "city_id": "vaduz",
      "city": "Vaduz",
      "latitude": 47.141,
      "longitude": 9.5209,
      "forecast": {
        "cityId": "vaduz",
        "name": "Vaduz",
        "lat": 47.141,
        "lon": 9.5209,
        "timezone": "Europe/Vaduz",
        "featured": true,
        "targetDate": "2026-08-05",
        "expectedKwh": 48.8,
        "lowKwh": 38.2,
        "highKwh": 57.5,
        "bestWindowStart": "2026-08-05T11:00:00+02:00",
        "bestWindowEnd": "2026-08-05T15:00:00+02:00",
        "confidence": "medium",
        "fetchedAt": "2026-08-04T18:53:43.777865Z",
        "freshness": "fresh",
        "stale": false
      },
      "typical_annual_kwh": 11002.76,
      "typical_monthly": [
        {
          "month": 1,
          "averageDailyKwh": 17.66,
          "monthlyKwh": 547.6,
          "variabilityKwh": 118.56
        },
        {
          "month": 2,
          "averageDailyKwh": 26.13,
          "monthlyKwh": 731.68,
          "variabilityKwh": 102.74
        },
        {
          "month": 3,
          "averageDailyKwh": 36.42,
          "monthlyKwh": 1128.9,
          "variabilityKwh": 145.06
        },
        {
          "month": 4,
          "averageDailyKwh": 40.12,
          "monthlyKwh": 1203.51,
          "variabilityKwh": 158.63
        },
        {
          "month": 5,
          "averageDailyKwh": 36.74,
          "monthlyKwh": 1138.89,
          "variabilityKwh": 158.47
        },
        {
          "month": 6,
          "averageDailyKwh": 38.39,
          "monthlyKwh": 1151.79,
          "variabilityKwh": 157.59
        },
        {
          "month": 7,
          "averageDailyKwh": 38.37,
          "monthlyKwh": 1189.6,
          "variabilityKwh": 151.39
        },
        {
          "month": 8,
          "averageDailyKwh": 35.39,
          "monthlyKwh": 1097.02,
          "variabilityKwh": 142.69
        },
        {
          "month": 9,
          "averageDailyKwh": 31.88,
          "monthlyKwh": 956.4,
          "variabilityKwh": 140.07
        },
        {
          "month": 10,
          "averageDailyKwh": 27.81,
          "monthlyKwh": 862.24,
          "variabilityKwh": 135.84
        },
        {
          "month": 11,
          "averageDailyKwh": 17.45,
          "monthlyKwh": 523.62,
          "variabilityKwh": 185.96
        },
        {
          "month": 12,
          "averageDailyKwh": 15.21,
          "monthlyKwh": 471.53,
          "variabilityKwh": 180.99
        }
      ]
    }
  ],
  "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/"
}
