Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 22852)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 22853)
@@ -540,5 +540,5 @@
 	IssmDouble Delta18oTime;
 	IssmDouble dpermil,f;
-	IssmDouble time,yts,time_yr,month,time_clim;
+	IssmDouble time,yts,time_yr,month,time_clim,time_climt,time_climp;
 	bool isTemperatureScaled=true;
 	bool isPrecipScaled=true;
@@ -548,4 +548,6 @@
 	time_yr=floor(time/yts)*yts;
 	time_clim=time_yr;
+	time_climt=time_yr;
+	time_climp=time_yr;
 
 	/*Get some pdd parameters*/
@@ -559,11 +561,5 @@
 	Input*     input2=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum); _assert_(input2);
 	Input*     input3=NULL;
-	if(!isTemperatureScaled){
-		input3=this->inputs->GetInput(SmbTemperaturesPresentdayEnum);           _assert_(input3);
-	}
 	Input*     input4=NULL;
-	if(!isPrecipScaled){
-		input4=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum);         _assert_(input4);
-	}
 	int offset;
 
@@ -571,4 +567,19 @@
 	if (fmod(offset,12.)!=1){
 		time_clim=floor(dynamic_cast<TransientInput*>(input)->GetTimeByOffset(offset-fmod(offset,12.)+1)/yts)*yts;
+	}
+
+	if(!isTemperatureScaled){
+		input3=this->inputs->GetInput(SmbTemperaturesPresentdayEnum);           _assert_(input3);
+		offset=dynamic_cast<TransientInput*>(input3)->GetTimeInputOffset(time_yr);
+		if (fmod(offset,12.)!=1){
+			time_climt=floor(dynamic_cast<TransientInput*>(input3)->GetTimeByOffset(offset-fmod(offset,12.)+1)/yts)*yts;
+		}
+	}
+	if(!isPrecipScaled){
+		input4=this->inputs->GetInput(SmbPrecipitationsPresentdayEnum);         _assert_(input4);
+		offset=dynamic_cast<TransientInput*>(input4)->GetTimeInputOffset(time_yr);
+		if (fmod(offset,12.)!=1){
+			time_climp=floor(dynamic_cast<TransientInput*>(input4)->GetTimeByOffset(offset-fmod(offset,12.)+1)/yts)*yts;
+		}
 	}
 
@@ -583,8 +594,8 @@
 
 			if(!isTemperatureScaled){
-				input3->GetInputValue(&TemperaturesReconstructed[iv*12+month],gauss,time_clim+month/12.*yts);
+				input3->GetInputValue(&TemperaturesReconstructed[iv*12+month],gauss,time_climt+month/12.*yts);
 			}
 			if(!isPrecipScaled){
-				input4->GetInputValue(&PrecipitationsReconstructed[iv*12+month],gauss,time_clim+month/12.*yts);
+				input4->GetInputValue(&PrecipitationsReconstructed[iv*12+month],gauss,time_climp+month/12.*yts);
 				PrecipitationsReconstructed[iv*12+month]=PrecipitationsReconstructed[iv*12+month]*yts;
 			}
