Index: /issm/trunk-jpl/src/c/classes/Elements/Element.cpp
===================================================================
--- /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 23816)
+++ /issm/trunk-jpl/src/c/classes/Elements/Element.cpp	(revision 23817)
@@ -3481,5 +3481,5 @@
 		timeend=dynamic_cast<TransientInput*>(Ta_input)->GetTimeByOffset(offsetend);
 		if (time>time0 & timeend>time0){
-			delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+			delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 			timeclim=time0+delta;
 		}
Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 23816)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/SurfaceMassBalancex.cpp	(revision 23817)
@@ -47,5 +47,5 @@
 			timeend=dynamic_cast<TransientInput*>(smb_input)->GetTimeByOffset(offsetend);
 			if (time>time0 & timeend>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -438,5 +438,5 @@
 			timeend=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(offsetend);
 			if (time>time0 & timeend>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -450,5 +450,5 @@
 			timeend=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(offsetend);
 			if (time>time0 & timeend>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -462,5 +462,5 @@
 			timeend=dynamic_cast<TransientInput*>(runoff_input)->GetTimeByOffset(offsetend);
 			if (time>time0 & timeend>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -535,5 +535,5 @@
 			timeend=dynamic_cast<TransientInput*>(acc_input)->GetTimeByOffset(offsetend);
 			if (time>time0 & timeend>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -547,5 +547,5 @@
 			timeend=dynamic_cast<TransientInput*>(evap_input)->GetTimeByOffset(offsetend);
 			if (time>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -559,5 +559,5 @@
 			timeend=dynamic_cast<TransientInput*>(melt_input)->GetTimeByOffset(offsetend);
 			if (time>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
@@ -571,5 +571,5 @@
 			timeend=dynamic_cast<TransientInput*>(refreeze_input)->GetTimeByOffset(offsetend);
 			if (time>time0){
-				delta=(time-time0) - (timeend-time0)*(reCast<int>((time-time0)/(timeend-time0)));
+				delta=(time-time0) - (timeend-time0)*(reCast<int,IssmDouble>((time-time0)/(timeend-time0)));
 				if (delta==0){ timeclim=timeend;}
 				else{ timeclim=time0+delta;}
