{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://askcalculators.com/ie/solar-sizing/schema.json",
  "title": "Solar Panel Sizing Calculator — Ireland inputs",
  "description": "Translate a site-specific annual energy target into a rounded panel count and a transparent material-cost scenario. EUR planning view; stated limitations apply.",
  "type": "object",
  "properties": {
    "unitSystem": {
      "title": "Measurement system",
      "type": "string",
      "default": "metric",
      "enum": [
        "imperial",
        "metric"
      ],
      "x-optionLabels": {
        "imperial": "Imperial (US gallons / short tons where relevant)",
        "metric": "Metric"
      }
    },
    "annualUse": {
      "title": "Annual electricity use, kWh",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 10000,
      "minimum": 1,
      "maximum": 100000000,
      "x-step": 0.01
    },
    "offset": {
      "title": "Target annual generation / use",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 80,
      "minimum": 0,
      "maximum": 300,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "specificYield": {
      "title": "Site-specific annual yield, kWh per kW",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 1200,
      "minimum": 100,
      "maximum": 3000,
      "x-step": 0.01
    },
    "panelWatts": {
      "title": "Panel nameplate output, W",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 420,
      "minimum": 50,
      "maximum": 1000,
      "x-step": 0.01
    },
    "panelArea": {
      "title": "Area of one panel",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 2,
      "minimum": 0.1,
      "maximum": 10,
      "x-suffix": "m²"
    },
    "layoutAllowance": {
      "title": "Roof-layout allowance beyond panel area",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 20,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "unitRate": {
      "title": "Material price per panel",
      "type": "number",
      "description": "Zero means unpriced, not free. Enter a current, scoped supplier quote. Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "EUR",
      "x-unit": "currency"
    },
    "laborCost": {
      "title": "Total labor allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "EUR",
      "x-unit": "currency"
    },
    "deliveryCost": {
      "title": "Delivery allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "EUR",
      "x-unit": "currency"
    },
    "otherCost": {
      "title": "Other fixed costs",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 1000000000000,
      "x-step": 0.01,
      "x-prefix": "EUR",
      "x-unit": "currency"
    },
    "costMultiplier": {
      "title": "Material/labor multiplier",
      "type": "number",
      "description": "Use a verified regional index only when supplied. 1 is an unadjusted scenario, not a researched index. Illustrative starting value; replace with your own evidence.",
      "default": 1,
      "minimum": 0.1,
      "maximum": 10,
      "x-step": 0.01
    },
    "spreadPercent": {
      "title": "Low/high sensitivity around the entered total",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 15,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    },
    "taxRate": {
      "title": "Explicit tax allowance",
      "type": "number",
      "description": "Illustrative starting value; replace with your own evidence.",
      "default": 0,
      "minimum": 0,
      "maximum": 100,
      "x-step": 0.1,
      "x-unit": "percent"
    }
  },
  "required": [
    "annualUse",
    "offset",
    "specificYield",
    "panelWatts",
    "panelArea",
    "layoutAllowance",
    "unitRate",
    "laborCost",
    "deliveryCost",
    "otherCost",
    "costMultiplier",
    "spreadPercent",
    "taxRate"
  ],
  "additionalProperties": false,
  "x-askcalculators": {
    "version": "20.16.0",
    "calculatorUrl": "https://askcalculators.com/ie/solar-sizing/",
    "queryExample": "https://askcalculators.com/ie/solar-sizing/?unitSystem=metric&annualUse=10000&offset=80&specificYield=1200&panelWatts=420&panelArea=2&layoutAllowance=20&unitRate=0&laborCost=0&deliveryCost=0&otherCost=0&costMultiplier=1&spreadPercent=15&taxRate=0",
    "migrationStatus": "new",
    "reviewStatus": "pending",
    "pageStatus": "live",
    "workStatus": "pending",
    "formula": {
      "expression": "panels = ceiling(annual use × offset ÷ yield × 1,000 ÷ panel watts).",
      "note": "Inputs are converted to canonical units before evaluating this stated formula."
    },
    "quality": {
      "availability": "live",
      "technicalReviewRecord": "/reviews/v20-ie-solar-sizing.json",
      "qualifiedReview": "pending",
      "qualifiedReviewer": null,
      "qualifiedReviewDate": null,
      "formulaVersion": "20.16.0",
      "referenceCoverage": "references-listed",
      "releaseTestScope": "Catalog and regression checks are not a professional formula audit; consult release evidence.",
      "historicalMetadataDate": "",
      "historicalMetadataNotice": "The imported date is not evidence of a completed human review."
    },
    "outputs": {
      "panels": {
        "title": "Whole panels to order",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "installedKw": {
        "title": "Installed nameplate capacity, kW",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "generation": {
        "title": "Modeled annual generation, kWh",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "roofArea": {
        "title": "Roof area allowance",
        "type": "number",
        "x-format": "number",
        "x-digits": 2
      },
      "materialCost": {
        "title": "Material cost",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "laborCost": {
        "title": "Labor allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "deliveryCost": {
        "title": "Delivery allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "otherCost": {
        "title": "Other specified costs",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "tax": {
        "title": "Entered tax allowance",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "low": {
        "title": "Low cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      },
      "mid": {
        "title": "Middle cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2,
        "x-primary": true
      },
      "high": {
        "title": "High cost scenario",
        "type": "number",
        "x-format": "currency",
        "x-currency": "EUR",
        "x-digits": 2
      }
    }
  }
}
