Well from a very quick browse through, it would appear that we can take the temperature check and do something like:
temp_threshold = 2.1;
temp_threshold = (temp_threshold * ((station_height - sea_level_pressure) * 0.003))
// increase the temperature_threshold by 0.003 per 1hpa for the distance in pressure between sea level and our station height.
if (temp_threshold > 4.5) { temp_threshold = 4.5; }
I need to have a think about the RH part of things.
I also had not scrolled far enough down to see the formula they used.
a = a scaling factor, again not really sure how we use this.
b = 0.7 (from following the links to other research papers)
https://agupubs.onlinelibrary.wiley.com/doi/full/10.1029/2008GL033295
c = the temperature at which snow or rain probability are equal, but I don’t see how you are supposed to calculate that.
Parameter *a* is a scaling factor, *b* is the slope (scaled by *a* ) around *T* *0.5*, *c* approximately represents the half-frequency temperature *T* *0.5* in °C, and *d* , when different from one, reflects the slight asymmetry in the converged values at large negative and positive temperatures.
Edit: quick followup - looking at the supplementary data tables, where they compared different models to see how well they would match existing recorded data - the Bivariate model had an 88% success rate at predicting the 50% snow-rain frequency. Using:
α = -10.04
β = 1.41
γ = 0.09
So we could maybe look there first?
1 / 1 + e(-10.04 + (1.41 * air_temperature) + (0.09 * rel_humidity))
(if my BODMAS is correct lol 1+e(α+βTs+γRH) )
Though plugging something like this:
1 / (1 + e(-10.04 + 1.41 * 1.2 + 0.09 * 68))
In to Google, returns -0.19 based on an air temperature of 1.2 and a RH of 68%. I’m not entirely sure what we are supposed to do with that result. It does seem that the more likely snow would be, the closer to zero the result becomes. Eg: an RH of 45% would return -0.09 for the same 1.2C air temperature. And if the air temperature was colder say 0.02 then the result is -0.068