Loading - please wait...

This page requires a reasonably modern HTML5 browser
with both Javascript and SVG support.

If this message is not soon replaced by an interactive chart/graph,
then it is likely that your browser does not support this web app.
Check your JavaScript Console for specific error messages.

Mean Outdoor Temp.:
Day of the year:
Solar Exposure Potential:
Air Velocity:
Clothing Level: clo
Metabolic Rate: met
Mean Radiant Temp.:
Dry-Bulb Temperature:
Relative Humidity: %

Click/tap a point to select and move it. When using touch, deselect a point by tapping somewhere away from it.




When checked, the 30-day running mean outdoor temperature will be recalculated from hourly weather data whenever the date range changes. When unchecked, the mean outdoor temperature is set manually.

When checked, the clothing level (CLO) will be recalculated from the outdoor dry-bulb temperature at 6am in the morning whenever the date range changes. This is based on the method given by Schiavon and Lee. When unchecked, CLO is set manually.

This information shown above is a summary of the number of data points that lie within the significant parts of the currently displayed comfort overlay.

NOTE: Requires hourly EPW or CSV data.



This only affects the psychrometric chart, the relative humidity chart scale is always 0 to 100%.


Enter a new title for the chart. Any changes you make here are temporary, but useful if you wish to save or export the chart. The title will automatically revert to the default when you next change the chart type.


Enter a new sub-title for the chart. Again, any changes you make here are temporary for saving or exporting as the sub-title will automatically change when you next choose an information overlay or new mapped dataset.

Atmospheric pressure, also often called barometric pressure, is the pressure that air within the Earth's atmosphere exerts as a result of the gravitational attraction that keeps it from expanding out into space. The standard atmospheric pressure is 101.325 kPa (1.01325 bar) and is equivalent to 760 mmHg, 29.92 in.Hg and 14.696 psi. However this can vary quite significantly with both weather conditions and elevation above sea level.


Minimum data value:

Maximum data value:

Only allow automatic scale updates when selecting a different metric or loading a new hourly data file.


Units Prefix/Modifier

Use a modifier to make axis values easier to read by reducing the size of very large numbers. Many EnergyPlus results are given in straight Joules or Watts, so some scale ranges can be more than 20 digits long. Applying a modifier does not change the resolution or raw data in any way, it simply applies additional numeric scaling factor.




The aim of this web app is to create an interactive psychrometric chart on which you can project a range of comfort metrics as well as mapping weather data or room air conditions calculated using EnergyPlus. You can add or remove lines for a range of different metrics or highlight them individually to assist with dynamic explanations or presentations.

The Psychrometric Chart

The terms psychrometry and psychrometrics refer to the study of moist air and its thermodynamic properties. Whilst obviously important in the design of air-conditioning systems, these concepts are also fundamental to the understanding of many aspects of thermal comfort in buildings and the principles of climate-responsive design.

The Relative Humidity Chart

When developing this tool, I really wanted to be able to morph seamlessly between the standard psychrometic chart and the much simpler relative humidity chart. Having taught psychrometrics to architects in the past, I found that a major hurdle was trying to convincingly explain why the psychrometric chart uses absolute humidity in the vertical axis instead of the more familiar metric of relative humidity, and why its characteristic curved layout is so important. Now, by simply animating back and forth between the two chart types, most of that explanation becomes pretty obvious as you get to see very clearly the majority of psychrometric processes change from straight lines under the absolute humidity axis to complex curvilinear lines under relative humidity.

Interesting Features

The following are some of the features of this app:

  • You can position the current indicator by pressing and dragging anywhere within the chart to see the relevant psychrometric values at that position, all listed in the top-left corner of the psychrometric chart. To display the Heat Index, Predicted Mean Vote (PMV), ASHRAE Standard 55 comfort class or EU Standard 15251 comfort category, simple select the appropriate comfort indicator in the COMFORT OVERLAY panel.
  • When overlaying the Givoni Bioclimatic Chart, you can adjust the average mean outdoor air temperature used to derive the comfort zone in order to investigate the effects of adaption. You can also choose to automatically track average mean outdoor air temperature based on loaded hourly weather data and the current date range. This is calculated as a 30-day running mean using the methodology described in ASHRAE Standard 55.
  • In addition to annual hourly weather data, you can also load and display the results of EnergyPlus calculations. Either select the Load CSV... button or simply drag-and-drop the EnergyPlus generated .CSV file into the browser window containing this application. If you include the external outdoor dry-bulb temperature and relative humidity as output variables, they will be automatically selected as the mapping axis, though you can select any other temperature or humidity based output using the Data Axis tab in the Select Display Metric dialog box.
  • The default data overlay shows the frequency that different dry-bulb and humidity values occur within the chart. However, you can select any other loaded metric to map over the chart. For grid data, you can choose to display the average, minimum or maximum value, or even the number of hours above, below or between a given threshold range. For hourly data points, the actual recorded value is mapped.
  • If you check the Show Date Range Selector item within the DATA MAPPING panel, a small slider bar will appear beneath the main chart. This slider allows you to interactively change the date range over which the currently displayed data overlay will be generated. This selector changes the same Date Range values as in the Select Display Metric dialog box. When displayed, the three buttons that also appear under the checkbox can be used to quickly (re)select the entire year, a single month or the current day. Pressing multiple times on the month or day buttons will increment the date range each time. Holding the SHIFT key while pressing will decrement date range.
  • You can add your own lines to the chart using the PROCESS LINES panel. To do this, first position the indicator by either dragging it or using the Dry-Bulb Temperature and Relative Humidity sliders. Then click the Add Point button. Once you have added points, you can use the EDIT PROCESS POINTS popover to add titles, re-order them or make changes to their position.
  • Using the Export Psychrometric Data dialog box, you can view and save pychrometric data as either JSON or CSV files. Whilst the current indicator data is pretty obvious, the nature and type of the Current Data Overlay depends on what metric is being mapped and the type of selected display.

© Dr. Andrew J. Marsh, 2018.

Keyboard Modifiers

The Shift and Ctrl/Meta keys are used pretty extensively to modify interactive data entry. This applies to all increment buttons, scroll wheel motion, slider controls and input elements.

Shift Key:
Increases input to larger values, usually by ten times or significantly larger increments such as 1 month for dates and 1 hour for times.
Ctrl or Meta Key:
Decreases input to smaller values, usually by one tenth or the smallest reasonable increment such as 1 day for dates or 1 minute for times.

NOTE: You can use the scroll wheel to edit a data value when hovering over any slider, numeric input or even table rows that indicate their editibility.


This page uses the following frameworks/components:

Bootstrap  v3.3.2
Copyright © 2011-2015 Twitter, Inc. - github.com/twbs,
http://getbootstrap.com/   (LICENSE)

Bootstrap-datetimepicker  v4
Copyright © 2015, Jonathan Peterso - http://www.eonasdan.com
https://github.com/Eonasdan/bootstrap-datetimepicker   (LICENSE)

Bootstrap-popover-x  v1.4.0
Copyright © 2014, Kartik Visweswaran, Krajee.com,
https://github.com/kartik-v/bootstrap-popover-x   (LICENSE)

jQuery  v1.11.2
Copyright © jQuery Foundation and other contributors,
https://jquery.com/   (LICENSE)

JSON Editor
Copyright © 2015 Jos de Jong - github.com/josdejong
https://github.com/josdejong/jsoneditor/   (LICENSE)

Copyright © 2011 Bruno Jouhier - github.com/Sage
https://github.com/Sage/jsurl/   (LICENSE)

KnockoutJS  v3.2.0
Copyright © Steven Sanderson and the Knockout.js team,
http://knockoutjs.com/   (LICENSE)

Knockstrap  v1.2.0
Copyright © 2013 Artem Stepanyuk - github.com/faulknercs,
http://faulknercs.github.io/Knockstrap/   (LICENSE)

Copyright © 2014 Federico Zivolo - github.com/FezVrasta
http://fezvrasta.github.io/snackbarjs/   (LICENSE)