Index: /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/1.spec.js
===================================================================
--- /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/1.spec.js	(revision 20777)
+++ /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/1.spec.js	(revision 20778)
@@ -1,19 +1,92 @@
-//describe("test101", function() {
-    //it("contains test101", function() {
-        //console.log('creating model'); 
+describe("test101", function() {
+    it("contains test101", function() {
+    //Test Name: SquareShelfConstrainedEnthalpyTran
+    function zeros(...args) {
+        var array = [];
+        for (var i = 0; i < args[0]; ++i) {
+            array.push(args.length == 1 ? 0 : zeros(args.slice(1)));
+        }
+        return array;
+    }
+    var md = new model();
+    triangle(md,square[0],180000.);
+    setmask(md,'all','');
+    parameterize(md);
+    md.extrude(md,3,1.);
+    setflowequation(md,'SSA','all');
+    //md.cluster=generic('name',oshostname(),'np',3);
+    md.initialization.waterfraction=zeros(md.mesh.numberofvertices,1);
+    md.initialization.watercolumn=zeros(md.mesh.numberofvertices,1);
+    md.transient.isstressbalance=0;
+    md.transient.ismasstransport=0;
+    md.transient.issmb=1;
+    md.transient.isthermal=1;
+    md.transient.isgroundingline=0;
+    md.thermal.isenthalpy=1;
+    md.thermal.isdynamicbasalspc=1;
+    md=solve(md,TransientSolutionEnum());
+
+    //Fields and tolerances to track changes
+    field_names     =['Enthalpy1','Waterfraction1','Temperature1',
+        'Enthalpy2','Waterfraction2','Temperature2',
+        'Enthalpy3','Waterfraction3','Temperature3'];
+    field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-9,1e-13];
+    field_values=[
+        (md.results.TransientSolution[0](1).Enthalpy),
+        (md.results.TransientSolution[0](1).Waterfraction),
+        (md.results.TransientSolution[0](1).Temperature),
+        (md.results.TransientSolution[0](2).Enthalpy),
+        (md.results.TransientSolution[0](2).Waterfraction),
+        (md.results.TransientSolution[0](2).Temperature),
+        (md.results.TransientSolution[0](3).Enthalpy),
+        (md.results.TransientSolution[0](3).Waterfraction),
+        (md.results.TransientSolution[0](3).Temperature),
+        ];
+    });
+})
+
+//describe("test102", function() {
+    //it("contains test102", function() {
+        ////Test Name: SquareShelfConstrainedStressSSA3d
         //var md = new model();
+        //triangle(md,square[0],180000.);
+        //setmask(md,'all','');
+        //parameterize(md);
+        //md.extrude(md,3,2.);
+        //setflowequation(md,'SSA','all');
+        ////md.cluster=generic('name',oshostname(),'np',3);
+        //md=solve(md,StressbalanceSolutionEnum());
 
-        //console.log('meshing');
-        //triangle(md,square[0],40000); 
+        ////Fields and tolerances to track changes
+        //field_names     =['Vx','Vy','Vz','Vel','Pressure'];
+        //field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13];
+        //field_values=[
+            //(md.results.StressbalanceSolution[0].Vx),
+            //(md.results.StressbalanceSolution[0].Vy),
+            //(md.results.StressbalanceSolution[0].Vz),
+            //(md.results.StressbalanceSolution[0].Vel),
+            //(md.results.StressbalanceSolution[0].Pressure),
+            //];
+    //});
+//})
 
-        //console.log('parameterization');
+//describe("test103", function() {
+    //it("contains test103", function() {
+        ////Test Name: SquareShelfConstrainedBedSlop2d
+        //var md = new model();
+        //triangle(md,square[0],150000.);
         //setmask(md,'all','');
         //parameterize(md);
         //setflowequation(md,'SSA','all');
-        //md.verbose.solution=2;  md.verbose.convergence=0;
+        ////md.cluster=generic('name',oshostname(),'np',3);
+        //md=solve(md,BedSlopeSolutionEnum());
 
-        //md=solve(md,StressbalanceSolutionEnum(),'checkconsistency','no');
-
-        //console.log(md.results['StressbalanceSolution'][0]['Vel']);
+        ////Fields and tolerances to track changes
+        //field_names     =['BedSlopeX','BedSlopeY'];
+        //field_tolerances=[1e-13,1e-13];
+        //field_values=[
+            //(md.results.BedSlopeSolution[0].BedSlopeX),
+            //(md.results.BedSlopeSolution[0].BedSlopeY),
+            //];
     //});
 //})
@@ -42,49 +115,3 @@
             //];
     //});
-//})
-
-describe("test103", function() {
-    it("contains test103", function() {
-        //Test Name: SquareShelfConstrainedBedSlop2d
-        var md = new model();
-        triangle(md,square[0],150000.);
-        setmask(md,'all','');
-        parameterize(md);
-        setflowequation(md,'SSA','all');
-        //md.cluster=generic('name',oshostname(),'np',3);
-        md=solve(md,BedSlopeSolutionEnum());
-
-        //Fields and tolerances to track changes
-        field_names     =['BedSlopeX','BedSlopeY'];
-        field_tolerances=[1e-13,1e-13];
-        field_values=[
-            (md.results.BedSlopeSolution[0].BedSlopeX),
-            (md.results.BedSlopeSolution[0].BedSlopeY),
-            ];
-    });
-})
-
-describe("test102", function() {
-    it("contains test102", function() {
-        //Test Name: SquareShelfConstrainedStressSSA3d
-        var md = new model();
-        triangle(md,square[0],180000.);
-        setmask(md,'all','');
-        parameterize(md);
-        md.extrude(md,3,2.);
-        setflowequation(md,'SSA','all');
-        //md.cluster=generic('name',oshostname(),'np',3);
-        md=solve(md,StressbalanceSolutionEnum());
-
-        //Fields and tolerances to track changes
-        field_names     =['Vx','Vy','Vz','Vel','Pressure'];
-        field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13];
-        field_values=[
-            (md.results.StressbalanceSolution[0].Vx),
-            (md.results.StressbalanceSolution[0].Vy),
-            (md.results.StressbalanceSolution[0].Vz),
-            (md.results.StressbalanceSolution[0].Vel),
-            (md.results.StressbalanceSolution[0].Pressure),
-            ];
-    });
-});
+//});
Index: /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/issm-ajax.spec.js
===================================================================
--- /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/issm-ajax.spec.js	(revision 20778)
+++ /issm/trunk-jpl/jenkins/javascript/karma/scripts/specs/issm-ajax.spec.js	(revision 20778)
@@ -0,0 +1,23 @@
+window.jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000; // Change timeout for Jasmine tests
+var AJAX_TIMEOUT = 5000;
+
+function onAjaxSuccess(data, status, jqxhr) {
+    console.log("Success");
+}
+
+function onAjaxError(jqxhr, status, err) {
+    console.log("Unexpected error: " + err);
+}
+
+describe("test101", function() {
+    it("contains test101", function(done) {
+        $.ajax({
+            url: 'http://localhost:8080/test188.js',
+            dataType: 'script',
+            success: onAjaxSuccess,
+            error: onAjaxError,
+            complete: function(jqxhr, status) { done(); },
+            timeout: AJAX_TIMEOUT
+        });
+    });
+});
