CwVPDChart

A real VPD chart is a room-climate matrix. It plots temperature against relative humidity, uses agriculture-style low-to-high VPD coloring, and overlays the active grow-program target inside that grid.

Interactive room-climate control

Pick a crop program, then change room temperature and RH. The chart recalculates the full matrix, keeps the familiar blue-to-green-to-red VPD palette intact, and shows whether the selected target band is being hit.

Derived room VPD 1.43 kPa

Generative steering favors a firmer VPD window during flower set.

Vapor Pressure Deficit

Tomato room VPD

Flower set

Industry-style VPD coloring is mapped directly from the kPa value: blue stays wet, green is productive, and yellow through red shows progressively drier pressure.

Current VPD Dry
1.43 kPa Derived from room temperature and RH Updated 4/5/2026, 6:29:00 AM
Target band
1.0-1.3 kPa
Status
Too dry
Heatmap zone
Dry
Room climate
27°C at 60% RH
Mapped cell
27°C / 60% RH
Leaf temp
26.1°C (-0.9°C vs air)

Heatmap zones

Wet 0.0-0.4 kPa Condensation and pathogen pressure climb quickly.
Humid 0.4-0.8 kPa Low transpiration; common for clones and fresh cuts.
Balanced 0.8-1.0 kPa Comfortable pull for leafy or vegetative rooms.
Optimal 1.0-1.2 kPa Classic production sweet spot for many crop phases.
Firm 1.2-1.4 kPa Useful for generative steering and stronger dry-back.
Dry 1.4-1.6 kPa Irrigation demand rises and stress starts to show.
Stress 1.6+ kPa Excessively dry for most rooms; burn risk increases.

Common program references

Propagation / Early veg 0.0-0.8 kPa
Vegetative steering 0.8-1.2 kPa
Flower / generative 1.2+ kPa
Selected target 1.0-1.3 kPa
Live room marker White ring on the nearest cell
Rows: temperature Columns: relative humidity

The chart follows common grow-room VPD palettes. Blue is wetter, green is healthier, and yellow to red is increasingly dry. Cells inside your target window get an inset outline.

Tomato room VPD. Selected target 1.0-1.3 kPa. Status Too dry. 0.13 kPa above target. Raise RH or back off room temperature to soften the pull.. Current VPD 1.43 kPa. Current zone Dry. Climate 27°C at 60% RH. Nearest chart cell 27°C / 60% RH. Leaf temperature 26.1°C. Leaf offset -0.9°C vs air.
°C35%40%45%50%55%60%65%70%75%80%85%90%95%
171.261.161.070.970.870.780.680.580.480.390.290.190.10
181.341.241.141.030.930.830.720.620.520.410.310.210.10
191.431.321.211.100.990.880.770.660.550.440.330.220.11
201.521.401.291.171.050.940.820.700.580.470.350.230.12
211.621.491.371.241.120.990.870.750.620.500.370.250.12
221.721.591.451.321.191.060.930.790.660.530.400.260.13
231.831.691.551.401.261.120.980.840.700.560.420.280.14
241.941.791.641.491.341.191.040.900.750.600.450.300.15
252.061.901.741.581.431.271.110.950.790.630.480.320.16
262.182.021.851.681.511.341.181.010.840.670.500.340.17
272.322.141.961.781.601.431.251.070.890.710.530.360.18
282.462.272.081.891.701.511.321.130.940.760.570.380.19
292.602.402.202.001.801.601.401.201.000.800.600.400.20
302.762.552.332.121.911.701.491.271.060.850.640.420.21
312.922.702.472.252.021.801.571.351.120.900.670.450.22
323.092.852.622.382.141.901.661.431.190.950.710.480.24
333.273.022.772.522.262.011.761.511.261.010.750.500.25
343.463.192.932.662.392.131.861.601.331.060.800.530.27
353.653.373.092.812.532.251.971.691.411.120.840.560.28

0.13 kPa above target. Raise RH or back off room temperature to soften the pull.

Custom grow-program bands

Override the default program references when your crop strategy uses different steering bands, while keeping the same production-style heatmap colors underneath.

Vapor Pressure Deficit

Cannabis room VPD

Generative push

Industry-style VPD coloring is mapped directly from the kPa value: blue stays wet, green is productive, and yellow through red shows progressively drier pressure.

Current VPD Stress
1.76 kPa Derived from room temperature and RH Updated 3/9/2024, 4:00:00 PM
Target band
1.2-1.5 kPa
Status
Too dry
Heatmap zone
Stress
Room climate
29°C at 56% RH
Mapped cell
29°C / 55% RH

Heatmap zones

Wet 0.0-0.4 kPa Condensation and pathogen pressure climb quickly.
Humid 0.4-0.8 kPa Low transpiration; common for clones and fresh cuts.
Balanced 0.8-1.0 kPa Comfortable pull for leafy or vegetative rooms.
Optimal 1.0-1.2 kPa Classic production sweet spot for many crop phases.
Firm 1.2-1.4 kPa Useful for generative steering and stronger dry-back.
Dry 1.4-1.6 kPa Irrigation demand rises and stress starts to show.
Stress 1.6+ kPa Excessively dry for most rooms; burn risk increases.

Program references

Clone / Rooting 0.0-0.8 kPa
Vegetative 0.8-1.2 kPa
Generative 1.2-1.6 kPa
Selected target 1.2-1.5 kPa
Live room marker White ring on the nearest cell
Rows: temperature Columns: relative humidity

The chart follows common grow-room VPD palettes. Blue is wetter, green is healthier, and yellow to red is increasingly dry. Cells inside your target window get an inset outline.

Cannabis room VPD. Selected target 1.2-1.5 kPa. Status Too dry. 0.31 kPa above target. Raise RH or back off room temperature to soften the pull.. Current VPD 1.76 kPa. Current zone Stress. Climate 29°C at 56% RH. Nearest chart cell 29°C / 55% RH.
°C40%45%50%55%60%65%70%75%80%85%90%
191.321.211.100.990.880.770.660.550.440.330.22
201.401.291.171.050.940.820.700.580.470.350.23
211.491.371.241.120.990.870.750.620.500.370.25
221.591.451.321.191.060.930.790.660.530.400.26
231.691.551.401.261.120.980.840.700.560.420.28
241.791.641.491.341.191.040.900.750.600.450.30
251.901.741.581.431.271.110.950.790.630.480.32
262.021.851.681.511.341.181.010.840.670.500.34
272.141.961.781.601.431.251.070.890.710.530.36
282.272.081.891.701.511.321.130.940.760.570.38
292.402.202.001.801.601.401.201.000.800.600.40
302.552.332.121.911.701.491.271.060.850.640.42
312.702.472.252.021.801.571.351.120.900.670.45
322.852.622.382.141.901.661.431.190.950.710.48
333.022.772.522.262.011.761.511.261.010.750.50
343.192.932.662.392.131.861.601.331.060.800.53
353.373.092.812.532.251.971.691.411.120.840.56

0.31 kPa above target. Raise RH or back off room temperature to soften the pull.

CwVPDChart example Copy code
<CwVPDChart
	plant="Tomato"
	growthStage="Flower set"
	targetMin={1.0}
	targetMax={1.3}
	airTemperatureC={27}
	relativeHumidity={60}
	updatedAt={Date.now()}
/>
Documentation Upgrade

Start here

CwVPDChart is a matrix view of climate strategy rather than a single-value gauge. You can drive it from an explicit `current` VPD reading, or let it derive room VPD from temperature and humidity.

How to think about it

  1. Define the target band first `targetMin` and `targetMax` define the desired VPD window and are required regardless of how you supply the live reading.
  2. Choose live reading or derived room state Pass `current` when you already have VPD from upstream data. Otherwise provide temperature and RH so the chart can derive the room VPD.
  3. Customize the matrix only for advanced climate programs Most screens can use the defaults. Reach for `stageBands`, `temperatureValuesC`, `humidityValues`, or `useF` only when the climate program requires them.

Props and callbacks

APITypeDetails
targetMin Required
numberLower edge of the target band.
targetMax Required
numberUpper edge of the target band.
current
numberOptional direct VPD reading.
plant

Default: ''

stringOptional crop label.
growthStage

Default: ''

stringOptional growth-stage label.
unit

Default: kPa

stringVPD unit label.
useF

Default: false

booleanDisplays temperature headers in Fahrenheit.
airTemperatureC
numberRoom air temperature in Celsius.
leafTemperatureC
numberOptional leaf temperature in Celsius.
relativeHumidity
numberRelative humidity percentage.
updatedAt
string | Date | numberOptional timestamp shown in the summary.
showSummary

Default: true

booleanShows the summary header block.
showLegend

Default: true

booleanShows the stage-band legend.
temperatureValuesC
number[]Custom temperature axis values in Celsius.
humidityValues
number[]Custom relative humidity axis values.
stageBands
CwVPDStageBand[]Optional custom climate-stage band definitions.

Copy-paste examples

These snippets intentionally show the full public API surface the live demo relies on.

Derived room VPD from temperature and RH

This is the easiest way to use the chart when upstream data is raw room climate data.

Derived room VPD from temperature and RH Copy code
<CwVPDChart
	plant="Tomato"
	growthStage="Flower set"
	targetMin={1.0}
	targetMax={1.3}
	airTemperatureC={27}
	leafTemperatureC={26.1}
	relativeHumidity={60}
	updatedAt={Date.now()}
/>
Direct VPD reading with Fahrenheit labels

Use `current` when VPD is already calculated elsewhere and you only want the matrix as context.

Direct VPD reading with Fahrenheit labels Copy code
<CwVPDChart
	plant="Pepper"
	growthStage="Late fruiting"
	current={1.18}
	targetMin={1.1}
	targetMax={1.4}
	useF
	showLegend={false}
	showSummary={false}
	temperatureValuesC={[18, 20, 22, 24, 26, 28, 30]}
	humidityValues={[40, 50, 60, 70, 80, 90]}
/>
Custom climate stage bands

This pattern is useful when your crop strategy does not match the default stage groupings.

Custom climate stage bands Copy code
<script lang="ts">
	const stageBands = [
		{ label: 'Clone / Rooting', min: 0, max: 0.75, tone: 'humid' },
		{ label: 'Vegetative', min: 0.75, max: 1.15, tone: 'balanced' },
		{ label: 'Generative', min: 1.15, max: 1.6, tone: 'flower' }
	];
</script>

<CwVPDChart
	plant="Cannabis"
	growthStage="Generative push"
	targetMin={1.15}
	targetMax={1.45}
	airTemperatureC={29}
	relativeHumidity={56}
	stageBands={stageBands}
/>