Transforming time series to compensate for change in variance I have a time series (shown below) that comes from a sensor whose calibration was changed in the middle of last year.  As part of this change, the sensor's reading of the variance (or volatility) of the observations increased, although actually, this volatility did occur before the change in calibration, but it was not being fully detected.
As the data the sensor detects is highly seasonal (at both the weekly and yearly level), I want to create an accurate forecast of what the future readings will be, using the new level of calibration.  I don't want to throw out the data from before the calibration, as we have only collected a little more than a year's worth of data.
I've tried traditional transformations (like Box-Cox) and a seasonal decomposition using stl() in R's forecast package, but the transformation does not solve this variance issue, as there's different variances at the same level of the data (say at 0.0, for example).
Are there any other techniques are there (that are available in the R programming language) that allow me to transform the data from before mid-2013 to match the variance of the data that comes later? 

 A: Instead of normalizing, why don't you model the change in variance explicitly? Create a covariate that is equal to 0 before mid-2013 and to 1 after, and use it in the specification of the variance component.
A: Here's the solution I ginned up.  The function expects to receive stationary time series, so before I put the two time series in question in the function,  I differenced them.
equalizeVariance <- function(targetSeries, referenceSeries){
  referenceSD <- sd(referenceSeries, na.rm=TRUE)
  targetSD <- sd(targetSeries, na.rm=TRUE)
  existingSDdifference  <- referenceSD - targetSD
  optimalDivisor  <-  1
  #lnFirstSeries<-BoxCox(firstSeries, lambda)  
  for (i in seq(0.01, 50, .001)) {
    transformedTargetSeries <- targetSeries/i
    transformedSD <- sd(transformedTargetSeries, na.rm=TRUE)
    transformedSDdifference <- referenceSD - transformedSD
    if (transformedSDdifference>existingSDdifference & transformedSDdifference<=0){
      optimalDivisor <-  i
    }
    else {
      print(paste(optimalDivisor, " is the optimal divisor", sep=""))
      break
    }
  }
  returnedSeries <- targetSeries/optimalDivisor
  return(returnedSeries)
}

