Index: /issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp
===================================================================
--- /issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp	(revision 25079)
+++ /issm/trunk-jpl/src/c/analyses/GiaAnalysis.cpp	(revision 25080)
@@ -44,16 +44,7 @@
 	}
 	else if(giamodel==3){
-		int nummodels=0;
-		iomodel->FetchData(&nummodels,"md.gia.nummodels");
-		if(nummodels){
-			/*take Ngia and Ugia from the offline models and plug into the element inputs:*/
-			iomodel->FetchDataToDatasetInput(inputs2,elements,"md.gia.Ngia",GiaMmeNgiaEnum);
-			iomodel->FetchDataToDatasetInput(inputs2,elements,"md.gia.Ugia",GiaMmeUgiaEnum);
-		}
-		else{
-			/*we have been provided no models, just an zero array, use it to fill NGiaRate and UGiaRate:*/
-			iomodel->FetchDataToInput(inputs2,elements,"md.gia.Ngia",NGiaRateEnum);
-			iomodel->FetchDataToInput(inputs2,elements,"md.gia.Ugia",UGiaRateEnum);
-		}
+		/*take Ngia and Ugia from the offline models and plug into the element inputs:*/
+		iomodel->FetchDataToDatasetInput(inputs2,elements,"md.gia.Ngia",GiaMmeNgiaEnum);
+		iomodel->FetchDataToDatasetInput(inputs2,elements,"md.gia.Ugia",GiaMmeUgiaEnum);
 	}
 }/*}}}*/
@@ -82,14 +73,12 @@
 		parameters->FindParam(&nummodels,GiaNummodelsEnum);
 
-		if(nummodels){
-			iomodel->FetchData(&modelid,"md.gia.modelid");
-			/*create double param, not int param, because Dakota will be updating it as 
-			 * a double potentially: */
-			parameters->AddObject(new DoubleParam(GiaModelidEnum,modelid));
+		/*create double param, not int param, because Dakota will be updating it as 
+		 * a double potentially: */
+		iomodel->FetchData(&modelid,"md.gia.modelid");
+		parameters->AddObject(new DoubleParam(GiaModelidEnum,modelid));
 
-			/*quick checks: */
-			if(nummodels<=0)_error_("giamme object in  md.gia field should contain at least 1 ensemble model!");
-			if(modelid<=0 || modelid>nummodels)_error_("modelid field in giamme object of md.gia field should be between 1 and the number of ensemble runs!");
-		}
+		/*quick checks: */
+		if(nummodels<=0)_error_("giamme object in  md.gia field should contain at least 1 ensemble model!");
+		if(modelid<=0 || modelid>nummodels)_error_("modelid field in giamme object of md.gia field should be between 1 and the number of ensemble runs!");
 	} 
 
Index: /issm/trunk-jpl/src/c/cores/gia_core.cpp
===================================================================
--- /issm/trunk-jpl/src/c/cores/gia_core.cpp	(revision 25079)
+++ /issm/trunk-jpl/src/c/cores/gia_core.cpp	(revision 25080)
@@ -71,26 +71,22 @@
 	else if(giamodel==3){ //GiaMme
 		
+		/*Go grab the values for Ngia and Ugia in the offline GiaMme class:*/ 
+		femmodel->parameters->FindParam(&modelid,GiaModelidEnum); 
+		modelid--; //from matlab
 
-		/*Go grab the values for Ngia and Ugia in the offline GiaMme class:*/ 
-		femmodel->parameters->FindParam(&nummodels,GiaNummodelsEnum); 
-		if(nummodels){
-			femmodel->parameters->FindParam(&modelid,GiaModelidEnum); 
-			modelid--; //from matlab
+		/*find the Ngia and Ugia dataset:*/
+		DatasetInput2* dataset_input_ngia=femmodel->inputs2->GetDatasetInput2(GiaMmeNgiaEnum);
+		DatasetInput2* dataset_input_ugia=femmodel->inputs2->GetDatasetInput2(GiaMmeUgiaEnum);
+		/*Go find the modelid'th input:*/
+		TriaInput2* tria_input_ngia=dataset_input_ngia->GetTriaInputByOffset(modelid);
+		TriaInput2* tria_input_ugia=dataset_input_ugia->GetTriaInputByOffset(modelid);
 
-			/*find the Ngia and Ugia dataset:*/
-			DatasetInput2* dataset_input_ngia=femmodel->inputs2->GetDatasetInput2(GiaMmeNgiaEnum);
-			DatasetInput2* dataset_input_ugia=femmodel->inputs2->GetDatasetInput2(GiaMmeUgiaEnum);
-			/*Go find the modelid'th input:*/
-			TriaInput2* tria_input_ngia=dataset_input_ngia->GetTriaInputByOffset(modelid);
-			TriaInput2* tria_input_ugia=dataset_input_ugia->GetTriaInputByOffset(modelid);
-
-			/*Plug into SealevelUGiaRate and SealevelNGiaRate inputs:*/
-			Input2* tria_input_copy_ngia=tria_input_ngia->copy();
-			Input2* tria_input_copy_ugia=tria_input_ugia->copy();
-			tria_input_copy_ngia->ChangeEnum(NGiaRateEnum);
-			tria_input_copy_ugia->ChangeEnum(UGiaRateEnum);
-			femmodel->inputs2->AddInput(tria_input_copy_ngia);
-			femmodel->inputs2->AddInput(tria_input_copy_ugia);
-		}
+		/*Plug into SealevelUGiaRate and SealevelNGiaRate inputs:*/
+		Input2* tria_input_copy_ngia=tria_input_ngia->copy();
+		Input2* tria_input_copy_ugia=tria_input_ugia->copy();
+		tria_input_copy_ngia->ChangeEnum(NGiaRateEnum);
+		tria_input_copy_ugia->ChangeEnum(UGiaRateEnum);
+		femmodel->inputs2->AddInput(tria_input_copy_ngia);
+		femmodel->inputs2->AddInput(tria_input_copy_ugia);
 	}
 	
Index: /issm/trunk-jpl/src/m/classes/giamme.m
===================================================================
--- /issm/trunk-jpl/src/m/classes/giamme.m	(revision 25079)
+++ /issm/trunk-jpl/src/m/classes/giamme.m	(revision 25080)
@@ -50,18 +50,19 @@
 			disp(sprintf('   gia mme parameters:'));
 			fielddisplay(self,'modelid','index into the multi-model ensemble, determines which field will be used.');
-			fielddisplay(self,'Ngia','geoid (m/yr).');
-			fielddisplay(self,'Ugia','uplift (m/yr).');
+			fielddisplay(self,'Ngia','geoid (mm/yr).');
+			fielddisplay(self,'Ugia','uplift (mm/yr).');
 		end % }}}
 		function marshall(self,prefix,md,fid) % {{{
-
 			WriteData(fid,prefix,'name','md.gia.model','data',3,'format','Integer');
-			WriteData(fid,prefix,'name','md.gia.nummodels','data',size(self.Ngia,2),'format','Integer');
-			WriteData(fid,prefix,'object',self,'fieldname','modelid','format','Double');
 			if size(self.Ngia,2)==0,
 				WriteData(fid,prefix,'data',zeros(md.mesh.numberofvertices,1),'format','DoubleMat','mattype',1,'name','md.gia.Ngia');
 				WriteData(fid,prefix,'data',zeros(md.mesh.numberofvertices,1),'format','DoubleMat','mattype',1,'name','md.gia.Ugia');
+				WriteData(fid,prefix,'data',1,'name','modelid','format','Double');
+				WriteData(fid,prefix,'name','md.gia.nummodels','data',1,'format','Integer');
 			else
-				WriteData(fid,prefix,'object',self,'fieldname','Ngia','format','DoubleMat');
-				WriteData(fid,prefix,'object',self,'fieldname','Ugia','format','DoubleMat');
+				WriteData(fid,prefix,'object',self,'fieldname','Ngia','format','DoubleMat','scale',1/1000);
+				WriteData(fid,prefix,'object',self,'fieldname','Ugia','format','DoubleMat','scale',1/1000);
+				WriteData(fid,prefix,'object',self,'fieldname','modelid','format','Double');
+				WriteData(fid,prefix,'name','md.gia.nummodels','data',size(self.Ngia,2),'format','Integer');
 			end
 		end % }}}
