{
 "name": "GenetixBay grow-room calculators",
 "version": 1,
 "url": "https://genetixbay.com/knowledge/tools/",
 "module": "https://genetixbay.com/assets/calc-core.js",
 "license": {
  "name": "CC BY-SA 4.0",
  "url": "https://creativecommons.org/licenses/by-sa/4.0/",
  "attribution": "GenetixBay Knowledge Base (genetixbay.com/knowledge)"
 },
 "constants": {
  "BTU_PER_W": {
   "v": 3.412,
   "unit": "BTU/h per W",
   "label": "Every watt drawn from the wall becomes 3.412 BTU/h of heat in the room, whatever the device",
   "ev": "Established",
   "src": [
    "nist_si",
    "ashrae_fund",
    "gb_led"
   ]
  },
  "BTU_PER_TON": {
   "v": 12000,
   "unit": "BTU/h per ton",
   "label": "One ton of cooling",
   "ev": "Established",
   "src": [
    "ashrae_fund"
   ]
  },
  "FT3_PER_M3": {
   "v": 35.3147,
   "unit": "ft³ per m³",
   "label": "Volume conversion",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "M3H_PER_CFM": {
   "v": 1.699,
   "unit": "m³/h per CFM",
   "label": "Airflow conversion",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "L_PER_GAL": {
   "v": 3.78541,
   "unit": "L per US gal",
   "label": "Water conversion",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "PINT_PER_L": {
   "v": 2.11338,
   "unit": "US pints per L",
   "label": "Dehumidifier ratings are in US pints/day",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "KG_PER_LB": {
   "v": 0.453592,
   "unit": "kg per lb",
   "label": "Mass conversion",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "SENSIBLE_AIR": {
   "v": 1.08,
   "unit": "BTU/h per CFM per °F",
   "label": "Heat one CFM of standard air carries per °F of temperature rise (60 min × 0.075 lb/ft³ × 0.24 BTU/lb·°F)",
   "ev": "Established",
   "src": [
    "ashrae_fund"
   ]
  },
  "EXCHANGE_MIN": {
   "v": 1,
   "unit": "minutes",
   "label": "Default: replace the whole tent's air once a minute (the KB range is every 1–3 minutes)",
   "ev": "Grower practice",
   "src": [
    "gb_airflow"
   ]
  },
  "FILTER_STD": {
   "v": 1.25,
   "unit": "×",
   "label": "Carbon filter airflow loss, typical",
   "ev": "Grower practice",
   "src": [
    "gb_airflow"
   ]
  },
  "FILTER_HEAVY": {
   "v": 1.5,
   "unit": "×",
   "label": "Carbon filter loss, thick bed, pre-filter or an older loaded filter",
   "ev": "Grower practice",
   "src": [
    "gb_airflow"
   ]
  },
  "DUCT_PER_M": {
   "v": 0.03,
   "unit": "+ per metre",
   "label": "Duct run loss: about +3% per metre (+10% per 10 ft) of smooth duct",
   "ev": "Grower practice (rule of thumb; real loss depends on duct type and speed)",
   "src": [
    "ashrae_fund",
    "amca_210"
   ]
  },
  "BEND_90": {
   "v": 0.15,
   "unit": "+ per bend",
   "label": "Each 90° bend: about +15% (more for tight or crushed flex duct)",
   "ev": "Grower practice (rule of thumb)",
   "src": [
    "ashrae_fund",
    "amca_210"
   ]
  },
  "HEADROOM": {
   "v": 0.25,
   "unit": "+",
   "label": "Speed-controller headroom so the fan runs near 75–80% instead of flat out",
   "ev": "Grower practice",
   "src": [
    "gb_airflow"
   ]
  },
  "MIN_DT_F": {
   "v": 2,
   "unit": "°F",
   "label": "Below about 2 °F (1 °C) between intake air and your maximum, exhaust alone cannot cool the space",
   "ev": "Established (follows from q = 1.08 × CFM × ΔT)",
   "src": [
    "ashrae_fund"
   ]
  },
  "FAN_W_PER_CFM": {
   "v": 0.12,
   "unit": "W per rated CFM",
   "label": "Rough power draw of an EC mixed-flow inline fan at full speed (for the planner's electrical total)",
   "ev": "Estimate",
   "src": [
    "market_fans"
   ]
  },
  "INTAKE_RATIO": {
   "v": 2.5,
   "unit": "× exhaust duct area",
   "label": "Passive intake opening area (KB rule of thumb 2–3×; we default to the middle)",
   "ev": "Grower practice",
   "src": [
    "gb_airflow",
    "gb_house"
   ]
  },
  "MESH_FREE": {
   "v": 0.6,
   "unit": "open fraction",
   "label": "Bug mesh or a pre-filter sock leaves roughly 60% of the hole open",
   "ev": "Estimate",
   "src": [
    "gb_airflow"
   ]
  },
  "INTAKE_FAN": {
   "v": 0.75,
   "unit": "× exhaust airflow",
   "label": "If you do fit an intake fan, keep it at about 70–80% of the exhaust so the space stays under negative pressure",
   "ev": "Grower practice",
   "src": [
    "gb_airflow"
   ]
  },
  "ACTIVE_CFM": {
   "v": 800,
   "unit": "CFM",
   "label": "Above about 800 CFM (an 8-inch fan running hard) passive ports get large: consider an active intake",
   "ev": "Grower practice",
   "src": [
    "gb_house"
   ]
  },
  "INTAKE_RUN_M": {
   "v": 3,
   "unit": "m",
   "label": "Intake ducted from further than about 3 m (10 ft) away needs a fan to pull through it",
   "ev": "Grower practice",
   "src": [
    "gb_house"
   ]
  },
  "FILTER_MATCH_LO": {
   "v": 1,
   "unit": "× fan CFM",
   "label": "Filter rated airflow should be at least the airflow you actually run",
   "ev": "Grower practice",
   "src": [
    "ashrae_app"
   ]
  },
  "FILTER_MATCH_HI": {
   "v": 1.5,
   "unit": "× fan CFM",
   "label": "Up to ~1.5× is better: slower air through the bed means longer contact and longer carbon life",
   "ev": "Grower practice",
   "src": [
    "ashrae_app"
   ]
  },
  "PERSON_BTU": {
   "v": 450,
   "unit": "BTU/h per person",
   "label": "Heat from a person doing light work (ASHRAE: about 250 sensible + 200 latent)",
   "ev": "Established",
   "src": [
    "ashrae_fund"
   ]
  },
  "U_GOOD": {
   "v": 0.06,
   "unit": "BTU/h·ft²·°F",
   "label": "Well-insulated room (about R-16 overall)",
   "ev": "Established (typical assembly)",
   "src": [
    "ashrae_fund"
   ]
  },
  "U_AVG": {
   "v": 0.1,
   "unit": "BTU/h·ft²·°F",
   "label": "Average insulated stud walls (about R-10 overall)",
   "ev": "Established (typical assembly)",
   "src": [
    "ashrae_fund"
   ]
  },
  "U_POOR": {
   "v": 0.25,
   "unit": "BTU/h·ft²·°F",
   "label": "Uninsulated framed walls (about R-4)",
   "ev": "Established (typical assembly)",
   "src": [
    "ashrae_fund"
   ]
  },
  "U_SHED": {
   "v": 0.6,
   "unit": "BTU/h·ft²·°F",
   "label": "Bare garage, shed or metal building",
   "ev": "Estimate",
   "src": [
    "ashrae_fund"
   ]
  },
  "AC_MARGIN": {
   "v": 0.2,
   "unit": "+",
   "label": "Cooling margin over the calculated load (homes keep within ~15%; grow rooms run near flat out, so 20% is common)",
   "ev": "Grower practice",
   "src": [
    "acca_s"
   ]
  },
  "AC_EER": {
   "v": 10,
   "unit": "BTU/h per W",
   "label": "Rough efficiency of a room or portable AC, for the electrical estimate (mini-splits do better)",
   "ev": "Estimate",
   "src": [
    "doe_pac"
   ]
  },
  "TRANSPIRED": {
   "v": 0.97,
   "unit": "fraction",
   "label": "Share of the water a plant takes up that it transpires into the air",
   "ev": "Established",
   "src": [
    "taiz"
   ]
  },
  "NIGHT_RATE": {
   "v": 0.1,
   "unit": "× day rate",
   "label": "Night transpiration per hour as a share of the lights-on rate",
   "ev": "Supported (other crops)",
   "src": [
    "caird2007"
   ]
  },
  "DEHU_MARGIN": {
   "v": 1.25,
   "unit": "×",
   "label": "Dehumidifier margin over the average daily water (the AC also pulls water while it runs)",
   "ev": "Grower practice",
   "src": [
    "gb_house"
   ]
  },
  "AHAM_TO_DOE": {
   "v": 0.7,
   "unit": "×",
   "label": "Old AHAM pints/day (80 °F, 60% RH) to the 2019 DOE rating (65 °F, 60% RH): about 70 → 50",
   "ev": "Established",
   "src": [
    "doe_dehu",
    "energystar_dehu"
   ]
  },
  "DEHU_IEF_S": {
   "v": 1.3,
   "unit": "L per kWh",
   "label": "Federal minimum efficiency, portable units up to 25 pints/day (2019 rating); used to estimate the heat when you don't know the watts",
   "ev": "Established (regulation)",
   "src": [
    "doe_dehu"
   ]
  },
  "DEHU_IEF_M": {
   "v": 1.6,
   "unit": "L per kWh",
   "label": "Federal minimum, portable units 25–50 pints/day",
   "ev": "Established (regulation)",
   "src": [
    "doe_dehu"
   ]
  },
  "DEHU_IEF_L": {
   "v": 2.8,
   "unit": "L per kWh",
   "label": "Federal minimum, portable units over 50 pints/day",
   "ev": "Established (regulation)",
   "src": [
    "doe_dehu"
   ]
  },
  "WATER_SEEDLING": {
   "v": 0.25,
   "unit": "L per plant per day",
   "label": "Stage helper: seedling",
   "ev": "Grower practice (varies with pot, light and VPD)",
   "src": [
    "gb_house"
   ]
  },
  "WATER_VEG": {
   "v": 1,
   "unit": "L per plant per day",
   "label": "Stage helper: veg",
   "ev": "Grower practice",
   "src": [
    "gb_house"
   ]
  },
  "WATER_FLOWER": {
   "v": 2,
   "unit": "L per plant per day",
   "label": "Stage helper: flower (4 plants in a 4 × 4 ft tent ≈ 5.4 L/m²/day, inside the guides' 3–6 L/m²/day)",
   "ev": "Grower practice",
   "src": [
    "gb_house"
   ]
  },
  "CO2_AMBIENT": {
   "v": 420,
   "unit": "ppm",
   "label": "Outdoor CO₂",
   "ev": "Established",
   "src": [
    "noaa_co2",
    "gb_co2"
   ]
  },
  "CO2_M": {
   "v": 44.01,
   "unit": "g/mol",
   "label": "Molar mass of CO₂ (density from the ideal gas law at room temperature, ≈ 1.83 kg/m³ at 20 °C)",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "ACH_TIGHT": {
   "v": 0.1,
   "unit": "air changes per hour",
   "label": "Sealed room, well taped",
   "ev": "Estimate",
   "src": [
    "ashrae_fund"
   ]
  },
  "ACH_SEALED": {
   "v": 0.25,
   "unit": "air changes per hour",
   "label": "Sealed room, average",
   "ev": "Estimate",
   "src": [
    "ashrae_fund"
   ]
  },
  "ACH_LEAKY": {
   "v": 2,
   "unit": "air changes per hour",
   "label": "Zipped tent or leaky room, exhaust off",
   "ev": "Estimate",
   "src": [
    "ashrae_fund"
   ]
  },
  "CO2_UPTAKE": {
   "v": 4,
   "unit": "g CO₂ per m² canopy per hour",
   "label": "Net canopy uptake at high light and ~1,000 ppm (≈ 25 µmol/m²/s)",
   "ev": "Estimate from leaf data",
   "src": [
    "chandra2008"
   ]
  },
  "PROPANE_CO2": {
   "v": 3,
   "unit": "lb CO₂ per lb fuel",
   "label": "Propane burner: C₃H₈ + 5 O₂ → 3 CO₂ + 4 H₂O (132 ÷ 44.1)",
   "ev": "Established (stoichiometry)",
   "src": [
    "combustion"
   ]
  },
  "PROPANE_H2O": {
   "v": 1.63,
   "unit": "lb water per lb fuel",
   "label": "Propane burner: water vapour made",
   "ev": "Established (stoichiometry)",
   "src": [
    "combustion"
   ]
  },
  "PROPANE_BTU": {
   "v": 21600,
   "unit": "BTU per lb fuel",
   "label": "Propane burner: heat released (higher heating value)",
   "ev": "Established",
   "src": [
    "combustion"
   ]
  },
  "NG_CO2": {
   "v": 2.74,
   "unit": "lb CO₂ per lb fuel",
   "label": "Natural gas burner (as methane): CH₄ + 2 O₂ → CO₂ + 2 H₂O (44 ÷ 16)",
   "ev": "Established (stoichiometry)",
   "src": [
    "combustion"
   ]
  },
  "NG_H2O": {
   "v": 2.25,
   "unit": "lb water per lb fuel",
   "label": "Natural gas burner: water vapour made",
   "ev": "Established (stoichiometry)",
   "src": [
    "combustion"
   ]
  },
  "NG_BTU": {
   "v": 23900,
   "unit": "BTU per lb fuel",
   "label": "Natural gas burner: heat released (higher heating value)",
   "ev": "Established",
   "src": [
    "combustion"
   ]
  },
  "CO2_PEL": {
   "v": 5000,
   "unit": "ppm",
   "label": "8-hour workplace limit (OSHA PEL, NIOSH REL, ACGIH TLV)",
   "ev": "Established",
   "src": [
    "osha_co2",
    "niosh_co2"
   ]
  },
  "CO2_STEL": {
   "v": 30000,
   "unit": "ppm",
   "label": "15-minute short-term limit (ACGIH STEL, NIOSH ST)",
   "ev": "Established",
   "src": [
    "niosh_co2"
   ]
  },
  "CO2_IDLH": {
   "v": 40000,
   "unit": "ppm",
   "label": "Immediately dangerous to life or health",
   "ev": "Established",
   "src": [
    "niosh_co2"
   ]
  },
  "DLI_K": {
   "v": 0.0036,
   "unit": "mol·s per µmol·h",
   "label": "DLI = PPFD × hours × 0.0036",
   "ev": "Established",
   "src": [
    "gb_ppfd"
   ]
  },
  "CANOPY_CAPTURE": {
   "v": 0.85,
   "unit": "fraction",
   "label": "Share of the fixture's photons that land on the canopy in a reflective tent (assumption)",
   "ev": "Estimate",
   "src": [
    "gb_led"
   ]
  },
  "EFF_OLD": {
   "v": 1.5,
   "unit": "µmol/J",
   "label": "Old or low-end LED at the wall (older-generation and blurple panels, low-bin no-name diodes driven hard): often worse than double-ended HPS; independent 2014 tests measured LED fixtures at 0.89–1.70",
   "ev": "Supported (independent tests; founder's field experience 1.3–1.7)",
   "src": [
    "nelson2014",
    "gb_led"
   ]
  },
  "EFF_HPS": {
   "v": 1.7,
   "unit": "µmol/J",
   "label": "Double-ended HPS at the fixture (independent tests 1.66–1.72)",
   "ev": "Established",
   "src": [
    "nelson2014",
    "gb_led"
   ]
  },
  "EFF_BUDGET": {
   "v": 2.3,
   "unit": "µmol/J",
   "label": "Budget LED panel at the wall (low-bin chips driven hard, budget driver)",
   "ev": "Supported (arithmetic from datasheets)",
   "src": [
    "gb_led",
    "kusuma2020"
   ]
  },
  "EFF_MID": {
   "v": 2.6,
   "unit": "µmol/J",
   "label": "Mid-tier LED at the wall",
   "ev": "Supported",
   "src": [
    "gb_led",
    "kusuma2020"
   ]
  },
  "EFF_TOP": {
   "v": 3,
   "unit": "µmol/J",
   "label": "Top-tier LED at the wall (about 6% of listed fixtures in 2022)",
   "ev": "Established",
   "src": [
    "gb_led",
    "kusuma2020"
   ]
  },
  "GB_W_PER_FT2": {
   "v": 50,
   "unit": "W/ft² of dimmable capacity",
   "label": "GenetixBay recommendation: oversize and dim down. Too much is better than not enough",
   "ev": "House position (founder)",
   "src": [
    "gb_house",
    "rodriguez2021"
   ]
  },
  "GAL_IMP": {
   "v": 4.54609,
   "unit": "L per imperial gallon",
   "label": "Imperial (UK) gallon; most North American labels mean the US gallon (3.785 L)",
   "ev": "Established",
   "src": [
    "nist_si"
   ]
  },
  "P_FROM_P2O5": {
   "v": 0.436,
   "unit": "×",
   "label": "Elemental P from a label's P₂O₅ (2 × 30.974 ÷ 141.94)",
   "ev": "Established",
   "src": [
    "nist_atomic"
   ]
  },
  "K_FROM_K2O": {
   "v": 0.83,
   "unit": "×",
   "label": "Elemental K from a label's K₂O (2 × 39.098 ÷ 94.20)",
   "ev": "Established",
   "src": [
    "nist_atomic"
   ]
  },
  "PPM500": {
   "v": 500,
   "unit": "ppm per EC 1.0",
   "label": "Hanna/NaCl '500' scale (TDS meters)",
   "ev": "Established",
   "src": [
    "gb_ecppm"
   ]
  },
  "PPM700": {
   "v": 700,
   "unit": "ppm per EC 1.0",
   "label": "'700' (KCl) scale",
   "ev": "Established",
   "src": [
    "gb_ecppm"
   ]
  },
  "WATER_USE_M2": {
   "v": 4,
   "unit": "L per m² canopy per day",
   "label": "Planning water use in flower (range 3–6 L/m²/day; 1 mm a day = 1 L/m²)",
   "ev": "Grower practice",
   "src": [
    "fao56",
    "mattson2019"
   ]
  },
  "RES_DAYS_LO": {
   "v": 3,
   "unit": "days",
   "label": "Reservoir holds at least 3 days of water use, so EC and pH swing less",
   "ev": "Grower practice",
   "src": [
    "mattson2019"
   ]
  },
  "RES_DAYS_HI": {
   "v": 5,
   "unit": "days",
   "label": "…and up to 5 days",
   "ev": "Grower practice",
   "src": [
    "mattson2019"
   ]
  },
  "CONTINUOUS": {
   "v": 0.8,
   "unit": "× breaker rating",
   "label": "Continuous loads (3 h or more, which every grow light is) may use only 80% of the breaker",
   "ev": "Established (code)",
   "src": [
    "nfpa70",
    "cec"
   ]
  },
  "PF": {
   "v": 0.95,
   "unit": "power factor",
   "label": "Drivers and ballasts draw slightly more amps than watts ÷ volts; we divide by 0.95 to be safe",
   "ev": "Estimate",
   "src": [
    "gb_led"
   ]
  }
 },
 "sources": {
  "ashrae_fund": {
   "cite": "ASHRAE. 2021. ASHRAE Handbook: Fundamentals. Ch. 1 (psychrometrics: sensible heat of air, q = 1.08 × cfm × ΔT at standard air), Ch. 18 (heat gain from people, lighting and equipment), Ch. 21 (duct design: fitting and friction losses), Ch. 26–27 (thermal resistance of building assemblies). ASHRAE, Atlanta.",
   "url": "https://www.ashrae.org/technical-resources/ashrae-handbook"
  },
  "ashrae_app": {
   "cite": "ASHRAE. 2019. ASHRAE Handbook: HVAC Applications, chapter 'Control of gaseous indoor air contaminants' (sorbent bed depth and residence time govern removal).",
   "url": "https://www.ashrae.org/technical-resources/ashrae-handbook"
  },
  "nist_si": {
   "cite": "NIST. Guide for the Use of the International System of Units (SP 811), Appendix B: conversion factors (1 W = 3.412 142 BTU/h; 1 ft³ = 0.028 316 8 m³; 1 US gal = 3.785 412 L).",
   "url": "https://www.nist.gov/pml/special-publication-811"
  },
  "amca_210": {
   "cite": "AMCA/ASHRAE Standard 210-16: Laboratory methods of testing fans for certified aerodynamic performance rating (why 'free air' CFM falls as static pressure rises).",
   "url": "https://www.amca.org/"
  },
  "gb_airflow": {
   "cite": "GenetixBay Knowledge Base. Airflow: air exchange, canopy air speed and fan placement (one tent volume every 1–3 min; +25–50% for a carbon filter and ducting; passive intake ≈ 2–3× exhaust duct area).",
   "url": "/knowledge/environment/airflow.html"
  },
  "gb_led": {
   "cite": "GenetixBay Knowledge Base. LED vs HPS: the heat and power-bill hype, and an LED buyer-beware guide (fixture µmol/J tiers, 85% canopy capture, watt-for-watt house advice, 1 W = 3.412 BTU/h).",
   "url": "/knowledge/equipment/led-vs-hps-hype-and-buyer-beware.html"
  },
  "gb_ppfd": {
   "cite": "GenetixBay Knowledge Base. PPFD and DLI by stage, with the evidence (stage targets; DLI = PPFD × hours × 0.0036).",
   "url": "/knowledge/environment/ppfd-dli-by-stage.html"
  },
  "gb_co2": {
   "cite": "GenetixBay Knowledge Base. CO₂ enrichment (targets 800–1,200 ppm at lights-on only; worth it only sealed and at high light).",
   "url": "/knowledge/environment/co2-enrichment.html"
  },
  "rodriguez2021": {
   "cite": "Rodriguez-Morrison V, Llewellyn D, Zheng Y. 2021. Cannabis yield, potency, and leaf photosynthesis respond differently to increasing light levels in an indoor environment. Frontiers in Plant Science 12:646020.",
   "url": "https://doi.org/10.3389/fpls.2021.646020"
  },
  "kusuma2020": {
   "cite": "Kusuma P, Pattison PM, Bugbee B. 2020. From physics to fixtures to food: current and potential LED efficacy. Horticulture Research 7:56.",
   "url": "https://doi.org/10.1038/s41438-020-0283-7"
  },
  "nelson2014": {
   "cite": "Nelson JA, Bugbee B. 2014. Economic analysis of greenhouse lighting: light emitting diodes vs. high intensity discharge fixtures. PLoS ONE 9(6):e99010 (independent fixture efficacy tests).",
   "url": "https://doi.org/10.1371/journal.pone.0099010"
  },
  "chandra2008": {
   "cite": "Chandra S, Lata H, Khan IA, ElSohly MA. 2008. Photosynthetic response of Cannabis sativa L. to variations in photosynthetic photon flux densities, temperature and CO₂ conditions. Physiology and Molecular Biology of Plants 14(4):299–306.",
   "url": "https://doi.org/10.1007/s12298-008-0027-x"
  },
  "acca_s": {
   "cite": "ACCA. Manual S: Residential Equipment Selection (cooling equipment kept close to the calculated load; oversizing short-cycles and dehumidifies poorly).",
   "url": "https://www.acca.org/standards/technical-manuals/manual-s"
  },
  "doe_pac": {
   "cite": "US DOE. 10 CFR 430 Subpart B, Appendix CC: Uniform test method for portable air conditioners (seasonally adjusted cooling capacity, which counts the infiltration a single-hose unit causes).",
   "url": "https://www.ecfr.gov/current/title-10/chapter-II/subchapter-D/part-430/subpart-B/appendix-Appendix%20CC%20to%20Subpart%20B%20of%20Part%20430"
  },
  "doe_dehu": {
   "cite": "US DOE. 10 CFR 430 Subpart B, Appendix X1 (dehumidifier test at 65 °F and 60% RH, required from June 2019; the older AHAM DH-1 rating used 80 °F and 60% RH) and 10 CFR 430.32(v) (minimum integrated energy factor, L/kWh).",
   "url": "https://www.ecfr.gov/current/title-10/chapter-II/subchapter-D/part-430/subpart-B/appendix-Appendix%20X1%20to%20Subpart%20B%20of%20Part%20430"
  },
  "energystar_dehu": {
   "cite": "ENERGY STAR. Dehumidifiers: key product criteria and the 2019 capacity re-rating (a unit once sold as 70 pints/day is about 50 pints/day on the new test).",
   "url": "https://www.energystar.gov/products/dehumidifiers"
  },
  "taiz": {
   "cite": "Taiz L, Zeiger E, Møller IM, Murphy A. 2015. Plant Physiology and Development, 6th ed., Ch. 4 (about 97% of the water a plant absorbs is lost by transpiration). Sinauer.",
   "url": "https://global.oup.com/academic/product/plant-physiology-and-development-9781605353531"
  },
  "caird2007": {
   "cite": "Caird MA, Richards JH, Donovan LA. 2007. Nighttime stomatal conductance and transpiration in C3 and C4 plants. Plant Physiology 143(1):4–10 (night transpiration commonly 5–15% of daytime, up to ~30%).",
   "url": "https://doi.org/10.1104/pp.106.092940"
  },
  "alduchov1996": {
   "cite": "Alduchov OA, Eskridge RE. 1996. Improved Magnus form approximation of saturation vapor pressure. Journal of Applied Meteorology 35(4):601–609.",
   "url": "https://doi.org/10.1175/1520-0450(1996)035%3C0601:IMFAOS%3E2.0.CO;2"
  },
  "noaa_co2": {
   "cite": "NOAA Global Monitoring Laboratory. Trends in atmospheric carbon dioxide (global mean above 420 ppm since 2023).",
   "url": "https://gml.noaa.gov/ccgg/trends/"
  },
  "osha_co2": {
   "cite": "OSHA. Carbon dioxide, chemical data: PEL 5,000 ppm 8-hour TWA (29 CFR 1910.1000, Table Z-1).",
   "url": "https://www.osha.gov/chemicaldata/183"
  },
  "niosh_co2": {
   "cite": "NIOSH Pocket Guide to Chemical Hazards: carbon dioxide (REL 5,000 ppm TWA; short-term 30,000 ppm; IDLH 40,000 ppm). ACGIH lists the same TLV-TWA 5,000 ppm and TLV-STEL 30,000 ppm.",
   "url": "https://www.cdc.gov/niosh/npg/npgd0103.html"
  },
  "nfpa70": {
   "cite": "NFPA 70, National Electrical Code (2023): Art. 100 (continuous load = 3 hours or more), 210.19(A)(1) and 210.20(A) (conductors and breakers at 125% of continuous load, i.e. load ≤ 80%), 210.8 (GFCI locations), 400.12 (flexible cords not a substitute for fixed wiring).",
   "url": "https://www.nfpa.org/codes-and-standards/nfpa-70-standard-development/70"
  },
  "cec": {
   "cite": "CSA C22.1, Canadian Electrical Code, Part I: Rule 8-104 (continuous loads limited to 80% of the breaker rating) and Rule 26-700 series (receptacles and GFCI).",
   "url": "https://www.csagroup.org/store/product/CSA%20C22.1:24/"
  },
  "osha_elec": {
   "cite": "OSHA. 29 CFR 1910.303(b)(2): listed equipment must be used per its listing and labelling (power strips are not to be chained together).",
   "url": "https://www.osha.gov/laws-regs/regulations/standardnumber/1910/1910.303"
  },
  "combustion": {
   "cite": "Combustion stoichiometry and heating values of propane and methane: NIST Chemistry WebBook (enthalpies of combustion) and US EIA, 'Units and calculators: British thermal units' (propane ≈ 91,500 BTU per gallon at 4.24 lb per gallon).",
   "url": "https://webbook.nist.gov/chemistry/"
  },
  "mattson2019": {
   "cite": "Mattson NS, Lieth JH. 2019. Liquid culture hydroponic system operation. In: Raviv M, Lieth JH, Bar-Tal A (eds), Soilless Culture: Theory and Practice, 2nd ed. Elsevier, pp. 567–585 (EC monitoring, replenishment and replacement).",
   "url": "https://doi.org/10.1016/B978-0-444-63696-6.00012-8"
  },
  "nist_atomic": {
   "cite": "NIST. Atomic weights and isotopic compositions (P 30.974, K 39.098, O 15.999), for the P₂O₅ and K₂O conversion factors.",
   "url": "https://www.nist.gov/pml/atomic-weights-and-isotopic-compositions-relative-atomic-masses"
  },
  "fao56": {
   "cite": "Allen RG, Pereira LS, Raes D, Smith M. 1998. Crop evapotranspiration (FAO Irrigation and Drainage Paper 56), Ch. 1 (1 mm of water over 1 m² = 1 litre).",
   "url": "https://www.fao.org/4/x0490e/x0490e04.htm"
  },
  "gb_ecppm": {
   "cite": "GenetixBay Knowledge Base. EC vs PPM: the 500 and 700 scales.",
   "url": "/knowledge/ph-ec/ec-ppm-scales.html"
  },
  "gb_house": {
   "cite": "GenetixBay house position (founder's field experience, decades of indoor rooms): passive intake for most growers; oversize lights and dim down; replace HPS watt for watt unless the LED is top tier.",
   "url": "/editorial-policy"
  },
  "market_fans": {
   "cite": "GenetixBay survey of published free-air ratings for mixed-flow inline fans sold for grow rooms, 2026 (ranges only; no brands).",
   "url": ""
  }
 },
 "stages": {
  "seedling": {
   "lo": 150,
   "hi": 300,
   "def": 200,
   "h": 18,
   "label": "Seedlings and clones",
   "ev": "Grower practice"
  },
  "earlyveg": {
   "lo": 300,
   "hi": 500,
   "def": 400,
   "h": 18,
   "label": "Early veg",
   "ev": "Grower practice"
  },
  "lateveg": {
   "lo": 500,
   "hi": 900,
   "def": 700,
   "h": 18,
   "label": "Late veg",
   "ev": "Supported"
  },
  "flower": {
   "lo": 800,
   "hi": 1200,
   "def": 900,
   "h": 12,
   "label": "Flower, normal CO₂",
   "ev": "Supported"
  },
  "flowerco2": {
   "lo": 1000,
   "hi": 1500,
   "def": 1200,
   "h": 12,
   "label": "Flower with added CO₂",
   "ev": "Supported"
  },
  "auto": {
   "lo": 600,
   "hi": 1000,
   "def": 800,
   "h": 18,
   "label": "Autoflowers",
   "ev": "Grower practice"
  }
 },
 "fixture_tiers": {
  "old": {
   "k": "EFF_OLD",
   "label": "Old or low-end LED"
  },
  "hps": {
   "k": "EFF_HPS",
   "label": "Double-ended HPS"
  },
  "budget": {
   "k": "EFF_BUDGET",
   "label": "Budget LED"
  },
  "mid": {
   "k": "EFF_MID",
   "label": "Mid-tier LED"
  },
  "top": {
   "k": "EFF_TOP",
   "label": "Top-tier LED"
  }
 },
 "fan_sizes": [
  {
   "inch": 4,
   "mm": 100,
   "lo": 100,
   "hi": 210
  },
  {
   "inch": 6,
   "mm": 150,
   "lo": 240,
   "hi": 440
  },
  {
   "inch": 8,
   "mm": 200,
   "lo": 420,
   "hi": 810
  },
  {
   "inch": 10,
   "mm": 250,
   "lo": 700,
   "hi": 1100
  },
  {
   "inch": 12,
   "mm": 315,
   "lo": 900,
   "hi": 1700
  }
 ],
 "tools": [
  {
   "name": "Whole tent planner",
   "url": "https://genetixbay.com/knowledge/tools/planner.html",
   "markdown": "https://genetixbay.com/knowledge/tools/planner.md",
   "constants": [
    "BTU_PER_W",
    "SENSIBLE_AIR",
    "INTAKE_RATIO",
    "CANOPY_CAPTURE",
    "GB_W_PER_FT2",
    "AC_MARGIN",
    "AC_EER",
    "FAN_W_PER_CFM",
    "DEHU_MARGIN",
    "CONTINUOUS"
   ]
  },
  {
   "name": "Exhaust fan CFM calculator",
   "url": "https://genetixbay.com/knowledge/tools/exhaust-fan.html",
   "markdown": "https://genetixbay.com/knowledge/tools/exhaust-fan.md",
   "constants": [
    "EXCHANGE_MIN",
    "SENSIBLE_AIR",
    "BTU_PER_W",
    "FILTER_STD",
    "FILTER_HEAVY",
    "DUCT_PER_M",
    "BEND_90",
    "HEADROOM",
    "MIN_DT_F",
    "FT3_PER_M3",
    "M3H_PER_CFM"
   ]
  },
  {
   "name": "Passive intake size calculator",
   "url": "https://genetixbay.com/knowledge/tools/passive-intake.html",
   "markdown": "https://genetixbay.com/knowledge/tools/passive-intake.md",
   "constants": [
    "INTAKE_RATIO",
    "MESH_FREE",
    "INTAKE_FAN",
    "ACTIVE_CFM",
    "INTAKE_RUN_M"
   ]
  },
  {
   "name": "Carbon filter match calculator",
   "url": "https://genetixbay.com/knowledge/tools/carbon-filter.html",
   "markdown": "https://genetixbay.com/knowledge/tools/carbon-filter.md",
   "constants": [
    "FILTER_MATCH_LO",
    "FILTER_MATCH_HI",
    "M3H_PER_CFM"
   ]
  },
  {
   "name": "Grow room AC and cooling load calculator",
   "url": "https://genetixbay.com/knowledge/tools/cooling-load.html",
   "markdown": "https://genetixbay.com/knowledge/tools/cooling-load.md",
   "constants": [
    "BTU_PER_W",
    "BTU_PER_TON",
    "PERSON_BTU",
    "U_GOOD",
    "U_AVG",
    "U_POOR",
    "U_SHED",
    "AC_MARGIN"
   ]
  },
  {
   "name": "Grow room dehumidifier calculator",
   "url": "https://genetixbay.com/knowledge/tools/dehumidifier.html",
   "markdown": "https://genetixbay.com/knowledge/tools/dehumidifier.md",
   "constants": [
    "TRANSPIRED",
    "NIGHT_RATE",
    "DEHU_MARGIN",
    "PINT_PER_L",
    "AHAM_TO_DOE",
    "DEHU_IEF_S",
    "DEHU_IEF_M",
    "DEHU_IEF_L",
    "WATER_SEEDLING",
    "WATER_VEG",
    "WATER_FLOWER"
   ]
  },
  {
   "name": "Grow room CO₂ calculator",
   "url": "https://genetixbay.com/knowledge/tools/co2.html",
   "markdown": "https://genetixbay.com/knowledge/tools/co2.md",
   "constants": [
    "CO2_AMBIENT",
    "CO2_M",
    "ACH_TIGHT",
    "ACH_SEALED",
    "ACH_LEAKY",
    "CO2_UPTAKE",
    "PROPANE_CO2",
    "PROPANE_H2O",
    "PROPANE_BTU",
    "NG_CO2",
    "NG_H2O",
    "NG_BTU",
    "CO2_PEL",
    "CO2_STEL",
    "CO2_IDLH"
   ]
  },
  {
   "name": "Grow light wattage calculator (PPFD and DLI)",
   "url": "https://genetixbay.com/knowledge/tools/lighting.html",
   "markdown": "https://genetixbay.com/knowledge/tools/lighting.md",
   "constants": [
    "DLI_K",
    "CANOPY_CAPTURE",
    "EFF_HPS",
    "EFF_BUDGET",
    "EFF_MID",
    "EFF_TOP",
    "GB_W_PER_FT2"
   ]
  },
  {
   "name": "Grow room amps and circuits calculator",
   "url": "https://genetixbay.com/knowledge/tools/electrical.html",
   "markdown": "https://genetixbay.com/knowledge/tools/electrical.md",
   "constants": [
    "CONTINUOUS",
    "PF"
   ]
  },
  {
   "name": "Nutrient mix, dilution and reservoir calculator",
   "url": "https://genetixbay.com/knowledge/tools/nutrient-mix.html",
   "markdown": "https://genetixbay.com/knowledge/tools/nutrient-mix.md",
   "constants": [
    "WATER_USE_M2",
    "RES_DAYS_LO",
    "RES_DAYS_HI",
    "P_FROM_P2O5",
    "K_FROM_K2O",
    "L_PER_GAL",
    "GAL_IMP",
    "PPM500",
    "PPM700"
   ]
  }
 ]
}