If the air temperature is below the dew point, _recalc_sl_dewpoint() and _recalc_alt_dewpoint() in src/Environment/environment.cxx are simply resetting the dewpoint to the current air temperature, thus rendering any aircraft-side attempts to calculate condensation or icing intensity useless, for example this JSBSim icing function is always zero:
<fcs_function name="atmosphere/icing-severity-norm">
<function>
<product>
<!-- If condensation -->
<ge>
<p>atmosphere/dew-point-R</p>
<p>propulsion/tat-r</p>
</ge>
<!-- Parabola between -20 and +2 °C -->
<difference>
<v>-20.0</v>
<p>propulsion/tat-c</p>
</difference>
<difference>
<p>propulsion/tat-c</p>
<v>2.0</v>
</difference>
<!-- = 1 / max = 1 / 121 -->
<value>0.008264462809917356</value>
</product>
</function>
<clipto>
<min>0.0</min>
<max>1.0</max>
</clipto>
</fcs_function>
Or if that resetting is necessary, how else should one get the temperature below which condensation or icing occurs? As far as I know the "Appleman Chart" from Nasal/contrail.nas only works for contrails and not for icing?
Sorry, this code is a bad example because it might actually work when
<ge>would be true, or at least if replaced with comparison with tolerancedewpoint > (tat + 0.1).But still this resetting of dewpoint seems strange?
Actually it is a good example, because even with tolerance, TAT is always
higher than air temp, so the result is always zero unless aircraft is not
moving at all.
On Tue, Sep 14, 2021, 06:27 Michael Danilov mike402@users.sourceforge.net
wrote:
Related
Tickets: #2659
Michael, I think this would be easier to disucss on the devel list: more people who understand atmospheric modelling (I don't, unfortunately) wil be able to give their opinion and discuss changes to the environment.cxx functions.