{
  "schema_version": "barindex.habitat-research-package.v1",
  "status": "prepared_for_distribution",
  "package_id": "cloudberry-habitat-v4-2026-10-30",
  "licence": "CC-BY-4.0",
  "licence_url": "https://creativecommons.org/licenses/by/4.0/",
  "creator": "Emil Hessman",
  "licensor": "Emil Hessman",
  "citation": "Emil Hessman (2026). B\u00e4rindex: Cloudberry habitat suitability in Sweden. Model release v4, 23 August 2026. https://xn--brindex-5wa.se/data/",
  "landing_page": "https://xn--brindex-5wa.se/data/",
  "package_date": "2026-10-30",
  "release_id": "bar_habitat_release_v4",
  "model_date": "2026-08-23",
  "species": "Rubus chamaemorus",
  "species_slug": "hjortron",
  "model_source": "low_complexity_hgb_challenger_v4",
  "grid": {
    "crs": "EPSG:3006",
    "pixel_size_m": [
      1000,
      1000
    ],
    "width": 649,
    "height": 1538,
    "bounds_west_south_east_north": [
      269000,
      6134000,
      918000,
      7672000
    ],
    "transform": [
      1000.0,
      0.0,
      269000.0,
      0.0,
      -1000.0,
      7672000.0
    ],
    "pixel_interpretation": "area",
    "dataset_cells": 447940,
    "scored_cells": 446606,
    "excluded_cells": 1334,
    "outside_dataset_pixels": 550222,
    "products": {
      "cloudberry-habitat.tif": {
        "dtype": "float32",
        "nodata": -9999.0,
        "bands": [
          {
            "band": 1,
            "name": "habitat_score",
            "units": "1",
            "valid_range": "0,1",
            "meaning": "Mean of five fold-model occurrence scores"
          },
          {
            "band": 2,
            "name": "habitat_percentile",
            "units": "1",
            "valid_range": "0,1",
            "meaning": "National eligible-cell rank; not probability"
          }
        ]
      },
      "cloudberry-quality.tif": {
        "dtype": "uint8",
        "nodata": 255,
        "bands": [
          {
            "band": 1,
            "name": "score_eligible",
            "codes": "0=excluded;1=scored;255=outside_dataset"
          },
          {
            "band": 2,
            "name": "uncertainty_tier",
            "codes": "1=low;2=medium;3=high;255=outside_dataset",
            "meaning": "Heuristic category; not a confidence interval"
          }
        ]
      }
    }
  },
  "inputs": {
    "release_manifest": {
      "path": "data/ml/releases/bar_habitat_release_v4/manifest.json",
      "sha256": "7d89dd17cfac85faf432c1868f3781e02e8d324c3976010e47cc7555a2a2bf09"
    },
    "surface": {
      "path": "data/ml/surfaces/bar_habitat_national_shadow_v3.parquet",
      "sha256": "0e7bfe59377cbc9dc8472eb8cd2172c8f09767d05ba500e1c35fcc4ec1903173",
      "bytes": 32404698
    },
    "release_contract": {
      "path": "ml/bar/contracts/bar_habitat_release_v4.frozen.json",
      "sha256": "0c47933fd5b19655505bb393fcd591302896e998e516040734af90e8cf2278fa",
      "bytes": 5027
    },
    "surface_report": {
      "path": "data/ml/reports/bar_habitat_national_shadow_v3.json",
      "sha256": "642c481bde6d22e1e3da2cfaae61c6d19232021089dc0c1f0ba90eb0b1181f49",
      "bytes": 6005
    },
    "public_review": {
      "path": "barindex/data/habitat-review.json",
      "sha256": "e72cbe39a07a2a348698c99076fce78f5448471030c818e69b464caa9edcb559",
      "bytes": 7210
    },
    "experiment_report": {
      "path": "data/ml/reports/bar_habitat_low_complexity_challenger_v4.json",
      "sha256": "de9d8fd9ac9639d5d76904b383992e983990b6f044dfe5f8e12568dbdd2830f0",
      "bytes": 74293
    },
    "readme": {
      "path": "ml/docs/barindex-research-package.md",
      "sha256": "0d8eb2daee4ad173783144786c3172d28307d96589c5a50efd42e0fac777c6d9"
    },
    "exporter": {
      "path": "ml/scripts/export_bar_research_packages.py",
      "sha256": "7df3559db6ccdff662a9a565ad617c962619c3cecac1ed01b12bcdb34eb53461"
    },
    "map_renderer": {
      "path": "ml/scripts/export_bar_habitat_review_assets.py",
      "sha256": "6484d420f95ea17c8632db6b3e57a0bb9b57522d13a41f506b19f4f9650531ca"
    },
    "dependency_lock": {
      "path": "ml/uv.lock",
      "sha256": "4822a34b3e6e2e536c2aa33da18481751c40aa25c34670dc310c6fb3a560bed4"
    },
    "regional_report": {
      "path": "data/ml/reports/bar_habitat_low_complexity_regional_audit_v4.json",
      "sha256": "5286e08b9d12e8365d0fa98dfe3e290498d8fc4b9ac830fd26477518e020b620"
    },
    "source_registry": {
      "path": "ml/feature_sources/feature_source_registry_v1.json",
      "sha256": "ca854e616f40f14027aadc796248ad66afc294dff9a24cb8959ad63af8dd1fae"
    }
  },
  "verification": {
    "all_scored_values_exact": true,
    "quality_and_masks_exact": true,
    "map_geometry_exact": true,
    "map_assets_reproduced_from_tiffs": [
      {
        "path": "barindex/public/habitat/hjortron-habitat-lookup.png",
        "sha256": "670f8d42d4e3e1f70a901506694f87d5c21af5c8453fe2101082703743e3cfc3",
        "bytes": 668487
      },
      {
        "path": "barindex/public/habitat/hjortron-habitat-percentile.png",
        "sha256": "8c4871daa1a35caa341c6069684cdcafea274073131b43fada75dcf6076a8306",
        "bytes": 771270
      },
      {
        "path": "barindex/public/habitat/hjortron-habitat-web-mercator-overview.png",
        "sha256": "a57e513bd959b3e2caf2a5acfb37cc825bf3d6d261433eefc78c1ec102f0004e",
        "bytes": 11398
      },
      {
        "path": "barindex/public/habitat/hjortron-habitat-web-mercator-regional.png",
        "sha256": "07a7bf489643b905e6928d8058332d3179b762e252c8bc30a7b3b9b2ad60b9c4",
        "bytes": 72234
      },
      {
        "path": "barindex/public/habitat/hjortron-habitat-web-mercator.png",
        "sha256": "0f285f5e03d6a401e85f2f7203890c8321a317c6cef7da5dc59c56f1df657db3",
        "bytes": 564071
      },
      {
        "path": "barindex/public/habitat/hjortron-uncertainty.png",
        "sha256": "06b2064bc620f408f512dfb842f7c0cf29c6dae48fb5b10f0248c854dff1a487",
        "bytes": 107980
      }
    ]
  },
  "software": {
    "python": "3.14.3",
    "numpy": "2.4.6",
    "pandas": "2.3.3",
    "rasterio": "1.5.0",
    "gdal": "3.12.1"
  },
  "files": {
    "README.md": {
      "sha256": "c8aa05d1b869c461964f6e8ad414c48cc75df4aea685385fe469d579f9c48e3f",
      "bytes": 11851
    },
    "cloudberry-habitat.tif": {
      "sha256": "c6c80fa5d650f760ec8f648aa5e6e409e013df89eb030681710a843fc939a63c",
      "bytes": 3912115
    },
    "cloudberry-quality.tif": {
      "sha256": "c6df6dd4a7e29cc267a239811d2470a96497fcf61208308f2b16465e3c9e95f1",
      "bytes": 179181
    }
  }
}
