Index: sm/trunk-jpl/src/m/classes/flaim.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/flaim.js	(revision 21096)
+++ 	(revision )
@@ -1,68 +1,0 @@
-//FLAIM class definition
-//
-//   Usage:
-//      flaim=new flaim();
-
-function flaim (){
-	//methods
-	this.setdefaultparameters = function(){// {{{
-	}// }}}
-	this.disp= function(){// {{{
-
-		console.log(sprintf('   FLAIM - Flight Line Adaptation using Ice sheet Modeling:')); 
-
-		console.log(sprintf('\n      Input:'));
-		fielddisplay(this,'targets'            ,'name of kml output targets file ');
-		fielddisplay(this,'tracks'             ,'name of kml input tracks file ');
-		fielddisplay(this,'flightreqs'         ,'structure of kml flight requirements (not used yet)');
-		fielddisplay(this,'criterion'          ,'element or nodal criterion for flight path evaluation (metric)');
-
-		console.log(sprintf('\n      Arguments:'));
-		fielddisplay(this,'gridsatequator'     ,'number of grids at equator (determines resolution)');
-		fielddisplay(this,'usevalueordering'   ,'flag to consider target values for flight path evaluation');
-		fielddisplay(this,'split_antimeridian' ,'flag to split polygons on the antimeridian');
-
-		console.log(sprintf('\n      Optimization:'));
-		fielddisplay(this,'path_optimize'     ,'optimize? (default false)');
-		fielddisplay(this,'opt_ndir'     ,['number of directions to test when moving a point.  If this value = 1, a random direction is tested.', 'A value > 1 results in directions equally spaced from [0, 2*PI] being tested.', 'For example, 4 would result in directions [0, PI/2, PI, 3PI/2].']);
-		fielddisplay(this,'opt_dist'     ,'specifies the distance in km (default 25) to move a randomly selected path point on each iteration');
-		fielddisplay(this,'opt_niter'     ,['number of iterations (default 30,000) to run for flightplan optimization', 'i.e. the number of times to randomly select a point and move it.']);
-
-		console.log(sprintf('\n      Output:'));
-		fielddisplay(this,'solution'           ,'name of kml solution file');
-		fielddisplay(this,'quality'            ,'quality of kml solution');
-
-	}// }}}
-	this.checkconsistency = function(md,solution,analyses) { // {{{
-
-		//Early return
-		if (solution!='FlaimSolution') return;
-
-		checkfield(md,'fieldname','flaim.tracks','file',1);
-		if (isNaN(md.flaim.criterion) | md.flaim.criterion.length==0){
-			checkfield(md,'fieldname','flaim.targets','file',1);
-		}
-		else{
-			checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices, md.mesh.numberofelements]);
-		}
-	} //}}}
-	//properties 
-	// {{{
-
-	this.targets            = '';
-	this.tracks             = '';
-	this.flightreqs         = {};
-	this.criterion          = NaN;
-	this.gridsatequator     = 200000;
-	this.usevalueordering   = true;
-	this.split_antimeridian = true;
-	this.solution           = '';
-	this.quality            = 0;
-	this.path_optimize      = false;
-	this.opt_ndir           = 1;
-	this.opt_dist           = 25;
-	this.opt_niter          = 30000;
-
-	this.setdefaultparameters();
-	//}}}
-}
Index: sm/trunk-jpl/src/m/classes/flaim.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/flaim.m	(revision 21096)
+++ 	(revision )
@@ -1,84 +1,0 @@
-%FLAIM class definition
-%
-%   Usage:
-%      flaim=flaim();
-
-classdef flaim
-	properties (SetAccess=public) 
-		targets            = ''
-		tracks             = ''
-		flightreqs         = struct()
-		criterion          = NaN
-		gridsatequator     = 200000
-		usevalueordering   = true
-		split_antimeridian = true
-		solution           = ''
-		quality            = 0
-		path_optimize      = false
-		opt_ndir           = 1
-		opt_dist           = 25
-		opt_niter          = 30000
-	end
-	methods
-		function self = flaim(varargin) % {{{
-			switch nargin
-				case 0
-					self=setdefaultparameters(self);
-				otherwise
-					error('constructor not supported');
-			end
-		end % }}}
-		function self = setdefaultparameters(self) % {{{
-
-		end % }}}
-		function md = checkconsistency(self,md,solution,analyses) % {{{
-
-			%Early return
-			if ~strcmp(solution,'FlaimSolution'), return; end
-
-			md = checkfield(md,'fieldname','flaim.tracks','file',1);
-			if any(isnan(md.flaim.criterion)) || isempty(md.flaim.criterion)
-				md = checkfield(md,'fieldname','flaim.targets','file',1);
-			else
-				md = checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices md.mesh.numberofelements]);
-			end
-
-		end % }}}
-		function disp(self) % {{{
-
-			disp(sprintf('   FLAIM - Flight Line Adaptation using Ice sheet Modeling:')); 
-
-			disp(sprintf('\n      Input:'));
-			fielddisplay(self,'targets'            ,'name of kml output targets file ');
-			fielddisplay(self,'tracks'             ,'name of kml input tracks file ');
-			fielddisplay(self,'flightreqs'         ,'structure of kml flight requirements (not used yet)');
-			fielddisplay(self,'criterion'          ,'element or nodal criterion for flight path evaluation (metric)');
-
-			disp(sprintf('\n      Arguments:'));
-			fielddisplay(self,'gridsatequator'     ,'number of grids at equator (determines resolution)');
-			fielddisplay(self,'usevalueordering'   ,'flag to consider target values for flight path evaluation');
-			fielddisplay(self,'split_antimeridian' ,'flag to split polygons on the antimeridian');
-
-			disp(sprintf('\n      Optimization:'));
-			fielddisplay(self,'path_optimize'     ,'optimize? (default false)');
-			fielddisplay(self,'opt_ndir'     ,{'number of directions to test when moving a point.  If this value = 1, a random direction is tested.',...
-											  'A value > 1 results in directions equally spaced from [0, 2*PI] being tested.',...
-											  'For example, 4 would result in directions [0, PI/2, PI, 3PI/2].'});
-			fielddisplay(self,'opt_dist'     ,'specifies the distance in km (default 25) to move a randomly selected path point on each iteration');
-			fielddisplay(self,'opt_niter'     ,{'number of iterations (default 30,000) to run for flightplan optimization',...
-											   'i.e. the number of times to randomly select a point and move it.'});
-
-			disp(sprintf('\n      Output:'));
-			fielddisplay(self,'solution'           ,'name of kml solution file');
-			fielddisplay(self,'quality'            ,'quality of kml solution');
-		end % }}}
-		function savemodeljs(self,fid,modelname) % {{{
-		
-			%do nothing for now!
-			if ~isempty(self.targets),
-				error('flaim savemodeljs error message: not supported yet!');
-			end
-
-		end % }}}
-	end
-end
Index: sm/trunk-jpl/src/m/classes/flaim.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/flaim.py	(revision 21096)
+++ 	(revision )
@@ -1,71 +1,0 @@
-import numpy
-from collections import OrderedDict
-from fielddisplay import fielddisplay
-from checkfield import checkfield
-from WriteData import WriteData
-
-class flaim(object):
-	"""
-	FLAIM class definition
-
-	   Usage:
-	      flaim=flaim();
-	"""
-
-	def __init__(self): # {{{
-		self.targets            = ''
-		self.tracks             = ''
-		self.flightreqs         = OrderedDict()
-		self.criterion          = float('NaN')
-		self.gridsatequator     = 200000
-		self.usevalueordering   = True
-		self.split_antimeridian = True
-		self.solution           = ''
-		self.quality            = 0
-		self.path_optimize      = False
-		self.opt_ndir           = 1
-		self.opt_dist           = 25
-		self.opt_niter          = 30000
-		#}}}
-	def __repr__(self): # {{{
-		string='   FLAIM - Flight Line Adaptation using Ice sheet Modeling:'
-
-		string="%s\n\n%s"%(string,'      Input:')
-		string="%s\n%s"%(string,fielddisplay(self,'targets'            ,'name of kml output targets file '))
-		string="%s\n%s"%(string,fielddisplay(self,'tracks'             ,'name of kml input tracks file '))
-		string="%s\n%s"%(string,fielddisplay(self,'flightreqs'         ,'structure of kml flight requirements (not used yet)'))
-		string="%s\n%s"%(string,fielddisplay(self,'criterion'          ,'element or nodal criterion for flight path evaluation (metric)'))
-
-		string="%s\n\n%s"%(string,'      Arguments:')
-		string="%s\n%s"%(string,fielddisplay(self,'gridsatequator'     ,'number of grids at equator (determines resolution)'))
-		string="%s\n%s"%(string,fielddisplay(self,'usevalueordering'   ,'flag to consider target values for flight path evaluation'))
-		string="%s\n%s"%(string,fielddisplay(self,'split_antimeridian' ,'flag to split polygons on the antimeridian'))
-		
-		string="%s\n\n%s"%(string,'      Optimization:')
-		string="%s\n%s"%(string,fielddisplay(self,'path_optimize'     ,'optimize? (default false)'))
-		string="%s\n%s"%(string,fielddisplay(self,'opt_ndir'     ,['number of directions to test when moving a point.  If this value = 1, a random direction is tested.',\
-										  'A value > 1 results in directions equally spaced from [0, 2*PI] being tested.',\
-										  'For example, 4 would result in directions [0, PI/2, PI, 3PI/2].']))
-		string="%s\n%s"%(string,fielddisplay(self,'opt_dist'     ,'specifies the distance in km (default 25) to move a randomly selected path point on each iteration'))
-		string="%s\n%s"%(string,fielddisplay(self,'opt_niter'     ,['number of iterations (default 30,000) to run for flightplan optimization',\
-										   'i.e. the number of times to randomly select a point and move it.']))
-
-		string="%s\n\n%s"%(string,'      Output:')
-		string="%s\n%s"%(string,fielddisplay(self,'solution'           ,'name of kml solution file'))
-		string="%s\n%s"%(string,fielddisplay(self,'quality'            ,'quality of kml solution'))
-		return string
-		#}}}
-	def checkconsistency(self,md,solution,analyses):    # {{{
-
-		#Early return
-		if not solution=='FlaimSolution':
-			return md
-
-		md = checkfield(md,'fieldname','flaim.tracks','file',1)
-		if numpy.any(numpy.isnan(md.flaim.criterion)) or not md.flaim.criterion:
-			md = checkfield(md,'fieldname','flaim.targets','file',1)
-		else:
-			md = checkfield(md,'fieldname','flaim.criterion','numel',[md.mesh.numberofvertices,md.mesh.numberofelements])
-
-		return md
-	# }}}
Index: /issm/trunk-jpl/src/m/classes/model.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.js	(revision 21096)
+++ /issm/trunk-jpl/src/m/classes/model.js	(revision 21097)
@@ -39,5 +39,4 @@
 			console.log(sprintf("//19s: //-22s -- //s","gia"             ,"[1x1 " + typeof(this.gia) + "]","parameters for gia solution"));
 			console.log(sprintf("//19s: //-22s -- //s","autodiff"        ,"[1x1 " + typeof(this.autodiff) + "]","automatic differentiation parameters"));
-			console.log(sprintf("//19s: //-22s -- //s","flaim"           ,"[1x1 " + typeof(this.flaim) + "]","flaim parameters"));
 			console.log(sprintf("//19s: //-22s -- //s","inversion"       ,"[1x1 " + typeof(this.inversion) + "]","parameters for inverse methods"));
 			console.log(sprintf("//19s: //-22s -- //s","qmu"             ,"[1x1 " + typeof(this.qmu) + "]","dakota properties"));
@@ -81,5 +80,4 @@
 			this.gia              = new gia();
 			this.autodiff         = new autodiff();
-			this.flaim            = new flaim();
 			this.inversion        = new inversion();
 			this.qmu              = new qmu();
@@ -99,5 +97,5 @@
 
 				//Some properties do not need to be fixed
-				if (field == 'results' | field =='radaroverlay' | field == 'toolkits' | field =='cluster' | field == 'flaim' | field == 'priv') continue;
+				if (field == 'results' | field =='radaroverlay' | field == 'toolkits' | field =='cluster' | field == 'priv') continue;
 
 				//Check that current field is a class
@@ -612,5 +610,4 @@
 
 		this.autodiff         = 0;
-		this.flaim            = 0;
 		this.inversion        = 0;
 		this.qmu              = 0;
Index: /issm/trunk-jpl/src/m/classes/model.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.m	(revision 21096)
+++ /issm/trunk-jpl/src/m/classes/model.m	(revision 21097)
@@ -43,5 +43,4 @@
 
 		autodiff         = 0;
-		flaim            = 0;
 		inversion        = 0;
 		qmu              = 0;
@@ -923,5 +922,4 @@
 			if isfield(structmd,'x'), md.mesh.x=structmd.x; end
 			if isfield(structmd,'z'), md.mesh.z=structmd.z; end
-			if isfield(structmd,'mask'), md.flaim.criterion=structmd.mask; end
 			if isfield(structmd,'diagnostic_ref'), md.stressbalance.referential=structmd.diagnostic_ref; end
 			if isfield(structmd,'npart'); md.qmu.numberofpartitions=structmd.npart; end
@@ -1093,5 +1091,4 @@
 			md.gia              = gia();
 			md.autodiff         = autodiff();
-			md.flaim            = flaim();
 			md.inversion        = inversion();
 			md.qmu              = qmu();
@@ -1265,5 +1262,4 @@
 			disp(sprintf('%19s: %-22s -- %s','gia'             ,['[1x1 ' class(self.gia) ']'],'parameters for gia solution'));
 			disp(sprintf('%19s: %-22s -- %s','autodiff'        ,['[1x1 ' class(self.autodiff) ']'],'automatic differentiation parameters'));
-			disp(sprintf('%19s: %-22s -- %s','flaim'           ,['[1x1 ' class(self.flaim) ']'],'flaim parameters'));
 			disp(sprintf('%19s: %-22s -- %s','inversion'       ,['[1x1 ' class(self.inversion) ']'],'parameters for inverse methods'));
 			disp(sprintf('%19s: %-22s -- %s','qmu'             ,['[1x1 ' class(self.qmu) ']'],'dakota properties'));
Index: /issm/trunk-jpl/src/m/classes/model.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/model.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/classes/model.py	(revision 21097)
@@ -47,5 +47,4 @@
 from gia import gia
 from autodiff import autodiff
-from flaim import flaim
 from inversion import inversion
 from outputdefinition import outputdefinition
@@ -111,5 +110,4 @@
 
 		self.autodiff         = autodiff()
-		self.flaim            = flaim()
 		self.inversion        = inversion()
 		self.qmu              = qmu()
@@ -154,5 +152,4 @@
 						'gia',\
 		        'autodiff',\
-		        'flaim',\
 		        'inversion',\
 		        'qmu',\
@@ -195,5 +192,4 @@
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("calving","[%s,%s]" % ("1x1",obj.calving.__class__.__name__),"parameters for calving"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("autodiff","[%s,%s]" % ("1x1",obj.autodiff.__class__.__name__),"automatic differentiation parameters"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("flaim","[%s,%s]" % ("1x1",obj.flaim.__class__.__name__),"flaim parameters"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("inversion","[%s,%s]" % ("1x1",obj.inversion.__class__.__name__),"parameters for inverse methods"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("qmu","[%s,%s]" % ("1x1",obj.qmu.__class__.__name__),"dakota properties"))
Index: /issm/trunk-jpl/src/m/classes/oldclasses/flaim.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/oldclasses/flaim.m	(revision 21097)
+++ /issm/trunk-jpl/src/m/classes/oldclasses/flaim.m	(revision 21097)
@@ -0,0 +1,22 @@
+%FLAIM class definition
+%
+%   Usage:
+%      flaim=flaim();
+
+classdef flaim
+	properties (SetAccess=public) 
+		targets            = ''
+		tracks             = ''
+		flightreqs         = struct()
+		criterion          = NaN
+		gridsatequator     = 200000
+		usevalueordering   = true
+		split_antimeridian = true
+		solution           = ''
+		quality            = 0
+		path_optimize      = false
+		opt_ndir           = 1
+		opt_dist           = 25
+		opt_niter          = 30000
+	end
+end
Index: /issm/trunk-jpl/src/m/classes/slr.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/slr.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/classes/slr.py	(revision 21097)
@@ -15,20 +15,20 @@
 	
 	def __init__(self): # {{{
-		self.deltathickness 	= NaN
-		self.sealevel			= NaN
-		self.maxiter			= 0
-		self.reltol       		= 0
-		self.abstol         		= 0
-		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 
-		self.rigid         		= 0
-		self.elastic         	= 0
-		self.rotation         	= 0
-		self.degacc         	= 0
-		self.requested_outputs 	= []
-		self.transitions    	= []
+		self.deltathickness    = NaN
+		self.sealevel          = NaN
+		self.maxiter           = 0
+		self.reltol            = 0
+		self.abstol            = 0
+		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
+		self.rigid             = 0
+		self.elastic           = 0
+		self.rotation          = 0
+		self.degacc            = 0
+		self.requested_outputs = []
+		self.transitions       = []
 		
 		#set defaults
Index: /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js
===================================================================
--- /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21096)
+++ /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.js	(revision 21097)
@@ -93,8 +93,4 @@
 			break;
 
-		}else if(solutiontype ==='FlaimSolution'){
-			analyses=['FlaimAnalysis'];
-			break;
-	
 		}else if(solutiontype ==='SealevelriseSolution'){
 			analyses=['SealevelriseAnalysis'];
Index: /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m
===================================================================
--- /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21096)
+++ /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.m	(revision 21097)
@@ -68,6 +68,4 @@
 	elseif strcmp(solutiontype,'TransientSolution')
 		analyses={'StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis','HydrologySommersAnalysis'};
-	elseif strcmp(solutiontype,'FlaimSolution')
-		analyses={'FlaimAnalysis'};
 	elseif strcmp(solutiontype,'SealevelriseSolution')
 		analyses={'SealevelriseAnalysis'};
Index: /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py
===================================================================
--- /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/consistency/ismodelselfconsistent.py	(revision 21097)
@@ -36,7 +36,4 @@
 	elif solutiontype == 'TransientSolution':
 		analyses=['StressbalanceAnalysis','StressbalanceVerticalAnalysis','StressbalanceSIAAnalysis','L2ProjectionBaseAnalysis','ThermalAnalysis','MeltingAnalysis','EnthalpyAnalysis','MasstransportAnalysis']
-
-	elif solutiontype == 'FlaimSolution':
-		analyses=['FlaimAnalysis']
 
 	elif solutiontype == 'HydrologySolution':
Index: /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py
===================================================================
--- /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/contrib/defleurian/netCDF/ClassTry.py	(revision 21097)
@@ -72,5 +72,4 @@
 						'gia':'gia',\
 		        'autodiff':'autodiff',\
-		        'flaim':'flaim',\
 		        'inversion':'inversion',\
 		        'qmu':'qmu',\
@@ -112,5 +111,4 @@
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("calving","[%s,%s]" % ("1x1",obj.calving.__class__.__name__),"parameters for calving"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("autodiff","[%s,%s]" % ("1x1",obj.autodiff.__class__.__name__),"automatic differentiation parameters"))
-		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("flaim","[%s,%s]" % ("1x1",obj.flaim.__class__.__name__),"flaim parameters"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("inversion","[%s,%s]" % ("1x1",obj.inversion.__class__.__name__),"parameters for inverse methods"))
 		string="%s\n%s" % (string,"%19s: %-22s -- %s" % ("qmu","[%s,%s]" % ("1x1",obj.qmu.__class__.__name__),"dakota properties"))
Index: sm/trunk-jpl/src/m/os/flaimdir.m
===================================================================
--- /issm/trunk-jpl/src/m/os/flaimdir.m	(revision 21096)
+++ 	(revision )
@@ -1,7 +1,0 @@
-function FLAIM_DIR=flaimdir()
-%ISSMDIR - Get FLAIM installation directory
-%
-%   Usage:
-%      FLAIM_DIR=flaimdir()
-
-FLAIM_DIR=[issmdir() '/externalpackages/flaim/install'];
Index: /issm/trunk-jpl/src/m/solve/marshall.js
===================================================================
--- /issm/trunk-jpl/src/m/solve/marshall.js	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/marshall.js	(revision 21097)
@@ -19,5 +19,5 @@
 
 		//Some properties do not need to be marshalled
-		if (field == 'results' | field =='radaroverlay' | field == 'toolkits' | field =='cluster' | field == 'flaim' | field == 'priv') continue;
+		if (field == 'results' | field =='radaroverlay' | field == 'toolkits' | field =='cluster' | field == 'priv') continue;
 		
 		//Check that current field is a class
Index: /issm/trunk-jpl/src/m/solve/marshall.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/marshall.m	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/marshall.m	(revision 21097)
@@ -24,5 +24,5 @@
 
 	%Some properties do not need to be marshalled
-	if ismember(field,{'results' 'radaroverlay' 'toolkits' 'cluster'  'flaim' 'private'}),
+	if ismember(field,{'results' 'radaroverlay' 'toolkits' 'cluster' 'private'}),
 		continue;
 	end
Index: /issm/trunk-jpl/src/m/solve/marshall.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/marshall.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/marshall.py	(revision 21097)
@@ -27,5 +27,5 @@
 
 		#Some properties do not need to be marshalled
-		if field in ['results','radaroverlay','toolkits','cluster','flaim','private']:
+		if field in ['results','radaroverlay','toolkits','cluster','private']:
 			continue
 
Index: /issm/trunk-jpl/src/m/solve/solve.js
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.js	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/solve.js	(revision 21097)
@@ -81,15 +81,5 @@
 			console.log('checking model consistency');
 		}
-		if (solutionstring === 'FlaimSolution'){
-			md.priv.isconsistent=true;
-			md.mesh.checkconsistency(md,solutionstring);
-			md.flaim.checkconsistency(md,solutionstring);
-			if (md.priv.isconsistent==false){
-				throw error('solve error message: model not consistent, see messages above');
-			}
-		}
-		else{
-			ismodelselfconsistent(md);
-		}
+		ismodelselfconsistent(md);
 	}
 
Index: /issm/trunk-jpl/src/m/solve/solve.m
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.m	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/solve.m	(revision 21097)
@@ -78,14 +78,5 @@
 		disp('checking model consistency');
 	end
-	if (strcmp(solutionstring,'FlaimSolution'))
-		md.private.isconsistent=true;
-		md=checkconsistency(md.mesh,md,solutionstring);
-		md=checkconsistency(md.flaim,md,solutionstring);
-		if md.private.isconsistent==false,
-			error('Model not consistent, see messages above');
-		end
-	else
-		ismodelselfconsistent(md),
-	end
+	ismodelselfconsistent(md),
 end
 
@@ -110,16 +101,4 @@
 if md.qmu.isdakota,
 	md=preqmu(md,options);
-end
-
-%flaim analysis (To be removed?)
-if (strcmp(solutionstring,'FlaimSolution'))
-	%fmdir     = getfieldvalue(options,'fmdir',['fm' num2str(feature('GetPid'))]);
-	%overwrite = getfieldvalue(options,'overwrite','n');
-	%keep      = getfieldvalue(options,'keep','y');
-	%latsgn    = getfieldvalue(options,'latsgn',0);
-	%cmap      = getfieldvalue(options,'cmap',[]);
-	md=flaim_sol(md,options);
-	md.private.solution=solutionstring;
-	return;
 end
 
Index: /issm/trunk-jpl/src/m/solve/solve.py
===================================================================
--- /issm/trunk-jpl/src/m/solve/solve.py	(revision 21096)
+++ /issm/trunk-jpl/src/m/solve/solve.py	(revision 21097)
@@ -84,12 +84,5 @@
 	if m.strcmpi(options.getfieldvalue('checkconsistency','yes'),'yes'):
 		print "checking model consistency"
-		if solutionstring.lower() == 'flaimsolution':
-			md.private.isconsistent=True
-			md.mesh.checkconsistency(md,solutionstring)
-			md.flaim.checkconsistency(md,solutionstring)
-			if not md.private.isconsistent:
-				raise RuntimeError("Model not consistent, see messages above.")
-		else:
-			ismodelselfconsistent(md)
+		ismodelselfconsistent(md)
 
 	#First, build a runtime name that is unique
@@ -111,11 +104,4 @@
 	if md.qmu.isdakota:
 		md=preqmu(md,options)
-
-	#flaim analysis
-	if solutionstring.lower() == 'flaimSolution':
-		solutionstring='FlaimSolution'
-		md=flaim_sol(md,options)
-		md.private.solution=solutionstring
-		return md
 
 	#Do we load results only?
