Room Ventilation Calculator: CO₂, Humidity and Airing Time

Estimate window airing time from CO₂ and moisture balances. Compare cold-surface humidity, sensible heat loss and mechanical heat recovery, with animated room-air curves.

#airing time #CO2 #heat recovery #humidity #mass balance #mould risk #ventilation #Warren–Parkins

Estimate how long to air a room to reduce carbon dioxide and humidity, and see what happens at a cold wall or window reveal. This room ventilation calculator is for engineers, students, building owners and anyone comparing a short window airing with a measured ventilation rate.

Airing time depends on the room volume, opening, wind, temperature difference and ongoing indoor sources. Seasonal minute tables cannot capture all of these. If you are searching for “Stoßlüften wie lange”, start with your own room measurements and treat the window result as an estimate rather than a timer that guarantees good air.

Enter the room volume, indoor temperature, initial CO₂ and relative humidity. Then enter outdoor conditions. For one fully open window on one wall, provide the clear opening area, vertical height and exposed reference wind speed. The Warren–Parkins approach estimates wind and buoyancy exchange and takes the larger contribution. It does not add them. For tilted windows, cross-ventilation or a known ventilation system, select an outdoor air-change rate instead. Recirculated air and filter equivalent air changes do not remove CO₂ or water vapour.

Set how many people remain during airing and their approximate CO₂ generation. Enter the total continuing water-vapour source separately, including people and other activities. The default moisture source is an illustrative assumption. An empty room can use zero for both sources. Choose your CO₂ and room-humidity targets and the airing duration.

The results give the first time each target is reached and the earliest time both are satisfied together. “Not reachable” means the selected airflow and continuing sources cannot achieve the requested combination. A target time can exceed the plotted interval; extend the duration to inspect it. Press ▶ to watch the room state and the elapsed portions of the CO₂ and humidity curves. End-of-airing cards always refer to the selected duration.

Cold outdoor air can have high relative humidity while containing little water. Warm humid outdoor air can increase indoor moisture even as it lowers CO₂. The balance therefore uses humidity ratio, not a direct average of relative humidity readings. Humidity is evaluated at a constant room temperature: it describes maintained or restored room temperature, not the brief temperature dip beside an open window.

Use the mould humidity calculator screen with a measured cold-surface temperature. Persistent surface RH around 80% merits attention; 100% indicates possible condensation. This is not a prediction of mould growth time. Sensible heating loss covers replacement air, with optional mechanical heat recovery. It excludes latent heat, fan electricity and cooling demand.

Airflow estimates, moisture buffering and surface temperatures can dominate the uncertainty. The dilute-CO₂ model is limited to 10,000 ppm throughout the selected interval; higher predictions block the results. This modelling cutoff is not a health limit. The tool does not diagnose leaks, thermal bridges, existing mould or pollutant exposure. Check the result against CO₂ and humidity measurements. Ventilation installation work belongs to a qualified person.

How it is calculated

The single-zone balances are derived here from conservation. With k=Q/Vk=Q/V and a constant concentration source ss, dy/dt=s−k(y−yo)dy/dt=s-k(y-y_o). For k>0k>0, y(t)=yo+s/k+(y0−yo−s/k)e−kty(t)=y_o+s/k+(y_0-y_o-s/k)e^{-kt}; with zero flow, y=y0+sty=y_0+st. CO₂ uses volume ppm and s=106GCO2/Vs=10^6G_{CO₂}/V.

Moisture uses w=0.62198pv/(p−pv)w=0.62198p_v/(p-p_v) (kg water/kg dry air). The reference dry-air inventory is Md=(p−pv,0)V/(RdTi)M_d=(p-p_{v,0})V/(R_dT_i), and sw=Gw/Mds_w=G_w/M_d. Volumetric flow is interpreted at the room reference state. Vapour pressure is recovered from pv=pw/(0.62198+w)p_v=pw/(0.62198+w), so RH at room temperature follows from 100pv/psat(Ti)100p_v/p_{sat}(T_i).

Saturation pressure uses the Alduchov–Eskridge Magnus expression psat=610.94exp⁡[17.625T/(243.04+T)]p_{sat}=610.94\exp[17.625T/(243.04+T)] Pa, with TT in °C; Silicon Labs AN607 Rev. 2.0, Appendix B, PDF p. 26. Its inverse gives dew point. The ideal-gas constants are Rd=287.055R_d=287.055 and Rv=461.52R_v=461.52 J/(kg·K).

For one full rectangular aperture on one wall, Qw=0.025AUrefQ_w=0.025AU_{ref} and Qb=CdAgH∣Ti−To∣/Tavg/3Q_b=C_dA\sqrt{gH|T_i-T_o|/T_{avg}}/3. Use Q=max⁡(Qw,Qb)Q=\max(Q_w,Q_b), as tabulated and experimentally assessed by Gough et al. (2020), Table 1, PDF p. 2. TavgT_{avg} is absolute temperature. This is one-way exchanged flow; do not double it for the outward stream.

Target times are found by inverting the exponential. A target at the asymptote is not reached in finite time. Initially satisfied targets receive time zero. The candidate maximum of individual entry times is checked against both concentrations, preventing a false combined time when one concentration rises while the other falls.

Surface saturation demand is 100pv/psat(Ts)100p_v/p_{sat}(T_s) at a fixed surface temperature. Values above 100% indicate condensation potential before any condensate removal; values around 80% are only a persistent-moisture screen (SMGV guidance, PDF p. 15).

Sensible heating loss is H˙=ρd(cpd+w0cpv)Qmax⁡(Ti−To,0)(1−η)\dot H=\rho_d(c_{pd}+w_0c_{pv})Q\max(T_i-T_o,0)(1-\eta). Integrate over the chosen duration. Engineering approximations cpd=1006c_{pd}=1006, cpv=1860c_{pv}=1860 J/(kg·K) are constant. Only mechanical mode applies heat recovery; neither CO₂ nor moisture is recovered.

Assumptions

  • One well-mixed room, with constant volume, pressure, indoor temperature, outdoor conditions, airflow and sources. No exchange with adjacent rooms.
  • Moisture is a dilute ideal-gas mixture with constant reference dry-air density. Material absorption, liquid water, condensation sinks and thermal storage are omitted. Predictions after bulk air reaches saturation are outside the model.
  • Room RH means RH after maintaining or restoring the entered indoor temperature. The model does not calculate room or wall cooling during airing.
  • A fully open, unobstructed rectangular aperture is assumed for window mode. The default discharge coefficient 0.6 is an engineering assumption. Wind direction, shelter and interactions with buoyancy are not resolved.
  • The editable 0.0052 L/s adult CO₂ rate is the historical ASHRAE/ASTM example discussed by Persily and de Jonge (2017), PDF p. 3; it is not a universal physiological rate. Rates must use room conditions. The paper discusses substantial variation and limitations of older estimates.
  • The default total moisture source of 100 g/h is a scenario assumption, independent of the people counter. Adjust it when occupancy or activities change.
  • Mechanical recovery is sensible only, without moisture transfer, leakage, frost dynamics or fan power. Set effective recovery to the actual operating value. Heating energy is zero when outdoor air is warmer; cooling and latent loads are not calculated.
  • CO₂ is treated as a dilute tracer. Results require an interval maximum no greater than 10,000 ppm; concentrated-gas displacement and non-dilute mixture effects are not modelled.

Where it applies

Suitable for preliminary comparisons and short, approximately steady airing events. Input limits are product limits, not a claimed experimental validation envelope. The Magnus water correlation is used within −20 to +40 °C for outdoor air, +5 to +35 °C indoors and 0 to +35 °C at the surface; enhancement factors and ice-surface saturation are omitted. Dew points below −40 °C are extrapolations.

Natural airflow can differ substantially from the estimate, especially in sheltered, leeward, gusty or partly obstructed openings. Use measured outdoor air changes for decisions needing accuracy. At zero wind and equal temperatures the selected correlation gives zero exchange; real turbulence or leakage may still ventilate the room.

The adjustable 1000 ppm default is an operating target, not a health or regulatory limit. CO₂ does not describe all pollutants. The 80% surface screen concerns persistence, substrate and temperature; a short excursion neither proves nor rules out mould. No standard-compliance, exposure or mould-remediation claim is made. Ventilation installation work belongs to a qualified person.

The dilute-CO₂ calculation is limited to 10,000 ppm (1% by volume) throughout the selected interval. This is a conservative modelling cutoff chosen for this tool, not a health or regulatory limit. Because the constant-source transient is monotonic, its maximum is exactly the larger of the initial and final values. Results are blocked if this maximum exceeds the cutoff.

References

  • Persily, A. and de Jonge, L. (2017). Carbon dioxide generation rates for building occupants. Indoor Air 27, 868–879. DOI: https://doi.org/10.1111/ina.12383 — open NIST copy: https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=920870
  • Gough, H. L. et al. (2020). Evaluating single-sided natural ventilation models against full-scale idealised measurements: Impact of wind direction and turbulence. Building and Environment 170, 106556. https://doi.org/10.1016/j.buildenv.2019.106556 — open copy: https://eprints.whiterose.ac.uk/id/eprint/161783/1/1-s2.0-S0360132319307681-main.pdf
  • Allen, J. et al., Harvard Healthy Buildings (2020). 5-step guide to checking ventilation rates in classrooms, PDF p. 38 (printed 37), CO₂ decay worked measurement. https://healthybuildings.hsph.harvard.edu/wp-content/uploads/2024/09/Harvard-Healthy-Buildings-program.How-to-assess-classroom-ventilation.11-17-2020.pdf
  • SMGV (2009). Schimmelpilzsanierungen, appendix Table 4, PDF p. 15. Published dew points, absolute humidity and surface-moisture guidance. Hosted by the Swiss Federal Office of Public Health: https://www.bag.admin.ch/dam/de/sd-web/yFr-Xnwhvqun/merkblatt-schimmelpilzsanierungen.pdf
  • Silicon Laboratories. AN607, Rev. 2.0 (2016), Si70xx Humidity and Temperature Sensor Designer’s Guide, Appendix B, PDF p. 26. Magnus coefficients after Alduchov and Eskridge (1996). https://www.silabs.com/documents/public/application-notes/AN607.pdf

Inputs

InputSymbolUnitDefault
Room air volume
Usable air volume: floor area × room height, less large enclosed volumes.
V_roomm^360
Room temperature
Held constant during the balance; humidity means humidity at this temperature.
T_in°C20
Initial room relative humidity
Measure away from windows, radiators and external walls.
RH_in%65
Initial room CO₂
Use a calibrated CO₂ reading. ppm is volume parts per million.
C_inppm1800
Outdoor temperature
Constant during the airing interval.
T_out°C5
Outdoor relative humidity
Relative to liquid water, including below 0 °C; compare moisture content, not just RH.
RH_out%80
Outdoor CO₂
Measure locally where possible; 430 ppm is an illustrative background.
C_outppm430
Atmospheric pressure
Absolute pressure. Lower pressures change the dry-air mass in the room.
p_airkPa101.325
Outdoor airflow method
Window estimate is single-sided. For cross-ventilation, tilted windows or a ventilation unit, enter measured outdoor ACH.
flow_modeOne fully open window — estimate
Clear window opening area
Full unobstructed aperture area, not half of it. Screens and tilt openings need measured airflow.
A_openm^20.8
Vertical opening height
Bottom-to-top height of the same rectangular opening.
H_openm1.2
Reference wind speed
Exposed reference wind, not the local jet velocity at the opening. Shelter and wind direction cause large uncertainty.
u_refm/s2
Opening discharge coefficient
0.6 is a common engineering assumption for a sharp-edged open aperture; adjust if independently known.
C_d0.6
Outdoor air changes per hour
Outdoor air only: recirculation and air-cleaner equivalent ACH do not remove CO₂ or water vapour.
n_meash^-16
Sensible heat recovery
Use 0 for measured natural airflow. For a balanced mechanical unit enter effective sensible recovery, including bypass/defrost. No moisture recovery is modelled.
eta_hr%80
People remaining in the room
Set zero if everyone leaves. CO₂ production stays constant.
people2
CO₂ generation per person
Illustrative sedentary adult value discussed by Persily and de Jonge (2017), p. 870. Enter volume at room temperature and pressure; individual activity and body size matter.
g_personL/s0.0052
Total water-vapour generation
Total for people, plants, cooking and drying. 100 g/h is an editable scenario assumption for two adults, not a universal occupant rate. Set zero for an empty dry room.
G_waterg/h100
Coldest inside surface temperature
Measured or separately calculated surface temperature, held fixed. This is a moisture-risk screen, not a wall heat-transfer calculation.
T_surface°C14
CO₂ target
An adjustable operating target, not a health limit or a complete indoor-air-quality criterion.
C_targetppm1000
Room humidity target
Target at the selected room temperature. The cold-surface screen is reported separately.
RH_target%55
Airing / plot duration
All end-of-airing results refer to this duration. Airflow and sources stay constant.
durationmin10
Elapsed time ▶
Play the transient or move the slider. End-of-airing results stay tied to the duration.
t_playmin8

Results

With the default inputs above, the calc gives:

ResultValue
Earliest time to both room-air targets7.72 min
First time to CO₂ target7.72 min
First time to room RH target2.8 min
At the selected airing durationBoth room targets met
CO₂ at end of airing879 ppm
Room RH at end of airing40.8 %
Surface saturation demand at end59.7 %
End-of-airing surface screenBelow 80% surface RH
Outdoor airflow453 m³/h
Outdoor air changes7.55 h⁻¹
Sensible heating energy lost0.382 kWh
Sensible heating energy recovered0 kWh
Net decrease of water stored in room air252 g

Checked against sources

Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).

Harvard measured classroom CO₂ decay

Source: Harvard Healthy Buildings, 5-step classroom guide (2020), PDF p. 38 (printed 37). Measured start 1794 ppm, outdoor 400 ppm, end 475 ppm after 26 min 20 s; published ACH 6.7 is rounded. Using 6.7 predicts 473.65 ppm, so allow 2 ppm and 0.2 min for that rounding.

Inputs: Outdoor airflow method = Measured natural air changes; Outdoor air changes per hour = 6.7 h⁻¹; People remaining in the room = 0; Total water-vapour generation = 0 g/h; Initial room CO₂ = 1,794 ppm; Outdoor CO₂ = 400 ppm; CO₂ target = 475 ppm; Airing / plot duration = 26.333 min; Elapsed time ▶ = 26.333 min; the others as above.

ResultSourceThis calc
CO₂ at end of airing475 ± 2 ppm473.7 ppm
First time to CO₂ target26.333 ± 0.2 min26.171 min

Published table: 20 °C and 50% RH

Source: SMGV Schimmelpilzsanierungen, appendix Table 4, PDF p. 15, 20 °C / 50% RH columns: dew point 9.27 °C and vapour 8.64 g/m³. The 20 °C / 40% entry 5.76 g/m³ appears erroneous (it is below the 19 °C value); it is not used.

Inputs: Initial room relative humidity = 50 %; Elapsed time ▶ = 0 min; the others as above.

ResultSourceThis calc
Initial room dew point9.27 ± 0.06 °C9.261 °C
Initial absolute water-vapour content8.64 ± 0.03 g/m³8.624 g/m³

Published table: 22 °C and 60% RH

Source: SMGV Schimmelpilzsanierungen, appendix Table 4, PDF p. 15: independent tabulated dew point and absolute water content, rounded. Small differences reflect the Magnus approximation and rounding.

Inputs: Room temperature = 22 °C; Initial room relative humidity = 60 %; Elapsed time ▶ = 0 min; the others as above.

ResultSourceThis calc
Initial room dew point13.88 ± 0.07 °C13.88 °C
Initial absolute water-vapour content11.64 ± 0.04 g/m³11.622 g/m³

Reviewer edge case: reject non-dilute CO₂

Source: Independent reviewer counterexample supplied with this task: 5 m³, 0.1 h⁻¹, 30 people at 0.03 L/s each for 180 min produces about 1,680,940 ppm. This is a domain-rejection regression, not a physical reference validating the extrapolated concentration. A 10,000 ppm (1% volume) model cutoff must reject it.

Inputs: Outdoor airflow method = Measured natural air changes; Room air volume = 5 m³; Outdoor air changes per hour = 0.1 h⁻¹; People remaining in the room = 30; CO₂ generation per person = 0.03 L/s; Total water-vapour generation = 0 g/h; Airing / plot duration = 180 min; the others as above.

ResultSourceThis calc
CO₂ dilute-model validity flag00

Dilute-model boundary includes the initial state

Source: Domain regression at the tool's explicitly chosen 10,000 ppm boundary, not an additional experimental reference. With no source and lower outdoor CO₂, the well-mixed concentration falls; its exact interval maximum is the independently specified initial value.

Inputs: Outdoor airflow method = Measured natural air changes; People remaining in the room = 0; Total water-vapour generation = 0 g/h; Initial room CO₂ = 10,000 ppm; the others as above.

ResultSourceThis calc
Maximum CO₂ over the selected interval10,000 ppm10,000 ppm
CO₂ dilute-model validity flag11

Reject CO₂ rising immediately beyond the dilute limit

Source: Domain regression, not an experimental reference: an initial state at 10,000 ppm with a positive source and zero exchange must exceed the tool's limit at any positive duration, so results must be blocked.

Inputs: Outdoor airflow method = Measured natural air changes; Outdoor air changes per hour = 0 h⁻¹; Total water-vapour generation = 0 g/h; Initial room CO₂ = 10,000 ppm; Airing / plot duration = 1 min; the others as above.

ResultSourceThis calc
CO₂ dilute-model validity flag00

Related Resources

Responses

Your email address will not be published. Required fields are marked *

L ading...