Illicit indoor cannabis greenhouse detection by thermal and spectral signature
Large-scale indoor cannabis grows betray themselves through heat: ECOSTRESS and Landsat TIRS flag anomalous roof temperatures, while Sentinel-2 identifies blacked-out glazing. Resolution limits are real, but the combination narrows enforcement priority lists considerably.
Sensors
- ECOSTRESS (ISS): Thermal infrared at roughly 70 m pixel size, eight spectral bands centred near 8–12 µm. Non-sun-synchronous ISS orbit delivers variable overpass times including night acquisitions, which is critical for isolating artificial heat from solar loading. Revisit is irregular, typically 1–5 days per location depending on ISS ground track.
- Landsat 8/9 TIRS: Two thermal bands at 10.6–11.2 µm and 11.5–12.5 µm, resampled to 30 m but with a native point-spread function closer to 100 m. 16-day revisit per satellite; combined Landsat 8 and 9 gives roughly 8-day repeat. Daytime-only acquisition means solar contamination must be corrected before comparing roof temperatures.
- Sentinel-2 MSI: 13 spectral bands from visible to shortwave infrared, 10 m resolution in the visible and NIR bands. No thermal capability, but the 20 m SWIR bands (1610 nm, 2190 nm) distinguish opaque roofing materials from glass or polycarbonate, and change detection between dates reveals when previously translucent glazing has been covered. 5-day revisit at mid-latitudes with both satellites.
- Airbus Pléiades Neo: 30 cm panchromatic, 1.2 m multispectral. Used for confirmation, not screening: once a thermal anomaly is flagged, a single tasked Pléiades Neo pass can resolve whether roof vents, blackout material or external HVAC units are visible. On-demand tasking with same-day or next-day delivery in most regions.
Why a cannabis grow is thermally loud
Indoor cannabis cultivation at commercial scale requires high-pressure sodium or LED lighting arrays running 12–18 hours per day, plus HVAC systems working continuously to manage the heat those lights produce. A well-documented Dutch study published in the open literature found that illicit grows in repurposed industrial buildings routinely produced roof-surface temperature anomalies of 3–8 °C above ambient compared with neighbouring unoccupied units of identical construction. That delta is detectable in satellite thermal data, particularly at night when solar loading is absent and background temperatures are stable.
The physics is straightforward. Insulation quality, roof material and outdoor air temperature all modulate the signal, but the heat has to go somewhere. Operators who add extra insulation to suppress the anomaly often create secondary signatures: overworked external HVAC units, condensation patterns on adjacent surfaces, or unusual energy-meter readings that correlate with the satellite observation. No single indicator is conclusive. The thermal signal is a screening tool, not a conviction.
What the thermal sensors actually see, and what they miss
ECOSTRESS acquires land-surface temperature at approximately 70 m pixel size. A single large warehouse, say 50 m × 80 m, falls within one to two pixels. A smaller unit of 20 m × 30 m is sub-pixel and its thermal contribution is diluted by the surrounding cooler roof area. This is the fundamental resolution floor: ECOSTRESS screens industrial zones and flags anomalous clusters, but it cannot confirm an individual building without corroborating data.
Landsat TIRS is often cited as 30 m resolution, but the thermal bands are collected at 100 m and sharpened. The effective spatial detail is closer to 100 m, making it slightly coarser than ECOSTRESS for this application. Its value lies in the archive depth: Landsat 8 data runs back to 2013, Landsat 9 from 2021, giving investigators the ability to ask when a thermal anomaly appeared, not just whether it exists today. A building that was thermally cold in 2019 and warm from 2021 onward is a very different proposition from one that has always been warm.
Night acquisitions are essential. ECOSTRESS's non-sun-synchronous orbit means it sometimes passes over a target at 02:00 local time, which is ideal: solar contamination is zero and legitimate industrial processes that run day shifts will have cooled. Landsat is sun-synchronous and acquires in mid-morning, which is workable after solar correction but less clean.
Sentinel-2 and the blacked-out glazing signature
Cannabis cultivation requires light control. Operators typically cover greenhouse glazing or industrial skylights with blackout material, opaque paint or internal lining. Sentinel-2's 10 m visible bands and 20 m SWIR bands distinguish these materials from transparent or semi-transparent roofing in two ways. First, spectral reflectance: glass and polycarbonate have characteristic SWIR transmission properties that change markedly when covered with black polyethylene or paint. Second, temporal change: a building whose roof reflectance profile shifts abruptly between two dates, with no planning application or permit activity on record, is worth examining.
The 5-day revisit of the combined Sentinel-2A/2B constellation means change events can be dated to within a week in cloud-free conditions. Cloud is the honest limiting factor in northern Europe and the UK, where much of the documented illicit cultivation occurs. In a typical UK winter, usable cloud-free acquisitions over a given area may arrive only once every three to six weeks, which reduces the temporal precision of change detection considerably. Analysts working this problem in the Netherlands, where the published law-enforcement research originated, face similar constraints.
Combining layers: from anomaly to priority list
No single sensor closes the case. The operational workflow runs in stages. ECOSTRESS or Landsat TIRS identifies grid squares or industrial estates with statistically anomalous night-time surface temperatures. Sentinel-2 change detection then checks whether any buildings in those zones show altered roof spectral signatures. Buildings that appear in both lists become candidates for very-high-resolution optical tasking.
A Pléiades Neo pass at 30 cm can resolve external HVAC condensers, roof vent arrays, blacked-out rooflights and vehicle patterns consistent with frequent low-volume deliveries. None of these individually constitutes evidence of cultivation, but together they support a ranked priority list that enforcement agencies can use to direct ground resources. The satellite output is an intelligence product, not a legal instrument. Its value is in narrowing a large industrial estate from, say, 200 buildings to 8 candidates worth a physical visit.
Satellize has applied analogous multi-sensor screening logic in its crop-estimation programme for the Kingdom of Tonga, where combining thermal and optical layers resolved ambiguities that neither sensor resolved alone. The same fusion architecture transfers directly to enforcement screening applications.
Honest limits and what they mean for procurement
Buyers should understand three constraints before commissioning this work. First, resolution: ECOSTRESS at 70 m and Landsat TIRS at effective 100 m cannot confirm individual buildings in dense industrial estates where unit footprints are small. The thermal layer produces zone-level flags, not building-level confirmation. Second, cloud: persistent cloud cover in temperate climates degrades both thermal and optical acquisition frequency, sometimes to the point where a grow that operates for only a few months is missed entirely. Third, countermeasures: sophisticated operators are aware of thermal detection methods and may use phase-change insulation materials or schedule lighting cycles to reduce roof-surface temperature differentials. Published research from the Netherlands notes that some operations had already adopted partial countermeasures by the time law enforcement acted on satellite-derived leads.
These limits do not make the method useless. They define where it fits: wide-area triage over large numbers of buildings, at a cost per building screened that is orders of magnitude lower than aerial survey or ground patrol. The method is most powerful when combined with utility-consumption anomaly data, which several European enforcement agencies already hold, and with planning records that identify buildings whose declared use does not match their observed thermal behaviour.
Typical figures
| Thermal spatial resolution (ECOSTRESS) | ~70 m pixel size; sub-pixel targets require unmixing or VHR confirmation |
| Thermal spatial resolution (Landsat 8/9 TIRS) | 100 m native, resampled to 30 m; effective detail ~100 m |
| Optical resolution (Sentinel-2 MSI) | 10 m (VIS/NIR bands), 20 m (SWIR bands) |
| Confirmation optical resolution (Pléiades Neo) | 30 cm panchromatic, 1.2 m multispectral |
| Revisit cadence | ECOSTRESS: 1–5 days (irregular); Landsat 8+9 combined: ~8 days; Sentinel-2A+2B: 5 days at mid-latitudes; Pléiades Neo: on-demand, typically 1–2 days |
| Minimum detectable thermal anomaly | ~3 °C above ambient roof surface temperature at building scale; smaller differentials require night acquisition and solar-corrected baseline |
| Spectral bands used | Thermal: 10.6–12.5 µm (TIRS), 8–12 µm (ECOSTRESS); Optical change: 490–2190 nm (Sentinel-2 bands 2–12) |
| Archive depth | Landsat: from 2013 (L8) and 2021 (L9); Sentinel-2: from 2015; ECOSTRESS: from 2018 |
| Cloud sensitivity | Thermal and optical both blocked by cloud; temperate-climate revisit for cloud-free acquisitions may degrade to once every 3–6 weeks in winter |
| Delivery formats | GeoTIFF anomaly rasters, GeoJSON priority building polygons, PDF screening report with ranked candidate list |
Analytics Satellize can run
| Night-time thermal anomaly map | Land-surface temperature retrieval from ECOSTRESS and Landsat TIRS using split-window algorithm; z-score ranking of industrial-zone roof temperatures against local baseline | GeoTIFF raster and GeoJSON polygon layer of statistically anomalous buildings or zones, updated per new acquisition |
| Temporal thermal trend report | Time-series analysis of Landsat TIRS archive from 2013 to present; change-point detection to identify when a building's thermal signature diverged from its historical baseline | Per-building temperature time-series chart and PDF report showing onset date of anomaly |
| Roof spectral change detection layer | Sentinel-2 bi-temporal or multi-temporal differencing on SWIR and NIR bands; classification of roofing material change from translucent to opaque | GeoJSON polygon layer of buildings with confirmed roof spectral change, with change date and magnitude |
| Multi-sensor candidate priority list | Intersection of thermal anomaly flags and spectral change flags; ranked by co-occurrence strength and anomaly magnitude | Spreadsheet and GIS layer of ranked candidate buildings with supporting evidence fields, ready for tasking or ground-truth allocation |
| VHR confirmation imagery pack | Tasked Pléiades Neo acquisition over priority candidates; analyst annotation of HVAC units, blacked-out rooflights, vehicle patterns | Annotated 30 cm imagery tiles per candidate building, delivered as GeoTIFF with accompanying analyst notes |
| Periodic area-wide screening bulletin | Automated pipeline ingesting new ECOSTRESS and Sentinel-2 passes; alert triggered when a building crosses anomaly threshold for the first time | Email or API alert with coordinates, thumbnail imagery and anomaly score; suitable for integration into enforcement case-management systems |
Who does the work
We can get this done for you. Satellize runs its own analyst desk and a strong science team. You do not buy a data feed and work out what it means; our people source the imagery, run the analysis described on this page, and hand you the answer with its confidence limits stated. Discuss this requirement.