Index: /issm/trunk-jpl/test/NightlyRun/IdToName.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 14603)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.m	(revision 14604)
@@ -131,4 +131,5 @@
 	case 431, name='SquareSheetShelfSteaEnthalpyM3d';
 	case 432, name='SquareSheetShelfSteaEnthalpyP3d';
+	case 433, name='RoundSheetShelfGLMigrationM3d';
 	case 501, name='PigDiagM2d';
 	case 502, name='PigDiagP3d';
Index: /issm/trunk-jpl/test/NightlyRun/IdToName.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 14603)
+++ /issm/trunk-jpl/test/NightlyRun/IdToName.py	(revision 14604)
@@ -100,4 +100,5 @@
 		330 : 'SquareSheetConstrainedGia2d',
 		331 : 'SquareSheetConstrainedHydrology',
+		333 : 'SquareSheetConstrainedTranCflM3d',
 		401 : 'SquareSheetShelfDiagM2d',
 		402 : 'SquareSheetShelfDiagM3d',
Index: /issm/trunk-jpl/test/NightlyRun/test433.m
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test433.m	(revision 14604)
+++ /issm/trunk-jpl/test/NightlyRun/test433.m	(revision 14604)
@@ -0,0 +1,42 @@
+radius=1.e6;
+shelfextent=2.e5;
+
+md=roundmesh(model(),radius,50000.);
+%fix center node to 0,0
+rad=sqrt(md.mesh.x.^2+md.mesh.y.^2);
+pos=find(rad==min(rad));
+md.mesh.x(pos)=0.; md.mesh.y(pos)=0.; %the closest node to the center is changed to be exactly at the center
+xelem=md.mesh.x(md.mesh.elements)*[1;1;1]/3.;
+yelem=md.mesh.y(md.mesh.elements)*[1;1;1]/3.;
+rad=sqrt(xelem.^2+yelem.^2);
+flags=zeros(md.mesh.numberofelements,1);
+pos=find(rad>=(radius-shelfextent));
+flags(pos)=1;
+md=setmask(md,flags,''); 
+md=parameterize(md,'../Par/RoundSheetShelf.par');
+md=setflowequation(md,'macayeal','all');
+md=extrude(md,3,1);
+md.cluster=generic('name',oshostname(),'np',3);
+
+md.transient.isthermal=0;
+md.transient.isprognostic=0;
+md.transient.isdiagnostic=0;
+md.transient.isgroundingline=1;
+
+%test different grounding line dynamics.
+md.groundingline.migration='AgressiveMigration';
+md=solve(md,TransientSolutionEnum());
+element_on_iceshelf_agressive=(md.results.TransientSolution.MaskElementonfloatingice);
+
+md.groundingline.migration='SoftMigration';
+md=solve(md,TransientSolutionEnum());
+element_on_iceshelf_soft=(md.results.TransientSolution.MaskElementonfloatingice);
+
+md.groundingline.migration='SubelementMigration';
+md=solve(md,TransientSolutionEnum());
+element_on_iceshelf_subelement=(md.results.TransientSolution.GLlevelset);
+
+%Fields and tolerances to track changes
+field_names     ={'ElementOnIceShelfAgressive','ElementOnIceShelfSoft','ElementOnIceShelfSubelement'};
+field_tolerances={1e-13,1e-13,1e-13};
+field_values={element_on_iceshelf_agressive,element_on_iceshelf_soft,element_on_iceshelf_subelement};
Index: /issm/trunk-jpl/test/NightlyRun/test433.py
===================================================================
--- /issm/trunk-jpl/test/NightlyRun/test433.py	(revision 14604)
+++ /issm/trunk-jpl/test/NightlyRun/test433.py	(revision 14604)
@@ -0,0 +1,53 @@
+import numpy
+from model import *
+from roundmesh import *
+from setmask import *
+from parameterize import *
+from setflowequation import *
+from EnumDefinitions import *
+from solve import *
+from MatlabFuncs import *
+
+radius=1.e6
+shelfextent=2.e5
+
+md=roundmesh(model(),radius,50000.)
+#fix center node to 0,0
+rad=numpy.sqrt(md.mesh.x**2+md.mesh.y**2)
+pos=numpy.argmin(rad)
+md.mesh.x[pos]=0.
+md.mesh.y[pos]=0.    #the closest node to the center is changed to be exactly at the center
+xelem=numpy.mean(md.mesh.x[md.mesh.elements.astype(int)-1],axis=1)
+yelem=numpy.mean(md.mesh.y[md.mesh.elements.astype(int)-1],axis=1)
+rad=numpy.sqrt(xelem**2+yelem**2)
+flags=numpy.zeros(md.mesh.numberofelements)
+pos=numpy.nonzero(rad>=(radius-shelfextent))
+flags[pos]=1
+md=setmask(md,flags,'') 
+md=parameterize(md,'../Par/RoundSheetShelf.py')
+md=setflowequation(md,'macayeal','all')
+md.extrude(3,1.)
+md.cluster=generic('name',oshostname(),'np',3)
+
+md.transient.isthermal=False
+md.transient.isprognostic=False
+md.transient.isdiagnostic=False
+md.transient.isgroundingline=True
+
+#test different grounding line dynamics.
+md.groundingline.migration='AgressiveMigration'
+md=solve(md,TransientSolutionEnum())
+element_on_iceshelf_agressive=md.results.TransientSolution[0].MaskElementonfloatingice
+
+md.groundingline.migration='SoftMigration'
+md=solve(md,TransientSolutionEnum())
+element_on_iceshelf_soft=md.results.TransientSolution[0].MaskElementonfloatingice
+
+md.groundingline.migration='SubelementMigration'
+md=solve(md,TransientSolutionEnum())
+element_on_iceshelf_subelement=md.results.TransientSolution[0].GLlevelset
+
+#Fields and tolerances to track changes
+field_names     =['ElementOnIceShelfAgressive','ElementOnIceShelfSoft','ElementOnIceShelfSubelement']
+field_tolerances=[1e-13,1e-13,1e-13]
+field_values=[element_on_iceshelf_agressive,element_on_iceshelf_soft,element_on_iceshelf_subelement]
