Index: /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 24092)
+++ /issm/trunk-jpl/src/c/analyses/ThermalAnalysis.cpp	(revision 24093)
@@ -883,5 +883,5 @@
 				break;
 			case ArrheniusEnum:{
-										 element->GetVerticesCoordinates(&xyz_list);
+				element->GetVerticesCoordinates(&xyz_list);
 				for(i=0;i<numnodes;i++) B[i]=Arrhenius(values[i],surface[i]-xyz_list[i*3+2],n[i]);
 				element->AddInput(MaterialsRheologyBEnum,&B[0],element->GetElementType());
Index: /issm/trunk-jpl/test/NightlyRun/test346.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test346.m	(revision 24093)
+++ /issm/trunk-jpl/test/NightlyRun/test346.m	(revision 24093)
@@ -0,0 +1,23 @@
+%Test Name: SquareSheetConstrainedTherTranNyeCO2
+md=triangle(model(),'../Exp/Square.exp',180000.);
+md=setmask(md,'','');
+md=parameterize(md,'../Par/SquareSheetConstrainedCO2.par');
+md=extrude(md,3,1.);
+md=setflowequation(md,'SSA','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.verbose=verbose('convergence',true,'solution',true);
+md.materials.rheology_law = 'NyeCO2';
+md.transient.isstressbalance=0;
+md.transient.ismasstransport=0;
+md.transient.issmb=1;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,'Transient');
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
+field_tolerances={1e-13,1e-13};
+field_values={...
+	(md.results.TransientSolution(1).Temperature),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
+	};
Index: /issm/trunk-jpl/test/NightlyRun/test347.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test347.m	(revision 24093)
+++ /issm/trunk-jpl/test/NightlyRun/test347.m	(revision 24093)
@@ -0,0 +1,24 @@
+%Test Name: SquareSheetConstrainedTherTranNyeH2O
+md=triangle(model(),'../Exp/Square.exp',180000.);
+md=setmask(md,'','');
+md=parameterize(md,'../Par/SquareSheetConstrained.par');
+md.materials.rheology_B=nye(md.initialization.temperature,2);
+md=extrude(md,3,1.);
+md=setflowequation(md,'SSA','all');
+md.cluster=generic('name',oshostname(),'np',3);
+md.verbose=verbose('convergence',true,'solution',true);
+md.materials.rheology_law = 'NyeH2O';
+md.transient.isstressbalance=0;
+md.transient.ismasstransport=0;
+md.transient.issmb=1;
+md.transient.isthermal=1;
+md.transient.isgroundingline=0;
+md=solve(md,'Transient');
+
+%Fields and tolerances to track changes
+field_names     ={'Temperature','BasalforcingsGroundediceMeltingRate'};
+field_tolerances={1e-13,1e-13};
+field_values={...
+	(md.results.TransientSolution(1).Temperature),...
+	(md.results.TransientSolution(1).BasalforcingsGroundediceMeltingRate),...
+	};
Index: /issm/trunk-jpl/test/Par/SquareSheetConstrainedCO2.par
===================================================================
--- /issm/trunk-jpl/test/Par/SquareSheetConstrainedCO2.par	(revision 24093)
+++ /issm/trunk-jpl/test/Par/SquareSheetConstrainedCO2.par	(revision 24093)
@@ -0,0 +1,77 @@
+%Start defining model parameters here
+CO2_temp = 150; CO2_n = 7;
+CO2_meltingPoint = 195; CO2_latentHeat = 199000;
+CO2_rhoIce = 1562; CO2_heatCapacity = 700; CO2_thermalCond = 0.5;
+CO2_dynViscosity = 13.72e-6; CO2_rhoLiquidZeroDeg = 929;
+md.materials.rho_ice = CO2_rhoIce;
+md.materials.rho_freshwater = CO2_rhoLiquidZeroDeg;
+md.materials.thermalconductivity = CO2_thermalCond;
+md.materials.heatcapacity = CO2_heatCapacity;
+md.materials.meltingpoint = CO2_meltingPoint;
+md.materials.latentheat = CO2_latentHeat;
+md.materials.mu_water = CO2_dynViscosity; 
+
+%Geometry
+hmin=300;
+hmax=1000;
+ymin=min(md.mesh.y);
+ymax=max(md.mesh.y);
+xmin=min(md.mesh.x);
+xmax=max(md.mesh.x);
+md.geometry.thickness=hmax+(hmin-hmax)*(md.mesh.y-ymin)/(ymax-ymin)+0.1*(hmin-hmax)*(md.mesh.x-xmin)/(xmax-xmin);
+md.geometry.base=-md.materials.rho_ice/md.materials.rho_water*md.geometry.thickness;
+md.geometry.surface=md.geometry.base+md.geometry.thickness;
+md.geometry.bed=md.geometry.base-10;
+
+%Initial velocity 
+x     = archread('../Data/SquareSheetConstrained.arch','x');
+y     = archread('../Data/SquareSheetConstrained.arch','y');
+vx    = archread('../Data/SquareSheetConstrained.arch','vx');
+vy    = archread('../Data/SquareSheetConstrained.arch','vy');
+index = archread('../Data/SquareSheetConstrained.arch','index');
+
+x = x{1};
+y = y{1};
+vx = vx{1};
+vy = vy{1};
+index = index{1};
+md.initialization.vx=InterpFromMeshToMesh2d(index,x,y,vx,md.mesh.x,md.mesh.y);
+md.initialization.vy=InterpFromMeshToMesh2d(index,x,y,vy,md.mesh.x,md.mesh.y);
+clear vx vy x y index;
+md.initialization.vz=zeros(md.mesh.numberofvertices,1);
+md.initialization.pressure=zeros(md.mesh.numberofvertices,1);
+
+%Materials
+md.initialization.temperature=CO2_temp*ones(md.mesh.numberofvertices,1);
+md.materials.rheology_B=nye(md.initialization.temperature,1);
+md.materials.rheology_n=CO2_n*ones(md.mesh.numberofelements,1);
+
+%Surface mass balance and basal melting
+md.smb.mass_balance=10*ones(md.mesh.numberofvertices,1);
+md.basalforcings.floatingice_melting_rate=5*ones(md.mesh.numberofvertices,1);
+md.basalforcings.groundedice_melting_rate=5*ones(md.mesh.numberofvertices,1);
+
+%Friction
+md.friction.coefficient=20*ones(md.mesh.numberofvertices,1);
+md.friction.coefficient(find(md.mask.groundedice_levelset<0.))=0.;
+md.friction.p=ones(md.mesh.numberofelements,1);
+md.friction.q=ones(md.mesh.numberofelements,1);
+
+%Numerical parameters
+md.masstransport.stabilization=1;
+md.thermal.stabilization=1;
+md.verbose=verbose(0);
+md.settings.waitonlock=30;
+md.stressbalance.restol=0.05;
+md.stressbalance.reltol=0.05;
+md.steadystate.reltol=0.05;
+md.stressbalance.abstol=NaN;
+md.timestepping.time_step=1;
+md.timestepping.final_time=3;
+
+%Deal with boundary conditions:
+md=SetIceSheetBC(md);
+
+%Change name so that no tests have the same name
+A=dbstack;
+if (length(A)>2), md.miscellaneous.name=A(3).file(1:end-2); end
