Index: /issm/trunk-jpl/src/c/main/esmfbinders.cpp
===================================================================
--- /issm/trunk-jpl/src/c/main/esmfbinders.cpp	(revision 25809)
+++ /issm/trunk-jpl/src/c/main/esmfbinders.cpp	(revision 25810)
@@ -16,4 +16,5 @@
 	FemModel *femmodel;
 
+	/*GEOS 5*/
 	void InitializeISSM(int argc, char** argv, int** pelementsonlocalrank, int* pnumberofelements, ISSM_MPI_Comm comm_init){ /*{{{*/
 
@@ -70,5 +71,4 @@
 						/*{{{*/
 						{
-
 						/*Recover rho_ice: */
 						rho_ice=element->FindParam(MaterialsRhoIceEnum);
@@ -78,5 +78,6 @@
 
 						/*Recover smb forcing from the gcm forcings: */
-						IssmDouble smbforcing=*(gcmforcings+f*numberofelements+i); 
+						_error_("not implemented yet, line below may not work");
+						IssmDouble smbforcing=gcmforcings[f*numberofelements+element->Sid()];
 
 						/*Convert to SI. The smbforcing from GEOS-5 in kg/s, and we transform it into m/s: */
@@ -84,6 +85,5 @@
 
 						/*Add into the element as new forcing :*/
-						element->inputs->AddInput(new DoubleInput(SmbMassBalanceEnum,smbforcing));
-
+						element->AddInput(SmbMassBalanceEnum,&smbforcing,P0Enum);
 						}
 						/*}}}*/
@@ -116,6 +116,5 @@
 						Input* surface_input = element->GetInput(SurfaceEnum); _assert_(surface_input);
 						surface_input->GetInputAverage(&surface);
-
-						*(issmoutputs+f*numberofelements+i) = surface;
+						issmoutputs[f*numberofelements+element->Sid()] = surface;
 
 						}
@@ -154,3 +153,5 @@
 	} /*}}}*/
 
+	/*FISOC*/
+
 }
