Index: /issm/trunk-jpl/src/m/classes/slr.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.js	(revision 20999)
+++ /issm/trunk-jpl/src/m/classes/slr.js	(revision 21000)
@@ -43,4 +43,5 @@
 			md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
@@ -52,5 +53,5 @@
 			
 			//check that love numbers are provided at the same level of accuracy: 
-			if (this.love_h.length != this.love_k.length){
+			if (this.love_h.length != this.love_k.length || this.love_h.length != this.love_l.length){
 				throw Error('slr error message: love numbers should be provided at the same level of accuracy');
 			}
@@ -72,6 +73,7 @@
 		fielddisplay(this,'abstol','sea level rise absolute convergence criterion, NaN: not applied');
 		fielddisplay(this,'maxiter','maximum number of nonlinear iterations');
-		fielddisplay(this,'love_h','love load number for radial displacement');
-		fielddisplay(this,'love_k','love load number for gravitational potential perturbation');
+		fielddisplay(this,'love_h','load Love number for radial displacement');
+		fielddisplay(this,'love_k','load Love number for gravitational potential perturbation');
+		fielddisplay(this,'love_l','load Love number for horizontal displacements'); 
 		fielddisplay(this,'tide_love_h','tidal love number (degree 2)');
 		fielddisplay(this,'tide_love_k','tidal love number (degree 2)');
@@ -92,4 +94,5 @@
 			WriteData(fid,prefix,'object',this,'fieldname','love_h','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',this,'fieldname','love_k','format','DoubleMat','mattype',1);
+			WriteData(fid,prefix,'object',this,'fieldname','love_l','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',this,'fieldname','tide_love_h','format','Double');
 			WriteData(fid,prefix,'object',this,'fieldname','tide_love_k','format','Double');
@@ -119,4 +122,5 @@
 			this.love_h=NullFix(this.love_h,NaN);
 			this.love_k=NullFix(this.love_k,NaN);
+			this.love_l=NullFix(this.love_l,NaN);
 			this.tide_love_h=NullFix(this.tide_love_h,NaN);
 			this.tide_love_k=NullFix(this.tide_love_k,NaN);
@@ -135,4 +139,5 @@
 	this.love_h         = 0; //provided by PREM model
 	this.love_k         = 0; //idam
+	this.love_l         = 0; //idam
 	this.tide_love_h    = 0; 
 	this.tide_love_k    = 0; 
Index: /issm/trunk-jpl/src/m/classes/slr.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.m	(revision 20999)
+++ /issm/trunk-jpl/src/m/classes/slr.m	(revision 21000)
@@ -13,4 +13,5 @@
 		love_h         = 0; %provided by PREM model
 		love_k         = 0; %ideam
+		love_l         = 0; %ideam
 		tide_love_k    = 0; %ideam
 		tide_love_h    = 0; %ideam
@@ -66,7 +67,7 @@
 			md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
+			md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1);
-			md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1);
 			md = checkfield(md,'fieldname','slr.reltol','size',[1 1]);
 			md = checkfield(md,'fieldname','slr.abstol','size',[1 1]);
@@ -76,5 +77,5 @@
 
 			%check that love numbers are provided at the same level of accuracy: 
-			if (size(self.love_h,1) ~= size(self.love_k,1)),
+			if (size(self.love_h,1)~=size(self.love_k,1) | size(self.love_h,1)~=size(self.love_l,1)),
 				error('slr error message: love numbers should be provided at the same level of accuracy');
 			end
@@ -100,8 +101,9 @@
 			fielddisplay(self,'abstol','sea level rise absolute convergence criterion, NaN: not applied');
 			fielddisplay(self,'maxiter','maximum number of nonlinear iterations');
-			fielddisplay(self,'love_h','love load number for radial displacement');
-			fielddisplay(self,'love_k','love load number for gravitational potential perturbation');
-			fielddisplay(self,'tide_love_k','tidal love number (deg 2)');
-			fielddisplay(self,'tide_love_h','tidal love number (deg 2)');
+			fielddisplay(self,'love_h','load Love number for radial displacement');
+			fielddisplay(self,'love_k','load Love number for gravitational potential perturbation');
+			fielddisplay(self,'love_l','load Love number for horizontal displacements');
+			fielddisplay(self,'tide_love_k','tidal load Love number (deg 2)');
+			fielddisplay(self,'tide_love_h','tidal load Love number (deg 2)');
 			fielddisplay(self,'rotation','earth rotational potential perturbation');
 			fielddisplay(self,'rigid','rigid earth graviational potential perturbation');
@@ -120,4 +122,5 @@
 			WriteData(fid,prefix,'object',self,'fieldname','love_h','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'fieldname','love_k','format','DoubleMat','mattype',1);
+			WriteData(fid,prefix,'object',self,'fieldname','love_l','format','DoubleMat','mattype',1);
 			WriteData(fid,prefix,'object',self,'fieldname','tide_love_h','format','Double');
 			WriteData(fid,prefix,'object',self,'fieldname','tide_love_k','format','Double');
@@ -147,4 +150,5 @@
 			writejs1Darray(fid,[modelname '.slr.love_h'],self.love_h);
 			writejs1Darray(fid,[modelname '.slr.love_k'],self.love_k);
+			writejs1Darray(fid,[modelname '.slr.love_l'],self.love_l);
 			writejsdouble(fid,[modelname '.slr.tide_love_k'],self.tide_love_k);
 			writejsdouble(fid,[modelname '.slr.tide_love_h'],self.tide_love_h);
Index: /issm/trunk-jpl/src/m/classes/slr.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.py	(revision 20999)
+++ /issm/trunk-jpl/src/m/classes/slr.py	(revision 21000)
@@ -23,4 +23,5 @@
 		self.love_h         	= 0 #provided by PREM model()
 		self.love_k         	= 0 #ideam
+		self.love_l         	= 0 #ideam
 		self.tide_love_h        = 0 
 		self.tide_love_k        = 0 
@@ -41,8 +42,9 @@
 			string="%s\n%s"%(string,fielddisplay(self,'abstol','sea level rise absolute convergence criterion, NaN: not applied'))
 			string="%s\n%s"%(string,fielddisplay(self,'maxiter','maximum number of nonlinear iterations'))
-			string="%s\n%s"%(string,fielddisplay(self,'love_h','love load number for radial displacement'))
-			string="%s\n%s"%(string,fielddisplay(self,'love_k','love load number for gravitational potential perturbation'))
-			string="%s\n%s"%(string,fielddisplay(self,'tide_love_k','tidal love load number (degree 2)'))
-			string="%s\n%s"%(string,fielddisplay(self,'tide_love_h','tidal love load number (degree 2)'))
+			string="%s\n%s"%(string,fielddisplay(self,'love_h','load Love number for radial displacement'))
+			string="%s\n%s"%(string,fielddisplay(self,'love_k','load Love number for gravitational potential perturbation'))
+			string="%s\n%s"%(string,fielddisplay(self,'love_l','load Love number for horizontal displaements'))
+			string="%s\n%s"%(string,fielddisplay(self,'tide_love_k','tidal load Love number (degree 2)'))
+			string="%s\n%s"%(string,fielddisplay(self,'tide_love_h','tidal load Love number (degree 2)'))
 			string="%s\n%s"%(string,fielddisplay(self,'rigid','rigid earth graviational potential perturbation'))
 			string="%s\n%s"%(string,fielddisplay(self,'elastic','elastic earth graviational potential perturbation'))
@@ -95,4 +97,5 @@
 		md = checkfield(md,'fieldname','slr.love_h','NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','slr.love_k','NaN',1,'Inf',1)
+		md = checkfield(md,'fieldname','slr.love_l','NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','slr.tide_love_h','NaN',1,'Inf',1)
 		md = checkfield(md,'fieldname','slr.tide_love_k','NaN',1,'Inf',1)
@@ -104,7 +107,6 @@
 
 		#check that love numbers are provided at the same level of accuracy: 
-		if (size(self.love_h,0) != size(self.love_k,0)):
+		if (size(self.love_h,0) != size(self.love_k,0) | size(self.love_h,0) != size(self.love_l,0)):
 			error('slr error message: love numbers should be provided at the same level of accuracy')
-		
 		return md
 	# }}}
@@ -120,4 +122,5 @@
 		WriteData(fid,prefix,'object',self,'fieldname','love_h','format','DoubleMat','mattype',1)
 		WriteData(fid,prefix,'object',self,'fieldname','love_k','format','DoubleMat','mattype',1)
+		WriteData(fid,prefix,'object',self,'fieldname','love_l','format','DoubleMat','mattype',1)
 		WriteData(fid,prefix,'object',self,'fieldname','tide_love_h','format','Double');
 		WriteData(fid,prefix,'object',self,'fieldname','tide_love_k','format','Double');
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.js
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 20999)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.js	(revision 21000)
@@ -1002,21 +1002,27 @@
 function SealevelriseAnalysisEnum(){ return 998;}
 function SealevelEnum(){ return 999;}
-function SealevelEustaticEnum(){ return 1000;}
-function SealevelriseDeltathicknessEnum(){ return 1001;}
-function SealevelriseMaxiterEnum(){ return 1002;}
-function SealevelriseReltolEnum(){ return 1003;}
-function SealevelriseAbstolEnum(){ return 1004;}
-function SealevelriseLoveHEnum(){ return 1005;}
-function SealevelriseLoveKEnum(){ return 1006;}
-function SealevelriseTideLoveHEnum(){ return 1007;}
-function SealevelriseTideLoveKEnum(){ return 1008;}
-function SealevelriseRigidEnum(){ return 1009;}
-function SealevelriseElasticEnum(){ return 1010;}
-function SealevelriseRotationEnum(){ return 1011;}
-function SealevelriseGElasticEnum(){ return 1012;}
-function SealevelriseDegaccEnum(){ return 1013;}
-function SealevelriseTransitionsEnum(){ return 1014;}
-function SealevelriseRequestedOutputsEnum(){ return 1015;}
-function SealevelriseNumRequestedOutputsEnum(){ return 1016;}
-function ParametersENDEnum(){ return 1017;}
-function MaximumNumberOfDefinitionsEnum(){ return 1018;}
+function SealevelUmotionEnum(){ return 1000;}
+function SealevelNmotionEnum(){ return 1001;}
+function SealevelEmotionEnum(){ return 1002;}
+function SealevelAbsoluteEnum(){ return 1003;}
+function SealevelEustaticEnum(){ return 1004;}
+function SealevelriseDeltathicknessEnum(){ return 1005;}
+function SealevelriseMaxiterEnum(){ return 1006;}
+function SealevelriseReltolEnum(){ return 1007;}
+function SealevelriseAbstolEnum(){ return 1008;}
+function SealevelriseLoveHEnum(){ return 1009;}
+function SealevelriseLoveKEnum(){ return 1010;}
+function SealevelriseTideLoveHEnum(){ return 1011;}
+function SealevelriseTideLoveKEnum(){ return 1012;}
+function SealevelriseRigidEnum(){ return 1013;}
+function SealevelriseElasticEnum(){ return 1014;}
+function SealevelriseRotationEnum(){ return 1015;}
+function SealevelriseGElasticEnum(){ return 1016;}
+function SealevelriseUElasticEnum(){ return 1017;}
+function SealevelriseHElasticEnum(){ return 1018;}
+function SealevelriseDegaccEnum(){ return 1019;}
+function SealevelriseTransitionsEnum(){ return 1020;}
+function SealevelriseRequestedOutputsEnum(){ return 1021;}
+function SealevelriseNumRequestedOutputsEnum(){ return 1022;}
+function ParametersENDEnum(){ return 1023;}
+function MaximumNumberOfDefinitionsEnum(){ return 1024;}
Index: /issm/trunk-jpl/src/m/enum/EnumDefinitions.py
===================================================================
--- /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 20999)
+++ /issm/trunk-jpl/src/m/enum/EnumDefinitions.py	(revision 21000)
@@ -1009,4 +1009,8 @@
 def SealevelriseAnalysisEnum(): return StringToEnum("SealevelriseAnalysis")[0]
 def SealevelEnum(): return StringToEnum("Sealevel")[0]
+def SealevelUmotionEnum(): return StringToEnum("SealevelUmotion")[0]
+def SealevelNmotionEnum(): return StringToEnum("SealevelNmotion")[0]
+def SealevelEmotionEnum(): return StringToEnum("SealevelEmotion")[0]
+def SealevelAbsoluteEnum(): return StringToEnum("SealevelAbsolute")[0]
 def SealevelEustaticEnum(): return StringToEnum("SealevelEustatic")[0]
 def SealevelriseDeltathicknessEnum(): return StringToEnum("SealevelriseDeltathickness")[0]
@@ -1022,4 +1026,6 @@
 def SealevelriseRotationEnum(): return StringToEnum("SealevelriseRotation")[0]
 def SealevelriseGElasticEnum(): return StringToEnum("SealevelriseGElastic")[0]
+def SealevelriseUElasticEnum(): return StringToEnum("SealevelriseUElastic")[0]
+def SealevelriseHElasticEnum(): return StringToEnum("SealevelriseHElastic")[0]
 def SealevelriseDegaccEnum(): return StringToEnum("SealevelriseDegacc")[0]
 def SealevelriseTransitionsEnum(): return StringToEnum("SealevelriseTransitions")[0]
Index: /issm/trunk-jpl/src/m/enum/SealevelAbsoluteEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelAbsoluteEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelAbsoluteEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelAbsoluteEnum()
+%SEALEVELABSOLUTEENUM - Enum of SealevelAbsolute
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelAbsoluteEnum()
+
+macro=StringToEnum('SealevelAbsolute');
Index: /issm/trunk-jpl/src/m/enum/SealevelEmotionEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelEmotionEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelEmotionEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelEmotionEnum()
+%SEALEVELEMOTIONENUM - Enum of SealevelEmotion
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelEmotionEnum()
+
+macro=StringToEnum('SealevelEmotion');
Index: /issm/trunk-jpl/src/m/enum/SealevelNmotionEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelNmotionEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelNmotionEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelNmotionEnum()
+%SEALEVELNMOTIONENUM - Enum of SealevelNmotion
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelNmotionEnum()
+
+macro=StringToEnum('SealevelNmotion');
Index: /issm/trunk-jpl/src/m/enum/SealevelUmotionEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelUmotionEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelUmotionEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelUmotionEnum()
+%SEALEVELUMOTIONENUM - Enum of SealevelUmotion
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelUmotionEnum()
+
+macro=StringToEnum('SealevelUmotion');
Index: /issm/trunk-jpl/src/m/enum/SealevelriseHElasticEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelriseHElasticEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelriseHElasticEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelriseHElasticEnum()
+%SEALEVELRISEHELASTICENUM - Enum of SealevelriseHElastic
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelriseHElasticEnum()
+
+macro=StringToEnum('SealevelriseHElastic');
Index: /issm/trunk-jpl/src/m/enum/SealevelriseUElasticEnum.m
===================================================================
--- /issm/trunk-jpl/src/m/enum/SealevelriseUElasticEnum.m	(revision 21000)
+++ /issm/trunk-jpl/src/m/enum/SealevelriseUElasticEnum.m	(revision 21000)
@@ -0,0 +1,11 @@
+function macro=SealevelriseUElasticEnum()
+%SEALEVELRISEUELASTICENUM - Enum of SealevelriseUElastic
+%
+%   WARNING: DO NOT MODIFY THIS FILE
+%            this file has been automatically generated by src/c/shared/Enum/Synchronize.sh
+%            Please read src/c/shared/Enum/README for more information
+%
+%   Usage:
+%      macro=SealevelriseUElasticEnum()
+
+macro=StringToEnum('SealevelriseUElastic');
