{
  "version": "1.0",
  "calculator": {
    "id": "heat-pump-noise",
    "title": "Heat pump noise assessment",
    "summary": "Works out the sound pressure level at a neighbour's window and whether it clears the permitted development limit.",
    "tier": "advanced",
    "description": "Calculate the sound pressure level an air source heat pump produces at an assessment\nposition, and whether it meets the 37 dB(A) permitted development noise limit, using the method in\nMCS 020.\n\nThe formula is Lp = Lw + 10 log(Q / 4.pi.r^2) - Ab.\n\nLw is the A-weighted sound POWER level of the unit from its product fiche, energy label or the MCS\nproduct database. This is not the sound pressure level, which is a smaller number that already has a\ndistance built into it; confusing the two produces an answer that is wrong by about twenty decibels.\nThe figure for low noise mode must not be used.\n\nQ is the directivity factor, from the count of reflecting surfaces within one metre of the unit that\nextend at least a metre past it in two or more directions. The ground counts; vegetation does not.\nOne surface gives Q=2, two gives Q=4, three gives Q=8. More than three cannot meet MCS 020 at all.\n\nr is the straight-line distance in metres to the assessment position, which is a window or door of a\nhabitable room in a NEIGHBOURING property, at any floor. Every affected position must be checked\nseparately, and the nearest is not always the worst.\n\nAb is the barrier attenuation. Fences with gaps, and vegetation of any kind, count as no barrier.\n\nWhere several units serve one position, list them all and they are combined logarithmically.",
    "standard": "MCS 020",
    "category": "heat-pumps",
    "webPath": "/calculators/heat-pump-noise",
    "example": {
      "units": [
        {
          "soundPowerLevel": 58,
          "distance": 8,
          "reflectingSurfaces": 2,
          "barrierType": "type_1",
          "lineOfSight": "partial"
        }
      ]
    },
    "inputSchema": {
      "type": "object",
      "properties": {
        "units": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "properties": {
              "soundPowerLevel": {
                "type": "number",
                "description": "A-weighted sound POWER level of the unit in dB(A), from the product fiche, the energy label or the MCS product database. Not the sound pressure level, which is a different and smaller number. The figure for low noise mode must not be used. Required."
              },
              "distance": {
                "type": "number",
                "description": "Straight-line distance in metres from the centre of the unit to the assessment position, measured to the nearest 0.1 m. Required."
              },
              "reflectingSurfaces": {
                "type": "integer",
                "description": "How many surfaces sit within one metre of the unit and extend at least a metre past it in two or more directions. The ground counts; vegetation does not. 1, 2 or 3. More than 3 fails MCS 020 outright. Required."
              },
              "barrierType": {
                "type": "string",
                "description": "'type_1' for solid masonry or a solid fence at least 18 mm thick, 'type_2' for a solid fence thinner than 18 mm, or 'none'. Fences with gaps, and vegetation, are 'none'. Defaults to 'none'."
              },
              "lineOfSight": {
                "type": "string",
                "description": "Whether the assessment position can be seen from the top edge of the unit: 'none', 'partial' (visible if you move up to 0.25 m in any direction) or 'full'. Defaults to 'full'."
              },
              "label": {
                "type": "string",
                "description": "A name for this unit, for a result covering more than one."
              }
            },
            "required": [
              "soundPowerLevel",
              "distance",
              "reflectingSurfaces"
            ],
            "additionalProperties": false
          },
          "description": "The heat pump or heat pumps being assessed, each with its own distance and barrier to this assessment position. At least one is required."
        }
      },
      "required": [
        "units"
      ],
      "additionalProperties": false
    },
    "outputSchema": {
      "type": "object",
      "properties": {
        "units": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "object",
            "properties": {
              "label": {
                "type": "string"
              },
              "soundPowerLevel": {
                "type": "number"
              },
              "distance": {
                "type": "number"
              },
              "directivity": {
                "type": "integer",
                "description": "Q: 2 for one reflecting surface, 4 for two, 8 for three."
              },
              "barrierAttenuation": {
                "type": "number",
                "description": "Decibels the barrier takes off, from the MCS 020 matrix."
              },
              "soundPressureLevel": {
                "type": "number"
              },
              "distanceLoss": {
                "type": "number",
                "description": "Decibels lost to spreading out over the distance."
              }
            },
            "required": [
              "soundPowerLevel",
              "distance",
              "directivity",
              "barrierAttenuation",
              "soundPressureLevel",
              "distanceLoss"
            ],
            "additionalProperties": false
          }
        },
        "soundPressureLevel": {
          "type": "number",
          "description": "Combined A-weighted sound pressure level at the assessment position, in dB(A), rounded to one decimal place as MCS 020 requires."
        },
        "limit": {
          "type": "number",
          "description": "The permitted development noise limit, 37.0 dB(A)."
        },
        "compliant": {
          "type": "boolean",
          "description": "True when the level is at or below the limit."
        },
        "headroom": {
          "type": "number",
          "description": "Decibels below the limit. Negative when the limit is exceeded."
        },
        "verdict": {
          "type": "string"
        },
        "remedies": {
          "type": [
            "null",
            "array"
          ],
          "items": {
            "type": "string"
          },
          "description": "What would bring a failing position within the limit."
        },
        "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": [
        "units",
        "soundPressureLevel",
        "limit",
        "compliant",
        "headroom",
        "verdict",
        "method",
        "references",
        "notes"
      ],
      "additionalProperties": false
    }
  },
  "url": "https://ampworth.com/api/v1/calculators/heat-pump-noise",
  "webUrl": "https://ampworth.com/calculators/heat-pump-noise",
  "exampleUrl": "https://ampworth.com/api/v1/calculators/heat-pump-noise?units=%5B%7B%22soundPowerLevel%22%3A58%2C%22distance%22%3A8%2C%22reflectingSurfaces%22%3A2%2C%22barrierType%22%3A%22type_1%22%2C%22lineOfSight%22%3A%22partial%22%7D%5D",
  "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."
}
