{
  "publisher": {
    "name": "ColdMatch Group",
    "url": "https://coldmatchgroup.com",
    "@id": "https://coldmatchgroup.com/#organization"
  },
  "documentUrl": "https://coldmatchgroup.com/calculator-methodology",
  "engineVersion": "1.0.0",
  "generated": "2026-08-21",
  "notice": "All calculators are preliminary planning tools. ColdMatch Group does not manufacture equipment, does not provide regulated engineering certification and is not a lender. Final technical design, machine selection, supplier quotation, performance guarantee, financing terms, tax treatment and engineering approval must be confirmed by the responsible qualified third party.",
  "calculators": [
    {
      "calculatorId": "equipment-roi",
      "calculatorName": "Refrigeration equipment & retrofit ROI calculator",
      "calculationVersion": "2.0.0",
      "url": "https://coldmatchgroup.com/tools/roi",
      "purpose": "Turn an equipment or retrofit scope into an installed investment figure and the four investment measures a board actually needs: simple payback, discounted payback, NPV and IRR.",
      "applicableIndustries": [
        "Food & beverage",
        "Seafood",
        "Meat & poultry",
        "Dairy",
        "Pharmaceutical",
        "3PL cold storage"
      ],
      "applicableEquipment": [
        "Compressor packs",
        "Evaporators & condensers",
        "VFD retrofits",
        "Controls",
        "Envelope & door upgrades",
        "NH₃/CO₂ plant"
      ],
      "applicableCountries": "global",
      "inputs": [
        {
          "id": "equipmentCost",
          "label": "Equipment purchase cost",
          "unit": "currency",
          "required": true
        },
        {
          "id": "freightDuty",
          "label": "Freight, insurance, duties and clearance",
          "unit": "currency"
        },
        {
          "id": "installation",
          "label": "Installation, civil, electrical and commissioning",
          "unit": "currency"
        },
        {
          "id": "spares",
          "label": "Training and initial spare parts",
          "unit": "currency"
        },
        {
          "id": "workingCapital",
          "label": "Working-capital effect at start-up",
          "unit": "currency"
        },
        {
          "id": "annualBenefit",
          "label": "Annual gross benefit (energy saved, output gained, losses avoided)",
          "unit": "currency/year",
          "required": true
        },
        {
          "id": "annualOpex",
          "label": "Additional annual operating and maintenance cost",
          "unit": "currency/year"
        },
        {
          "id": "usefulLife",
          "label": "Useful life",
          "unit": "years",
          "defaultValue": "10",
          "defaultValueSource": "Declared planning assumption — typical industrial refrigeration asset life before major overhaul."
        },
        {
          "id": "residualValue",
          "label": "Residual value at end of life",
          "unit": "currency"
        },
        {
          "id": "discountRate",
          "label": "Discount rate",
          "unit": "% per year",
          "defaultValue": "10",
          "defaultValueSource": "Declared planning assumption; replace with your own cost of capital."
        }
      ],
      "formula": [
        "installedInvestment = equipmentCost + freightDuty + installation + spares + workingCapital",
        "annualNetBenefit = annualGrossBenefit − annualOperatingCost",
        "simplePayback (years) = installedInvestment ÷ annualNetBenefit",
        "NPV = −installedInvestment + Σ(annualNetBenefit ÷ (1+r)^t) + residualValue ÷ (1+r)^n",
        "discountedPayback = first year where cumulative discounted cash flow ≥ 0 (interpolated)",
        "IRR = r where NPV = 0, solved by bisection over −95% … 1000%",
        "annualROI = annualNetBenefit ÷ installedInvestment",
        "lifetimeROI = (annualNetBenefit × n + residualValue − installedInvestment) ÷ installedInvestment"
      ],
      "outputs": [
        {
          "id": "installedInvestment",
          "label": "Total installed investment",
          "unit": "currency",
          "meaning": "Everything you must fund before the asset earns anything — not the equipment price."
        },
        {
          "id": "simplePayback",
          "label": "Simple payback",
          "unit": "years",
          "meaning": "Undiscounted. A screening measure only; it ignores the time value of money and everything after payback."
        },
        {
          "id": "discountedPayback",
          "label": "Discounted payback",
          "unit": "years",
          "meaning": "Payback after applying your discount rate — always longer than simple payback."
        },
        {
          "id": "npv",
          "label": "NPV",
          "unit": "currency",
          "meaning": "Value created over the life at your discount rate. Positive means the project beats the hurdle."
        },
        {
          "id": "irr",
          "label": "IRR",
          "unit": "% per year",
          "meaning": "The discount rate at which NPV is zero. Returns 'not defined' when the cash flows never turn positive."
        },
        {
          "id": "annualRoi",
          "label": "Annual ROI",
          "unit": "%",
          "meaning": "Accounting ratio, not a discounted return. Do not read it as an investment return."
        },
        {
          "id": "breakEven",
          "label": "Break-even annual benefit",
          "unit": "currency/year",
          "meaning": "The annual net benefit at which the project just recovers its capex over the chosen life."
        }
      ],
      "assumptions": [
        "The annual benefit is treated as level across the useful life unless you flex it with a sensitivity scenario.",
        "Cash flows occur at year end; the investment occurs at time zero.",
        "Sensitivity bands (conservative −20% benefit / +15% capex, upside +10% benefit / −5% capex) are declared planning assumptions, not market data."
      ],
      "currencyPolicy": "All amounts are entered and returned in a single currency chosen by the user; no FX conversion is applied inside the model.",
      "inflationPolicy": "Figures are in constant money-of-the-day. Escalation is applied only where the tool exposes an explicit escalation input.",
      "taxTreatment": "Amounts are stated excluding recoverable VAT/GST. Import duties are only included where entered as an input. No tax-shield, depreciation or corporate-tax effect is modelled.",
      "limitations": [
        "No depreciation, tax shield or financing cost is inside the cash flows — model debt separately in the financing calculator.",
        "A single level benefit stream cannot represent ramp-up, seasonality or staged commissioning.",
        "Energy savings depend on the existing plant's real condition; a poorly maintained plant can under- or over-deliver against the estimate."
      ],
      "exclusions": [
        "Land",
        "Building shell beyond stated civil works",
        "Grid reinforcement beyond standard service",
        "Corporate overhead",
        "Downtime cost during installation"
      ],
      "mustBeConfirmedBy": [
        "Equipment cost and scope — qualified supplier quotation",
        "Installation and civil scope — appointed contractor",
        "Discount rate, tax treatment and depreciation — your accountant",
        "Guaranteed energy performance — supplier performance guarantee"
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "ColdMatch Group project engineering desk",
      "confidenceClassification": "engineering-standard"
    },
    {
      "calculatorId": "project-capex",
      "calculatorName": "Cold storage project CAPEX, OPEX and total-cost estimator",
      "calculationVersion": "2.0.0",
      "url": "https://coldmatchgroup.com/tools/project-cost",
      "purpose": "Separate equipment-only cost from installed cost and full project cost, then extend it to annual OPEX, lifetime total cost of ownership and cost per m³ per year.",
      "applicableIndustries": [
        "Food & beverage",
        "Seafood",
        "Meat & poultry",
        "Horticulture",
        "Pharmaceutical",
        "3PL cold storage"
      ],
      "applicableEquipment": [
        "Cold rooms",
        "Freezer warehouses",
        "Blast freezers",
        "Refrigerated distribution centres"
      ],
      "applicableCountries": "global",
      "inputs": [
        {
          "id": "volume",
          "label": "Facility volume",
          "unit": "m³",
          "required": true
        },
        {
          "id": "temperatureClass",
          "label": "Temperature class",
          "unit": "chilled / frozen / blast / pharma",
          "required": true
        },
        {
          "id": "region",
          "label": "Region",
          "unit": "region multiplier",
          "defaultValueSource": "ColdMatch planning benchmark band by region; a range, never a quotation."
        },
        {
          "id": "scope",
          "label": "Scope of work",
          "unit": "equipment-only / supply & install / turnkey",
          "required": true
        },
        {
          "id": "contingencyPct",
          "label": "Contingency",
          "unit": "% of installed capex",
          "defaultValue": "10",
          "defaultValueSource": "Declared planning assumption for a defined scope; use 15–20% for an undefined scope."
        },
        {
          "id": "energyPrice",
          "label": "Electricity tariff",
          "unit": "currency/kWh",
          "defaultValueSource": "User input — no tariff is pre-filled by country because tariffs change faster than we can verify them."
        }
      ],
      "formula": [
        "equipmentOnlyCapex = coreEquipment + auxiliaryEquipment",
        "landedEquipmentCapex = equipmentOnlyCapex + freight + insurance + duties",
        "installedCapex = landedEquipmentCapex + installation + civil + electrical + utilities + automation + commissioning + training + spares",
        "projectCapex = installedCapex × (1 + contingency%)",
        "fundingRequirement = projectCapex + workingCapital",
        "annualOpex = energy + labour + maintenance + consumables + insurance + service + other",
        "TCO = fundingRequirement + Σ(annualOpex × (1+escalation)^t) − residualValue",
        "costPerSaleableUnit = TCO ÷ (annualUnits × years)"
      ],
      "outputs": [
        {
          "id": "equipmentOnlyCapex",
          "label": "Equipment-only CAPEX",
          "unit": "currency",
          "meaning": "What a supplier quotes ex-works. Never the project budget."
        },
        {
          "id": "installedCapex",
          "label": "Installed CAPEX",
          "unit": "currency",
          "meaning": "Equipment landed, installed, commissioned and handed over."
        },
        {
          "id": "projectCapex",
          "label": "Project CAPEX",
          "unit": "currency",
          "meaning": "Installed cost plus contingency — the number to take to a board or lender."
        },
        {
          "id": "annualOpex",
          "label": "Annual OPEX",
          "unit": "currency/year",
          "meaning": "Recurring cost of running the facility at the assumed load."
        },
        {
          "id": "tco",
          "label": "Total cost of ownership",
          "unit": "currency",
          "meaning": "Funding requirement plus lifetime OPEX, less residual value."
        },
        {
          "id": "costPerM3Year",
          "label": "Cost per m³ per year",
          "unit": "currency/m³/year",
          "meaning": "The comparable unit for benchmarking one facility design against another."
        }
      ],
      "assumptions": [
        "Regional bands are ColdMatch planning benchmarks derived from briefing suppliers, expressed as ranges and dated. They are not quotations.",
        "Contingency defaults to 10% of installed cost for a defined scope.",
        "Escalation applies to OPEX only."
      ],
      "currencyPolicy": "All amounts are entered and returned in a single currency chosen by the user; no FX conversion is applied inside the model.",
      "inflationPolicy": "Figures are in constant money-of-the-day. Escalation is applied only where the tool exposes an explicit escalation input.",
      "taxTreatment": "Amounts are stated excluding recoverable VAT/GST. Import duties are only included where entered as an input. No tax-shield, depreciation or corporate-tax effect is modelled.",
      "limitations": [
        "Order-of-magnitude accuracy: a class-5 estimate, typically ±30–40% until a supplier prices the actual scope.",
        "Site-specific ground conditions, seismic requirements and grid reinforcement can move civil and electrical cost far outside the band."
      ],
      "exclusions": [
        "Land acquisition",
        "Permits and statutory fees",
        "Racking and MHE unless entered",
        "Grid upgrades beyond a standard service connection",
        "Financing cost",
        "Owner's project team"
      ],
      "mustBeConfirmedBy": [
        "Supplier quotation for equipment",
        "Local contractor for civil, electrical and installation",
        "Utility for the service connection",
        "Customs broker for duties"
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "ColdMatch Group project engineering desk",
      "confidenceClassification": "planning-benchmark"
    },
    {
      "calculatorId": "production-capacity",
      "calculatorName": "Cold chain capacity & saleable-output calculator",
      "calculationVersion": "2.0.0",
      "url": "https://coldmatchgroup.com/tools/warehouse-capacity-planner",
      "purpose": "Convert nameplate throughput into realistic saleable output using availability, performance and quality, and size the plant needed to meet a required output.",
      "applicableIndustries": [
        "Food processing",
        "Seafood",
        "Meat & poultry",
        "Horticulture packhouses",
        "3PL cold storage"
      ],
      "applicableEquipment": [
        "Blast freezers",
        "IQF lines",
        "Packhouse lines",
        "Refrigerated DCs"
      ],
      "applicableCountries": "global",
      "inputs": [
        {
          "id": "ratedThroughput",
          "label": "Rated machine throughput",
          "unit": "units/hour",
          "required": true
        },
        {
          "id": "hoursPerShift",
          "label": "Operating hours per shift",
          "unit": "hours",
          "required": true
        },
        {
          "id": "shiftsPerDay",
          "label": "Shifts per day",
          "unit": "count",
          "required": true
        },
        {
          "id": "operatingDays",
          "label": "Operating days per year",
          "unit": "days",
          "required": true
        },
        {
          "id": "plannedDowntime",
          "label": "Planned downtime",
          "unit": "hours/year"
        },
        {
          "id": "availability",
          "label": "Availability",
          "unit": "0–1"
        },
        {
          "id": "performance",
          "label": "Performance efficiency",
          "unit": "0–1"
        },
        {
          "id": "quality",
          "label": "Quality yield",
          "unit": "0–1"
        },
        {
          "id": "changeover",
          "label": "Changeover time",
          "unit": "minutes/day"
        },
        {
          "id": "requiredOutput",
          "label": "Required saleable output",
          "unit": "units/year"
        },
        {
          "id": "sizingMargin",
          "label": "Sizing margin",
          "unit": "%"
        }
      ],
      "formula": [
        "theoreticalOutput = ratedThroughput × 8,760 h",
        "plannedAvailableHours = hoursPerShift × shifts × days − plannedDowntime − changeoverHours",
        "grossOutput = ratedThroughput × plannedAvailableHours",
        "effectiveOutput = grossOutput × availability × performance",
        "saleableOutput = effectiveOutput × quality",
        "OEE = availability × performance × quality",
        "utilisation = saleableOutput ÷ theoreticalOutput",
        "requiredRatedThroughput = requiredOutput × (1 + sizingMargin) ÷ (plannedAvailableHours × OEE)"
      ],
      "outputs": [
        {
          "id": "theoretical",
          "label": "Theoretical capacity",
          "unit": "units/year",
          "meaning": "24/7 nameplate. Never a commercial expectation — it exists only as a reference."
        },
        {
          "id": "saleable",
          "label": "Saleable output",
          "unit": "units/year",
          "meaning": "The number to plan sales, storage and revenue on."
        },
        {
          "id": "oee",
          "label": "OEE",
          "unit": "%",
          "meaning": "The share of scheduled time that produces good product at rated speed."
        },
        {
          "id": "gap",
          "label": "Capacity gap",
          "unit": "units/year",
          "meaning": "Shortfall against your requirement. Positive means the line is undersized."
        },
        {
          "id": "recommendedRating",
          "label": "Recommended rated throughput",
          "unit": "units/hour",
          "meaning": "The nameplate rating to specify in the RFQ, including your sizing margin."
        }
      ],
      "assumptions": [
        "Availability, performance and quality are user inputs; no default is presented as an industry norm for your product.",
        "Seasonality is not modelled — enter the peak-week requirement when the line must be sized for a peak."
      ],
      "currencyPolicy": "Not applicable — this model has no monetary inputs.",
      "inflationPolicy": "Not applicable.",
      "taxTreatment": "Not applicable.",
      "limitations": [
        "A single OEE cannot represent a line with a bottleneck machine at a different efficiency; model the bottleneck.",
        "Product mix changes the effective rate; run the model per product family."
      ],
      "exclusions": [
        "Upstream/downstream buffer sizing",
        "Labour scheduling",
        "Cold-side pull-down time for the stored product"
      ],
      "mustBeConfirmedBy": [
        "Machine builder for rated throughput on your product",
        "Plant management for realistic availability",
        "Process engineer for yield"
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "ColdMatch Group project engineering desk",
      "confidenceClassification": "engineering-standard"
    },
    {
      "calculatorId": "financing-scenario",
      "calculatorName": "Cold chain project financing scenario calculator",
      "calculationVersion": "2.0.0",
      "url": "https://coldmatchgroup.com/tools/financing-calculator",
      "purpose": "Model an illustrative debt structure for a cold chain project: repayment, interest, grace period, debt/equity split and indicative DSCR.",
      "applicableIndustries": [
        "Food & beverage",
        "Agriculture",
        "Seafood",
        "Logistics",
        "Pharmaceutical"
      ],
      "applicableEquipment": [
        "Turnkey cold storage projects",
        "Equipment packages"
      ],
      "applicableCountries": "global",
      "inputs": [
        {
          "id": "projectValue",
          "label": "Total project value",
          "unit": "currency",
          "required": true
        },
        {
          "id": "equityPct",
          "label": "Sponsor equity",
          "unit": "% of project value",
          "required": true
        },
        {
          "id": "ratePct",
          "label": "Interest rate",
          "unit": "% per year",
          "required": true,
          "defaultValueSource": "User input. No country interest rate is pre-filled — pricing is set by the lender, not by ColdMatch."
        },
        {
          "id": "tenor",
          "label": "Tenor",
          "unit": "years",
          "required": true
        },
        {
          "id": "graceMonths",
          "label": "Grace period",
          "unit": "months"
        },
        {
          "id": "arrangementFeePct",
          "label": "Arrangement and structuring fees",
          "unit": "% of debt"
        },
        {
          "id": "ebitda",
          "label": "Projected annual cash flow available for debt service",
          "unit": "currency/year"
        }
      ],
      "formula": [
        "debt = projectValue × (1 − equity%)",
        "periodicRate i = annualRate ÷ 12",
        "grace: interest-only payment = outstanding × i, or capitalised into the principal",
        "payment = principal × i ÷ (1 − (1+i)^−n) over the repayment periods",
        "totalInterest = Σ interest of every period",
        "DSCR = annual cash flow available for debt service ÷ annual debt service",
        "debt/equity = debt ÷ equity"
      ],
      "outputs": [
        {
          "id": "debt",
          "label": "Estimated debt amount",
          "unit": "currency",
          "meaning": "The amount to be raised, before lender fees and conditions."
        },
        {
          "id": "payment",
          "label": "Periodic payment",
          "unit": "currency/month",
          "meaning": "Level annuity payment during the repayment phase."
        },
        {
          "id": "totalInterest",
          "label": "Total interest",
          "unit": "currency",
          "meaning": "Interest over the full tenor at the entered rate, including any grace-period interest."
        },
        {
          "id": "dscr",
          "label": "Indicative DSCR",
          "unit": "ratio",
          "meaning": "Cash flow cover on debt service. Lenders typically look for comfortable headroom above 1.0; the required level is set by the lender."
        },
        {
          "id": "readiness",
          "label": "Preparation status",
          "unit": "classification",
          "meaning": "A neutral readiness note on your own inputs. It is never a credit decision, eligibility statement or approval."
        }
      ],
      "assumptions": [
        "Level annuity repayment with monthly rests unless stated otherwise.",
        "Fees are modelled as a percentage of debt and can be capitalised or paid up front.",
        "The cash flow you enter is assumed constant across the tenor."
      ],
      "currencyPolicy": "All amounts are entered and returned in a single currency chosen by the user; no FX conversion is applied inside the model.",
      "inflationPolicy": "Figures are in constant money-of-the-day. Escalation is applied only where the tool exposes an explicit escalation input.",
      "taxTreatment": "No tax shield on interest is modelled.",
      "limitations": [
        "ColdMatch Group is not a lender or financing institution. Eligibility, credit decisions, security, pricing, repayment terms and disbursement are determined exclusively by the relevant financing institution.",
        "Real facilities carry covenants, security, insurance requirements, commitment fees and drawdown schedules that this model does not represent.",
        "Export-credit and development-finance structures follow different repayment profiles (often straight-line) than the annuity used here."
      ],
      "exclusions": [
        "Currency risk and hedging cost",
        "Legal and security-perfection costs",
        "Political-risk or credit insurance premia",
        "Withholding tax on interest"
      ],
      "mustBeConfirmedBy": [
        "The financing institution for all terms",
        "Your accountant for tax treatment",
        "Legal counsel for security and covenants"
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "ColdMatch Group project engineering desk",
      "confidenceClassification": "illustrative-assumption"
    },
    {
      "calculatorId": "refrigeration-load-calculator",
      "calculatorName": "Cold room refrigeration load calculator",
      "calculationVersion": "2.0.0",
      "url": "https://coldmatchgroup.com/tools/refrigeration-load-calculator",
      "purpose": "Break a cold room's heat load into its four real components — transmission, product, infiltration and internal gains — and convert them into an indicative design refrigeration duty in kW and TR for supplier enquiry.",
      "applicableIndustries": [
        "Food & beverage",
        "Seafood",
        "Meat & poultry",
        "Dairy",
        "Fresh produce",
        "Pharmaceutical",
        "3PL cold storage"
      ],
      "applicableEquipment": [
        "Chilled rooms",
        "Freezer rooms",
        "Ripening and pre-cooling rooms",
        "Packhouse cold rooms"
      ],
      "applicableCountries": "global",
      "inputs": [
        {
          "id": "floorArea",
          "label": "Internal floor area",
          "unit": "m²",
          "required": true
        },
        {
          "id": "height",
          "label": "Internal clear height",
          "unit": "m",
          "required": true
        },
        {
          "id": "roomTemp",
          "label": "Room set-point",
          "unit": "°C",
          "required": true
        },
        {
          "id": "ambientTemp",
          "label": "Ambient design temperature",
          "unit": "°C",
          "required": true,
          "defaultValueSource": "User input. Use the local summer design condition, not the annual average — no country value is pre-filled."
        },
        {
          "id": "uValue",
          "label": "Envelope U-value",
          "unit": "W/m²K",
          "defaultValue": "0.22",
          "defaultValueSource": "Typical 100–150 mm PIR sandwich panel. Replace with the panel manufacturer's declared value."
        },
        {
          "id": "productKgPerDay",
          "label": "Daily product intake",
          "unit": "kg/day"
        },
        {
          "id": "productInletTemp",
          "label": "Product entry temperature",
          "unit": "°C"
        },
        {
          "id": "cpAbove",
          "label": "Specific heat above freezing",
          "unit": "kJ/kg·K",
          "defaultValueSource": "Published food-property tables; product-specific values must be confirmed for the actual commodity."
        },
        {
          "id": "latentHeat",
          "label": "Latent heat of fusion",
          "unit": "kJ/kg",
          "defaultValueSource": "Applied only when the product crosses its freezing point inside the room."
        },
        {
          "id": "pullDownHours",
          "label": "Pull-down period",
          "unit": "hours"
        },
        {
          "id": "doorArea",
          "label": "Door opening area",
          "unit": "m²"
        },
        {
          "id": "doorOpeningsPerDay",
          "label": "Door openings per day",
          "unit": "count/day"
        },
        {
          "id": "infiltrationControl",
          "label": "Infiltration control effectiveness",
          "unit": "% reduction",
          "defaultValueSource": "Editorial planning assumption for strip curtains, air curtains or an anteroom. Confirm with the door supplier."
        },
        {
          "id": "runHoursPerDay",
          "label": "Compressor running hours",
          "unit": "hours/day",
          "defaultValue": "18",
          "defaultValueSource": "Common design basis allowing for defrost and part-load; set by the designer."
        },
        {
          "id": "safetyMargin",
          "label": "Engineering safety margin",
          "unit": "%",
          "defaultValue": "15",
          "defaultValueSource": "Editorial planning allowance for uncertainty. The engineer sets the real margin and redundancy philosophy."
        }
      ],
      "formula": [
        "transmission = U × (wall + roof×(1+solar) + floor area) × (ambient − room) ÷ 1000",
        "product sensible = m × cp × ΔT ÷ (pull-down seconds), split above/below the freezing point",
        "product latent = m × latent heat ÷ (pull-down seconds), only when the product crosses its freezing point",
        "respiration = stored tonnes × W/tonne ÷ 1000",
        "infiltration = doorway air volume × density × (sensible + latent enthalpy) × (1 − control) ÷ 86400",
        "internal = lighting + people + MHE + evaporator fans + defrost allowance",
        "average load = transmission + product + infiltration + internal",
        "design duty = average load × 24 ÷ compressor running hours",
        "design with margin = design duty × (1 + safety margin); TR = kW ÷ 3.51685"
      ],
      "outputs": [
        {
          "id": "components",
          "label": "Load by component",
          "unit": "kW",
          "meaning": "Transmission, product, infiltration and internal gains shown separately so the dominant driver is visible."
        },
        {
          "id": "averageLoadKw",
          "label": "Average 24 h load",
          "unit": "kW refrigeration",
          "meaning": "Heat that must be removed from the room per day, averaged over 24 hours."
        },
        {
          "id": "designWithMarginKw",
          "label": "Design refrigeration duty",
          "unit": "kW refrigeration",
          "meaning": "Duty to quote to suppliers, over the stated running hours and including the safety margin. This is refrigeration kW, not electrical kW."
        },
        {
          "id": "designTons",
          "label": "Design duty",
          "unit": "TR",
          "meaning": "The same duty in tons of refrigeration (1 TR = 3.51685 kW)."
        },
        {
          "id": "uncertainty",
          "label": "Planning uncertainty band",
          "unit": "kW range",
          "meaning": "Range within which a proper engineered calculation is likely to land, widened when infiltration or product load dominates."
        },
        {
          "id": "impliedWPerM3",
          "label": "Implied W/m³",
          "unit": "W/m³",
          "meaning": "A sanity-check figure derived from the result. It is an output, never an input rule."
        }
      ],
      "assumptions": [
        "Square-plan room approximation for wall area; a long narrow room has more envelope for the same floor area.",
        "A 10 % solar uplift is applied to the roof element unless changed.",
        "Evaporator fan heat is taken as 6 % of the other components when fan power is not entered.",
        "Infiltration uses a temperature-driven doorway exchange with a humidity-dependent latent share."
      ],
      "currencyPolicy": "Not applicable — this model returns thermal duty only.",
      "inflationPolicy": "Not applicable.",
      "taxTreatment": "Not applicable.",
      "limitations": [
        "This is a preliminary planning estimate, not a thermal-load calculation by a qualified refrigeration engineer.",
        "Simplified W/m³ screening figures are early-stage only and are labelled as such; they should never be used to select equipment.",
        "Blast freezing, IQF tunnels, ripening rooms and controlled-atmosphere storage have dynamic loads this steady-state model does not represent.",
        "Floor loads on ground slabs, under-floor heating, and hot-gas defrost interactions are approximated."
      ],
      "exclusions": [
        "Refrigerant selection and safety assessment",
        "Pressure-system and electrical design",
        "Structural and fire/life-safety design",
        "Pipework and pressure-drop losses",
        "Local regulatory approval"
      ],
      "mustBeConfirmedBy": [
        "A qualified refrigeration engineer for the final thermal load and equipment selection",
        "The panel and door suppliers for declared U-values and infiltration performance",
        "The selected supplier for guaranteed capacity at the specified ambient and evaporating temperatures",
        "The local authority for safety and regulatory requirements"
      ],
      "reviewedDate": "2026-08-21",
      "reviewedBy": "ColdMatch Group project engineering desk",
      "confidenceClassification": "engineering-standard"
    }
  ]
}