Madison, WI Climate in February

Temperature for February

In Madison, WI during February the average high temperature is 33.0°F. The hottest day on record was February 25, 2000 when the temperature recorded was 64.0°F.

Madison, WI daily average and extreme temperature range for February

Low Temperature

Overnight in February the average temperature drops below freezing at 13.8°F, with the lowest temperature of -27.9°F being recorded on February 2, 1985. On average there are 13 days in February when the temperature stays below freezing all day. In the worst February there were 25 days when the temperature did not make it above freezing. Overnight temperatures drop below freezing between 18 and 29 times in February.

Precipitation for February

In February the average monthly rainfall in Madison, WI is 1.31 inches with rain usually falling on between 4 and 5 days. 1995 was the driest February with only 0.06 inches of rain falling, and 1986 was the wettest February with 3.83 inches of rain. The wettest single day in February was 27 February 1948 when 1.61 inches of rain fell.

In February it usually snows on between 12 and 13 days. In February there have been some years when thunderstorms have occurred, although there are other years when there hasn't been a thunderstorm in February.

  BENCHMARKS  
Loading Time: Base Classes  0.0075
Controller Execution Time ( Climate / Summary )  0.0991
Total Execution Time  0.1067
  GET DATA  
No GET data exists
  MEMORY USAGE  
2,293,200 bytes
  POST DATA  
No POST data exists
  URI STRING  
climate/summary/united-states/wisconsin/dane-co-rgnl-truax-fld/february
  CLASS/METHOD  
climate/summary
  DATABASE:  xrssweather0-climatespy   QUERIES: 11  (Hide)
0.0006   SELECT `locationId`, `cityName`, `urlName`, `urlState`, `stateName`, `stateCode`, `StationName`, `countryName`, `urlCountry`, `dd1`.`year` as earliestYear, `dd1`.`monthNo` as earliestMonth, `dd1`.`dayNo` as earliestDay, `dd2`.`year` as latestYear, `dd2`.`monthNo` as latestMonth, `dd2`.`dayNo` as latestDay
FROM 
(`dimLocation`)
JOIN `dimDatedd1 ON `dimLocation`.`beginDateId` = `dd1`.`dateId`
JOIN `dimDatedd2 ON `dimLocation`.`endDateId` = `dd2`.`dateId`
WHERE `urlState` =  'wisconsin'
AND `urlName` =  'dane-co-rgnl-truax-fld'
LIMIT 1 
0.0007   SELECT `monthNo`, AVG(`meanMinTemp`) AS meanMinTempAVG(`meanMaxTemp`) AS meanMaxTemp
FROM 
(`aggMonthly`)
WHERE `monthNo` =  2
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0006   SELECT `monthNo`, AVG(`meanMinTemp`) AS meanMinTempAVG(`meanMaxTemp`) AS meanMaxTemp
FROM 
(`aggMonthly`)
WHERE `monthNo` =  2
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0046   SELECT `maxTemp`, `monthName`, `dayNo`, `dimDate`.`year`, `dimLocation`.`locationId`, `dimLocation`.`countryName`, `dimLocation`.`stateName`, `dimLocation`.`presentationName`, `dimLocation`.`urlCountry`, `dimLocation`.`urlState`, `dimLocation`.`urlName`
FROM (`aggMonthly`)
JOIN `dimLocationON `dimLocation`.`locationId` = `aggMonthly`.`locationId`
JOIN `dimDateON `dimDate`.`dateId` = `aggMonthly`.`maxTempDate`
WHERE `aggMonthly`.`locationId` =  '4176'
AND `dimDate`.`monthNo` =  2
ORDER BY 
`maxTempdesc
LIMIT 1 
0.0018   SELECT `minTemp`, `monthName`, `dayNo`, `dimDate`.`year`, `dimLocation`.`locationId`, `dimLocation`.`countryName`, `dimLocation`.`stateName`, `dimLocation`.`presentationName`, `dimLocation`.`urlCountry`, `dimLocation`.`urlState`, `dimLocation`.`urlName`
FROM (`aggMonthly`)
JOIN `dimLocationON `dimLocation`.`locationId` = `aggMonthly`.`locationId`
JOIN `dimDateON `dimDate`.`dateId` = `aggMonthly`.`minTempDate`
WHERE `aggMonthly`.`locationId` =  '4176'
AND `dimDate`.`monthNo` =  2
ORDER BY 
`minTempasc
LIMIT 1 
0.0366   select min(count_days) as min_daysavg(count_days) as average_daysmax(count_days) as max_days  from (select yearcount(*) as count_days from factDaily fd  join dimDate dd on (dd.dateId fd.DateId) where fd.locationId 4176 and minTemp <= 32  and dd.monthNo 2 group by year) as count_freezing 
0.0240   select min(count_days) as min_daysavg(count_days) as average_daysmax(count_days) as max_days  from (select yearcount(*) as count_days from factDaily fd  join dimDate dd on (dd.dateId fd.DateId) where fd.locationId 4176 and maxTemp <= 32  and dd.monthNo 2 group by year) as count_freezing 
0.0007   SELECT AVG(`sumRainfall`) AS sumRainfallAVG(`daysRainfall`) AS daysRainfallAVG(`daysSnow`) AS daysSnowAVG(`daysTornado`) AS daysTornadoAVG(`daysThunder`) AS daysThunder, `monthNo`
FROM (`aggMonthly`)
WHERE `monthNo` =  2
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0007   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  2
AND `locationId` =  '4176'
ORDER BY `sumRainfallasc
LIMIT 1 
0.0007   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  2
AND `locationId` =  '4176'
ORDER BY `sumRainfalldesc
LIMIT 1 
0.0024   SELECT `maxRainfall`, `monthName`, `dayNo`, `dimDate`.`year`, `dimLocation`.`locationId`, `dimLocation`.`countryName`, `dimLocation`.`stateName`, `dimLocation`.`presentationName`, `dimLocation`.`urlCountry`, `dimLocation`.`urlState`, `dimLocation`.`urlName`
FROM (`aggMonthly`)
JOIN `dimLocationON `dimLocation`.`locationId` = `aggMonthly`.`locationId`
JOIN `dimDateON `dimDate`.`dateId` = `aggMonthly`.`maxRainfallDate`
WHERE `aggMonthly`.`locationId` =  '4176'
AND `dimDate`.`monthNo` =  2
ORDER BY 
`maxRainfalldesc
LIMIT 1 
  HTTP HEADERS  (Show)
  CONFIG VARIABLES  (Show)