Index: /issm/trunk/test/Exp/SquareISMIP.exp
===================================================================
--- /issm/trunk/test/Exp/SquareISMIP.exp	(revision 5179)
+++ /issm/trunk/test/Exp/SquareISMIP.exp	(revision 5179)
@@ -0,0 +1,10 @@
+## Name:domainoutline
+## Icon:0
+# Points Count  Value
+5 1.
+# X pos Y pos
+-100000 -100000
+100000 -100000
+100000 100000
+-100000 100000
+-100000 -100000
Index: /issm/trunk/test/NightlyRun/test1110.m
===================================================================
--- /issm/trunk/test/NightlyRun/test1110.m	(revision 5179)
+++ /issm/trunk/test/NightlyRun/test1110.m	(revision 5179)
@@ -0,0 +1,37 @@
+%This test is a test from the ISMP-HOM Intercomparison project
+%TestF 
+L=100000; %in m
+nx=30; %numberof nodes in x direction
+ny=30;
+md=model;
+%md=squaremesh(md,L,L,nx,ny);
+md=mesh(md,'../Exp/SquareISMIP.exp',5500);
+md=geography(md,'',''); %ice sheet test
+md=parameterize(md,'../Par/ISMIPF.par');
+md=extrude(md,5,1);
+
+md=setelementstype(md,'pattyn','all');
+%md=setelementstype(md,'pattyn','all','stokes','all'); 
+
+%Create dirichlet on the bed if no slip
+pos=find(md.gridonbed);
+md.spcvelocity(pos,1:2)=1;
+md.spcvelocity(pos,4:5)=0;
+
+%%Create MPCs to have periodic boundary conditions
+%posx=find(md.x==0);
+%posx2=find(md.x==max(md.x));
+%
+%posy=find(md.y==0 & md.x~=0 & md.x~=max(md.x)); %Don't take the same grids two times
+%posy2=find(md.y==max(md.y) & md.x~=0 & md.x~=max(md.x));
+%
+%md.penalties=[posx,posx2;posy,posy2];
+
+%Compute the diagnostic
+md=solve(md,'analysis_type',Transient3DSolutionEnum);
+
+vx=PatchToVec(md.results.DiagnosticSolution.Vx);
+vy=PatchToVec(md.results.DiagnosticSolution.Vy);
+vz=PatchToVec(md.results.DiagnosticSolution.Vz);
+
+plotmodel(md,'data',vx,'data',vy,'data',vz,'layer#all',md.numlayers,'contourlevels',{9.2,18.4,27.6,46,73.6,82.8},'contourlevels',{0,-1.2,-0.9,-0.6,-0.3,1.2},'contourlevels',{-5.2,-3.9,-1.3,0,1.3,3.9,5.2})
Index: /issm/trunk/test/Par/ISMIPF.par
===================================================================
--- /issm/trunk/test/Par/ISMIPF.par	(revision 5179)
+++ /issm/trunk/test/Par/ISMIPF.par	(revision 5179)
@@ -0,0 +1,45 @@
+%Ok, start defining model parameters here
+md.verbose=2;
+
+disp('      creating thickness');
+md.surface=-md.x*tan(3*pi/180);
+%md.bed=md.surface-1000;
+md.bed=md.surface-1000+100*exp(-(md.x.^2+md.y.^2)/(10000^2));
+md.thickness=md.surface-md.bed;
+md.firn_layer=0*ones(md.numberofgrids,1);
+
+disp('      creating drag');
+md.drag_type=2; %0 none 1 plastic 2 viscous
+md.drag_coefficient=sqrt(md.yts.*(2.140373*10^-7*1000)^(-1));
+md.drag_p=ones(md.numberofelements,1);
+md.drag_q=zeros(md.numberofelements,1);
+
+disp('      creating flow law paramter');
+md.rheology_B=1.4734*10^14*ones(md.numberofgrids,1);
+md.rheology_n=1*ones(md.numberofelements,1);
+
+disp('      boundary conditions for diagnostic model');
+%Create grid on boundary fist (because we cannot use mesh)
+md=SetIceSheetBC(md);
+md.spcvelocity(:,4)=100*ones(md.numberofgrids,1);
+md.vx=zeros(md.numberofgrids,1);
+md.vy=zeros(md.numberofgrids,1);
+md.vz=zeros(md.numberofgrids,1);
+md.vel=zeros(md.numberofgrids,1);
+md.pressure=zeros(md.numberofgrids,1);
+md.temperature=255*ones(md.numberofgrids,1);
+pos=find(md.x==min(md.x) | md.x==max(md.x));
+md.spcthickness(pos,1)=1;
+md.spcthickness(pos,2)=md.thickness(pos);
+md.spctemperature=[ones(md.numberofgrids,1) 255*ones(md.numberofgrids,1)];
+
+%Parallel options
+md.connectivity=200;
+md.np=8;
+md.cluster=oshostname();
+md.time=50;
+
+%Transient options
+md.dt=1;
+md.ndt=10;
+md.artificial_diffusivity=1;
