Index: /issm/trunk/src/m/solutions/jpl/ControlInitialization.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/ControlInitialization.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/ControlInitialization.m	(revision 3085)
@@ -25,6 +25,6 @@
 %compute slopes
 displaystring(verbose,'\n%s',['computing bed slope (x and y derivatives)...']);
-slopex=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),BedXAnalysisEnum());
-slopey=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),BedYAnalysisEnum());
+slopex=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),BedXAnalysisEnum());
+slopey=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),BedYAnalysisEnum());
 slopex=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.loads,m_sl.materials,m_sl.parameters,slopex,'slopex',0);
 slopey=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.loads,m_sl.materials,m_sl.parameters,slopey,'slopey',0);
Index: /issm/trunk/src/m/solutions/jpl/diagnostic.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/diagnostic.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/diagnostic.m	(revision 3085)
@@ -24,5 +24,5 @@
 	
 	displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
-	md.analysis_type=SlopeComputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
+	md.analysis_type=SlopecomputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
 	
 	% figure out number of dof: just for information purposes.
Index: /issm/trunk/src/m/solutions/jpl/diagnostic_core.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/diagnostic_core.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/diagnostic_core.m	(revision 3085)
@@ -26,6 +26,6 @@
 
 	displaystring(verbose,'\n%s',['computing surface slope (x and y derivatives)...']);
-	slopex=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),SurfaceXAnalysisEnum());
-	slopey=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),SurfaceYAnalysisEnum());
+	slopex=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceXAnalysisEnum());
+	slopey=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),SurfaceYAnalysisEnum());
 
 	if dim==3,
@@ -85,6 +85,6 @@
 
 		displaystring(verbose,'\n%s',['computing bed slope (x and y derivatives)...']);
-		slopex=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),BedXAnalysisEnum());
-		slopey=diagnostic_core_linear(m_sl,inputs,SlopeComputeAnalysisEnum(),BedYAnalysisEnum());
+		slopex=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),BedXAnalysisEnum());
+		slopey=diagnostic_core_linear(m_sl,inputs,SlopecomputeAnalysisEnum(),BedYAnalysisEnum());
 		slopex=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.loads,m_sl.materials,m_sl.parameters,slopex,'slopex',0);
 		slopey=FieldExtrude(m_sl.elements,m_sl.nodes,m_sl.loads,m_sl.materials,m_sl.parameters,slopey,'slopey',0);
@@ -112,5 +112,4 @@
 	end
 end
-
 %load onto results
 results.step=1;
Index: /issm/trunk/src/m/solutions/jpl/slopecompute.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/slopecompute.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/slopecompute.m	(revision 3085)
@@ -9,8 +9,8 @@
 
 	%Build all models requested for diagnostic simulation
-	models.analysis_type=SlopeComputeAnalysisEnum; %needed for processresults
+	models.analysis_type=SlopecomputeAnalysisEnum; %needed for processresults
 
 	displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
-	md.analysis_type=SlopeComputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
+	md.analysis_type=SlopecomputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
 	
 	% figure out number of dof: just for information purposes.
@@ -22,12 +22,6 @@
 	%compute solution
 	displaystring(md.verbose,'\n%s',['call computational core:']);
-	slopex=diagnostic_core_linear(models.sl,inputs,SlopeComputeAnalysisEnum(),SurfaceXAnalysisEnum());
-	slopey=diagnostic_core_linear(models.sl,inputs,SlopeComputeAnalysisEnum(),SurfaceYAnalysisEnum());
+	results=slopecompute_core(models,inputs,SlopecomputeAnalysisEnum(),NoneAnalysisEnum());
 
-	results.slopex=slopex;
-	results.slopey=slopey;
-	results.step=1;
-	results.time=0;
-	
 	displaystring(md.verbose,'\n%s',['load results...']);
 	if ~isstruct(md.results), md.results=struct(); end
Index: /issm/trunk/src/m/solutions/jpl/slopecompute_core.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/slopecompute_core.m	(revision 3085)
+++ /issm/trunk/src/m/solutions/jpl/slopecompute_core.m	(revision 3085)
@@ -0,0 +1,20 @@
+function results=slopecompute_core(models,inputs,analysis_type,sub_analysis_type)
+%SLOPECOMPUTE_CORE - linear solution sequence
+%
+%   Usage:
+%      [sx_g sy_g]=slopecompute_core(m,inputs,analysis_type,sub_analysis_type)
+
+	%get FE model
+	m=models.sl;
+	results.time=0;
+	results.step=1;
+
+	displaystring(m.parameters.verbose,'\n%s',['call computational core:']);
+	results.sx_g=diagnostic_core_linear(m,inputs,analysis_type,SurfaceXAnalysisEnum());
+	results.sy_g=diagnostic_core_linear(m,inputs,analysis_type,SurfaceYAnalysisEnum());
+
+	displaystring(m.parameters.verbose,'\n%s',['extrude computed slope on all layers:']);
+	results.sx_g=FieldExtrude(m.elements,m.nodes,m.loads,m.materials,m.parameters,results.sx_g,'slopex',0);
+	results.sy_g=FieldExtrude(m.elements,m.nodes,m.loads,m.materials,m.parameters,results.sy_g,'slopey',0);
+
+end %end function
Index: /issm/trunk/src/m/solutions/jpl/steadystate.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/steadystate.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/steadystate.m	(revision 3085)
@@ -25,5 +25,5 @@
 	
 	displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
-	md.analysis_type=SlopeComputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
+	md.analysis_type=SlopecomputeAnalysisEnum; md.sub_analysis_type=NoneAnalysisEnum; models.sl=CreateFemModel(md);
 
 	%Build all models requested for thermal simulation
Index: /issm/trunk/src/m/solutions/jpl/transient2d.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/transient2d.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/transient2d.m	(revision 3085)
@@ -23,5 +23,5 @@
 
 displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
-md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
+md.analysis_type=SlopecomputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
 
 displaystring(md.verbose,'%s',['reading prognostic model data']);
Index: /issm/trunk/src/m/solutions/jpl/transient3d.m
===================================================================
--- /issm/trunk/src/m/solutions/jpl/transient3d.m	(revision 3084)
+++ /issm/trunk/src/m/solutions/jpl/transient3d.m	(revision 3085)
@@ -23,5 +23,5 @@
 
 displaystring(md.verbose,'\n%s',['reading surface and bed slope computation model data']);
-md.analysis_type=SlopeComputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
+md.analysis_type=SlopecomputeAnalysisEnum(); md.sub_analysis_type=NoneAnalysisEnum(); models.sl=CreateFemModel(md);
 
 displaystring(md.verbose,'%s',['reading prognostic model data']);
