Last Updated: May 02, 1999
[ Algorithms Index | Index | Feedback ]
function calcWithDp(drybulb, dewpoint, pressure) { var result = new Object(); var havePress = (pressure != 0); result.rh = calcRelHumidity(e, es); // Use variable names familiar to meteorologists. // Feel combine these four assignments into two var es = calcVaporPressure(drybulb); var e = calcVaporPressure(dewpoint); result.saturvp = es; result.actualvp = e; result.abshum = calcAbsHumidity(e, drybulb); if (!havePress) return; result.wetbulb = calcWetbulb(pressure, drybulb, dewpoint); result.mixratio = calcMixingRatio(e, pressure); result.spechum = calcSpecHumidity(e, pressure); return result; }
drybulb is the drybulb in Celsius.
dewpoint is the dewpoint in Celsius.
pressure is the pressure in millibars or 0 if no pressure is to be assumed.
An object with these properties:
function calcWithRh(drybulb, rh, pressure) { var result = new Object(); var havePress = (pressure != 0); // Calculate drybulb vapor pressure var es = calcVaporPressure(drybulb); // Calculate dewpoint vapor pressure var e = es * rh / 100; result.dewpoint = calcTcFromVaporPressure(e); if (rh == 100) result.wetbulb = dewpoint; result.saturvp = es; result.actualvp = e; result.abshum = calcAbsHumidity(e, drybulb); // Assume a reasonable default if (!havePress) pressure = 1013; if (rh != 100) result.wetbulb = calcWetbulb(pressure, drybulb, dewpoint); result.mixratio = calcMixingRatio(e, pressure); result.spechum = calcSpecHumidity(e, pressure); return result; }
drybulb is the drybulb in Celsius.
rh is the relative humidity in decimal.
pressure is the pressure in millibars or 0 if no pressure is to be assumed.
An object with these properties:
function calcWithWb(drybulb, wetbulb, pressure) { var result = new Object(); var es = calcVaporPressure(drybulb); var esw = calcVaporPressure(wetbulb); result.saturvp = es; // Make an assumption since wetbulb varies little with pressures likely to occur in the atmosphere if (pressure == 0) pressure = 1013; var e = esw - (0.00066 * (1 + 0.00155 * wetbulb) * press * (drybulb - wetbulb)); // If the wetbulb is too low, quit. Otherwise, incorrect values are the results. if (e < 0) return; result.actualvp = e; result.abshum = calcAbsHumidity(e, drybulb); result.dewpoint = calcTcFromVaporPressure(e); result.rh = calcRelHumidity(e,es); result.mixratio = calcMixingRatio(e, pressure); result.spechum = calcSpecHumidity(e, pressure); return result; }
drybulb is the drybulb in Celsius.
wetbulb is the wetbulb in Celsius.
pressure is the pressure in millibars or 0 if no pressure is to be assumed.
An object with these properties as long as the wetbulb is not too low:
[ Algorithms Index | Index | Feedback ]
Copyright © 1997-1999 by Mark E. All Rights Reserved.