16 const float temp_kelvin = std::get<0>(input);
17 const float temp_celsius = temp_kelvin - 273.15;
18 const float relative_humidity = std::get<1>(input);
19 const float pressure = std::get<2>(input);
22 float saturation_pressure =
23 6.1078 * pow(10, ((7.5 * temp_celsius) / (temp_celsius + 237.3)));
26 const float vapor_pressure_water = relative_humidity * saturation_pressure;
29 const float partial_pressure_dry_air = pressure - vapor_pressure_water;
34 const float molar_mass_dry_air = 0.0289652;
35 const float molar_mass_water_vapor = 0.01801;
36 const float universal_gas_constant = 8.31446;
37 float air_density_humid_air =
38 ((partial_pressure_dry_air * molar_mass_dry_air) +
39 (vapor_pressure_water * molar_mass_water_vapor)) /
40 (universal_gas_constant * temp_kelvin);
42 this->
emit(air_density_humid_air);