{
  "version": "1.0",
  "calculator": {
    "id": "solar-pv-output",
    "title": "Solar PV annual output",
    "summary": "Estimates a year of generation from a solar array using the MCS standard estimation method.",
    "tier": "advanced",
    "description": "Estimate the annual AC electricity output of a UK solar photovoltaic system, in kWh,\nusing the standard estimation method that MIS 3002 requires every MCS certified installer to use.\n\nThe method is: annual output = kWp x Kk x SF, where Kk is read from the MCS irradiance dataset for\nthe site's postcode zone, roof pitch and orientation, and SF is a shade factor between 0 and 1.\n\nSupply the postcode and the array's capacity in kWp, plus the roof's pitch in degrees from horizontal\nand its orientation in degrees away from due south in either direction, so that south is 0, south-east\nand south-west are both 45, east and west are both 90, and north is 180.\n\nThe result carries the tabulated yield, the estimate, and what the same array would produce at the\nbest pitch and orientation for that zone, so a roof that is merely good is not mistaken for a poor one.\nThis covers the United Kingdom only; the dataset has no values for anywhere else.",
    "standard": "MIS 3002",
    "category": "solar-pv",
    "webPath": "/calculators/solar-pv-output",
    "example": {
      "postcode": "BS1 5TR",
      "capacityKwp": 4.4,
      "orientation": 30,
      "inclination": 35,
      "shadeFactor": 0.95
    },
    "reference": {
      "zones": [
        {
          "code": "1",
          "city": "London"
        },
        {
          "code": "2",
          "city": "Brighton"
        },
        {
          "code": "3",
          "city": "Southampton"
        },
        {
          "code": "4",
          "city": "Plymouth"
        },
        {
          "code": "5E",
          "city": "Bristol"
        },
        {
          "code": "5W",
          "city": "Cardiff"
        },
        {
          "code": "6",
          "city": "Birmingham"
        },
        {
          "code": "7E",
          "city": "Manchester"
        },
        {
          "code": "7W",
          "city": "Chester"
        },
        {
          "code": "8S",
          "city": "Dumfries"
        },
        {
          "code": "8E",
          "city": "Carlisle"
        },
        {
          "code": "9E",
          "city": "Newcastle"
        },
        {
          "code": "9S",
          "city": "Edinburgh"
        },
        {
          "code": "10",
          "city": "Middlesbrough"
        },
        {
          "code": "11",
          "city": "Sheffield"
        },
        {
          "code": "12",
          "city": "Norwich"
        },
        {
          "code": "13",
          "city": "Aberystwyth"
        },
        {
          "code": "14",
          "city": "Glasgow"
        },
        {
          "code": "15",
          "city": "Dundee"
        },
        {
          "code": "16",
          "city": "Aberdeen"
        },
        {
          "code": "17",
          "city": "Inverness"
        },
        {
          "code": "18",
          "city": "Stornoway"
        },
        {
          "code": "19",
          "city": "Kirkwall"
        },
        {
          "code": "20",
          "city": "Lerwick"
        },
        {
          "code": "21",
          "city": "Belfast"
        }
      ]
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "postcode": {
          "type": "string",
          "description": "UK postcode of the installation, for example 'BS1 5TR'. Only the outward code matters. Give this or 'zone'."
        },
        "zone": {
          "type": "string",
          "description": "MCS postcode zone code, for example '5E'. An alternative to 'postcode' when the zone is already known."
        },
        "capacityKwp": {
          "type": "number",
          "description": "Total installed capacity in kilowatts peak: the sum of the nameplate watts of every module, divided by 1000. Required."
        },
        "orientation": {
          "type": "number",
          "description": "Degrees the array faces away from due south, in either direction, so due south is 0, south-east and south-west are 45, east and west are 90, and due north is 180. Required."
        },
        "inclination": {
          "type": "number",
          "description": "Pitch of the array in degrees from horizontal. A flat roof is 0 and a wall-mounted array is 90. Required."
        },
        "shadeFactor": {
          "type": "number",
          "description": "Proportion of output left after shading, between 0.5 and 1. Use 1 for a clear horizon. Defaults to 1."
        }
      },
      "required": [
        "capacityKwp",
        "orientation",
        "inclination"
      ],
      "additionalProperties": false
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "zone": {
          "type": "object",
          "properties": {
            "code": {
              "type": "string"
            },
            "city": {
              "type": "string"
            }
          },
          "required": [
            "code",
            "city"
          ],
          "additionalProperties": false
        },
        "postcodeUsed": {
          "type": "string",
          "description": "The postcode the zone was resolved from, when one was given."
        },
        "capacityKwp": {
          "type": "number"
        },
        "orientation": {
          "type": "number",
          "description": "Orientation after rounding to the nearest five degrees, as the method requires."
        },
        "inclination": {
          "type": "number",
          "description": "Inclination after rounding to the nearest degree, as the method requires."
        },
        "shadeFactor": {
          "type": "number"
        },
        "specificYieldKwhPerKwp": {
          "type": "number",
          "description": "Kk: the kWh a single kWp produces in a year at this zone, pitch and orientation, before shading."
        },
        "annualOutputKwh": {
          "type": "number",
          "description": "The estimate: capacity multiplied by Kk multiplied by the shade factor."
        },
        "unshadedOutputKwh": {
          "type": "number",
          "description": "What the same array would produce with a clear horizon. Equals the estimate when the shade factor is 1."
        },
        "shadingLossKwh": {
          "type": "number"
        },
        "bestCaseOrientation": {
          "type": "number",
          "description": "The orientation that yields most at this pitch and zone. Almost always due south."
        },
        "bestCaseInclination": {
          "type": "number",
          "description": "The pitch that yields most at this zone when facing due south."
        },
        "bestCaseAnnualKwh": {
          "type": "number",
          "description": "What this capacity would produce at the best pitch and orientation for the zone, unshaded. A yardstick, not a target: a roof faces where it faces."
        },
        "percentOfBestCase": {
          "type": "number",
          "description": "The estimate as a percentage of that best case."
        },
        "method": {
          "type": "string"
        },
        "references": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "properties": {
              "document": {
                "type": "string"
              },
              "title": {
                "type": "string"
              },
              "url": {
                "type": "string"
              },
              "clause": {
                "type": "string"
              }
            },
            "required": [
              "document",
              "title",
              "url"
            ],
            "additionalProperties": false
          }
        },
        "notes": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          }
        }
      },
      "required": [
        "zone",
        "capacityKwp",
        "orientation",
        "inclination",
        "shadeFactor",
        "specificYieldKwhPerKwp",
        "annualOutputKwh",
        "unshadedOutputKwh",
        "shadingLossKwh",
        "bestCaseOrientation",
        "bestCaseInclination",
        "bestCaseAnnualKwh",
        "percentOfBestCase",
        "method",
        "references",
        "notes"
      ],
      "additionalProperties": false
    }
  },
  "url": "https://ampworth.com/api/v1/calculators/solar-pv-output",
  "webUrl": "https://ampworth.com/calculators/solar-pv-output",
  "exampleUrl": "https://ampworth.com/api/v1/calculators/solar-pv-output?postcode=BS1+5TR\u0026capacityKwp=4.4\u0026orientation=30\u0026inclination=35\u0026shadeFactor=0.95",
  "method": "POST",
  "contentType": "application/json",
  "notice": "These calculators follow the published MCS methods, for understanding a system and checking a quotation. Anything that gets installed still needs a design and a site survey from a certified installer."
}
