Index: /issm/branches/trunk-larour-SLPS2022/src/m/classes/sealevelmodel.m
===================================================================
--- /issm/branches/trunk-larour-SLPS2022/src/m/classes/sealevelmodel.m	(revision 27057)
+++ /issm/branches/trunk-larour-SLPS2022/src/m/classes/sealevelmodel.m	(revision 27058)
@@ -237,5 +237,6 @@
 				mdi=self.icecaps{i};
 				mdi=TwoDToThreeD(mdi,self.planet);
-		
+	
+
 				%for elements:
 				xei=mdi.mesh.x(mdi.mesh.elements)*[1;1;1]/3;
@@ -246,5 +247,4 @@
 			
 				self.transitions{end+1}=meshintersect3d(self.earth.mesh.x,self.earth.mesh.y,self.earth.mesh.z,mdi.mesh.x,mdi.mesh.y,mdi.mesh.z,'force',force);
-
 				self.eltransitions{end+1}=meshintersect3d(xe,ye,ze,xei,yei,zei,'force',force);
 			end
@@ -410,4 +410,7 @@
 			%Create mesh radius:
 			self.earth.mesh.r=planetradius('earth')*ones(md.mesh.numberofvertices,1);
+			self.earth.mesh.lat = asind(self.earth.mesh.z./self.earth.mesh.r);
+			self.earth.mesh.long = atan2d(self.earth.mesh.y,self.earth.mesh.x);
+
 
 		end % }}}
Index: /issm/branches/trunk-larour-SLPS2022/src/m/classes/solidearthsolution.m
===================================================================
--- /issm/branches/trunk-larour-SLPS2022/src/m/classes/solidearthsolution.m	(revision 27057)
+++ /issm/branches/trunk-larour-SLPS2022/src/m/classes/solidearthsolution.m	(revision 27058)
@@ -48,28 +48,45 @@
 
 			%transform our time series into time series rates 
-			if size(self.displacementeast,2)==1
-				disp('External solidearthsolution warning: only one time step provided, assuming the values are rates per year');
-				displacementeast_rate=[self.displacementeast;0];
-				displacementnorth_rate=[self.displacementnorth;0];
-				displacementup_rate=[self.displacementup;0];
-				geoid_rate=[self.geoid;0];
-			else
-				time=self.displacementeast(end,:);
-				dt=diff(time,1,2);
-				displacementeast_rate=diff(self.displacementeast(1:end-1,:),1,2)./dt;
-				displacementeast_rate(end+1,:)=time(1:end-1);
-				displacementnorth_rate=diff(self.displacementnorth(1:end-1,:),1,2)./dt;
-				displacementnorth_rate(end+1,:)=time(1:end-1);
-				displacementup_rate=diff(self.displacementup(1:end-1,:),1,2)./dt;
-				displacementup_rate(end+1,:)=time(1:end-1);
-				geoid_rate=diff(self.geoid(1:end-1,:),1,2)./dt;
-				geoid_rate(end+1,:)=time(1:end-1);
+			if ~isempty(self.displacementup),
+				if size(self.displacementup,2)==1
+					disp('External solidearthsolution warning: only one time step provided, assuming the values are rates per year');
+					displacementup_rate=[self.displacementup;0];
+					geoid_rate=[self.geoid;0];
+				else
+					time=self.displacementup(end,:);
+					dt=diff(time,1,2);
+					displacementup_rate=diff(self.displacementup(1:end-1,:),1,2)./dt;
+					displacementup_rate(end+1,:)=time(1:end-1);
+					geoid_rate=diff(self.geoid(1:end-1,:),1,2)./dt;
+					geoid_rate(end+1,:)=time(1:end-1);
+				end
+			end;
+			if md.solidearth.settings.horiz,
+				if ~isempty(self.displacementeast),
+					if size(self.displacementeast,2)==1
+						disp('External solidearthsolution warning: only one time step provided, assuming the values are rates per year');
+						displacementeast_rate=[self.displacementeast;0];
+						displacementnorth_rate=[self.displacementnorth;0];
+					else
+						time=self.displacementeast(end,:);
+						dt=diff(time,1,2);
+						displacementeast_rate=diff(self.displacementeast(1:end-1,:),1,2)./dt;
+						displacementeast_rate(end+1,:)=time(1:end-1);
+						displacementnorth_rate=diff(self.displacementnorth(1:end-1,:),1,2)./dt;
+						displacementnorth_rate(end+1,:)=time(1:end-1);
+					end
+				end
 			end
 
+				
 			WriteData(fid, prefix, 'name', 'md.solidearth.external.nature', 'data', 0, 'format', 'Integer');
-			WriteData(fid,prefix,'object',self,'fieldname','displacementeast','data',displacementeast_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementeast','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
 			WriteData(fid,prefix,'object',self,'fieldname','displacementup','data',displacementup_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementup','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
-			WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','data',displacementnorth_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementnorth','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
 			WriteData(fid,prefix,'object',self,'fieldname','geoid','data',geoid_rate,'format','DoubleMat','name', 'md.solidearth.external.geoid','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
+
+			if md.solidearth.settings.horiz,
+				WriteData(fid,prefix,'object',self,'fieldname','displacementeast','data',displacementeast_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementeast','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
+			
+				WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','data',displacementnorth_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementnorth','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',yts);
+			end
 			
 		end % }}}
