Index: /issm/trunk/src/m/solutions/ice/transient3d.m
===================================================================
--- /issm/trunk/src/m/solutions/ice/transient3d.m	(revision 784)
+++ /issm/trunk/src/m/solutions/ice/transient3d.m	(revision 785)
@@ -11,5 +11,7 @@
 
 %Figure out which type of elements are present
-[fem.ishutter,fem.ismacayealpattyn,fem.isstokes]=DiagnosticSolutionType(md.elements_type);
+fem.ishutter=md.ishutter;
+fem.ismacayealpattyn=md.ismacayealpattyn;
+fem.isstokes=md.isstokes;
 
 %First, build elements,grids,loads, etc ... for horizontal, base vertical and vertical model
@@ -25,5 +27,4 @@
 	fem.m_ds=CreateFemModel(md,'diagnostic_stokes');
 end
-fem.m_dbv=CreateFemModel(md,'diagnostic_basevert');
 fem.m_dv=CreateFemModel(md,'diagnostic_vert');
 
@@ -34,9 +35,9 @@
 
 %initialize (velocity,pressure,...)
-solution.u_g=zeros(fem.m_dhu.gridset.gsize,1);
-if ~isnan(md.vx), solution.u_g(1:6:fem.m_dhu.gridset.gsize)=md.vx/md.yts; end
-if ~isnan(md.vy), solution.u_g(2:6:fem.m_dhu.gridset.gsize)=md.vy/md.yts; end
-if ~isnan(md.vz), solution.u_g(3:6:fem.m_dhu.gridset.gsize)=md.vz/md.yts; end
-solution.pressure=zeros(fem.m_dhu.gridset.gsize,1); solution.pressure(1:6:fem.m_dhu.gridset.gsize)=md.rho_ice*md.g*(md.surface-md.z); %lithostatic pressure to spin up
+solution.u_g=zeros(fem.m_dh.gridset.gsize,1);
+if ~isnan(md.vx), solution.u_g(1:6:fem.m_dh.gridset.gsize)=md.vx/md.yts; end
+if ~isnan(md.vy), solution.u_g(2:6:fem.m_dh.gridset.gsize)=md.vy/md.yts; end
+if ~isnan(md.vz), solution.u_g(3:6:fem.m_dh.gridset.gsize)=md.vz/md.yts; end
+solution.pressure=zeros(fem.m_dh.gridset.gsize,1); solution.pressure(1:6:fem.m_dh.gridset.gsize)=md.rho_ice*md.g*(md.surface-md.z); %lithostatic pressure to spin up
 solution.t_g=zeros(fem.m_t.gridset.gsize,1);
 if ~isempty(md.temperature), 
@@ -51,7 +52,7 @@
 %initialize geometry and time
 solution.mesh=struct('elements',md.elements,'grids',[md.x md.y md.z]);
-solution.thickness=zeros(fem.m_dhu.gridset.gsize,1);solution.thickness(1:6:fem.m_dhu.gridset.gsize)=md.thickness;
-solution.surface=zeros(fem.m_dhu.gridset.gsize,1);solution.surface(1:6:fem.m_dhu.gridset.gsize)=md.surface;
-solution.bed=zeros(fem.m_dhu.gridset.gsize,1);solution.bed(1:6:fem.m_dhu.gridset.gsize)=md.bed;
+solution.thickness=zeros(fem.m_dh.gridset.gsize,1);solution.thickness(1:6:fem.m_dh.gridset.gsize)=md.thickness;
+solution.surface=zeros(fem.m_dh.gridset.gsize,1);solution.surface(1:6:fem.m_dh.gridset.gsize)=md.surface;
+solution.bed=zeros(fem.m_dh.gridset.gsize,1);solution.bed(1:6:fem.m_dh.gridset.gsize)=md.bed;
 solution.time=0;
 
@@ -83,19 +84,17 @@
 	fem.inputs.surface=solution(n).surface;
 
-	%%Deal with temperature first 
-	%disp('   computing temperature...');
-	%[solution(n+1).t_g loads_t melting_offset]=thermal_core(fem.m_t,'thermaltransient',fem.inputs);
-	solution(n+1).t_g=solution(1).t_g;
-	%disp('   computing melting...');
-	%fem.inputs.temperature=full(solution(n+1).t_g);
-	%fem.inputs.melting_offset=melting_offset;
-	%solution(n+1).melting_g=melting_core(fem.m_m,'thermaltransient',fem.inputs);
-	solution(n+1).melting_g=solution(1).melting_g;
+	%Deal with temperature first 
+	disp('   computing temperature...');
+	[solution(n+1).t_g loads_t melting_offset]=thermal_core(fem.m_t,'thermaltransient',fem.inputs);
+	disp('   computing melting...');
+	fem.inputs.temperature=full(solution(n+1).t_g);
+	fem.inputs.melting_offset=melting_offset;
+	solution(n+1).melting_g=melting_core(fem.m_m,'thermaltransient',fem.inputs);
 
 	%Compute depth averaged temperature for 2d type elements.
-	%temperature_average2d=DepthAverage(md,solution(n+1).t_g(1:6:fem.m_t.gridset.gsize));
-	%temperature_average=project3d(md,temperature_average2d,'node');
-	%temperature_average_g=zeros(fem.m_t.gridset.gsize,1);temperature_average_g(1:6:fem.m_t.gridset.gsize)=temperature_average;
-	%fem.inputs.temperature_average=temperature_average_g;
+	temperature_average2d=DepthAverage(md,solution(n+1).t_g(1:6:fem.m_t.gridset.gsize));
+	temperature_average=project3d(md,temperature_average2d,'node');
+	temperature_average_g=zeros(fem.m_t.gridset.gsize,1);temperature_average_g(1:6:fem.m_t.gridset.gsize)=temperature_average;
+	fem.inputs.temperature_average=temperature_average_g;
 	
 	%Deal with velocities.
@@ -135,6 +134,5 @@
 	disp(sprintf('%s','   updating grid positions...'));
 	grids_t=UpdateGridPosition(md,fem.m_t.grids,new_bed,new_thickness);
-	grids_dhu=UpdateGridPosition(md,fem.m_dhu.grids,new_bed,new_thickness);
-	grids_dbv=UpdateGridPosition(md,fem.m_dbv.grids,new_bed,new_thickness);
+	grids_dh=UpdateGridPosition(md,fem.m_dh.grids,new_bed,new_thickness);
 	grids_dv=UpdateGridPosition(md,fem.m_dv.grids,new_bed,new_thickness);
 	grids_p=UpdateGridPosition(md,fem.m_p.grids,new_bed,new_thickness);
