Index: /issm/trunk-jpl/test/NightlyRun/test238.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test238.py	(revision 19249)
+++ /issm/trunk-jpl/test/NightlyRun/test238.py	(revision 19249)
@@ -0,0 +1,90 @@
+#Test Name: SquareShelfTranIspddIsdeltaO18pdSSA2d 
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'all','')
+md=parameterize(md,'../Par/SquareShelf.py')
+
+# Use of ispdd and isdelta18o methods
+md.surfaceforcings = SMBd18opdd();
+md.surfaceforcings.isd18opd=1;
+
+# Add temperature, precipitation and delta18o needed to measure the surface mass balance
+# creating delta18o
+delta18o=numpy.loadtxt('../Data/delta18o.data')
+md.surfaceforcings.delta18o=delta18o
+
+# creating Present day temperatures
+# Same temperature over the all region:
+tmonth=numpy.ones(12)*(238.15+20.)
+md.surfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+    # Time for the last line:
+    md.surfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# creating initialization and spc temperatures initialization and spc
+md.thermal.spctemperature=numpy.mean(md.surfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+md.thermal.spctemperature=md.thermal.spctemperature-10
+md.initialization.temperature=md.thermal.spctemperature
+
+# creating precipitation
+md.surfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+    md.surfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# time steps and resolution
+md.timestepping.time_step=0.5
+md.timestepping.final_time=2.
+
+# 
+md.transient.requested_outputs=['default','SurfaceforcingsMonthlytemperatures']
+md=setflowequation(md,'SSA','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\
+		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\
+				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3';
+field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values=[\
+	md.results.TransientSolution[0].Vx,\
+	md.results.TransientSolution[0].Vy,\
+	md.results.TransientSolution[0].Vel,\
+	md.results.TransientSolution[0].Pressure,\
+	md.results.TransientSolution[0].Base,\
+	md.results.TransientSolution[0].Surface,\
+	md.results.TransientSolution[0].Thickness,\
+	md.results.TransientSolution[0].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[0].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[1].Vx,\
+	md.results.TransientSolution[1].Vy,\
+	md.results.TransientSolution[1].Vel,\
+	md.results.TransientSolution[1].Pressure,\
+	md.results.TransientSolution[1].Base,\
+	md.results.TransientSolution[1].Surface,\
+	md.results.TransientSolution[1].Thickness,\
+	md.results.TransientSolution[1].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[1].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[2].Vx,\
+	md.results.TransientSolution[2].Vy,\
+	md.results.TransientSolution[2].Vel,\
+	md.results.TransientSolution[2].Pressure,\
+	md.results.TransientSolution[2].Base,\
+	md.results.TransientSolution[2].Surface,\
+	md.results.TransientSolution[2].Thickness,\
+	md.results.TransientSolution[2].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[2].SurfaceforcingsMassBalance,\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test239.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test239.py	(revision 19249)
+++ /issm/trunk-jpl/test/NightlyRun/test239.py	(revision 19249)
@@ -0,0 +1,91 @@
+#Test Name: SquareShelfTranIspddIsdeltaO18pdInterpSSA2d 
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'all','')
+md=parameterize(md,'../Par/SquareShelf.py')
+
+# Use of ispdd and isdelta18o methods
+md.surfaceforcings = SMBd18opdd();
+md.surfaceforcings.isd18opd=1;
+
+# Add temperature, precipitation and delta18o needed to measure the surface mass balance
+# creating delta18o
+delta18o=numpy.loadtxt('../Data/delta18o.data')
+md.surfaceforcings.delta18o=delta18o
+
+# creating Present day temperatures
+# Same temperature over the all region:
+tmonth=numpy.ones(12)*(238.15+20.)
+md.surfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+    # Time for the last line:
+    md.surfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# creating initialization and spc temperatures initialization and spc
+md.thermal.spctemperature=numpy.mean(md.surfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+md.thermal.spctemperature=md.thermal.spctemperature-10
+md.initialization.temperature=md.thermal.spctemperature
+
+# creating precipitation
+md.surfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+    md.surfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# time steps and resolution
+md.timestepping.time_step=0.5
+md.timestepping.final_time=2.
+md.timestepping.interp_forcings=0
+
+# 
+md.transient.requested_outputs=['default','SurfaceforcingsMonthlytemperatures']
+md=setflowequation(md,'SSA','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\
+		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\
+				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3';
+field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values=[\
+	md.results.TransientSolution[0].Vx,\
+	md.results.TransientSolution[0].Vy,\
+	md.results.TransientSolution[0].Vel,\
+	md.results.TransientSolution[0].Pressure,\
+	md.results.TransientSolution[0].Base,\
+	md.results.TransientSolution[0].Surface,\
+	md.results.TransientSolution[0].Thickness,\
+	md.results.TransientSolution[0].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[0].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[1].Vx,\
+	md.results.TransientSolution[1].Vy,\
+	md.results.TransientSolution[1].Vel,\
+	md.results.TransientSolution[1].Pressure,\
+	md.results.TransientSolution[1].Base,\
+	md.results.TransientSolution[1].Surface,\
+	md.results.TransientSolution[1].Thickness,\
+	md.results.TransientSolution[1].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[1].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[2].Vx,\
+	md.results.TransientSolution[2].Vy,\
+	md.results.TransientSolution[2].Vel,\
+	md.results.TransientSolution[2].Pressure,\
+	md.results.TransientSolution[2].Base,\
+	md.results.TransientSolution[2].Surface,\
+	md.results.TransientSolution[2].Thickness,\
+	md.results.TransientSolution[2].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[2].SurfaceforcingsMassBalance,\
+	]
Index: /issm/trunk-jpl/test/NightlyRun/test240.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test240.py	(revision 19249)
+++ /issm/trunk-jpl/test/NightlyRun/test240.py	(revision 19249)
@@ -0,0 +1,90 @@
+#Test Name: SquareShelfTranIspddIsdeltaO18pdNoInterpSSA2d 
+import numpy
+from model import *
+from triangle import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+md=triangle(model(),'../Exp/Square.exp',150000.)
+md=setmask(md,'all','')
+md=parameterize(md,'../Par/SquareShelf.py')
+
+# Use of ispdd and isdelta18o methods
+md.surfaceforcings = SMBd18opdd();
+md.surfaceforcings.isd18opd=1;
+
+# Add temperature, precipitation and delta18o needed to measure the surface mass balance
+# creating delta18o
+delta18o=numpy.loadtxt('../Data/delta18o.data')
+md.surfaceforcings.delta18o=delta18o
+
+# creating Present day temperatures
+# Same temperature over the all region:
+tmonth=numpy.ones(12)*(238.15+20.)
+md.surfaceforcings.temperatures_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.temperatures_presentday[0:md.mesh.numberofvertices,imonth]=tmonth[imonth]
+    # Time for the last line:
+    md.surfaceforcings.temperatures_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# creating initialization and spc temperatures initialization and spc
+md.thermal.spctemperature=numpy.mean(md.surfaceforcings.temperatures_lgm[0:md.mesh.numberofvertices,:],axis=1).reshape(-1,1)
+md.thermal.spctemperature=md.thermal.spctemperature-10
+md.initialization.temperature=md.thermal.spctemperature
+
+# creating precipitation
+md.surfaceforcings.precipitations_presentday=numpy.zeros((md.mesh.numberofvertices+1,12))
+for imonth in xrange(0,12):
+    md.surfaceforcings.precipitations_presentday[0:md.mesh.numberofvertices,imonth]=-0.4*10**(-6)*md.mesh.y+0.5
+    md.surfaceforcings.precipitations_presentday[md.mesh.numberofvertices,imonth]=((float(imonth)+1.)/12.)
+
+# time steps and resolution
+md.timestepping.time_step=20.
+md.timestepping.final_time=60.
+
+# 
+md.transient.requested_outputs=['default','SurfaceforcingsMonthlytemperatures']
+md=setflowequation(md,'SSA','all')
+md.cluster=generic('name',oshostname(),'np',3)
+md=solve(md,TransientSolutionEnum())
+
+#Fields and tolerances to track changes
+field_names     =['Vx1','Vy1','Vel1','Pressure1','Bed1','Surface1','Thickness1','SurfaceforcingsMonthlytemperatures1','SurfaceforcingsMassBalance1',\
+		            'Vx2','Vy2','Vel2','Pressure2','Bed2','Surface2','Thickness2','SurfaceforcingsMonthlytemperatures2','SurfaceforcingsMassBalance2',\
+				      'Vx3','Vy3','Vel3','Pressure3','Bed3','Surface3','Thickness3','SurfaceforcingsMonthlytemperatures3','SurfaceforcingsMassBalance3';
+field_tolerances=[1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+		            1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,\
+			         1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13,1e-13};
+field_values=[\
+	md.results.TransientSolution[0].Vx,\
+	md.results.TransientSolution[0].Vy,\
+	md.results.TransientSolution[0].Vel,\
+	md.results.TransientSolution[0].Pressure,\
+	md.results.TransientSolution[0].Base,\
+	md.results.TransientSolution[0].Surface,\
+	md.results.TransientSolution[0].Thickness,\
+	md.results.TransientSolution[0].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[0].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[1].Vx,\
+	md.results.TransientSolution[1].Vy,\
+	md.results.TransientSolution[1].Vel,\
+	md.results.TransientSolution[1].Pressure,\
+	md.results.TransientSolution[1].Base,\
+	md.results.TransientSolution[1].Surface,\
+	md.results.TransientSolution[1].Thickness,\
+	md.results.TransientSolution[1].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[1].SurfaceforcingsMassBalance,\
+	md.results.TransientSolution[2].Vx,\
+	md.results.TransientSolution[2].Vy,\
+	md.results.TransientSolution[2].Vel,\
+	md.results.TransientSolution[2].Pressure,\
+	md.results.TransientSolution[2].Base,\
+	md.results.TransientSolution[2].Surface,\
+	md.results.TransientSolution[2].Thickness,\
+	md.results.TransientSolution[2].SurfaceforcingsMonthlytemperatures,\
+	md.results.TransientSolution[2].SurfaceforcingsMassBalance,\
+	]
