Index: /issm/trunk-jpl/src/c/cores/transient_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 25636)
+++ /issm/trunk-jpl/src/c/cores/transient_core.cpp	(revision 25637)
@@ -26,5 +26,5 @@
 	bool       isoceancoupling,iscontrol,isautodiff,isslr;
 	int        timestepping;
-	int        output_frequency,recording_frequency;
+	int        output_frequency,checkpoint_frequency;
 	int        amr_frequency,amr_restart;
 	char     **requested_outputs = NULL;
@@ -35,6 +35,6 @@
 
 	/*first, figure out if there was a check point, if so, do a reset of the FemModel* femmodel structure. */
-	femmodel->parameters->FindParam(&recording_frequency,SettingsRecordingFrequencyEnum);
-	if(recording_frequency) femmodel->Restart();
+	femmodel->parameters->FindParam(&checkpoint_frequency,SettingsCheckpointFrequencyEnum);
+	if(checkpoint_frequency) femmodel->Restart();
 
 	/*then recover parameters common to all solutions*/
@@ -101,5 +101,5 @@
 		}
 
-		if(recording_frequency && (step%recording_frequency==0)){
+		if(checkpoint_frequency && (step%checkpoint_frequency==0)){
 			if(VerboseSolution()) _printf0_("   checkpointing model \n");
 			femmodel->CheckPoint();
@@ -270,5 +270,5 @@
 	bool       isoceancoupling,isslr;
 	int        step,timestepping;
-	int        recording_frequency;
+	int        checkpoint_frequency;
 
 	/*Get rank*/
@@ -282,5 +282,5 @@
 	femmodel->parameters->FindParam(&timestepping,TimesteppingTypeEnum);
 	femmodel->parameters->FindParam(&isslr,TransientIsslrEnum);
-	femmodel->parameters->FindParam(&recording_frequency,SettingsRecordingFrequencyEnum); _assert_(recording_frequency>0);
+	femmodel->parameters->FindParam(&checkpoint_frequency,SettingsCheckpointFrequencyEnum); _assert_(checkpoint_frequency>0);
 	if(isslr) sealevelrise_core_geometry(femmodel);
 
@@ -323,5 +323,5 @@
 
 		/*Store Model State at the beginning of the step*/
-		if(step%recording_frequency==0 || step==1){
+		if(step%checkpoint_frequency==0 || step==1){
 			if(VerboseSolution()) _printf0_("   checkpointing model (step: "<<step<<")\n");
 			femmodel->CheckPointAD(step);
@@ -421,5 +421,5 @@
 
 		/*Get New state*/
-		for(int ii=0;ii<recording_frequency;ii++){
+		for(int ii=0;ii<checkpoint_frequency;ii++){
 			int        thisstep = reverse_step+ii;
 			IssmDouble thistime = time_all[reverse_step+ii-1];
@@ -428,5 +428,5 @@
 			femmodel->parameters->SetParam(thisstep,StepEnum);
 			femmodel->parameters->SetParam(thisdt,TimesteppingTimeStepEnum);
-			_printf0_("step "<<thisstep<<" ("<<ii+1<<"/"<<recording_frequency<<") time [yr]: "\
+			_printf0_("step "<<thisstep<<" ("<<ii+1<<"/"<<checkpoint_frequency<<") time [yr]: "\
 						<<std::fixed<<std::setprecision(2)<<thistime/yts<< " (time step: " << thisdt/yts << ")\n");
 			transient_step(femmodel);
@@ -444,5 +444,5 @@
 			/*First and last segment need special treatment*/
 			if(thisstep==finalstep) break;
-			if(reverse_step==1 && ii==recording_frequency-2) break;
+			if(reverse_step==1 && ii==checkpoint_frequency-2) break;
 		}
 
Index: /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
===================================================================
--- /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 25636)
+++ /issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp	(revision 25637)
@@ -49,5 +49,5 @@
 	parameters->AddObject(iomodel->CopyConstantObject("md.settings.output_frequency",SettingsOutputFrequencyEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.settings.sb_coupling_frequency",SettingsSbCouplingFrequencyEnum));
-	parameters->AddObject(iomodel->CopyConstantObject("md.settings.recording_frequency",SettingsRecordingFrequencyEnum));
+	parameters->AddObject(iomodel->CopyConstantObject("md.settings.checkpoint_frequency",SettingsCheckpointFrequencyEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.constants.yts",ConstantsYtsEnum));
 	parameters->AddObject(iomodel->CopyConstantObject("md.debug.profiling",DebugProfilingEnum));
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 25636)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h	(revision 25637)
@@ -355,5 +355,5 @@
 	SettingsNumResultsOnNodesEnum,
 	SettingsOutputFrequencyEnum,
-	SettingsRecordingFrequencyEnum,
+	SettingsCheckpointFrequencyEnum,
 	SettingsResultsOnNodesEnum,
 	SettingsSbCouplingFrequencyEnum,
Index: /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 25636)
+++ /issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp	(revision 25637)
@@ -363,5 +363,5 @@
 		case SettingsNumResultsOnNodesEnum : return "SettingsNumResultsOnNodes";
 		case SettingsOutputFrequencyEnum : return "SettingsOutputFrequency";
-		case SettingsRecordingFrequencyEnum : return "SettingsRecordingFrequency";
+		case SettingsCheckpointFrequencyEnum : return "SettingsRecordingFrequency";
 		case SettingsResultsOnNodesEnum : return "SettingsResultsOnNodes";
 		case SettingsSbCouplingFrequencyEnum : return "SettingsSbCouplingFrequency";
Index: /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
===================================================================
--- /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 25636)
+++ /issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp	(revision 25637)
@@ -369,5 +369,5 @@
 	      else if (strcmp(name,"SettingsNumResultsOnNodes")==0) return SettingsNumResultsOnNodesEnum;
 	      else if (strcmp(name,"SettingsOutputFrequency")==0) return SettingsOutputFrequencyEnum;
-	      else if (strcmp(name,"SettingsRecordingFrequency")==0) return SettingsRecordingFrequencyEnum;
+	      else if (strcmp(name,"SettingsRecordingFrequency")==0) return SettingsCheckpointFrequencyEnum;
 	      else if (strcmp(name,"SettingsResultsOnNodes")==0) return SettingsResultsOnNodesEnum;
 	      else if (strcmp(name,"SettingsSbCouplingFrequency")==0) return SettingsSbCouplingFrequencyEnum;
Index: /issm/trunk-jpl/src/m/classes/issmsettings.js
===================================================================
--- /issm/trunk-jpl/src/m/classes/issmsettings.js	(revision 25636)
+++ /issm/trunk-jpl/src/m/classes/issmsettings.js	(revision 25637)
@@ -17,5 +17,5 @@
 
 		//checkpoints frequency, by default never: 
-		this.recording_frequency=0;
+		this.checkpoint_frequency=0;
 
 		//this option can be activated to load automatically the results
@@ -39,5 +39,5 @@
 		fielddisplay(this,'lowmem','is the memory limited ? (0 or 1)');
 		fielddisplay(this,'output_frequency','frequency at which results are saved in all solutions with multiple time_steps');
-		fielddisplay(this,'recording_frequency','frequency at which the runs are being recorded, allowing for a restart');
+		fielddisplay(this,'checkpoint_frequency','frequency at which the runs are being recorded, allowing for a restart');
 		fielddisplay(this,'waitonlock','maximum number of minutes to wait for batch results (NaN to deactivate)');
 		fielddisplay(this,'upload_server','server hostname where model should be uploaded');
@@ -60,5 +60,5 @@
 			checkfield(md,'fieldname','settings.lowmem','numel',[1],'values',[0, 1]);
 			checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1);
-			checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0);
+			checkfield(md,'fieldname','settings.checkpoint_frequency','numel',[1],'>=',0);
 			checkfield(md,'fieldname','settings.waitonlock','numel',[1]);
 			checkfield(md,'fieldname','settings.solver_residue_threshold','numel',[1],'>',0);
@@ -69,5 +69,5 @@
 			WriteData(fid,prefix,'object',this,'class','settings','fieldname','lowmem','format','Boolean');
 			WriteData(fid,prefix,'object',this,'class','settings','fieldname','output_frequency','format','Integer');
-			WriteData(fid,prefix,'object',this,'class','settings','fieldname','recording_frequency','format','Integer');
+			WriteData(fid,prefix,'object',this,'class','settings','fieldname','checkpoint_frequency','format','Integer');
 			WriteData(fid,prefix,'object',this,'class','settings','fieldname','solver_residue_threshold','format','Double');
 			if (this.waitonlock>0) WriteData(fid,prefix,'name','md.settings.waitonlock','data',true,'format','Boolean');
@@ -82,5 +82,5 @@
 	this.lowmem              = 0;
 	this.output_frequency    = 0;
-	this.recording_frequency   = 0;
+	this.checkpoint_frequency   = 0;
 	this.waitonlock          = 0;
 	this.upload_server       = '';
Index: /issm/trunk-jpl/src/m/classes/issmsettings.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/issmsettings.m	(revision 25636)
+++ /issm/trunk-jpl/src/m/classes/issmsettings.m	(revision 25637)
@@ -6,17 +6,32 @@
 classdef issmsettings
 	properties (SetAccess=public) 
-		results_on_nodes    = {};
-		io_gather           = 0;
-		lowmem              = 0;
-		output_frequency    = 0;
-		sb_coupling_frequency   = 0;
-		recording_frequency   = 0;
-		waitonlock          = 0;
-		upload_server       = '';
-		upload_path         = '';
-		upload_login        = '';
-		upload_port         = 0;
-		upload_filename     = '';
+		results_on_nodes         = {};
+		io_gather                = 0;
+		lowmem                   = 0;
+		output_frequency         = 0;
+		sb_coupling_frequency    = 0;
+		checkpoint_frequency     = 0;
+		waitonlock               = 0;
+		upload_server            = '';
+		upload_path              = '';
+		upload_login             = '';
+		upload_port              = 0;
+		upload_filename          = '';
 		solver_residue_threshold = 0;
+	end
+	methods (Static)
+		function self = loadobj(self) % {{{
+			% This function is directly called by matlab when a model object is
+			% loaded. Update old properties here
+
+			%2020 Oct 6
+			if isstruct(self)
+				objstruct = self;
+				self = structtoobj(issmsettings(),objstruct);
+				if isfield(objstruct,'recording_frequency')
+					self.checkpoint_frequency = self.recording_frequency;
+				end
+			end
+		end % }}}
 	end
 	methods
@@ -44,5 +59,5 @@
 			
 			%checkpoints frequency, by default never: 
-			self.recording_frequency=0;
+			self.checkpoint_frequency=0;
 
 			%this option can be activated to load automatically the results
@@ -66,5 +81,5 @@
 			md = checkfield(md,'fieldname','settings.output_frequency','numel',[1],'>=',1);
 			md = checkfield(md,'fieldname','settings.sb_coupling_frequency','numel',[1],'>=',1);
-			md = checkfield(md,'fieldname','settings.recording_frequency','numel',[1],'>=',0);
+			md = checkfield(md,'fieldname','settings.checkpoint_frequency','numel',[1],'>=',0);
 			md = checkfield(md,'fieldname','settings.waitonlock','numel',[1]);
 			md = checkfield(md,'fieldname','settings.solver_residue_threshold','numel',[1],'>',0);
@@ -79,5 +94,5 @@
 			fielddisplay(self,'output_frequency','frequency at which results are saved in all solutions with multiple time_steps');
 			fielddisplay(self,'sb_coupling_frequency','frequency at which StressBalance solver is coupled (default 1)');
-			fielddisplay(self,'recording_frequency','frequency at which the runs are being recorded, allowing for a restart');
+			fielddisplay(self,'checkpoint_frequency','frequency at which the runs are being recorded, allowing for a restart');
 			fielddisplay(self,'waitonlock','maximum number of minutes to wait for batch results (NaN to deactivate)');
 			fielddisplay(self,'upload_server','server hostname where model should be uploaded');
@@ -95,5 +110,5 @@
 			WriteData(fid,prefix,'object',self,'class','settings','fieldname','output_frequency','format','Integer');
 			WriteData(fid,prefix,'object',self,'class','settings','fieldname','sb_coupling_frequency','format','Integer');
-			WriteData(fid,prefix,'object',self,'class','settings','fieldname','recording_frequency','format','Integer');
+			WriteData(fid,prefix,'object',self,'class','settings','fieldname','checkpoint_frequency','format','Integer');
 			WriteData(fid,prefix,'object',self,'class','settings','fieldname','waitonlock','data',self.waitonlock>0,'format','Boolean');
 			WriteData(fid,prefix,'object',self,'class','settings','fieldname','solver_residue_threshold','format','Double');
@@ -106,5 +121,5 @@
 			writejsdouble(fid,[modelname '.settings.output_frequency'],self.output_frequency);
 			writejsdouble(fid,[modelname '.settings.sb_coupling_frequency'],self.sb_coupling_frequency);
-			writejsdouble(fid,[modelname '.settings.recording_frequency'],self.recording_frequency);
+			writejsdouble(fid,[modelname '.settings.checkpoint_frequency'],self.checkpoint_frequency);
 			writejsdouble(fid,[modelname '.settings.waitonlock'],self.waitonlock);
 			writejsstring(fid,[modelname '.settings.upload_server'],self.upload_server);
Index: /issm/trunk-jpl/src/m/classes/issmsettings.py
===================================================================
--- /issm/trunk-jpl/src/m/classes/issmsettings.py	(revision 25636)
+++ /issm/trunk-jpl/src/m/classes/issmsettings.py	(revision 25637)
@@ -18,5 +18,5 @@
         self.output_frequency = 0
         self.coupling_frequency = 0
-        self.recording_frequency = 0
+        self.checkpoint_frequency = 0
         self.waitonlock = 0
         self.solver_residue_threshold = 0
@@ -35,5 +35,5 @@
         string = "%s\n%s" % (string, fielddisplay(self, "output_frequency", "frequency at which results are saved in all solutions with multiple time_steps"))
         string = "%s\n%s" % (string, fielddisplay(self, "sb_coupling_frequency", "frequency at which StressBalance solver is coupled (default 1)"))
-        string = "%s\n%s" % (string, fielddisplay(self, "recording_frequency", "frequency at which the runs are being recorded, allowing for a restart"))
+        string = "%s\n%s" % (string, fielddisplay(self, "checkpoint_frequency", "frequency at which the runs are being recorded, allowing for a restart"))
         string = "%s\n%s" % (string, fielddisplay(self, "waitonlock", "maximum number of minutes to wait for batch results, or return 0"))
         string = "%s\n%s" % (string, fielddisplay(self, "solver_residue_threshold", "throw an error if solver residue exceeds this value (NaN to deactivate)"))
@@ -51,5 +51,5 @@
         self.sb_coupling_frequency = 1
         #checkpoints frequency, by default never:
-        self.recording_frequency = 0
+        self.checkpoint_frequency = 0
         #this option can be activated to load automatically the results
         #onto the model after a parallel run by waiting for the lock file
@@ -69,5 +69,5 @@
         md = checkfield(md, 'fieldname', 'settings.output_frequency', 'numel', [1], '>=', 1)
         md = checkfield(md, 'fieldname', 'settings.sb_coupling_frequency', 'numel', [1], '>=', 1)
-        md = checkfield(md, 'fieldname', 'settings.recording_frequency', 'numel', [1], '>=', 0)
+        md = checkfield(md, 'fieldname', 'settings.checkpoint_frequency', 'numel', [1], '>=', 0)
         md = checkfield(md, 'fieldname', 'settings.waitonlock', 'numel', [1])
         md = checkfield(md, 'fieldname', 'settings.solver_residue_threshold', 'numel', [1], '>', 0)
@@ -82,5 +82,5 @@
         WriteData(fid, prefix, 'object', self, 'class', 'settings', 'fieldname', 'output_frequency', 'format', 'Integer')
         WriteData(fid, prefix, 'object', self, 'class', 'settings', 'fieldname', 'sb_coupling_frequency', 'format', 'Integer')
-        WriteData(fid, prefix, 'object', self, 'class', 'settings', 'fieldname', 'recording_frequency', 'format', 'Integer')
+        WriteData(fid, prefix, 'object', self, 'class', 'settings', 'fieldname', 'checkpoint_frequency', 'format', 'Integer')
 
         if self.waitonlock > 0:
