Grow Room Humidity & Dehumidification Guide
<!-- GREEN GENIUS GROW ROOM HUMIDITY & DEHUMIDIFICATION GUIDE -->
<div class="gg-humidity-guide">
<style>
.gg-humidity-guide {
--gg-green:#176b3a;
--gg-dark:#123b28;
--gg-light:#eef7f1;
--gg-border:#d7e3da;
--gg-grey:#f6f7f6;
--gg-warning:#fff7e6;
--gg-warning-border:#d99a23;
--gg-danger:#fff1f1;
--gg-danger-border:#b93636;
max-width:1200px;
margin:0 auto;
color:#222;
line-height:1.65;
}
.gg-humidity-guide * {
box-sizing:border-box;
}
.gg-humidity-guide h1,
.gg-humidity-guide h2,
.gg-humidity-guide h3 {
color:var(--gg-dark);
line-height:1.25;
}
.gg-humidity-guide h2 {
margin-top:42px;
}
.gg-humidity-guide .gg-lead {
font-size:1.08rem;
max-width:900px;
}
.gg-humidity-guide .gg-info {
background:var(--gg-light);
border-left:5px solid var(--gg-green);
padding:16px 18px;
margin:20px 0;
border-radius:7px;
}
.gg-humidity-guide .gg-warning {
background:var(--gg-warning);
border-left:5px solid var(--gg-warning-border);
padding:16px 18px;
margin:20px 0;
border-radius:7px;
}
.gg-humidity-guide .gg-danger {
background:var(--gg-danger);
border-left:5px solid var(--gg-danger-border);
padding:16px 18px;
margin:20px 0;
border-radius:7px;
}
.gg-humidity-guide .gg-formula {
background:var(--gg-grey);
border:1px solid var(--gg-border);
padding:14px 16px;
border-radius:7px;
font-family:monospace;
margin:14px 0;
}
.gg-humidity-guide .gg-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:16px;
margin:22px 0;
}
.gg-humidity-guide .gg-grid-2 {
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:16px;
margin:22px 0;
}
.gg-humidity-guide .gg-card {
border:1px solid var(--gg-border);
border-radius:9px;
overflow:hidden;
background:#fff;
}
.gg-humidity-guide .gg-card-head {
background:var(--gg-green);
color:#fff;
padding:13px 15px;
font-weight:800;
}
.gg-humidity-guide .gg-card-body {
padding:15px;
}
.gg-humidity-guide .gg-table-wrap {
overflow-x:auto;
-webkit-overflow-scrolling:touch;
border:1px solid var(--gg-border);
border-radius:8px;
margin:20px 0;
}
.gg-humidity-guide table {
width:100%;
min-width:820px;
border-collapse:collapse;
}
.gg-humidity-guide th {
background:var(--gg-green);
color:#fff;
text-align:left;
padding:11px;
}
.gg-humidity-guide td {
padding:11px;
border-bottom:1px solid var(--gg-border);
vertical-align:top;
}
.gg-humidity-guide tr:nth-child(even) td {
background:#f7faf8;
}
.gg-humidity-guide .gg-calculator {
border:2px solid var(--gg-green);
border-radius:10px;
overflow:hidden;
margin:28px 0;
}
.gg-humidity-guide .gg-calculator-head {
background:var(--gg-green);
color:#fff;
padding:17px 19px;
}
.gg-humidity-guide .gg-calculator-head h2 {
color:#fff;
margin:0 0 5px;
}
.gg-humidity-guide .gg-calculator-head p {
margin:0;
}
.gg-humidity-guide .gg-calculator-body {
padding:20px;
}
.gg-humidity-guide .gg-field-grid {
display:grid;
grid-template-columns:repeat(3,minmax(0,1fr));
gap:15px;
}
.gg-humidity-guide .gg-field {
margin-bottom:14px;
}
.gg-humidity-guide label {
display:block;
color:var(--gg-dark);
font-weight:700;
margin-bottom:5px;
}
.gg-humidity-guide input {
width:100%;
padding:10px 12px;
border:1px solid #bcc8c0;
border-radius:6px;
font-size:16px;
background:#fff;
}
.gg-humidity-guide button {
border:0;
background:var(--gg-green);
color:#fff;
padding:12px 18px;
border-radius:6px;
font-weight:800;
cursor:pointer;
}
.gg-humidity-guide .gg-results {
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:10px;
margin-top:20px;
}
.gg-humidity-guide .gg-result {
background:var(--gg-grey);
border:1px solid var(--gg-border);
border-radius:7px;
padding:13px;
}
.gg-humidity-guide .gg-result strong {
display:block;
font-size:.82rem;
color:var(--gg-dark);
margin-bottom:4px;
}
.gg-humidity-guide .gg-result span {
color:var(--gg-green);
font-weight:800;
font-size:1.12rem;
}
.gg-humidity-guide .gg-button-row {
display:flex;
flex-wrap:wrap;
gap:8px;
margin:20px 0;
}
.gg-humidity-guide .gg-button {
display:inline-block;
background:var(--gg-green);
color:#fff !important;
text-decoration:none;
padding:11px 15px;
border-radius:7px;
font-weight:800;
}
.gg-humidity-guide details {
border:1px solid var(--gg-border);
border-radius:8px;
margin:10px 0;
overflow:hidden;
}
.gg-humidity-guide summary {
cursor:pointer;
padding:15px 44px 15px 16px;
font-weight:800;
color:var(--gg-dark);
position:relative;
list-style:none;
}
.gg-humidity-guide summary::-webkit-details-marker {
display:none;
}
.gg-humidity-guide summary::after {
content:"+";
position:absolute;
right:16px;
top:50%;
transform:translateY(-50%);
color:var(--gg-green);
font-size:1.4rem;
}
.gg-humidity-guide details[open] summary {
background:var(--gg-light);
border-bottom:1px solid var(--gg-border);
}
.gg-humidity-guide details[open] summary::after {
content:"−";
}
.gg-humidity-guide .gg-answer {
padding:16px;
}
@media(max-width:800px) {
.gg-humidity-guide .gg-grid,
.gg-humidity-guide .gg-grid-2,
.gg-humidity-guide .gg-field-grid,
.gg-humidity-guide .gg-results {
grid-template-columns:1fr;
}
}
</style>
<!-- HERO -->
<section>
<h1>Grow Room Humidity & Dehumidification Guide</h1>
<p class="gg-lead">
Controlling grow-room humidity requires more than watching the relative
humidity percentage on a controller.
</p>
<p>
Temperature changes RH even when the amount of water vapour in the air has not
changed. To understand whether ventilation can actually dry a room, it is more
useful to compare humidity ratio and dew point alongside RH.
</p>
<div class="gg-info">
<strong>Humidity control is a moisture balance.</strong><br><br>
The basic question is:
<div class="gg-formula">
Water Vapour Entering + Water Vapour Generated
=
Water Vapour Leaving + Water Removed
</div>
This guide shows how ventilation and dehumidification fit into that balance.
</div>
</section>
<!-- RH -->
<section>
<h2>What Does Relative Humidity Actually Mean?</h2>
<p>
Relative humidity describes how close the air is to saturation at its current
temperature.
</p>
<p>
It does <strong>not</strong> directly tell you the mass of water vapour in the
air.
</p>
<div class="gg-warning">
<strong>Lower RH does not always mean drier air.</strong><br><br>
For example, approximately:
<div class="gg-formula">
30°C at 60% RH
≈
16.0 g/kg Humidity Ratio
</div>
while:
<div class="gg-formula">
20°C at 70% RH
≈
10.2 g/kg Humidity Ratio
</div>
The warmer 60% RH air contains substantially more water vapour per kilogram of
dry air than the cooler 70% RH air.
</div>
</section>
<!-- HUMIDITY RATIO -->
<section>
<h2>What Is Humidity Ratio?</h2>
<p>
Humidity ratio describes the mass of water vapour relative to the mass of dry
air.
</p>
<p>
It is commonly expressed as:
</p>
<div class="gg-formula">
grams of water vapour
per
kilogram of dry air
</div>
<p>
Unlike RH, humidity ratio does not change simply because the air temperature
changes.
</p>
<div class="gg-info">
This makes humidity ratio particularly useful for answering:
<strong>Will this intake air actually remove moisture from my grow room?</strong>
</div>
</section>
<!-- DEWPOINT -->
<section>
<h2>What Is Dew Point?</h2>
<p>
Dew point is the temperature at which air with its existing moisture content
would become saturated.
</p>
<p>
It is another useful way to describe the actual moisture content of the air.
</p>
<div class="gg-formula">
Higher Dew Point
=
More Water Vapour in the Air
</div>
<p>
Dew point is also useful for understanding condensation risk.
</p>
<p>
If a surface falls below the local dew-point temperature, moisture can condense
on that surface.
</p>
</section>
<!-- RH CHANGE -->
<section>
<h2>Why RH Rises When the Lights Turn Off</h2>
<p>
Suppose the air contains the same amount of water vapour before and after the
lights switch off.
</p>
<p>
As the room cools, the saturation vapour pressure of the air falls.
</p>
<p>
Relative humidity therefore rises even before any additional moisture enters
the room.
</p>
<div class="gg-formula">
Same Moisture Content
+
Lower Air Temperature
=
Higher Relative Humidity
</div>
<div class="gg-warning">
<strong>A sudden RH increase does not automatically mean a sudden increase in
water vapour.</strong><br><br>
Check temperature, humidity ratio or dew point before deciding what has
changed.
</div>
</section>
<!-- TRANSPIRATION -->
<section>
<h2>Where Does Grow Room Humidity Come From?</h2>
<p>
Plants move water from their root zone to their leaves and release water vapour
through transpiration.
</p>
<p>
Other moisture sources can include:
</p>
<ul>
<li>wet growing media;</li>
<li>open nutrient or water reservoirs;</li>
<li>runoff;</li>
<li>humidifiers;</li>
<li>wet floors;</li>
<li>outside ventilation air;</li>
<li>and building infiltration.</li>
</ul>
<div class="gg-grid">
<div class="gg-card">
<div class="gg-card-head">
Plant Transpiration
</div>
<div class="gg-card-body">
Water moves through the plant and evaporates into the room air.
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Evaporation
</div>
<div class="gg-card-body">
Water can evaporate directly from growing media, open tanks and wet surfaces.
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Outside Air
</div>
<div class="gg-card-body">
Ventilation can either remove moisture or import it depending on the moisture
content of the incoming air.
</div>
</div>
</div>
</section>
<!-- VENTILATION -->
<section>
<h2>Can an Exhaust Fan Reduce Humidity?</h2>
<p>
Yes — if the replacement air contains less moisture than the room condition you
are trying to maintain.
</p>
<p>
The useful comparison is:
</p>
<div class="gg-formula">
Intake Humidity Ratio
<
Target Room Humidity Ratio
</div>
<p>
When that is true, ventilation carries water vapour out of the room.
</p>
<p>
If:
</p>
<div class="gg-formula">
Intake Humidity Ratio
≥
Target Room Humidity Ratio
</div>
<p>
ventilation cannot dry the room to that target by itself.
</p>
<div class="gg-danger">
<strong>Do not automatically increase exhaust just because RH is high.</strong><br><br>
If the replacement air is equally moist or wetter, additional ventilation can
provide little moisture removal or can introduce even more water vapour.
</div>
</section>
<!-- CALCULATOR -->
<section>
<div class="gg-calculator">
<div class="gg-calculator-head">
<h2>Ventilation Moisture Removal Calculator</h2>
<p>
Compare intake and room moisture content and estimate how much water a known
ventilation airflow can theoretically remove.
</p>
</div>
<div class="gg-calculator-body">
<h3>Intake Air</h3>
<div class="gg-field-grid">
<div class="gg-field">
<label for="ggHumIntakeTemp">
Intake temperature (°C)
</label>
<input
id="ggHumIntakeTemp"
type="number"
step="0.1"
value="24">
</div>
<div class="gg-field">
<label for="ggHumIntakeRH">
Intake relative humidity (%)
</label>
<input
id="ggHumIntakeRH"
type="number"
min="1"
max="100"
step="1"
value="60">
</div>
<div class="gg-field">
<label for="ggHumPressure">
Atmospheric pressure (kPa)
</label>
<input
id="ggHumPressure"
type="number"
min="80"
max="110"
step="0.1"
value="101.3">
</div>
</div>
<h3>Room Target</h3>
<div class="gg-field-grid">
<div class="gg-field">
<label for="ggHumRoomTemp">
Room temperature (°C)
</label>
<input
id="ggHumRoomTemp"
type="number"
step="0.1"
value="28">
</div>
<div class="gg-field">
<label for="ggHumRoomRH">
Room relative humidity (%)
</label>
<input
id="ggHumRoomRH"
type="number"
min="1"
max="100"
step="1"
value="60">
</div>
<div class="gg-field">
<label for="ggHumAirflow">
Delivered ventilation airflow (m³/h)
</label>
<input
id="ggHumAirflow"
type="number"
min="0"
step="10"
value="500">
</div>
</div>
<h3>Optional Moisture Load</h3>
<div class="gg-field-grid">
<div class="gg-field">
<label for="ggHumMoistureLoad">
Estimated moisture load (kg/day)
</label>
<input
id="ggHumMoistureLoad"
type="number"
min="0"
step="0.1"
value="0">
</div>
</div>
<button
type="button"
onclick="ggHumidityCalculate()">
Calculate Moisture Removal
</button>
<div class="gg-results">
<div class="gg-result">
<strong>Intake Humidity Ratio</strong>
<span id="ggHumIntakeWResult">—</span>
</div>
<div class="gg-result">
<strong>Room Humidity Ratio</strong>
<span id="ggHumRoomWResult">—</span>
</div>
<div class="gg-result">
<strong>Intake Dew Point</strong>
<span id="ggHumDewResult">—</span>
</div>
<div class="gg-result">
<strong>Moisture Removal</strong>
<span id="ggHumRemovalResult">—</span>
</div>
</div>
<div id="ggHumMessage"></div>
<p style="font-size:.9rem;color:#555;">
This is a planning calculation based on moist-air relationships. Real rooms are
dynamic and may have changing plant transpiration, infiltration, irrigation and
equipment conditions.
</p>
</div>
</div>
</section>
<!-- EXAMPLE -->
<section>
<h2>Worked Humidity Example</h2>
<p>
Compare:
</p>
<div class="gg-formula">
Intake:
24°C / 60% RH
≈
11.2 g/kg
</div>
<p>
with:
</p>
<div class="gg-formula">
Room:
28°C / 60% RH
≈
14.2 g/kg
</div>
<p>
Although both air conditions are at 60% RH, the cooler intake air contains less
actual moisture.
</p>
<div class="gg-formula">
Difference
≈
3.0 g/kg Dry Air
</div>
<p>
At approximately 500 m³/h, this difference can theoretically remove roughly
<strong>1.8 kg of water per hour</strong> under the stated steady conditions.
</p>
<div class="gg-warning">
This is a theoretical mass-balance example.
Actual grow-room moisture removal changes as:
<ul>
<li>room temperature changes;</li>
<li>intake conditions change;</li>
<li>airflow changes;</li>
<li>plant transpiration changes;</li>
<li>and water sources enter or leave the room.</li>
</ul>
</div>
</section>
<!-- MOISTURE BALANCE -->
<section>
<h2>Grow Room Moisture Balance</h2>
<p>
A useful simplified model is:
</p>
<div class="gg-formula">
Moisture Generated
=
Moisture Removed by Ventilation
+
Moisture Removed by Dehumidification
</div>
<p>
If moisture production continuously exceeds removal:
</p>
<div class="gg-formula">
Moisture Accumulates
→
Humidity Ratio Rises
→
Dew Point Rises
</div>
<p>
The system eventually settles at a wetter condition or requires additional
moisture-removal capacity.
</p>
</section>
<!-- ESTIMATE LOAD -->
<section>
<h2>Estimating the Moisture Load</h2>
<p>
For larger controlled rooms, dehumidification equipment should ideally be
selected from an estimate or measurement of the actual water load.
</p>
<p>
Useful sources of information can include:
</p>
<ul>
<li>irrigation supplied;</li>
<li>runoff removed;</li>
<li>water retained in growing media;</li>
<li>reservoir changes;</li>
<li>condensate collected;</li>
<li>and measured environmental trends.</li>
</ul>
<div class="gg-danger">
<strong>Do not assume every litre irrigated immediately becomes one litre of
airborne moisture.</strong><br><br>
Water can remain in:
<ul>
<li>plant tissue;</li>
<li>growing media;</li>
<li>reservoirs;</li>
<li>runoff;</li>
<li>or drainage.</li>
</ul>
Use irrigation data as part of the water balance rather than automatically
treating total irrigation as instantaneous transpiration.
</div>
</section>
<!-- WHEN VENT NOT ENOUGH -->
<section>
<h2>When Ventilation Cannot Control Humidity</h2>
<p>
Ventilation reaches its moisture-control limit when the intake air is not dry
enough to move the room toward the desired condition.
</p>
<p>
This can occur during:
</p>
<ul>
<li>humid summer weather;</li>
<li>warm rainy periods;</li>
<li>high dew-point conditions;</li>
<li>large plant moisture loads;</li>
<li>or when the surrounding room is already moisture-rich.</li>
</ul>
<div class="gg-formula">
Intake Moisture
≥
Desired Room Moisture
→
Ventilation Alone Cannot Reach Target
</div>
<div class="gg-info">
At that point, the room needs:
<ul>
<li>conditioned intake air;</li>
<li>mechanical dehumidification;</li>
<li>or a combined HVAC strategy.</li>
</ul>
</div>
</section>
<!-- DEHUMIDIFIERS -->
<section>
<h2>How Does a Dehumidifier Work?</h2>
<p>
A refrigeration dehumidifier draws moist room air across a cold evaporator
coil.
</p>
<p>
When the coil is below the air's dew point, water vapour condenses.
</p>
<div class="gg-formula">
Moist Air
→
Cold Coil
→
Condensation
→
Drier Air
</div>
<p>
The air is then reheated as it passes through the condenser section of a
self-contained unit.
</p>
<div class="gg-info">
Unlike ventilation, a dehumidifier does not depend on the outside air being
drier than the room.
It actively removes water from recirculating room air.
</div>
</section>
<!-- TYPES -->
<section>
<h2>Compressor vs Desiccant Dehumidifiers</h2>
<div class="gg-grid-2">
<div class="gg-card">
<div class="gg-card-head">
Refrigeration / Compressor
</div>
<div class="gg-card-body">
<p>
Uses a cold refrigeration coil to condense water from the air.
</p>
<p>
Performance is strongly influenced by temperature and humidity conditions.
</p>
<p>
Common in residential and controlled-environment applications.
</p>
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Desiccant
</div>
<div class="gg-card-body">
<p>
Uses a moisture-adsorbing material and a regeneration process rather than
relying solely on condensation at a cold evaporator.
</p>
<p>
Desiccant systems can be useful where low-temperature operation or lower dew
points are required.
</p>
</div>
</div>
</div>
</section>
<!-- RATINGS -->
<section>
<h2>Understanding Dehumidifier Litre-Per-Day Ratings</h2>
<p>
Dehumidifier capacity is commonly published in litres per day.
</p>
<p>
That figure is only meaningful when you know the temperature and RH at which it
was tested.
</p>
<div class="gg-warning">
<strong>A 12 L/day dehumidifier does not necessarily remove 12 L/day under every
room condition.</strong><br><br>
For example, the Ionmax ION622 currently lists:
<div class="gg-formula">
12 L/day
at
30°C / 80% RH
</div>
Its actual moisture-removal rate will change when operated at different
temperature and humidity conditions.
</div>
<h3>Why Capacity Changes</h3>
<p>
As room temperature and dew point fall, less water may condense on a
refrigeration coil.
</p>
<p>
That means a dehumidifier tested under warm, humid conditions may remove much
less water under cooler or drier conditions.
</p>
<div class="gg-info">
When comparing dehumidifiers, check:
<ul>
<li>rated L/day;</li>
<li>test temperature;</li>
<li>test RH;</li>
<li>operating temperature range;</li>
<li>continuous-drain capability;</li>
<li>power consumption;</li>
<li>and performance near your actual target condition.</li>
</ul>
</div>
</section>
<!-- DAY NIGHT -->
<section>
<h2>Dehumidification During Lights-On and Lights-Off</h2>
<p>
Humidity control should be checked across the complete operating cycle.
</p>
<div class="gg-table-wrap">
<table>
<thead>
<tr>
<th>Condition</th>
<th>Temperature Behaviour</th>
<th>Moisture Behaviour</th>
<th>Control Challenge</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Lights On</strong></td>
<td>Higher sensible load</td>
<td>Plant transpiration can be high</td>
<td>Cooling and moisture removal may operate together</td>
</tr>
<tr>
<td><strong>Lights-Off Transition</strong></td>
<td>Temperature can fall quickly</td>
<td>Moisture production may not fall equally quickly</td>
<td>RH can rise sharply</td>
</tr>
<tr>
<td><strong>Lights Off</strong></td>
<td>Lower sensible load</td>
<td>Moisture removal may still be required</td>
<td>AC may not run long enough to provide sufficient dehumidification</td>
</tr>
</tbody>
</table>
</div>
<div class="gg-warning">
<strong>Do not size humidity control from a single daytime condition.</strong><br><br>
Lights-off and transition conditions can be some of the most difficult
humidity-control periods.
</div>
</section>
<!-- AC VS DEHU -->
<section>
<h2>Air Conditioning vs Dedicated Dehumidification</h2>
<p>
Air conditioners can remove water when their evaporator coil operates below
the air dew point.
</p>
<p>
However, an air conditioner primarily responding to temperature may stop once
the sensible cooling target has been satisfied.
</p>
<div class="gg-formula">
Temperature Satisfied
→
AC Reduces or Stops
→
Moisture Load May Remain
</div>
<p>
A dedicated dehumidifier provides separate latent-control capacity.
</p>
<div class="gg-table-wrap">
<table>
<thead>
<tr>
<th>Method</th>
<th>Temperature Effect</th>
<th>Moisture Removal</th>
<th>Main Limitation</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>Ventilation</strong></td>
<td>Depends on intake temperature</td>
<td>Depends on intake humidity ratio</td>
<td>Outdoor/intake conditions</td>
</tr>
<tr>
<td><strong>Air Conditioning</strong></td>
<td>Provides active cooling</td>
<td>Can remove moisture during cooling</td>
<td>May satisfy temperature before latent load</td>
</tr>
<tr>
<td><strong>Dedicated Dehumidifier</strong></td>
<td>Usually adds sensible heat to room</td>
<td>Actively removes water</td>
<td>Creates additional heat load</td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- DEHU HEAT -->
<section>
<h2>Dehumidifiers Add Sensible Heat</h2>
<p>
A self-contained refrigeration dehumidifier operating inside a room does not
simply make water disappear.
</p>
<p>
The refrigeration cycle removes moisture and rejects heat back into the space,
along with the electrical energy consumed by the machine.
</p>
<div class="gg-formula">
Moisture Removal
→
Additional Sensible Heat in Room
</div>
<div class="gg-danger">
<strong>Cooling and dehumidification must be designed together.</strong><br><br>
If a large dehumidifier is added after the air-conditioning system is selected,
the cooling requirement should be checked again.
</div>
<div class="gg-button-row">
<a
class="gg-button"
href="/pages/grow-room-temperature-cooling-guide-australia">
Grow Room Temperature & Cooling Guide
</a>
</div>
</section>
<!-- CONDENSATE -->
<section>
<h2>Plan for Condensate Removal</h2>
<p>
Water removed from the air needs a reliable disposal path.
</p>
<p>
Depending on the equipment, condensate may be handled by:
</p>
<ul>
<li>an internal tank;</li>
<li>gravity drain;</li>
<li>continuous hose drain;</li>
<li>fixed drainage;</li>
<li>or a condensate pump.</li>
</ul>
<div class="gg-warning">
For continuous environmental control, a small collection tank can become the
weak link.
If the tank fills and the unit stops, room humidity can rise quickly.
</div>
<p>
Where appropriate, consider:
</p>
<ul>
<li>continuous drainage;</li>
<li>overflow protection;</li>
<li>pump-failure monitoring;</li>
<li>accessible drain cleaning;</li>
<li>and safe disposal of collected water.</li>
</ul>
</section>
<!-- SENSOR -->
<section>
<h2>Where Should a Humidity Sensor Be Positioned?</h2>
<p>
The controller only responds to the conditions measured at its sensor.
</p>
<p>
The primary sensor should represent the environmental zone you are actually
trying to control.
</p>
<p>
Avoid placing it:
</p>
<ul>
<li>inside humidifier mist;</li>
<li>directly in dehumidifier discharge;</li>
<li>immediately beside a passive intake;</li>
<li>in direct air-conditioner discharge;</li>
<li>against a wet surface;</li>
<li>or in a stagnant corner.</li>
</ul>
<div class="gg-info">
For larger rooms, use additional sensors to identify the most humid areas rather
than assuming one reading represents the complete room.
</div>
</section>
<!-- CIRCULATION -->
<section>
<h2>Circulation Fans Do Not Remove Moisture</h2>
<p>
Circulation fans help mix humid and dry air within the controlled space.
</p>
<p>
This can reduce local humidity pockets and improve sensor representativeness.
</p>
<p>
But:
</p>
<div class="gg-formula">
Internal Circulation
≠
Net Moisture Removal
</div>
<p>
Water leaves the room only when it is:
</p>
<ul>
<li>ventilated out;</li>
<li>condensed and drained;</li>
<li>adsorbed and removed by another process;</li>
<li>or otherwise physically removed from the controlled space.</li>
</ul>
</section>
<!-- CANOPY -->
<section>
<h2>Canopy Humidity Can Differ From Room Humidity</h2>
<p>
A dense plant canopy can create a local microclimate.
</p>
<p>
Humidity inside or below the canopy may differ from a wall-mounted or
ceiling-mounted room sensor because:
</p>
<ul>
<li>transpiration occurs locally;</li>
<li>air velocity may be lower;</li>
<li>leaf temperature differs from room air temperature;</li>
<li>and circulation may not reach every part of the canopy equally.</li>
</ul>
<div class="gg-info">
Room dehumidification and internal air circulation solve different parts of the
problem.
Use circulation to distribute air and dehumidification or ventilation to remove
water from the controlled space.
</div>
</section>
<!-- VPD -->
<section>
<h2>VPD vs Humidity Ratio</h2>
<p>
VPD and humidity ratio are both useful, but they answer different questions.
</p>
<div class="gg-grid-2">
<div class="gg-card">
<div class="gg-card-head">
VPD
</div>
<div class="gg-card-body">
<p>
Useful for describing the vapour-pressure relationship affecting plant
transpiration and plant environmental conditions.
</p>
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Humidity Ratio
</div>
<div class="gg-card-body">
<p>
Useful for moisture mass balance and determining whether one air stream can dry
another.
</p>
</div>
</div>
</div>
<div class="gg-formula">
VPD:
Plant Environment
Humidity Ratio:
Water Mass in Air
</div>
<p>
Do not substitute one metric for the other.
</p>
</section>
<!-- BRISBANE -->
<section>
<h2>Humidity Control in Brisbane</h2>
<p>
Brisbane conditions can make ventilation highly effective for moisture removal
at some times of year and much less useful at others.
</p>
<p>
Warm outside air can hold substantial water vapour even when its RH percentage
does not look extreme.
</p>
<div class="gg-formula">
Brisbane Intake Decision:
Compare Humidity Ratio
Not Just RH
</div>
<div class="gg-info">
The separate Brisbane guide uses local temperature and humidity data to show
how the moisture-removal potential of ventilation changes seasonally.
<div class="gg-button-row">
<a
class="gg-button"
href="/pages/grow-room-ventilation-brisbane">
Grow Room Ventilation in Brisbane
</a>
</div>
</div>
</section>
<!-- DESIGN -->
<section>
<h2>Grow Room Humidity Control Sequence</h2>
<div class="gg-formula">
1. Measure Room Temperature + RH
↓
2. Measure Intake Temperature + RH
↓
3. Convert Both to Humidity Ratio
↓
4. Estimate Room Moisture Load
↓
5. Calculate Ventilation Moisture Removal
↓
6. Identify Lights-On + Lights-Off Conditions
↓
7. Determine Remaining Dehumidification Requirement
↓
8. Select Equipment at Relevant Test Conditions
↓
9. Include Dehumidifier Heat in Cooling Design
↓
10. Commission and Measure Condensate Removal
</div>
</section>
<!-- TROUBLESHOOT -->
<section>
<h2>Grow Room Humidity Troubleshooting</h2>
<div class="gg-table-wrap">
<table>
<thead>
<tr>
<th>Symptom</th>
<th>Likely Cause</th>
<th>What to Check</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>RH jumps when lights switch off</strong></td>
<td>Temperature drop, continued moisture load</td>
<td>Dew point, humidity ratio and lights-off dehumidification</td>
</tr>
<tr>
<td><strong>Increasing exhaust does not reduce RH</strong></td>
<td>Intake air may be too moist</td>
<td>Compare intake and room humidity ratios</td>
</tr>
<tr>
<td><strong>Room is cool but very humid</strong></td>
<td>Low sensible load but high latent load</td>
<td>Dedicated dehumidification capacity</td>
</tr>
<tr>
<td><strong>Dehumidifier rarely reaches advertised L/day</strong></td>
<td>Actual room condition differs from rating condition</td>
<td>Test temperature and RH used for capacity rating</td>
</tr>
<tr>
<td><strong>AC cools room but RH remains high</strong></td>
<td>Cooling demand satisfied before moisture load</td>
<td>Dedicated latent control or HVAC configuration</td>
</tr>
<tr>
<td><strong>Dehumidifier controls RH but room gets hotter</strong></td>
<td>Normal heat rejection from in-room unit</td>
<td>Cooling capacity and dehumidifier heat load</td>
</tr>
<tr>
<td><strong>One canopy area remains humid</strong></td>
<td>Poor air distribution</td>
<td>Circulation and sensor placement</td>
</tr>
<tr>
<td><strong>RH percentage falls but dew point rises</strong></td>
<td>Air temperature increased</td>
<td>Actual moisture content rather than RH alone</td>
</tr>
</tbody>
</table>
</div>
</section>
<!-- RELATED -->
<section>
<h2>Continue Designing Your Environment</h2>
<div class="gg-grid">
<div class="gg-card">
<div class="gg-card-head">
Calculate Ventilation
</div>
<div class="gg-card-body">
<p>
Calculate the airflow required for your grow tent or indoor room.
</p>
<div class="gg-button-row">
<a
class="gg-button"
href="/pages/grow-room-fan-ventilation-calculator">
Ventilation Calculator
</a>
</div>
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Control Temperature
</div>
<div class="gg-card-body">
<p>
Understand sensible heat, ventilation cooling and active air conditioning.
</p>
<div class="gg-button-row">
<a
class="gg-button"
href="/pages/grow-room-temperature-cooling-guide-australia">
Temperature & Cooling Guide
</a>
</div>
</div>
</div>
<div class="gg-card">
<div class="gg-card-head">
Automate the Environment
</div>
<div class="gg-card-body">
<p>
Learn how temperature, humidity and VPD controllers operate environmental
equipment.
</p>
<div class="gg-button-row">
<a
class="gg-button"
href="/pages/grow-room-environmental-controller-guide">
Environmental Controller Guide
</a>
</div>
</div>
</div>
</div>
</section>
<!-- SHOP -->
<section>
<h2>Shop Dehumidifiers & Environmental Equipment</h2>
<p>
Green Genius stocks dehumidification, ventilation and environmental-control
equipment for indoor growing spaces.
</p>
<div class="gg-button-row">
<a
class="gg-button"
href="/collections/enviromental">
Shop Environmental Equipment
</a>
<a
class="gg-button"
href="/products/ionmax-ion622-compressor-dehumidifier">
Ionmax ION622
</a>
<a
class="gg-button"
href="/products/ionmax-ed18">
Ionmax ED18
</a>
<a
class="gg-button"
href="/collections/ventilation">
Shop Ventilation
</a>
<a
class="gg-button"
href="/pages/contact-us-new">
Ask Green Genius
</a>
</div>
</section>
<!-- FAQ -->
<section>
<h2>Grow Room Humidity FAQs</h2>
<details>
<summary>Can an exhaust fan lower grow room humidity?</summary>
<div class="gg-answer">
<p>
Yes, when the replacement air has a lower humidity ratio than the room target.
If the incoming air contains equal or greater moisture, additional ventilation
will not provide useful drying to that target.
</p>
</div>
</details>
<details>
<summary>Why does humidity rise when the grow lights turn off?</summary>
<div class="gg-answer">
<p>
Room temperature often falls rapidly after lights-off. Cooler air reaches a
higher relative humidity even if its actual moisture content remains unchanged.
Plant and substrate moisture can then add to the increase.
</p>
</div>
</details>
<details>
<summary>Is 60% RH outside always drier than 70% RH inside?</summary>
<div class="gg-answer">
<p>
No. Relative humidity must be considered with temperature. Warm air at 60% RH
can contain substantially more water vapour than cooler air at 70% RH. Compare
humidity ratio or dew point.
</p>
</div>
</details>
<details>
<summary>How big a dehumidifier do I need?</summary>
<div class="gg-answer">
<p>
Estimate the amount of water that must be removed per day and compare it with
the dehumidifier's capacity at conditions close to your actual room
temperature and RH. Do not rely on the headline L/day number without checking
its test conditions.
</p>
</div>
</details>
<details>
<summary>Does a dehumidifier heat the grow room?</summary>
<div class="gg-answer">
<p>
A conventional self-contained refrigeration dehumidifier normally adds
sensible heat to the controlled room while removing moisture. The cooling
system should account for that heat.
</p>
</div>
</details>
<details>
<summary>Can an air conditioner replace a dehumidifier?</summary>
<div class="gg-answer">
<p>
Sometimes, but not always. An air conditioner removes some moisture while
cooling, but it may satisfy the room temperature before enough water has been
removed. Dedicated dehumidification is useful where latent load remains high.
</p>
</div>
</details>
<details>
<summary>What is better for humidity control: RH or dew point?</summary>
<div class="gg-answer">
<p>
RH is useful for environmental control, while dew point and humidity ratio are
better indicators of actual moisture content. For deciding whether intake air
can dry a room, humidity ratio is especially useful.
</p>
</div>
</details>
<details>
<summary>Do circulation fans reduce humidity?</summary>
<div class="gg-answer">
<p>
They redistribute moisture but do not remove it from the room. Net moisture
removal requires ventilation to drier air, condensation, desiccant
dehumidification or another process that physically removes water.
</p>
</div>
</details>
</section>
</div>
<script>
function ggHumiditySaturationPressure(tempC) {
return 0.61094 *
Math.exp(
(17.625 * tempC) /
(tempC + 243.04)
);
}
function ggHumidityRatio(tempC, rhPercent, pressureKPa) {
const saturation =
ggHumiditySaturationPressure(tempC);
const vapourPressure =
(rhPercent / 100) *
saturation;
return 0.621945 *
vapourPressure /
(pressureKPa - vapourPressure);
}
function ggHumidityDewPoint(tempC, rhPercent) {
const rh =
rhPercent / 100;
const gamma =
Math.log(rh) +
(17.625 * tempC) /
(243.04 + tempC);
return (
243.04 *
gamma /
(17.625 - gamma)
);
}
function ggHumiditySpecificVolume(tempC, humidityRatio, pressureKPa) {
const tempK =
tempC + 273.15;
return (
287.055 *
tempK *
(1 + 1.607858 * humidityRatio)
) /
(pressureKPa * 1000);
}
function ggHumidityCalculate() {
const intakeTemp =
parseFloat(
document.getElementById('ggHumIntakeTemp').value
);
const intakeRH =
parseFloat(
document.getElementById('ggHumIntakeRH').value
);
const roomTemp =
parseFloat(
document.getElementById('ggHumRoomTemp').value
);
const roomRH =
parseFloat(
document.getElementById('ggHumRoomRH').value
);
const pressure =
parseFloat(
document.getElementById('ggHumPressure').value
) || 101.3;
const airflow =
parseFloat(
document.getElementById('ggHumAirflow').value
) || 0;
const moistureLoad =
parseFloat(
document.getElementById('ggHumMoistureLoad').value
) || 0;
if (
isNaN(intakeTemp) ||
isNaN(intakeRH) ||
isNaN(roomTemp) ||
isNaN(roomRH)
) {
return;
}
const intakeW =
ggHumidityRatio(
intakeTemp,
intakeRH,
pressure
);
const roomW =
ggHumidityRatio(
roomTemp,
roomRH,
pressure
);
const dewPoint =
ggHumidityDewPoint(
intakeTemp,
intakeRH
);
const deltaW =
roomW -
intakeW;
const intakeSpecificVolume =
ggHumiditySpecificVolume(
intakeTemp,
intakeW,
pressure
);
const airflowM3S =
airflow / 3600;
const dryAirMassFlow =
airflowM3S /
intakeSpecificVolume;
const removalKgHour =
dryAirMassFlow *
deltaW *
3600;
document.getElementById(
'ggHumIntakeWResult'
).textContent =
(intakeW * 1000).toFixed(1) +
' g/kg';
document.getElementById(
'ggHumRoomWResult'
).textContent =
(roomW * 1000).toFixed(1) +
' g/kg';
document.getElementById(
'ggHumDewResult'
).textContent =
dewPoint.toFixed(1) +
'°C';
document.getElementById(
'ggHumRemovalResult'
).textContent =
removalKgHour.toFixed(2) +
' kg/h';
const message =
document.getElementById('ggHumMessage');
if (deltaW > 0) {
let extra = '';
if (moistureLoad > 0) {
const moistureKgS =
moistureLoad /
86400;
const requiredDryAirMass =
moistureKgS /
deltaW;
const requiredAirflowM3H =
requiredDryAirMass *
intakeSpecificVolume *
3600;
extra =
'<br><br>For an entered moisture load of <strong>' +
moistureLoad.toFixed(1) +
' kg/day</strong>, the simplified steady-state ventilation requirement is approximately <strong>' +
Math.round(requiredAirflowM3H) +
' m³/h</strong> at these intake and room conditions.';
}
message.innerHTML =
'<div class="gg-info">' +
'<strong>The intake air is drier than the room target.</strong><br><br>' +
'The humidity-ratio difference is approximately <strong>' +
((deltaW) * 1000).toFixed(1) +
' g/kg</strong>.' +
'<br><br>At ' +
Math.round(airflow) +
' m³/h, the theoretical moisture-removal rate is approximately <strong>' +
removalKgHour.toFixed(2) +
' kg/h</strong>.' +
extra +
'</div>';
} else if (Math.abs(deltaW) < 0.00005) {
message.innerHTML =
'<div class="gg-warning">' +
'<strong>The intake and room target contain approximately the same moisture.</strong><br><br>' +
'Ventilation provides little net moisture removal under these conditions.' +
'</div>';
} else {
message.innerHTML =
'<div class="gg-danger">' +
'<strong>The intake air contains more moisture than the room target.</strong><br><br>' +
'The intake humidity ratio is approximately <strong>' +
(intakeW * 1000).toFixed(1) +
' g/kg</strong>, compared with <strong>' +
(roomW * 1000).toFixed(1) +
' g/kg</strong> at the room target.' +
'<br><br>Increasing ventilation cannot dehumidify the room to this target using the entered intake air.' +
'</div>';
}
}
ggHumidityCalculate();
</script>
