Portland, ME Climate in January

Temperature for January

In Portland, ME during January the average high temperature is 33.2°F. The hottest day on record was January 7, 2007 when the temperature recorded was 66.9°F.

Portland, ME daily average and extreme temperature range for January

Low Temperature

Overnight in January the average temperature drops below freezing at 13.1°F, with the lowest temperature of -20.0°F being recorded on January 11, 1976. On average there are 14 days in January when the temperature stays below freezing all day. In the worst January there were 26 days when the temperature did not make it above freezing. Overnight temperatures drop below freezing between 26 and 31 times in January.

Precipitation for January

In January the average monthly rainfall in Portland, ME is 3.80 inches with rain usually falling on between 6 and 7 days. 2004 was the driest January with only 0.22 inches of rain falling, and 1979 was the wettest January with 11.60 inches of rain. The wettest single day in January was 11 January 1977 when 3.50 inches of rain fell.

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

  BENCHMARKS  
Loading Time: Base Classes  0.0069
Controller Execution Time ( Climate / Summary )  0.0916
Total Execution Time  0.0986
  GET DATA  
No GET data exists
  MEMORY USAGE  
2,288,460 bytes
  POST DATA  
No POST data exists
  URI STRING  
climate/summary/united-states/maine/portland-intl-jetport/january
  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` =  'maine'
AND `urlName` =  'portland-intl-jetport'
LIMIT 1 
0.0006   SELECT `monthNo`, AVG(`meanMinTemp`) AS meanMinTempAVG(`meanMaxTemp`) AS meanMaxTemp
FROM 
(`aggMonthly`)
WHERE `monthNo` =  1
AND `locationId` =  '4036'
GROUP BY `monthNo
0.0006   SELECT `monthNo`, AVG(`meanMinTemp`) AS meanMinTempAVG(`meanMaxTemp`) AS meanMaxTemp
FROM 
(`aggMonthly`)
WHERE `monthNo` =  1
AND `locationId` =  '4036'
GROUP BY `monthNo
0.0031   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` =  '4036'
AND `dimDate`.`monthNo` =  1
ORDER BY 
`maxTempdesc
LIMIT 1 
0.0014   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` =  '4036'
AND `dimDate`.`monthNo` =  1
ORDER BY 
`minTempasc
LIMIT 1 
0.0329   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 4036 and minTemp <= 32  and dd.monthNo 1 group by year) as count_freezing 
0.0245   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 4036 and maxTemp <= 32  and dd.monthNo 1 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` =  1
AND `locationId` =  '4036'
GROUP BY `monthNo
0.0007   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  1
AND `locationId` =  '4036'
ORDER BY `sumRainfallasc
LIMIT 1 
0.0006   SELECT `sumRainfall`, `daysRainfall`, `year`
FROM (`aggMonthly`)
WHERE `monthNo` =  1
AND `locationId` =  '4036'
ORDER BY `sumRainfalldesc
LIMIT 1 
0.0015   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` =  '4036'
AND `dimDate`.`monthNo` =  1
ORDER BY 
`maxRainfalldesc
LIMIT 1 
  HTTP HEADERS  (Show)
  CONFIG VARIABLES  (Show)