Changeset 16298
- Timestamp:
- 10/04/13 12:31:48 (11 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 2 added
- 2 deleted
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateParameters.cpp
r16291 r16298 28 28 int mass_flux_num_profiles = 0; 29 29 bool qmu_mass_flux_present = false; 30 bool autodiff_mass_flux_present = false;31 30 bool mass_flux_present = false; 32 31 IssmDouble **array = NULL; … … 153 152 /*Deal with mass flux segments: {{{*/ 154 153 iomodel->FetchData(&qmu_mass_flux_present,QmuMassFluxSegmentsPresentEnum); 155 iomodel->FetchData(&autodiff_mass_flux_present,AutodiffMassFluxSegmentsPresentEnum); 156 157 if(qmu_mass_flux_present || autodiff_mass_flux_present)mass_flux_present=true; 154 155 if(qmu_mass_flux_present)mass_flux_present=true; 158 156 else mass_flux_present=false; 159 157 parameters->AddObject(new BoolParam(MassFluxSegmentsPresentEnum,mass_flux_present)); -
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r16291 r16298 27 27 AutodiffFovForwardIndicesEnum, 28 28 AutodiffFosReverseIndexEnum, 29 AutodiffMassFluxSegmentsPresentEnum,30 29 AutodiffKeepEnum, 31 30 AutodiffObufsizeEnum, … … 213 212 MasstransportNumRequestedOutputsEnum, 214 213 MasstransportRequestedOutputsEnum, 215 QmuIsdakotaEnum,216 214 MassFluxSegmentsEnum, 217 215 MassFluxSegmentsPresentEnum, 218 QmuMassFluxSegmentsPresentEnum, 216 MassfluxatgateNameEnum, 217 MassfluxatgateSegmentsEnum, 218 QmuIsdakotaEnum, 219 219 QmuNumberofpartitionsEnum, 220 220 QmuNumberofresponsesEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r16291 r16298 35 35 case AutodiffFovForwardIndicesEnum : return "AutodiffFovForwardIndices"; 36 36 case AutodiffFosReverseIndexEnum : return "AutodiffFosReverseIndex"; 37 case AutodiffMassFluxSegmentsPresentEnum : return "AutodiffMassFluxSegmentsPresent";38 37 case AutodiffKeepEnum : return "AutodiffKeep"; 39 38 case AutodiffObufsizeEnum : return "AutodiffObufsize"; … … 221 220 case MasstransportNumRequestedOutputsEnum : return "MasstransportNumRequestedOutputs"; 222 221 case MasstransportRequestedOutputsEnum : return "MasstransportRequestedOutputs"; 223 case QmuIsdakotaEnum : return "QmuIsdakota";224 222 case MassFluxSegmentsEnum : return "MassFluxSegments"; 225 223 case MassFluxSegmentsPresentEnum : return "MassFluxSegmentsPresent"; 226 case QmuMassFluxSegmentsPresentEnum : return "QmuMassFluxSegmentsPresent"; 224 case MassfluxatgateNameEnum : return "MassfluxatgateName"; 225 case MassfluxatgateSegmentsEnum : return "MassfluxatgateSegments"; 226 case QmuIsdakotaEnum : return "QmuIsdakota"; 227 227 case QmuNumberofpartitionsEnum : return "QmuNumberofpartitions"; 228 228 case QmuNumberofresponsesEnum : return "QmuNumberofresponses"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r16291 r16298 35 35 else if (strcmp(name,"AutodiffFovForwardIndices")==0) return AutodiffFovForwardIndicesEnum; 36 36 else if (strcmp(name,"AutodiffFosReverseIndex")==0) return AutodiffFosReverseIndexEnum; 37 else if (strcmp(name,"AutodiffMassFluxSegmentsPresent")==0) return AutodiffMassFluxSegmentsPresentEnum;38 37 else if (strcmp(name,"AutodiffKeep")==0) return AutodiffKeepEnum; 39 38 else if (strcmp(name,"AutodiffObufsize")==0) return AutodiffObufsizeEnum; … … 137 136 else if (strcmp(name,"InversionCostFunctionsCoefficients")==0) return InversionCostFunctionsCoefficientsEnum; 138 137 else if (strcmp(name,"InversionCostFunctions")==0) return InversionCostFunctionsEnum; 138 else if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum; 139 139 else stage=2; 140 140 } 141 141 if(stage==2){ 142 if (strcmp(name,"InversionGradientScaling")==0) return InversionGradientScalingEnum; 143 else if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum; 142 if (strcmp(name,"InversionIscontrol")==0) return InversionIscontrolEnum; 144 143 else if (strcmp(name,"InversionTao")==0) return InversionTaoEnum; 145 144 else if (strcmp(name,"InversionIncompleteAdjoint")==0) return InversionIncompleteAdjointEnum; … … 224 223 else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum; 225 224 else if (strcmp(name,"MasstransportRequestedOutputs")==0) return MasstransportRequestedOutputsEnum; 226 else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum;227 225 else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum; 228 226 else if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum; 229 else if (strcmp(name,"QmuMassFluxSegmentsPresent")==0) return QmuMassFluxSegmentsPresentEnum; 227 else if (strcmp(name,"MassfluxatgateName")==0) return MassfluxatgateNameEnum; 228 else if (strcmp(name,"MassfluxatgateSegments")==0) return MassfluxatgateSegmentsEnum; 229 else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum; 230 230 else if (strcmp(name,"QmuNumberofpartitions")==0) return QmuNumberofpartitionsEnum; 231 231 else if (strcmp(name,"QmuNumberofresponses")==0) return QmuNumberofresponsesEnum; -
issm/trunk-jpl/src/m/classes/autodiff.m
r16264 r16298 83 83 %early return 84 84 if ~obj.isautodiff, 85 WriteData(fid,'data',false,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean');86 85 WriteData(fid,'data',false,'enum',AutodiffKeepEnum(),'format','Boolean'); 87 86 return; … … 198 197 end 199 198 %}}} 200 %deal with mass fluxes: {{{201 mass_flux_segments=cell(0,1);202 for i=1:num_dependent_objects,203 dep=obj.dependents{i};204 if strcmpi(dep.name,'MassFlux'),205 mass_flux_segments{end+1,1}=dep.segments;206 end207 end208 if ~isempty(mass_flux_segments),209 WriteData(fid,'data',mass_flux_segments,'enum',MassFluxSegmentsEnum(),'format','MatArray');210 flag=true;211 else212 flag=false;213 end214 WriteData(fid,'data',flag,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean');215 %}}}216 199 %deal with trace keep on: {{{ 217 200 keep=false; -
issm/trunk-jpl/src/m/classes/autodiff.py
r16268 r16298 86 86 #early return 87 87 if not self.isautodiff: 88 WriteData(fid,'data',False,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean')89 88 WriteData(fid,'data',False,'enum',AutodiffKeepEnum(),'format','Boolean') 90 89 return … … 182 181 WriteData(fid,'data',indices,'enum',AutodiffFovForwardIndicesEnum(),'format','IntMat','mattype',3) 183 182 #}}} 184 #deal with mass fluxes: {{{185 mass_flux_segments=[dep.segments for dep in self.dependents if strcmpi(dep.name,'MassFlux')]186 187 if mass_flux_segments:188 WriteData(fid,'data',mass_flux_segments,'enum',MassFluxSegmentsEnum(),'format','MatArray')189 flag=True190 else:191 flag=False192 WriteData(fid,'data',flag,'enum',AutodiffMassFluxSegmentsPresentEnum(),'format','Boolean')193 #}}}194 183 #deal with trace keep on: {{{ 195 184 keep=False -
issm/trunk-jpl/src/m/classes/massfluxatgate.m
r16297 r16298 31 31 function md = checkconsistency(obj,md,solution,analyses) % {{{ 32 32 33 md = checkfield(md,'massfluxatgate.name','empty',1); 34 md = checkfield(md,'massfluxatgate.profilename','empty',1); 33 if ~ischar(obj.name), 34 error('massfluxatgate error message: ''name'' field should be a string!'); 35 end 36 if ~ischar(obj.profilename), 37 error('massfluxatgate error message: ''profilename'' field should be a string!'); 38 end 35 39 36 40 %check the profilename points to a file!: 37 if exist( profilename,'file'),41 if exist(obj.profilename,'file')~=2, 38 42 error('massfluxatgate error message: file name for profile corresponding to gate does not point to a legitimate file on disk!'); 39 43 end -
issm/trunk-jpl/src/m/classes/outputdefinition.m
r16297 r16298 6 6 classdef outputdefinition 7 7 properties (SetAccess=public) 8 list = {}; 8 definitions = {}; 9 end 10 properties (SetAccess=private) 11 enums = {}; 9 12 end 10 13 methods … … 19 22 function obj = setdefaultparameters(obj) % {{{ 20 23 21 obj.list={}; 24 obj.definitions={}; 25 obj.enums=NaN; 22 26 23 27 end % }}} 24 28 function md = checkconsistency(obj,md,solution,analyses) % {{{ 25 29 26 md = checkfield(md,'outputdefinition. list','cell',1);30 md = checkfield(md,'outputdefinition.definitions','cell',1); 27 31 28 for i=1:length(obj. list),29 md=checkconsistency(obj. list{i},md,solution,analyses);32 for i=1:length(obj.definitions), 33 md=checkconsistency(obj.definitions{i},md,solution,analyses); 30 34 end 31 35 … … 33 37 function disp(obj) % {{{ 34 38 disp(sprintf(' outputdefinition:')); 35 fielddisplay(obj,' list','list of potential outputs that can be requested, but which need additional data to be defined');39 fielddisplay(obj,'definitions','list of potential outputs that can be requested, but which need additional data to be defined'); 36 40 37 41 end % }}} 38 42 function marshall(obj,md,fid) % {{{ 39 43 40 for i=1:length(obj.list), 41 obj.list{i}.marshall(md,fid); 44 enums=zeros(length(obj.definitions),1); 45 for i=1:length(obj.definitions), 46 obj.definitions{i}.marshall(md,fid); 47 obj.enums(i)=StringToEnum(class(obj.definitions{i})); 42 48 end 49 WriteData(fid,'object',obj,'fieldname','enums','format','DoubleMat','mattype',1,'scale',1./yts,'forcinglength',md.mesh.numberofvertices+1); 43 50 end % }}} 44 51 end -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r16293 r16298 27 27 def AutodiffFovForwardIndicesEnum(): return StringToEnum("AutodiffFovForwardIndices")[0] 28 28 def AutodiffFosReverseIndexEnum(): return StringToEnum("AutodiffFosReverseIndex")[0] 29 def AutodiffMassFluxSegmentsPresentEnum(): return StringToEnum("AutodiffMassFluxSegmentsPresent")[0]30 29 def AutodiffKeepEnum(): return StringToEnum("AutodiffKeep")[0] 31 30 def AutodiffObufsizeEnum(): return StringToEnum("AutodiffObufsize")[0] … … 213 212 def MasstransportNumRequestedOutputsEnum(): return StringToEnum("MasstransportNumRequestedOutputs")[0] 214 213 def MasstransportRequestedOutputsEnum(): return StringToEnum("MasstransportRequestedOutputs")[0] 215 def QmuIsdakotaEnum(): return StringToEnum("QmuIsdakota")[0]216 214 def MassFluxSegmentsEnum(): return StringToEnum("MassFluxSegments")[0] 217 215 def MassFluxSegmentsPresentEnum(): return StringToEnum("MassFluxSegmentsPresent")[0] 218 def QmuMassFluxSegmentsPresentEnum(): return StringToEnum("QmuMassFluxSegmentsPresent")[0] 216 def MassfluxatgateNameEnum(): return StringToEnum("MassfluxatgateName")[0] 217 def MassfluxatgateSegmentsEnum(): return StringToEnum("MassfluxatgateSegments")[0] 218 def QmuIsdakotaEnum(): return StringToEnum("QmuIsdakota")[0] 219 219 def QmuNumberofpartitionsEnum(): return StringToEnum("QmuNumberofpartitions")[0] 220 220 def QmuNumberofresponsesEnum(): return StringToEnum("QmuNumberofresponses")[0]
Note:
See TracChangeset
for help on using the changeset viewer.