{
  "schemaVersion": 1,
  "purpose": "Source-linked Season1 parameter ledger and candidate semantics; no grid assignment, GEO.DAT generation, meteorology or plume run",
  "reviewedUtc": "2026-09-05T23:48:58.996716+00:00",
  "season": {
    "id": 1,
    "publishedName": "Mid-Summer",
    "definition": "Midsummer with lush vegetation",
    "selectionStatus": "candidate_for_June_not_observationally_confirmed",
    "evidence": "BC Table4.5 p27/PDF34 gives June Season1 for45–50N; accompanying text says month/latitude is a guide and selection should be corroborated with snow observations"
  },
  "authorityChoice": "Transcribe Table4.8 in full; do not silently substitute Table4.13 example or unchanged CALMET defaults",
  "parameterOrder": [
    "Z0",
    "ALBEDO",
    "BOWEN",
    "HCG",
    "QF",
    "XLAI"
  ],
  "parameters": [
    {
      "key": "Z0",
      "name": "surface roughness length",
      "unit": "m",
      "printedUnitOrLabel": "z0 (m)",
      "unitEvidence": "BC Table 4.13 p33/PDF40; provider Table 2-14 p2-58/PDF115",
      "weighting": "area_weighted_geometric"
    },
    {
      "key": "ALBEDO",
      "name": "albedo",
      "unit": "1",
      "printedUnitOrLabel": "Albedo (0 to 1)",
      "unitEvidence": "BC Table 4.13 p33/PDF40; provider Table 2-14 p2-58/PDF115",
      "weighting": "area_weighted_arithmetic"
    },
    {
      "key": "BOWEN",
      "name": "Bowen ratio",
      "unit": "1",
      "printedUnitOrLabel": "Bowen Ratio",
      "unitEvidence": "BC p25/PDF32 defines sensible/latent heat-flux ratio; Table 4.13 uses Ratio",
      "weighting": "area_weighted_arithmetic"
    },
    {
      "key": "HCG",
      "name": "soil heat-flux parameter",
      "unit": "1",
      "printedUnitOrLabel": "Soil Heat Flux Parameter",
      "unitEvidence": "BC Table 4.13 and provider Table 2-14 call this a parameter, without an explicit unit. Dimensionless coefficient follows from unchanged CALMET calmet.for8115: Qstar*(1-HCG). It is not a W/m2 heat flux.",
      "weighting": "area_weighted_arithmetic"
    },
    {
      "key": "QF",
      "name": "anthropogenic heat flux",
      "unit": "W m-2",
      "printedUnitOrLabel": "Anthropogenic Heat Flux (W/m2)",
      "unitEvidence": "BC Table 4.13 p33/PDF40; provider Table 2-14 p2-58/PDF115 prints W/m**2",
      "weighting": "area_weighted_arithmetic"
    },
    {
      "key": "XLAI",
      "name": "leaf area index",
      "unit": "1",
      "printedUnitOrLabel": "Leaf Area Index",
      "unitEvidence": "Dimensionless index; inspected tables do not define a one-sided/two-sided leaf-area convention. No such convention is inferred here.",
      "weighting": "area_weighted_arithmetic"
    }
  ],
  "rows": [
    {
      "calmetCode": 10,
      "printedDescription": "Urban",
      "printedTokens": {
        "Z0": "0.54",
        "ALBEDO": "0.16",
        "BOWEN": "0.8",
        "HCG": "0.25",
        "QF": "8.0",
        "XLAI": "0.3"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 20,
      "printedDescription": "Agricultural",
      "printedTokens": {
        "Z0": "0.20",
        "ALBEDO": "0.20",
        "BOWEN": "0.50",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "2.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 30,
      "printedDescription": "Rangeland",
      "printedTokens": {
        "Z0": "0.15",
        "ALBEDO": "0.20",
        "BOWEN": "0.5",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "1.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 32,
      "printedDescription": "Shrub",
      "printedTokens": {
        "Z0": "0.3",
        "ALBEDO": "0.18",
        "BOWEN": "1",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "4.5"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 40,
      "printedDescription": "Transition Forest",
      "printedTokens": {
        "Z0": "0.3",
        "ALBEDO": "0.18",
        "BOWEN": "1.0",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "4.5"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 41,
      "printedDescription": "Deciduous",
      "printedTokens": {
        "Z0": "1.30",
        "ALBEDO": "0.16",
        "BOWEN": "0.3",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "3.4"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 42,
      "printedDescription": "Coniferous",
      "printedTokens": {
        "Z0": "1.30",
        "ALBEDO": "0.12",
        "BOWEN": "0.3",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "5.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 43,
      "printedDescription": "Mixed",
      "printedTokens": {
        "Z0": "1.3",
        "ALBEDO": "0.14",
        "BOWEN": "0.3",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "4.5"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 51,
      "printedDescription": "Small Water Body",
      "printedTokens": {
        "Z0": "0.001",
        "ALBEDO": "0.1",
        "BOWEN": "0.1",
        "HCG": "1.00",
        "QF": "0.0",
        "XLAI": "0.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 55,
      "printedDescription": "Large Water Body",
      "printedTokens": {
        "Z0": "0.001",
        "ALBEDO": "0.1",
        "BOWEN": "0.1",
        "HCG": "1.00",
        "QF": "0.0",
        "XLAI": "0.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 60,
      "printedDescription": "Wetland",
      "printedTokens": {
        "Z0": "0.2",
        "ALBEDO": "0.14",
        "BOWEN": "0.1",
        "HCG": "0.3",
        "QF": "0.0",
        "XLAI": "0.2"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 61,
      "printedDescription": "Forested Wetland",
      "printedTokens": {
        "Z0": "0.7",
        "ALBEDO": "0.14",
        "BOWEN": "0.2",
        "HCG": "0.3",
        "QF": "0.0",
        "XLAI": "0.2"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 62,
      "printedDescription": "Non-forested Wetland",
      "printedTokens": {
        "Z0": "0.2",
        "ALBEDO": "0.14",
        "BOWEN": "0.1",
        "HCG": "0.3",
        "QF": "0.0",
        "XLAI": "0.2"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 70,
      "printedDescription": "Barren Land",
      "printedTokens": {
        "Z0": "0.05",
        "ALBEDO": "0.2",
        "BOWEN": "1.5",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "0.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    },
    {
      "calmetCode": 90,
      "printedDescription": "Perennial Snow or Ice",
      "printedTokens": {
        "Z0": "0.2",
        "ALBEDO": "0.7",
        "BOWEN": "0.5",
        "HCG": "0.15",
        "QF": "0.0",
        "XLAI": "0.0"
      },
      "source": {
        "id": "bc_guideline",
        "table": "4.8",
        "printedPage": "31",
        "pdfPage1Based": 38
      }
    }
  ],
  "sourceConflicts": [
    {
      "calmetCode": 32,
      "parameter": "XLAI",
      "Table4_8_token": "4.5",
      "Table4_13_token": "0.0",
      "status": "observed_internal_source_conflict_not_an_official_erratum",
      "candidateLedgerChoice": "4.5",
      "reason": "Explicitly chosen Season1 Table4.8 basis; preserve alternative for a declared sensitivity if root chooses",
      "locators": [
        "BC p31/PDF38",
        "BC p33/PDF40"
      ]
    }
  ],
  "weighting": {
    "authority": {
      "source": "provider_manual",
      "section": "2.3 MAKEGEO",
      "printedPage": "2-51",
      "pdfPage1Based": 108
    },
    "verifiedLevel": "published_manual_method; no MAKEGEO source or executable comparison",
    "fractions": "For a completely covered target cell with areas A_k, f_k=A_k/A_cell and sum(f_k)=1",
    "roughness": "z0_cell = (1 m) * exp(sum_k(f_k * ln(z0_k/(1 m))))",
    "otherFive": "P_cell = sum_k(f_k * P_k), P in ALBEDO,BOWEN,HCG,QF,XLAI",
    "geometryRequired": "Actual class area fractions on the chosen target grid; retained pixel-centre shares are not target-cell intersection areas",
    "candidateInputGuards": [
      "Reject unknown class coverage or declare its handling before weighting; do not silently renormalize away missing area.",
      "Require finite parameter values, positive roughness for the logarithm, and normalized valid fractions.",
      "Do not substitute the dominant category parameters for the documented fraction-weighted fields."
    ],
    "doNotImport": "AERMOD/AERMET inverse-distance roughness or geometric Bowen rules into MAKEGEO; MAKEGEO manual says arithmetic Bowen",
    "manualControlsRequiringExplicitDecision": {
      "CFRACT": {
        "sampleDefault": "0.5",
        "meaning": "Minimum water fraction for dominant water classification"
      },
      "IMISS": {
        "sampleDefault": "55",
        "meaning": "Category used when land-use data missing; must not silently convert uncovered cells to water"
      },
      "FLUMIN": {
        "sampleDefault": "0.96",
        "meaning": "Minimum total land-use fraction expected"
      },
      "LSNOW_and_snow_methods": {
        "meaning": "Separate snow adjustment controls exist; not established by the2020 land-cover classification"
      },
      "source": "Provider Tables2-14/2-15, printed2-57..2-58 and2-66..2-68/PDF114..115 and123..125"
    },
    "recommendedDominanceCandidate": {
      "status": "explicit_independent_candidate_convention_not_recovered_MAKEGEO_source_algorithm",
      "waterFractionThreshold": "0.5",
      "waterChoice": "If summed water fraction >=0.5, label dominant category generic water50.",
      "landChoice": "Otherwise choose the greatest aggregate area among non-water mapped classes; exact equal land areas choose the lowest code.",
      "basis": "The published CFRACT minimum-water-fraction gate supports using a half-cell threshold. >= at exact equality and deterministic land ties are declared candidate conventions; exact implementation not established.",
      "avoid": "Do not label water from largest-class plurality alone when total water is below0.5.",
      "sixParameterFields": "Continue weighting every covered class, including minority water; dominance does not replace fractional parameter calculation."
    },
    "notEstablishedFromInspectedManual": [
      "Exact dominant-class tie-breaking and CFRACT equality comparison",
      "Internal normalization or fallback for partly covered cells",
      "Numerical precision and output rounding of a specific MAKEGEO build",
      "Exact equivalence of a future independent GIS implementation to MAKEGEO"
    ]
  },
  "nalcmsCandidateCrosswalk": [
    {
      "nalcmsCode": 1,
      "nalcmsLabel": "Temperate or sub-polar needleleaf forest",
      "candidateCalmetCodes": [
        42
      ],
      "status": "candidate_semantic_match",
      "reason": "Needleleaf forest to coniferous; BC Table 4.14 coniferous classes map to42. No explicit NALCMS crosswalk recovered.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 6,
      "nalcmsLabel": "Mixed forest",
      "candidateCalmetCodes": [
        43,
        40
      ],
      "status": "unresolved_semantic_choice",
      "reason": "NALCMS Mixed forest does not resolve dense/open/sparse or transitional status. BC Table 4.14 maps dense mixedwood to43 but generic/open/sparse mixedwood to40; this is a different circa2000 taxonomy.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 8,
      "nalcmsLabel": "Temperate or sub-polar shrubland",
      "candidateCalmetCodes": [
        32
      ],
      "status": "candidate_semantic_match_with_parameter_conflict",
      "reason": "Shrubland to shrub; BC Tables4.7/4.14 support semantic match. Table4.8 XLAI4.5 conflicts with Table4.13 example XLAI0.0.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 10,
      "nalcmsLabel": "Temperate or sub-polar grassland",
      "candidateCalmetCodes": [
        30
      ],
      "status": "candidate_semantic_match",
      "reason": "Grassland to rangeland; BC Table4.14 explicitly maps its grassland110 to30, but it is not NALCMS10.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 14,
      "nalcmsLabel": "Wetland",
      "candidateCalmetCodes": [
        60
      ],
      "status": "candidate_generic_match",
      "reason": "Generic wetland to60. Inspected NALCMS legend does not identify forested61 versus non-forested62; do not infer either from the code.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 15,
      "nalcmsLabel": "Cropland",
      "candidateCalmetCodes": [
        20
      ],
      "status": "candidate_semantic_match",
      "reason": "Cropland to agricultural; BC Table4.14 agriculture/annual/perennial crop classes map to20. June crop status, moisture and irrigation are not established by the acquired categorical map.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 16,
      "nalcmsLabel": "Barren land",
      "candidateCalmetCodes": [
        70
      ],
      "status": "candidate_semantic_match",
      "reason": "Barren land to70. NALCMS16 is not the retained WRF raw LU_INDEX16 taxonomy.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 17,
      "nalcmsLabel": "Urban and built-up",
      "candidateCalmetCodes": [
        10
      ],
      "status": "candidate_semantic_match",
      "reason": "Urban/built-up to10. BC Table4.8 QF8.0 is a regional seasonal guidance value, not an acquired Woodfibre industrial heat inventory.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 18,
      "nalcmsLabel": "Water",
      "candidateCalmetCodes": [
        50
      ],
      "status": "candidate_generic_water_with_derived_parameter_row",
      "reason": "Generic water50 is documented by BC Table4.14 and provider Tables2-11/8-7. Parameters would be inherited explicitly from equal Table4.8 rows51/55; Table4.8 has no row50. No fresh/marine subdivision or overwater temperature configuration is thereby resolved.",
      "assignedToCells": false
    },
    {
      "nalcmsCode": 19,
      "nalcmsLabel": "Snow and ice",
      "candidateCalmetCodes": [
        90
      ],
      "status": "candidate_conditional_on_temporal_snow_interpretation",
      "reason": "Snow and ice to perennial snow/ice90 is a candidate semantic match; a2020 classification is not observed June2023 snow cover. Dynamic snow choices remain separate.",
      "assignedToCells": false
    }
  ],
  "derivedGenericWaterCandidate": {
    "calmetCode": 50,
    "description": "Generic Water",
    "status": "declared_derived_candidate_not_a_published_Table4.8_row",
    "printedTokensInheritedFrom51And55": {
      "Z0": "0.001",
      "ALBEDO": "0.1",
      "BOWEN": "0.1",
      "HCG": "1.00",
      "QF": "0.0",
      "XLAI": "0.0"
    },
    "valueSource": "BC Table4.8 rows51 and55 are identical for all six Season1 parameters",
    "categorySources": [
      "BC Table4.14 printed34/PDF41: Water→50",
      "Provider Table2-11 printed2-48/PDF105: sea and inland water both→default50",
      "Provider Table8-7 printed8-59/PDF324: Level I50 Water",
      "CALMET6.5 calmet.for1757–1773: ILUCAT includes50; default water range is55..55"
    ],
    "inputCompatibilityEvidence": "READGE28159–28170 accepts explicit ILUCAT and IWAT1/IWAT2; FILLGEO7088–7093 reads explicit gridded parameter fields. No model run made for this candidate.",
    "requiredCandidateControls": [
      "Explicitly include50 in output ILUCAT and the declared IWAT1..IWAT2 water range; do not inherit default55..55.",
      "Use explicit six gridded parameter fields or an explicit matching category table; built-in values differ from BCSeason1 (e.g. water Bowen0.0 versus0.1)."
    ],
    "notResolved": [
      "JWAT1/JWAT2 offshore temperature interpolation",
      "SST/air-temperature source and supported prognostic alternatives",
      "Seasonal and dynamic snow controls",
      "Water-versus-land dominance threshold and exact tie behaviour"
    ],
    "assignedToCells": false
  },
  "presentNalcmsCodesFromRetainedCounts": [
    1,
    6,
    8,
    10,
    14,
    15,
    16,
    17,
    18,
    19
  ],
  "mappingLimits": [
    "BC Tables4.7 and4.14 cover BTM and circa2000 GeoGratis taxonomies, respectively, not an explicit2020NALCMS crosswalk.",
    "No acquired2020NALCMS code is interpreted as raw WRF LU_INDEX.",
    "The10present legend classes are covered by candidates, but mixed-forest and temporal surface assumptions remain declared choices.",
    "No pixel/cell has been assigned a parameter by this task."
  ],
  "sources": [
    {
      "path": "work/prediction-method/bc-guideline-2026.pdf",
      "bytes": 2005095,
      "sha256": "913ae06ba4f369772a6dc11728bb3d9495b73068cacdddc9f7923b630324d313",
      "id": "bc_guideline",
      "title": "British Columbia Air Quality Dispersion Modelling Guideline",
      "version": "July 2026",
      "url": "https://www2.gov.bc.ca/assets/gov/environment/air-land-water/air/reports-pub/bc_dispersion_modelling_guideline.pdf",
      "access": "Previously retained PDF read locally; no new request this task"
    },
    {
      "path": "work/bc-wrf-access/pilot/format-review/private-reference/CALPUFF_Version6_UserInstructions.pdf",
      "bytes": 4874721,
      "sha256": "953b4cb885d67480ad54c8c0d897df5166e68135bb3079c684bfa8c1c00750fe",
      "id": "provider_manual",
      "title": "CALPUFF Modeling System Version 6 User Instructions",
      "version": "April 2011",
      "url": "https://www.calpuff.org/calpuff/download/CALPUFF_Version6_UserInstructions.pdf",
      "access": "Previously retained provider reference read locally; no software download or run"
    },
    {
      "path": "work/calmet65-local/build/native-650-150223/calmet.for",
      "bytes": 1499525,
      "sha256": "fc7fda7cb7e7932f67eb0ce1fb94f1d81a2084063a1dbf797b3270b460b7ee6f",
      "id": "calmet_code",
      "title": "CALMET source",
      "version": "6.5.0 Level 150223",
      "url": "https://www.calpuff.org/calpuff/download/Mod7_Files/CALMET_v6.5.0_L150223.zip",
      "access": "Unchanged retained source inspected locally; not MAKEGEO source"
    },
    {
      "path": "work/canadian-landcover/source/ClassIndex_v2.pdf",
      "bytes": 132292,
      "sha256": "827bfbfb92559f46b3c9484f40f9549d0bcfd345ae184145fa8f573549dabe46",
      "id": "nalcms_legend",
      "title": "ClassIndex_v2 legend",
      "url": "https://datacube-prod-data-public.s3.ca-central-1.amazonaws.com/store/land/landcover/ClassIndex_v2.pdf",
      "version": "Retained legend for acquired 2020 land cover; actual revision history not recovered",
      "access": "Previously acquired PDF. September 2025 PDF modification date is not proof of a legend revision"
    }
  ],
  "softwareSearch": {
    "scope": "Bounded retained-work filename inventory for MAKEGEO, CTGPROC and CTGPROG plus retained CALMET source manifests",
    "result": "No MAKEGEO/CTGPROC/CTGPROG source or executable identified by that inventory. This is not a claim about every uninspected archive or public availability.",
    "newDownloads": 0,
    "newExecutableRuns": 0
  }
}
