Index: /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 22839)
+++ /issm/trunk-jpl/src/c/modules/SurfaceMassBalancex/Gembx.cpp	(revision 22840)
@@ -24,6 +24,6 @@
 const double LS = 2.8295E6;             // latent heat of sublimation (J kg-1)
 const double SB = 5.67E-8;                // Stefan-Boltzmann constant (W m-2 K-4)
-const double CA = 1005.0;                    // heat capacity of air (J kg-1 k-1)
-const double R = 8.314;                      // gas constant (mol-1 K-1)
+const double CA = 1005.0;                    // heat capacity of air (J kg-1 K-1)
+const double R = 8.314;                      // gas constant (J mol-1 K-1)
 
 void Gembx(FemModel* femmodel){  /*{{{*/
@@ -1854,4 +1854,8 @@
 	IssmDouble c1=0.0;
 	IssmDouble H=0.0;
+	IssmDouble M0=0.0;
+	IssmDouble M1=0.0;
+	IssmDouble c0arth=0.0;
+	IssmDouble c1arth=0.0;
 
 	/*output: */
@@ -1885,11 +1889,12 @@
 		switch (denIdx){
 			case 1: // Herron and Langway (1980)
-				c0 = (11.0 * exp(-10160.0 / (T[i] * 8.314))) * C/1000.0;
-				c1 = (575.0 * exp(-21400.0 / (T[i]* 8.314))) * pow(C/1000.0,.5);
+				c0 = (11.0 * exp(-10160.0 / (T[i] * R))) * C/1000.0;
+				c1 = (575.0 * exp(-21400.0 / (T[i]* R))) * pow(C/1000.0,.5);
 				break;
+
 			case 2: // Arthern et al. (2010) [semi-emperical]
 				// common variable
 				// NOTE: Ec=60000, Eg=42400 (i.e. should be in J not kJ)
-				H = exp((-60000.0/(T[i] * 8.314)) + (42400.0/(Tmean * 8.314))) * (C * 9.81);
+				H = exp((-60000.0/(T[i] * R)) + (42400.0/(Tmean * R))) * (C * 9.81);
 				c0 = 0.07 * H;
 				c1 = 0.03 * H;
@@ -1899,5 +1904,5 @@
 
 				// common variable
-				H = exp((-60.0/(T[i] * 8.314))) * obp[i] / pow(re[i]/1000.0,2.0);
+				H = exp((-60000.0/(T[i] * R))) * obp[i] / pow(re[i]/1000.0,2.0);
 				c0 = 9.2e-9 * H;
 				c1 = 3.7e-9 * H;
@@ -1913,4 +1918,26 @@
 				c0 = (C/dIce) * (76.138 - 0.28965*Tmean)*8.36*pow(CtoK - T[i],-2.061);
 				c1 = c0;
+				break;
+
+			case 6: // Ligtenberg and others (2011) [semi-emperical], Antarctica 
+				// common variable
+				H = exp((-60000.0/(Tmean * R)) + (42400.0/(Tmean * R))) * (C * 9.81);
+				c0arth = 0.07 * H;
+				c1arth = 0.03 * H;
+				M0 = fmax(1.435 - (0.151 * log(C)),0.25);
+				M1 = fmax(2.366 - (0.293 * log(C)),0.25);
+				c0 = M0*c0arth;
+				c1 = M1*c1arth;
+				break;
+
+			case 7: // Kuipers Munneke and others (2015) [semi-emperical], Greenland
+				// common variable
+				H = exp((-60000.0/(T[i] * R)) + (42400.0/(T[i] * R))) * (C * 9.81);
+				c0arth = 0.07 * H;
+				c1arth = 0.03 * H;
+				M0 = fmax(1.042 - (0.0916 * log(C)),0.25);
+				M1 = fmax(1.734 - (0.2039 * log(C)),0.25);
+				c0 = M0*c0arth;
+				c1 = M1*c1arth;
 				break;
 		}
Index: /issm/trunk-jpl/src/m/classes/SMBgemb.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 22839)
+++ /issm/trunk-jpl/src/m/classes/SMBgemb.m	(revision 22840)
@@ -65,8 +65,10 @@
 		denIdx = NaN; %densification model to use (default is 2):
 					% 1 = emperical model of Herron and Langway (1980)
-					% 2 = semi-emerical model of Anthern et al. (2010)
+					% 2 = semi-emperical model of Anthern et al. (2010)
 					% 3 = DO NOT USE: physical model from Appendix B of Anthern et al. (2010)
 					% 4 = DO NOT USE: emperical model of Li and Zwally (2004)
 					% 5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)
+					% 6 = Antarctica semi-emperical model of Ligtenberg et al. (2011)
+					% 7 = Greenland semi-emperical model of Kuipers Munneke et al. (2015)
 
 		zTop  = NaN; % depth over which grid length is constant at the top of the snopack (default 10) [m]
@@ -217,5 +219,5 @@
 			md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4]);
 			md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'Inf',1,'values',[0,1]);
-			md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5]);
+			md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5,6,7]);
 
 			md = checkfield(md,'fieldname','smb.zTop','NaN',1,'Inf',1,'>=',0);
@@ -323,8 +325,10 @@
 			fielddisplay(self,'denIdx',{'densification model to use (default is 2):',...
 									'1 = emperical model of Herron and Langway (1980)',...
-									'2 = semi-emerical model of Anthern et al. (2010)',...
+									'2 = semi-emperical model of Anthern et al. (2010)',...
 									'3 = DO NOT USE: physical model from Appendix B of Anthern et al. (2010)',...
 									'4 = DO NOT USE: emperical model of Li and Zwally (2004)',...
-									'5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)'});
+									'5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)',...
+									'6 = Antarctica semi-emperical model of Ligtenberg et al. (2011)',...
+									'7 = Greenland semi-emperical model of Kuipers Munneke et al. (2015)'});
 			fielddisplay(self,'requested_outputs','additional outputs requested');
 									
Index: /issm/trunk-jpl/src/m/classes/SMBgemb.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/SMBgemb.py	(revision 22839)
+++ /issm/trunk-jpl/src/m/classes/SMBgemb.py	(revision 22840)
@@ -72,8 +72,10 @@
 		denIdx = float('NaN')	#densification model to use (default is 2):
 					# 1 = emperical model of Herron and Langway (1980)
-					# 2 = semi-emerical model of Anthern et al. (2010)
+					# 2 = semi-emperical model of Anthern et al. (2010)
 					# 3 = DO NOT USE: physical model from Appix B of Anthern et al. (2010)
 					# 4 = DO NOT USE: emperical model of Li and Zwally (2004)
 					# 5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)
+                                        # 6 = Antarctica semi-emperical model of Ligtenberg et al. (2011)
+                                        # 7 = Greenland semi-emperical model of Kuipers Munneke et al. (2015)
 
 		zTop  = float('NaN')	# depth over which grid length is constant at the top of the snopack (default 10) [m]
@@ -188,8 +190,10 @@
 		string = "%s\n%s"%(string,fielddisplay(self,'denIdx',['densification model to use (default is 2):',
 						'1 = emperical model of Herron and Langway (1980)',
-						'2 = semi-emerical model of Anthern et al. (2010)',
+						'2 = semi-emperical model of Anthern et al. (2010)',
 						'3 = DO NOT USE: physical model from Appix B of Anthern et al. (2010)',
 						'4 = DO NOT USE: emperical model of Li and Zwally (2004)',
-						'5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)']))
+                                                '5 = DO NOT USE: modified emperical model (4) by Helsen et al. (2008)',
+                                                '6 = Antarctica semi-emperical model of Ligtenberg et al. (2011)',
+                                                '7 = Greenland semi-emperical model of Kuipers Munneke et al. (2015)']))
 		string = "%s\n%s"%(string,fielddisplay(self,'requested_outputs','additional outputs requested'))
 		return string
@@ -294,5 +298,5 @@
 		md = checkfield(md,'fieldname','smb.aIdx','NaN',1,'Inf',1,'values',[0,1,2,3,4])
 		md = checkfield(md,'fieldname','smb.swIdx','NaN',1,'Inf',1,'values',[0,1])
-		md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5])
+		md = checkfield(md,'fieldname','smb.denIdx','NaN',1,'Inf',1,'values',[1,2,3,4,5,6,7])
 
 		md = checkfield(md,'fieldname','smb.zTop','NaN',1,'Inf',1,'> = ',0)
Index: /issm/trunk-jpl/src/m/classes/qmu.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu.m	(revision 22839)
+++ /issm/trunk-jpl/src/m/classes/qmu.m	(revision 22840)
@@ -76,9 +76,4 @@
 			end
 
-			if ~strcmpi(md.cluster.name,'none'),
-				if md.settings.waitonlock==0,
-					md = checkmessage(md,['waitonlock should be activated when running qmu in parallel mode!']);
-				end
-			end
 		end % }}}
 		function disp(self) % {{{
Index: /issm/trunk-jpl/src/m/classes/qmu.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/qmu.py	(revision 22839)
+++ /issm/trunk-jpl/src/m/classes/qmu.py	(revision 22840)
@@ -127,8 +127,4 @@
 				md.checkmessage("for qmu analysis, partitioning vector cannot go over npart, number of partition areas")
 
-		if md.cluster.name!='none':
-			if not md.settings.waitonlock:
-				md.checkmessage("waitonlock should be activated when running qmu in parallel mode!")
-
 		return md
 	# }}}
