numcodecs-sz3 0.8.2

SZ3 codec implementation for the numcodecs API
Documentation
{
  "type": "object",
  "properties": {
    "predictor": {
      "anyOf": [
        {
          "oneOf": [
            {
              "type": "string",
              "const": "interpolation",
              "description": "Interpolation"
            },
            {
              "type": "string",
              "const": "interpolation-lorenzo",
              "description": "Interpolation + Lorenzo predictor"
            },
            {
              "type": "string",
              "const": "regression",
              "description": "1st order regression"
            },
            {
              "type": "string",
              "const": "lorenzo2",
              "description": "2nd order Lorenzo predictor"
            },
            {
              "type": "string",
              "const": "lorenzo2-regression",
              "description": "2nd order Lorenzo predictor + 1st order regression"
            },
            {
              "type": "string",
              "const": "lorenzo",
              "description": "1st order Lorenzo predictor"
            },
            {
              "type": "string",
              "const": "lorenzo-regression",
              "description": "1st order Lorenzo predictor + 1st order regression"
            },
            {
              "type": "string",
              "const": "lorenzo-lorenzo2",
              "description": "1st+2nd order Lorenzo predictor"
            },
            {
              "type": "string",
              "const": "lorenzo-lorenzo2-regression",
              "description": "1st+2nd order Lorenzo predictor + 1st order regression"
            }
          ],
          "description": "SZ3 predictor"
        },
        {
          "type": "null"
        }
      ],
      "description": "Predictor",
      "default": "interpolation-lorenzo"
    },
    "_version": {
      "type": "string",
      "pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$",
      "description": "The codec's encoding format version. Do not provide this parameter explicitly.",
      "default": "0.2.0"
    }
  },
  "unevaluatedProperties": false,
  "oneOf": [
    {
      "type": "object",
      "description": "Errors are bounded by *both* the absolute and relative error, i.e. by\nwhichever bound is stricter",
      "properties": {
        "eb_abs": {
          "type": "number",
          "format": "double",
          "description": "Absolute error bound"
        },
        "eb_rel": {
          "type": "number",
          "format": "double",
          "description": "Relative error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "abs-and-rel"
        }
      },
      "required": [
        "eb_mode",
        "eb_abs",
        "eb_rel"
      ]
    },
    {
      "type": "object",
      "description": "Errors are bounded by *either* the absolute or relative error, i.e. by\nwhichever bound is weaker",
      "properties": {
        "eb_abs": {
          "type": "number",
          "format": "double",
          "description": "Absolute error bound"
        },
        "eb_rel": {
          "type": "number",
          "format": "double",
          "description": "Relative error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "abs-or-rel"
        }
      },
      "required": [
        "eb_mode",
        "eb_abs",
        "eb_rel"
      ]
    },
    {
      "type": "object",
      "description": "Absolute error bound",
      "properties": {
        "eb_abs": {
          "type": "number",
          "format": "double",
          "description": "Absolute error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "abs"
        }
      },
      "required": [
        "eb_mode",
        "eb_abs"
      ]
    },
    {
      "type": "object",
      "description": "Relative error bound",
      "properties": {
        "eb_rel": {
          "type": "number",
          "format": "double",
          "description": "Relative error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "rel"
        }
      },
      "required": [
        "eb_mode",
        "eb_rel"
      ]
    },
    {
      "type": "object",
      "description": "Peak signal to noise ratio error bound",
      "properties": {
        "eb_psnr": {
          "type": "number",
          "format": "double",
          "description": "Peak signal to noise ratio error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "psnr"
        }
      },
      "required": [
        "eb_mode",
        "eb_psnr"
      ]
    },
    {
      "type": "object",
      "description": "Peak L2 norm error bound",
      "properties": {
        "eb_l2": {
          "type": "number",
          "format": "double",
          "description": "Peak L2 norm error bound"
        },
        "eb_mode": {
          "type": "string",
          "const": "l2"
        }
      },
      "required": [
        "eb_mode",
        "eb_l2"
      ]
    }
  ],
  "description": "Codec providing compression using SZ3",
  "title": "Sz3Codec",
  "$schema": "https://json-schema.org/draft/2020-12/schema"
}