[[ Check out my Wordpress blog Context/Earth for environmental and energy topics tied together in a semantic web framework ]]

Monday, September 17, 2012

Lake ice-out dates earlier and earlier ...

With all the interest in the Arctic sea-ice extent reaching new minimums in area and volume, it seems instructive to point out a similar phenomena occurring in habitable areas.

Let's take the situation of Minnesota lakes and track the "ice-out" calendar dates.  The premise is that if the earth is warming, the ice-out dates should occur earlier and earlier in the season. A similar situation occurs for "first-ice" later in the season, but the "ice-out" date occurs very abruptly on a given day, and therefore has less uncertainty.

The time of ice-out actually occurs so suddenly on a typical lake that it takes patient observation skills to wait it out. If one is not paying attention, the ice breaks up and within a few hours it's completely melted and gone. But this abruptness is useful in terms of precision, as the timing is certain to within a day for a given lake.

Minnesota is a good test-case because it has many lakes and a hard freeze is guaranteed to occur every winter.

For this reason, "ice-out" records have a combination of qualitative knowledge and calibrated precision. The qualitative knowledge lies in the fact that it takes only one observer who knows how to read a calendar and record the date. The precision lies in the fact that the ice-out date is unambiguous, unlike other historical knowledge [1]. Since ice-out is also a natural integral averaging technique, the dates have a built-in filter associated with it and the measure is less susceptible to single-day extremes; in other words, real ice-out conditions require a number of warm days.

The data can be collected from the Minnesota DNR web site. As presented, the data has been processed and expressed in a user-friendly geo-spatial graphic showing the ice-out dates for a sampling of lakes of a given year. First, I pulled out an animated GIF below (see Figure 1 ).  If you look closely one can see a noisy drift of the tan/red/orange/yellow colors corresponding to March and early April moving northward.

Figure 1 : Animated GIF of ice-out dates in Minnesota.

Fortunately, underneath the graphics is a server that generates the processed data from a JSON-formatted data stream. By directly reading from the JSON and processing, we can come up with the linear regression plots for various geographic latitudes as shown in Figure 2. The "ice-out" day on the vertical axis is given by the number of days since the first of the year. Trying not to be too pedantic, but the lower this number, the earlier the ice-out day occurs in the year.

This essentially pulls the underlying data out of the noise and natural fluctuations. Note the trend toward earlier ice-out dates with year, and of course, a later-in-the-season ice-out day with increasing latitude. Interesting as well is the observation that greater variance in the ice-out date occurs in recent years -- in other words, the highs and lows show more extremes [2].
Figure 2: Ice-out dates for lakes of a given latitude occur earlier in the season
according to a linear regression model.

In the inset below is  logic code for retrieving and analyzing the ice-out dates from the Minnesota DNR site.  The call-out to rplot interfaces to an R package linear model plot and curve fit. My processing is two-step, first a call to get_all_records, which stores the data in memory, then a call to lat_list which retrieves the ice-out dates for a given latitude. As an example, all lake latitudes for 45N are between 45N and 46N degrees.

:- dynamic

assert_temperature(Name, Lat, Year, Month, Date, Days) :-
    not(temperature(Name, Lat, Year, Month, Date, Days)),
    asserta(temperature(Name, Lat, Year, Month, Date, Days)),

store_record(Term) :-
    atomic_list_concat([Year,Month,Date], '-', IceOutDate),
    parse_time(IceOutDate, Stamp),
    atom_concat(Year, '-01-01', YearStart),
    parse_time(YearStart, Stamp0),
    Days is (Stamp-Stamp0)/24/60/60,
    print([Name, Lat, Year, Month, Date, Days]), nl,
    assert_temperature(Name, Lat, Year, Month, Date, Days).

get_ice_out(Year) :-
    atom_concat(URL, Year, U),
    http_client:http_get(U, R, []),
    atom_json_term(R, J, []),
    J=json([status='OK', results=L, message='']),

temperature_lat(Lat_Range,Year,Time) :-
    atom_number(Lat, Lat_N),
    L is floor(Lat_N),
    Lat_Range = L,
    atom_number(Y, Year).

lat_list(Lat, Years, Times, N) :-
    findall(Y, temperature_lat(Lat,Y,T), Years),
    findall(T, temperature_lat(Lat,Y,T), Times),
    format(atom(Title), '"Minnesota Latitude = ~D North"', [Lat]),
    rplot(Years,Times,Title, '"year"', '"iceOutDay"'),

get_all_records(From, To) :-
    findall(Year, between(From, To, Year), List),
    maplist(get_ice_out, List).

According to the data, ice-out dates have gotten earlier by about a week since 1950 (and assume that via symmetry the first-ice could be a week later on average). The table below shows the slope on a per year basis, so that -0.1 would be an average 0.1 day per year earlier ice-out. Note that the slope has increased more rapidly since 1950.

LatitudeSlope since
Slope since
slope in fractional days/year

The smallest decrease occurs in the center of the state where Mille Lacs Lake is located. No urban heat island effect is apparent, with a state-wide average of -0.138 days/year since 1950.

Besides this direct climate evidence, we also see more ambiguous and circumstantial evidence for warmer winters across the state -- for example we regularly see opossum in central Minnesota, which was very rare in the past.  Something is definitely changing with our climate; this last winter had a very early ice-out, showing a record for the northern part of the state.


[1] See the ramblings of Tony Brown, who claims qualitative data from such ambiguous sources such as interpretations of medieval and Renaissance paintings of landscapes.
[2] See J.Hansen on the New Climate Dice, and the NASA site


  1. "The time of ice-out actually occurs so suddenly on a typical lake that it takes patient observation skills to wait it out. If one is not paying attention, the ice breaks up and within a few hours it's completely melted and gone."

    Okay, this part causes me to blink in disbelief; Have you ever actually witnessed this?

    I ask, because, in a land far, far away from where I am now I recall the ice melting from the periphery of the lake (shoreline) inward initially ... in fact, as a kid one spring I recall pollywogs hatching in the clear water near shore while 'ice' still covered the water several feet out ...

    More to the point -

    From "The Freshwater Society" I find:


    Since 1968, the Freshwater Society has kept close records of the day the ice yields to warmer temperatures on Lake Minnetonka.

    Freshwater founder Richard G. Gray, Sr., described the standard for determining ice-out in a 2003 column: The ice is considered to be “out” when it is possible to travel from any one shore to any other shore through any passage on the lake.

    Ice-out on Lake Minnetonka generally spurs a fair amount of local competition, with various pools of local residents competing to be the most accurate prognosticator.

    Prior to 1968, methods for determining whether the ice was out were non-standard.

    They included various boat routes through the lake, as well as the old practice of parking a derelict car or truck on the lake and seeing how long it lasted before falling through.

    - - - - - - - - - - -

    I submit that the ice-out dates used as 'data' are subjective (if not highly subjective) and should be taken and used with at least a modicum of salt when inferring anything further 'downstream' esp. in the way of indices of possible global warming ...


    1. _Jim,

      Thanks for showing an interest in the topic.

      Lake Minnetonka is a special case, and is a very spread out lake, filled with many bays and islands. Somebody early on could have referred to it as a chain of lakes, with each bay referred to as a different lake. Here is an image of the lake:

      Case in point, Stubb's Bay could be considered a different lake entirely.

      I have been on one of the lakes in the Minnesota survey since I was a child. This is a lake of over 700 acres and about 40 miles north of Minnetonka, and I have never been lucky enough to see the ice-out clearing process in action. It has always been the case of a sheet of a sheet of gray ice that starts about 5 to 15 feet from the shoreline one day and then the next day all you see is open water.

      It is even worse for rivers, where somebody yells "ice-out" and everybody runs to the river's edge to watch it in action.

      So, you betcha that this ice-out condition is accurate to within a day or two. Add that to the natural variability from year to year and there is enough precision for anyone to make some statistical sense out of the data over the long term.

      Thanks for trying.

  2. Check out Lake Winnipesaukee in NH

  3. Hi WHT,

    It is interesting that there has been less of a change of slope (when comparing from 1843 vs from 1950 columns) as you move to more northern latitudes. I would have expected the reverse. You give an overall number for the state for the slope from 1950, what is the average for the state from 1843? What about the slope from 1843 to 1950 vs 1950 to 2011 for the state as a whole? If there is a difference is it statistically significant, and at what confidence level?

    Interesting analysis as always.


  4. DC,
    I will generate the curves that you suggested when I have a few spare moments.

    Within the next few months, I will have a web server set up that will be be able to generate these curves interactively. It will be pretty cool, IMO, and will cover all sorts of environmental data and accompanying models.

    Stay tuned.