Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 27816)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 27817)
@@ -157,8 +157,4 @@
 	femmodel->parameters->FindParam(&isstochasticforcing,StochasticForcingIsStochasticForcingEnum);
 
-#if defined(_HAVE_OCEAN_)
-	if(isoceancoupling) OceanExchangeDatax(femmodel,false);
-#endif
-
 	if(isstochasticforcing) StochasticForcingx(femmodel);
 
@@ -198,4 +194,18 @@
 	if(isdebris) debris_core(femmodel);
 
+#if defined(_HAVE_OCEAN_)
+	if(isoceancoupling) {
+		/*First calculate thickness change without melt (dynamic thinning) to send to ocean
+		 * then receive ocean melt 
+		 * then go back to the previous geometry to continue the transient with the melt received*/
+		InputUpdateFromConstantx(femmodel,0.,BasalforcingsFloatingiceMeltingRateEnum);
+		masstransport_core(femmodel);
+		OceanExchangeDatax(femmodel,false);
+		InputDuplicatex(femmodel,ThicknessOldEnum,ThicknessEnum);
+		InputDuplicatex(femmodel,BaseOldEnum,BaseEnum);
+		InputDuplicatex(femmodel,SurfaceOldEnum,SurfaceEnum);
+	}
+#endif
+
 	/* from here on, prepare geometry for next time step*/
 
