LOCA Calendar

As you may know, different global climate models (GCMs) use different calendars. Only a few GCMs use a standard (gregorian) calendar with 365 days per year in non-leap years, and 366 days per year in leap years. Most GCMs use a so-called “noleap” (or “365_day”) calendar, which has 365 days in every year. I.e., most GCMs do not include leap days.

One exception is the GCMs from the Hadley center. Their models, whose names start with HadGEM, typically use a “360_day” calendar where every year has 360 days (conceptualized as 12 months of 30 days each).

Having different calendars, and even different year lengths, makes it considerably harder to use GCM data in multi-model impact studies. Therefore when the LOCA data were produced, all the models were first put on a standard (gregorian) calendar with 365 days/year on non-leap years, and 366 days/year on leap years. This was accomplished by simple interpolation. I.e., to produce a leap day in a model with a “noleap” calendar, data for day February 29 was created by averaging the data found on February 28 and March 1. This means that for most of the models, 1 day out of 4 years (0.07% of the data) is the result of interpolation, which is a reasonably low occurrence of interpolated days. Nevertheless, if you want to analyze the LOCA data for a “noleap” model without using any interpolated data, you can simply omit leap days to recover the data downscaled on the original model calendar.

The Hadley GCMs have only 360 days/year, and so require much more interpolation to put on a standard calendar. On average, five out of every 365 days (i.e., 1/72 days, or 1.4% of the data) is an interpolated day. To put the Hadley center models onto a standard calendar, leap days were first produced using the same interpolation as done with “noleap” calendar models, by averaging the fields found on Feb 28 and March 1. So Feb 29 is always an interpolated day in the LOCA downscaled Hadley center models.

However it was decided not to fill in the other 5 needed days per year using the same date every year. In other words, the Hadley models need a new day inserted every 72 days in order to add 5 days in a year. One approach might be to have day number 72/2 = 36 = February 5th always be an interpolated day, day number 36 + 72 = 108 always be an interpolated day, etc. The problem with this approach is that it runs the risk of those “special” dates having different statistics than other days in the year, which is undesirable.

The approach taken to filling in Hadley center model days in order to make a standard calendar was to randomly select one day in each 72-day block to be the new interpolated day. By spreading out the incidence of the interpolated days, the chances that they will be discernible in statistics of the annual cycle is reduced.

The fact that the LOCA data has been interpolated to a standard calendar needs to be taken into account when comparing daily fields from the original GCM to the LOCA data. For example, imagine that you wanted to examine the SLP expression of hot days found in the LOCA data set. Obtaining SLP from the original global model and Tmax from LOCA means that, say, day number 317 might represent different days in the SLP and LOCA Tmax data, if the model uses a non-standard calendar.

Here are the calendars that the original GCMs used (note that “noleap” and “365_day” mean the same thing; likewise, “gregorian” and “standard” mean the same thing):


To aid in comparing LOCA data to the original model data, which days were interpolated for each model was retained and is available for downloading. This really is only necessary for the Hadley Center models, since for the other models it is clear which day was interpolated (leap days for noleap or 365_day models), or no days were interpolated (for standard or gregorian models). Note that (of course!) all variables (pr, tasmin, and tasmax) were interpolated using exactly the same dates, so that coherence in the downscaled fields is preserved on the daily level.

For example, here is the beginning information for the Hadley center model HadGEM2-ES:

Output date 1950/01/01 is input date 1950/01/01
Output date 1950/01/02 is input date 1950/01/02
Output date 1950/01/03 is input date 1950/01/03
Output date 1950/01/04 is input date 1950/01/04
Output date 1950/01/05 is input date 1950/01/05
Output date 1950/01/06 is input date 1950/01/06
Output date 1950/01/07 is input date 1950/01/07
Output date 1950/01/08 is input date 1950/01/08
Output date 1950/01/09 is input date 1950/01/09
Output date 1950/01/10 is input date 1950/01/10
Output date 1950/01/11 is input date 1950/01/11
Output date 1950/01/12 is input date 1950/01/12
Output date 1950/01/13 is input date 1950/01/13
Output date 1950/01/14 is input date 1950/01/14
Output date 1950/01/15 is input date 1950/01/15
Output date 1950/01/16 is input date 1950/01/16
Output date 1950/01/17 is input date 1950/01/17
Output date 1950/01/18 is input date 1950/01/18
Output date 1950/01/19 is input date 1950/01/19
Output date 1950/01/20 is input date 1950/01/20
Output date 1950/01/21 is input date 1950/01/21
Output date 1950/01/22 is input date 1950/01/22
Output date 1950/01/23 is input date 1950/01/23
Output date 1950/01/24 is input date 1950/01/24
Output date 1950/01/25 is input date 1950/01/25
Output date 1950/01/26 is input date 1950/01/26
Output date 1950/01/27 is input date 1950/01/27
Output date 1950/01/28 is input date 1950/01/28
Output date 1950/01/29 is input date 1950/01/29
Output date 1950/01/30 is input date 1950/01/30
Output date 1950/01/31 is input date 1950/02/01
Output date 1950/02/01 is input date 1950/02/02
Output date 1950/02/02 is input date 1950/02/03
Output date 1950/02/03 is input date 1950/02/04
Output date 1950/02/04 is input date 1950/02/05
Output date 1950/02/05 is input date 1950/02/06
Output date 1950/02/06 is input date 1950/02/07
Output date 1950/02/07 is input date 1950/02/08
Output date 1950/02/08 is input date 1950/02/09
Output date 1950/02/09 is input date 1950/02/10
Output date 1950/02/10 is input date 1950/02/11
Output date 1950/02/11 is input date 1950/02/12
Output date 1950/02/12 is input date 1950/02/13
Output date 1950/02/13 is input date 1950/02/14
Output date 1950/02/14 is input date 1950/02/15
Output date 1950/02/15 is input date 1950/02/16
Output date 1950/02/16 is input date 1950/02/17
Output date 1950/02/17 is input date 1950/02/18
Output date 1950/02/18 is input date 1950/02/19
Output date 1950/02/19 is input date 1950/02/20
Output date 1950/02/20 is input date 1950/02/21
Output date 1950/02/21 is input date 1950/02/22
Output date 1950/02/22 is input date 1950/02/23
Output date 1950/02/23 is input date 1950/02/24
Output date 1950/02/24 is input date 1950/02/25
Output date 1950/02/25 is input date 1950/02/26
Output date 1950/02/26 is input date 1950/02/27
Output date 1950/02/27 is input date 1950/02/28
Output date 1950/02/28 is input date 1950/02/29
Output date 1950/03/01 is input date 1950/02/30
Output date 1950/03/02 is input date 1950/03/01
Output date 1950/03/03 is input date 1950/03/02
Output date 1950/03/04 is input date 1950/03/03
Output date 1950/03/05 is input date 1950/03/04
Output date 1950/03/06 is input date 1950/03/05
Output date 1950/03/07 is input date 1950/03/06
Output date 1950/03/08 is input date 1950/03/07
Output date 1950/03/09 is interpolated from input date 1950/03/07 and 1950/03/08
Output date 1950/03/10 is input date 1950/03/08
Output date 1950/03/11 is input date 1950/03/09
Output date 1950/03/12 is input date 1950/03/10
Output date 1950/03/13 is input date 1950/03/11
Output date 1950/03/14 is input date 1950/03/12
Output date 1950/03/15 is input date 1950/03/13
Output date 1950/03/16 is input date 1950/03/14
Output date 1950/03/17 is input date 1950/03/15
Output date 1950/03/18 is input date 1950/03/16
Output date 1950/03/19 is input date 1950/03/17
Output date 1950/03/20 is input date 1950/03/18
Output date 1950/03/21 is input date 1950/03/19
Output date 1950/03/22 is input date 1950/03/20
Output date 1950/03/23 is input date 1950/03/21
Output date 1950/03/24 is input date 1950/03/22
Output date 1950/03/25 is input date 1950/03/23
Output date 1950/03/26 is input date 1950/03/24
Output date 1950/03/27 is input date 1950/03/25
Output date 1950/03/28 is input date 1950/03/26
Output date 1950/03/29 is input date 1950/03/27
Output date 1950/03/30 is input date 1950/03/28
Output date 1950/03/31 is input date 1950/03/29
Output date 1950/04/01 is input date 1950/03/30
Output date 1950/04/02 is input date 1950/04/01
Output date 1950/04/03 is input date 1950/04/02
Output date 1950/04/04 is input date 1950/04/03
Output date 1950/04/05 is input date 1950/04/04
Output date 1950/04/06 is input date 1950/04/05
Output date 1950/04/07 is input date 1950/04/06
Output date 1950/04/08 is input date 1950/04/07
Output date 1950/04/09 is input date 1950/04/08
Output date 1950/04/10 is input date 1950/04/09
Output date 1950/04/11 is input date 1950/04/10
Output date 1950/04/12 is input date 1950/04/11
Output date 1950/04/13 is input date 1950/04/12
Output date 1950/04/14 is input date 1950/04/13
Output date 1950/04/15 is input date 1950/04/14
Output date 1950/04/16 is input date 1950/04/15
Output date 1950/04/17 is input date 1950/04/16
Output date 1950/04/18 is input date 1950/04/17
Output date 1950/04/19 is input date 1950/04/18
Output date 1950/04/20 is input date 1950/04/19
Output date 1950/04/21 is input date 1950/04/20
Output date 1950/04/22 is input date 1950/04/21
Output date 1950/04/23 is input date 1950/04/22
Output date 1950/04/24 is input date 1950/04/23
Output date 1950/04/25 is input date 1950/04/24
Output date 1950/04/26 is input date 1950/04/25
Output date 1950/04/27 is input date 1950/04/26
Output date 1950/04/28 is input date 1950/04/27
Output date 1950/04/29 is input date 1950/04/28
Output date 1950/04/30 is input date 1950/04/29
Output date 1950/05/01 is input date 1950/04/30
Output date 1950/05/02 is input date 1950/05/01
Output date 1950/05/03 is input date 1950/05/02
Output date 1950/05/04 is input date 1950/05/03
Output date 1950/05/05 is input date 1950/05/04
Output date 1950/05/06 is input date 1950/05/05
Output date 1950/05/07 is interpolated from input date 1950/05/05 and 1950/05/06
Output date 1950/05/08 is input date 1950/05/06
Output date 1950/05/09 is input date 1950/05/07
Output date 1950/05/10 is input date 1950/05/08
Output date 1950/05/11 is input date 1950/05/09
Output date 1950/05/12 is input date 1950/05/10
Output date 1950/05/13 is input date 1950/05/11
Output date 1950/05/14 is input date 1950/05/12
Output date 1950/05/15 is input date 1950/05/13
Output date 1950/05/16 is input date 1950/05/14
Output date 1950/05/17 is input date 1950/05/15
Output date 1950/05/18 is input date 1950/05/16
Output date 1950/05/19 is input date 1950/05/17
Output date 1950/05/20 is input date 1950/05/18
Output date 1950/05/21 is input date 1950/05/19
Output date 1950/05/22 is input date 1950/05/20
Output date 1950/05/23 is input date 1950/05/21
Output date 1950/05/24 is input date 1950/05/22
Output date 1950/05/25 is input date 1950/05/23
Output date 1950/05/26 is input date 1950/05/24
Output date 1950/05/27 is input date 1950/05/25
Output date 1950/05/28 is input date 1950/05/26
Output date 1950/05/29 is input date 1950/05/27
Output date 1950/05/30 is input date 1950/05/28
Output date 1950/05/31 is input date 1950/05/29
Output date 1950/06/01 is input date 1950/05/30