Index: /issm/trunk/src/c/parallel/prognostic_core.cpp
===================================================================
--- /issm/trunk/src/c/parallel/prognostic_core.cpp	(revision 1810)
+++ /issm/trunk/src/c/parallel/prognostic_core.cpp	(revision 1811)
@@ -13,5 +13,5 @@
 #include "../issm.h"
 
-void prognostic_core(DataSet* results,FemModel* fem, ParameterInputs* inputs){
+void prognostic_core(DataSet* results,Model* model,ParameterInputs* inputs){
 
 	extern int my_rank;
@@ -32,19 +32,26 @@
 	int dofs[2]={1,1};
 
+	/*fem prognostic model: */
+	FemModel* fem_p=NULL;
+
+
+	/*recover fem model: */
+	fem_p=model->Prognostic();
+
 	//first recover parameters common to all solutions
-	fem->parameters->FindParam((void*)&debug,"debug");
-	fem->parameters->FindParam((void*)&numberofnodes,"numberofnodes");
-	fem->parameters->FindParam((void*)&numberofdofspernode,"numberofdofspernode");
+	fem_p->parameters->FindParam((void*)&debug,"debug");
+	fem_p->parameters->FindParam((void*)&numberofnodes,"numberofnodes");
+	fem_p->parameters->FindParam((void*)&numberofdofspernode,"numberofdofspernode");
 
 	_printf_("depth averaging velocity...\n");
 	u_g=inputs->Get("velocity",&dofs[0],2); //take (vx,vy) from inputs velocity
-	FieldDepthAveragex( u_g, fem->elements,fem->nodes, fem->loads, fem->materials,"velocity");
+	FieldDepthAveragex( u_g, fem_p->elements,fem_p->nodes, fem_p->loads, fem_p->materials,"velocity");
 	inputs->Add("velocity_average",u_g,2,numberofnodes);
 	
 	_printf_("call computational core:\n");
-	diagnostic_core_linear(&h_g,fem,inputs,PrognosticAnalysisEnum(),NoneAnalysisEnum());
+	diagnostic_core_linear(&h_g,fem_p,inputs,PrognosticAnalysisEnum(),NoneAnalysisEnum());
 
 	_printf_("extrude computed thickness on all layers:\n");
-	FieldExtrudex( h_g, fem->elements,fem->nodes, fem->loads, fem->materials,"thickness",0);
+	FieldExtrudex( h_g, fem_p->elements,fem_p->nodes, fem_p->loads, fem_p->materials,"thickness",0);
 
 	/*Plug results into output dataset: */
