enter image description here

I am looking for the polynomial equations (functions) for each of the curved lines.

I have been looking online and I am unable to find the formulas and the data points for this chart (Cessna 172).

I am trying to program an application that can calculate the icing probability for a Cessna 172. By the way if you have the data points for other types of engines and planes that would also help me a lot!

What are the Cessna 172 carburetor icing chart data points?

  • $\begingroup$ As far as I'm aware, that chart doesn't vary by aircraft. $\endgroup$
    – Jamiec
    Commented Feb 28 at 8:52
  • $\begingroup$ @Jamiec no clue. I did do some research on the engine that Cessna's 172 use and it is the Lycoming O-320 Series. Skyhawks and other types of airplanes use it too. I went intot the engine documentation and I haven't found anything on carburetor icing graph. This is what I found so far: github.com/jnbdz/aviation-quickstarts/tree/main/Airplanes/… $\endgroup$ Commented Feb 28 at 13:59
  • $\begingroup$ What's the source of the figure you are asking about? $\endgroup$
    – Adam
    Commented Feb 28 at 16:00
  • $\begingroup$ @Adam good question. I have no clue. Even ChatGPT seems to be unable to find that information. $\endgroup$ Commented Feb 29 at 1:15
  • $\begingroup$ @mins thank you so much! My googling skills are terrible! Once I have a minute I will explore it in more details. $\endgroup$ Commented Feb 29 at 21:54

1 Answer 1


This chart is not related to any particular aircraft. It was initially published by the Chief Accident Investigation Establishment in Canada:

enter image description here


But it has many variants and yours doesn't match exactly the original.

Still the curves can be easily approximated as polynomials using appropriate fitting functions. For example sampling the curves at a few points, using a piece of Python code and Numpy polyfit (least squares and Vandermonde matrix), I got polynomials matching pretty accurately the chart.

enter image description here

The corresponding coefficients for polynomials (up to degree 5), in order of increasing power, from the outer curve to the inner one:

[19.634  1.688 -0.044  0.    -0.    -0.   ]
[ 1.5896e+01  1.9160e+00 -1.4600e-01  1.1000e-02 -0.0000e+00  0.0000e+00]
[ 8.797e+00  2.878e+00 -3.080e-01  2.400e-02 -1.000e-03  0.000e+00]
[ 4.955e+00  3.183e+00 -5.500e-01  6.500e-02 -4.000e-03  0.000e+00]

The code used:

for a in [c1,c2,c3,c4]:

    # Unpack input array
    dp, t = a[:,0], a[:,1]

    # Coeffs - Low to high power
    c = npp.polyfit(dp, t, deg=5)
    print(np.round(c, 3))

    # Curve samples
    dp_s = np.linspace(dp[0], dp[-1], 20)
    t_s = npp.polyval(dp_s, c)
    # Plot everything
    ax.plot(t_s, dp_s, c='m', lw=3) # samples
    ax.scatter(t, dp, c='m', s=90) # input points

Arrays c1, ..., c4 contain the sample values with dew point in first column and temperature in second column:

c1 = np.array([[-13.9, -13.7],
               [-9.2,  -0.],

Since the original functions are not injective (folded curves), the polynomials are the inverse functions, they take the dew point as the variable, and return the temperature, $t = \mathrm p \,(dp)$.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .