Madison, WI Climate in April

Temperature for April

In Madison, WI during April the average high temperature is 60.0°F. The hottest day on record was April 22, 1980 when the temperature hit 93.9°F.

Madison, WI daily average and extreme temperature range for April

Low Temperature

During April the overnight temperature drops to an average of 35.0°F, with the lowest temperature of 0.0°F being recorded on April 7, 1982. On average there are 2 days in April when the temperature stays below freezing all day. In the worst April there were 4 days when the temperature did not make it above freezing. Overnight temperatures drop below freezing between 4 and 21 times in April.

Precipitation for April

In April the average monthly rainfall in Madison, WI is 3.35 inches with rain usually falling on between 12 and 13 days. 1949 was the driest April with only 1.18 inches of rain falling, and 1999 was the wettest April with 7.28 inches of rain. The wettest single day in April was 26 April 2009 when 2.50 inches of rain fell.

In April it usually snows on between 3 and 4 days. There are thunderstorms on between 2 and 3 days in April.

  BENCHMARKS  
Loading Time: Base Classes  0.0070
Controller Execution Time ( Climate / Summary )  0.0974
Total Execution Time  0.1044
  GET DATA  
No GET data exists
  MEMORY USAGE  
2,292,540 bytes
  POST DATA  
No POST data exists
  URI STRING  
climate/summary/united-states/wisconsin/dane-co-rgnl-truax-fld/april
  CLASS/METHOD  
climate/summary
  DATABASE:  xrssweather0-climatespy   QUERIES: 11  (Hide)
0.0007   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` =  4
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0007   SELECT `monthNo`, AVG(`meanMinTemp`) AS meanMinTempAVG(`meanMaxTemp`) AS meanMaxTemp
FROM 
(`aggMonthly`)
WHERE `monthNo` =  4
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0022   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` =  4
ORDER BY 
`maxTempdesc
LIMIT 1 
0.0027   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` =  4
ORDER BY 
`minTempasc
LIMIT 1 
0.0244   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 4 group by year) as count_freezing 
0.0377   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 4 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` =  4
AND `locationId` =  '4176'
GROUP BY `monthNo
0.0005   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  4
AND `locationId` =  '4176'
ORDER BY `sumRainfallasc
LIMIT 1 
0.0005   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  4
AND `locationId` =  '4176'
ORDER BY `sumRainfalldesc
LIMIT 1 
0.0018   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` =  4
ORDER BY 
`maxRainfalldesc
LIMIT 1 
  HTTP HEADERS  (Show)
  CONFIG VARIABLES  (Show)