Index: /issm/trunk-jpl/jenkins/javascript/karma/karma.conf.js
===================================================================
--- /issm/trunk-jpl/jenkins/javascript/karma/karma.conf.js	(revision 20837)
+++ /issm/trunk-jpl/jenkins/javascript/karma/karma.conf.js	(revision 20838)
@@ -42,6 +42,6 @@
       'lib/bin/project3d.js',
       'lib/bin/model.js',
-      //'scripts/specs/temp.spec.js'
-      'scripts/specs/issm-ajax.spec.js'
+      //'scripts/specs/issm.spec.js'
+      'scripts/specs/temp.spec.js'
       //'scripts/specs/3.spec.js'
     ],
@@ -92,5 +92,5 @@
     // Continuous Integration mode
     // if true, Karma captures browsers, runs the tests and exits
-    singleRun: true,
+    singleRun: false,
 
     // Concurrency level
Index: /issm/trunk-jpl/jenkins/javascript/karma/scripts/test102.js
===================================================================
--- /issm/trunk-jpl/jenkins/javascript/karma/scripts/test102.js	(revision 20837)
+++ /issm/trunk-jpl/jenkins/javascript/karma/scripts/test102.js	(revision 20838)
@@ -2,6 +2,6 @@
 var md = new model();
 
-console.log(md.results);
 triangle(md,square[0],180000.);
+
 setmask(md,'all','');
 parameterize(md);
@@ -9,5 +9,4 @@
 md.extrude(md,3,2.);
 setflowequation(md,'SSA','all');
-console.log(md.results);
 //md.cluster=generic('name',oshostname(),'np',3);
 md=solve(md,StressbalanceSolutionEnum());
Index: /issm/trunk-jpl/jenkins/javascript/karma/scripts/test109.js
===================================================================
--- /issm/trunk-jpl/jenkins/javascript/karma/scripts/test109.js	(revision 20837)
+++ /issm/trunk-jpl/jenkins/javascript/karma/scripts/test109.js	(revision 20838)
@@ -7,9 +7,9 @@
 setflowequation(md,'SSA','all');
 //md.cluster=generic('name',oshostname(),'np',3);
-md.transient.isstressbalance=0;
-md.transient.ismasstransport=0;
-md.transient.issmb=1;
-md.transient.isthermal=1;
-md.transient.isgroundingline=0;
+md.trans.isstressbalance=0;
+md.trans.ismasstransport=0;
+md.trans.issmb=1;
+md.trans.isthermal=1;
+md.trans.isgroundingline=0;
 md=solve(md,TransientSolutionEnum());
 
Index: /issm/trunk-jpl/src/m/classes/flowequation.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/flowequation.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/flowequation.js	(revision 20838)
@@ -38,5 +38,5 @@
 
 	}// }}}
-    this.extrude = function(md) {
+    this.extrude = function(md) {//{{{
         this.element_equation=project3d(md,'vector',this.element_equation,'type','element');
         this.vertex_equation=project3d(md,'vector',this.vertex_equation,'type','node');
@@ -45,5 +45,5 @@
         this.borderFS=project3d(md,'vector',this.borderFS,'type','node');
         return this;
-    }
+    }//}}}
 		this.checkconsistency = function(md,solution,analyses) {//{{{
 
Index: /issm/trunk-jpl/src/m/classes/friction.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/friction.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/friction.js	(revision 20838)
@@ -16,7 +16,7 @@
 	} // }}}
     this.extrude = function(md) {//{{{
-        self.coefficient = project3d(md, 'vector', self.coefficient, 'type', 'node', 'layer', 1);
-        self.p = project3d(md, 'vector', self.p, 'type', 'element');
-        self.q = project3d(md, 'vector', self.q, 'type', 'element');
+        this.coefficient = project3d(md, 'vector', this.coefficient, 'type', 'node', 'layer', 1);
+        this.p = project3d(md, 'vector', this.p, 'type', 'element');
+        this.q = project3d(md, 'vector', this.q, 'type', 'element');
         return this;
     }//}}}
Index: /issm/trunk-jpl/src/m/classes/masstransport.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/masstransport.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/masstransport.js	(revision 20838)
@@ -41,8 +41,8 @@
 		return "masstransport";
 	}// }}}
-    this.extrude = function(md) {
+    this.extrude = function(md) {//{{{
         this.spcthickness=project3d(md,'vector',this.spcthickness,'type','node');
         return this;
-    }
+    }//}}}
 		this.checkconsistency = function (md,solution,analyses){  // {{{
 
Index: /issm/trunk-jpl/src/m/classes/matice.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/matice.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/matice.js	(revision 20838)
@@ -84,9 +84,9 @@
 
 		} // }}}
-        this.extrude = function(md) {
+        this.extrude = function(md) {//{{{
             this.rheology_B=project3d(md,'vector',this.rheology_B,'type','node');
             this.rheology_n=project3d(md,'vector',this.rheology_n,'type','element');
             return this;
-        }
+        }//}}}
 		this.classname = function() {// {{{
 			return "matice";
Index: /issm/trunk-jpl/src/m/classes/model.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/model.js	(revision 20838)
@@ -152,6 +152,4 @@
                 }).sort();
 
-                console.log("extrusionlist is " + extrusionlist) //@REMOVE
-
                 numlayers=extrusionlist.length;
             } else if (argc==3) { //one polynomial law
@@ -210,5 +208,5 @@
 
             //Initialize with the 2d mesh
-            mesh2d = md.mesh;
+            var mesh2d = md.mesh;
             md.mesh=new mesh3dprisms();
 
Index: /issm/trunk-jpl/src/m/classes/qmu.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/classes/qmu.js	(revision 20838)
@@ -91,8 +91,4 @@
 	}// }}}
     this.extrude = function(md) {//{{{
-        console.log("ORIGINAL");
-        console.log(this.partition);
-        console.log("TRANSPOSE");
-        console.log(math.transpose(this.partition));
         this.partition=project3d(md,'vector',math.transpose(this.partition),'type','node');
         return this;
Index: /issm/trunk-jpl/src/m/extrusion/project3d.js
===================================================================
--- /issm/trunk-jpl/src/m/extrusion/project3d.js	(revision 20837)
+++ /issm/trunk-jpl/src/m/extrusion/project3d.js	(revision 20838)
@@ -48,10 +48,9 @@
     paddingvalue = options.getfieldvalue('padding',0);  //0 by default
 
-    if (isNaN(vector2d) || vector2d.length === 1) { // NaN treated as length 1 in MATLAB
+    if (isNaN(vector2d) || vector2d === 0 || vector2d.length === 1) { // NaN treated as length 1 in MATLAB
         projected_vector=vector2d;
     } else if (type.toLowerCase() === 'node') {
 
         //Initialize 3d vector
-        console.log(vector2d.length + " " + md.mesh.numberofvertices2d);
         if (vector2d.length===md.mesh.numberofvertices2d) {
                 projected_vector=ones(md.mesh.numberofvertices,  vector2d[0].length).map(function(arr) { return arr.fill(paddingvalue); });
