1
$\begingroup$

I am trying to calculate minimum and maximum daily Relative Humidity values given a min/max Specific Humidity and min/max Temperature.

I found some equations here that work with the given variables, but I have noticed that occasionally the value calculated for Minimum Relative Humidity will be greater than the value calculated for Maximum Relative Humidity. Is this accurate? It feels incorrect that a lower specific humidity and temperature would lead to a higher relative humidity, and it also doesn't seem right to say that, for example, the minimum RH was 80% while the maximum RH was 50%.

I verified my results with this online calculator, and while it is unclear what equations are being used here, the same scenario occurs.

Here are my C# functions for calculating RH. Specific Humidity is given as kg/kg, and Temperature in Celsius:

    public static double CalculateRHmin(double MinSpecificHumidity, double MinTemperature)
    {
        double RHmin = 0.0;
        double es = 6.112 * Math.Exp((17.67 * MinTemperature)/(MinTemperature + 243.5)); 
        double e = MinSpecificHumidity * 1013.25 / (0.378 * MinSpecificHumidity + 0.622);
        RHmin = 100 * (e / es);
        return RHmin;
    }

    public static double CalculateRHmax(double MaxSpecificHumidity, double MaxTemperature)
    {
        double RHmax = 0.0;
        double es = 6.112 * Math.Exp((17.67 * MaxTemperature) / (MaxTemperature + 243.5));
        double e = MaxSpecificHumidity * 1013.25 / (0.378 * MaxSpecificHumidity + 0.622);
        RHmax = 100 * (e / es);
        return RHmax;
    }

Sample execution:

Tmin(Celsius) = 12.71 SHmin(kg/kg) = 0.007672 RHmin = 84.71%

Tmax(Celsius) = 23.71 SHmax(kg/kg) = 0.010929 RHmax = 60.33%

$\endgroup$
  • $\begingroup$ As your code now stands, both functions return identical results for the same input. Did you perhaps forget to change the coefficients in one of them? $\endgroup$ – Spencer Feb 4 at 21:22
  • $\begingroup$ The coefficients are the same, but the inputs will not be the same. I guess having the same equation as two different functions is unnecessary, but I have edited the code to make it more clear as well as added some sample data. $\endgroup$ – joshk94 Feb 4 at 21:41
  • $\begingroup$ You'll really just want one CalculateRH function ... and then run it through the day. Indeed, you can't use max or min specific humidity/temp values to help... it's about how the specific humidity and temp are related (how "full the air is"), and lower temp/specific humidity can still make higher RH. For example, 0C and mixing ratio of 3.75ish is ~100% full (near sea level). But if it heats up to 20C during the day and the mixing ratio increased to 4, that's only ~27% RH, because the air can hold much more water then. So calculate RH for every ob and replace max/min if higher/lower. $\endgroup$ – JeopardyTempest Feb 5 at 1:22
  • $\begingroup$ (Indeed RH is basically always highest at night and lowest during the daytime. I think most active meteorologists find relative humidity less useful in terms of getting a useful idea of what's going on in the atmosphere in most circumstances) $\endgroup$ – JeopardyTempest Feb 5 at 1:22
  • 2
    $\begingroup$ Your CalculateRHmin implicitly assumes that relative humidity is lowest when the temperature is lowest. That's exactly opposite of how things work. The highest relative humidity typically occurs right around sunrise. It's why so many areas have morning fog. $\endgroup$ – David Hammen Feb 5 at 1:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.