Changeset 18615
- Timestamp:
- 10/10/14 14:28:51 (10 years ago)
- Location:
- issm/trunk-jpl/src
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/shared/Enum/EnumDefinitions.h
r18613 r18615 142 142 IndependentObjectEnum, 143 143 InversionControlParametersEnum, 144 InversionControlScalingFactorsEnum, 144 145 InversionCostFunctionThresholdEnum, 145 146 InversionCostFunctionsCoefficientsEnum, -
issm/trunk-jpl/src/c/shared/Enum/EnumToStringx.cpp
r18613 r18615 150 150 case IndependentObjectEnum : return "IndependentObject"; 151 151 case InversionControlParametersEnum : return "InversionControlParameters"; 152 case InversionControlScalingFactorsEnum : return "InversionControlScalingFactors"; 152 153 case InversionCostFunctionThresholdEnum : return "InversionCostFunctionThreshold"; 153 154 case InversionCostFunctionsCoefficientsEnum : return "InversionCostFunctionsCoefficients"; -
issm/trunk-jpl/src/c/shared/Enum/StringToEnumx.cpp
r18613 r18615 153 153 else if (strcmp(name,"IndependentObject")==0) return IndependentObjectEnum; 154 154 else if (strcmp(name,"InversionControlParameters")==0) return InversionControlParametersEnum; 155 else if (strcmp(name,"InversionControlScalingFactors")==0) return InversionControlScalingFactorsEnum; 155 156 else if (strcmp(name,"InversionCostFunctionThreshold")==0) return InversionCostFunctionThresholdEnum; 156 157 else if (strcmp(name,"InversionCostFunctionsCoefficients")==0) return InversionCostFunctionsCoefficientsEnum; … … 259 260 else if (strcmp(name,"MasstransportVertexPairing")==0) return MasstransportVertexPairingEnum; 260 261 else if (strcmp(name,"MasstransportNumRequestedOutputs")==0) return MasstransportNumRequestedOutputsEnum; 261 else if (strcmp(name,"MasstransportRequestedOutputs")==0) return MasstransportRequestedOutputsEnum;262 262 else stage=3; 263 263 } 264 264 if(stage==3){ 265 if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum; 265 if (strcmp(name,"MasstransportRequestedOutputs")==0) return MasstransportRequestedOutputsEnum; 266 else if (strcmp(name,"QmuIsdakota")==0) return QmuIsdakotaEnum; 266 267 else if (strcmp(name,"MassFluxSegments")==0) return MassFluxSegmentsEnum; 267 268 else if (strcmp(name,"MassFluxSegmentsPresent")==0) return MassFluxSegmentsPresentEnum; … … 382 383 else if (strcmp(name,"EnthalpyAnalysis")==0) return EnthalpyAnalysisEnum; 383 384 else if (strcmp(name,"FlaimAnalysis")==0) return FlaimAnalysisEnum; 384 else if (strcmp(name,"FlaimSolution")==0) return FlaimSolutionEnum;385 385 else stage=4; 386 386 } 387 387 if(stage==4){ 388 if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum; 388 if (strcmp(name,"FlaimSolution")==0) return FlaimSolutionEnum; 389 else if (strcmp(name,"HydrologyShreveAnalysis")==0) return HydrologyShreveAnalysisEnum; 389 390 else if (strcmp(name,"HydrologyDCInefficientAnalysis")==0) return HydrologyDCInefficientAnalysisEnum; 390 391 else if (strcmp(name,"HydrologyDCEfficientAnalysis")==0) return HydrologyDCEfficientAnalysisEnum; … … 505 506 else if (strcmp(name,"Adjointx")==0) return AdjointxEnum; 506 507 else if (strcmp(name,"Adjointy")==0) return AdjointyEnum; 507 else if (strcmp(name,"Adjointz")==0) return AdjointzEnum;508 508 else stage=5; 509 509 } 510 510 if(stage==5){ 511 if (strcmp(name,"BalancethicknessMisfit")==0) return BalancethicknessMisfitEnum; 511 if (strcmp(name,"Adjointz")==0) return AdjointzEnum; 512 else if (strcmp(name,"BalancethicknessMisfit")==0) return BalancethicknessMisfitEnum; 512 513 else if (strcmp(name,"BedSlopeX")==0) return BedSlopeXEnum; 513 514 else if (strcmp(name,"BedSlopeY")==0) return BedSlopeYEnum; … … 628 629 else if (strcmp(name,"J")==0) return JEnum; 629 630 else if (strcmp(name,"StringExternalResult")==0) return StringExternalResultEnum; 630 else if (strcmp(name,"Step")==0) return StepEnum;631 631 else stage=6; 632 632 } 633 633 if(stage==6){ 634 if (strcmp(name,"Time")==0) return TimeEnum; 634 if (strcmp(name,"Step")==0) return StepEnum; 635 else if (strcmp(name,"Time")==0) return TimeEnum; 635 636 else if (strcmp(name,"WaterColumnOld")==0) return WaterColumnOldEnum; 636 637 else if (strcmp(name,"Outputdefinition")==0) return OutputdefinitionEnum; … … 751 752 else if (strcmp(name,"BasalforcingsOceanTurningAngle")==0) return BasalforcingsOceanTurningAngleEnum; 752 753 else if (strcmp(name,"BasalforcingsOceanSsh")==0) return BasalforcingsOceanSshEnum; 753 else if (strcmp(name,"BasalforcingsOceanVx")==0) return BasalforcingsOceanVxEnum;754 754 else stage=7; 755 755 } 756 756 if(stage==7){ 757 if (strcmp(name,"BasalforcingsOceanVy")==0) return BasalforcingsOceanVyEnum; 757 if (strcmp(name,"BasalforcingsOceanVx")==0) return BasalforcingsOceanVxEnum; 758 else if (strcmp(name,"BasalforcingsOceanVy")==0) return BasalforcingsOceanVyEnum; 758 759 else if (strcmp(name,"SurfaceforcingsRhoAir")==0) return SurfaceforcingsRhoAirEnum; 759 760 else if (strcmp(name,"SurfaceforcingsAirCoef")==0) return SurfaceforcingsAirCoefEnum; -
issm/trunk-jpl/src/m/classes/m1qn3inversion.m
r18565 r18615 9 9 incomplete_adjoint = 0 10 10 control_parameters = NaN 11 control_scaling_factors = NaN 11 12 maxsteps = 0 12 13 maxiter = 0 13 dxmin = 0 ;14 gttol = 0 ;14 dxmin = 0 15 gttol = 0 15 16 cost_functions = NaN 16 17 cost_functions_coefficients = NaN … … 22 23 vel_obs = NaN 23 24 thickness_obs = NaN 24 surface_obs = NaN25 surface_obs = NaN 25 26 26 27 end … … 44 45 %drag and B are supported yet) 45 46 self.control_parameters={'FrictionCoefficient'}; 47 48 %Scaling factor for each control 49 self.control_scaling_factors=1; 46 50 47 51 %number of iterations … … 74 78 {'BalancethicknessThickeningRate' 'FrictionCoefficient' 'MaterialsRheologyBbar' 'DamageDbar',... 75 79 'Vx' 'Vy' 'Thickness' 'BalancethicknessOmega' 'BalancethicknessApparentMassbalance'}); 80 md = checkfield(md,'fieldname','inversion.control_scaling_factors','size',[1 num_controls],'>',0,'NaN',1); 76 81 md = checkfield(md,'fieldname','inversion.maxsteps','numel',1,'>=',0); 77 82 md = checkfield(md,'fieldname','inversion.maxiter','numel',1,'>=',0); … … 100 105 fielddisplay(obj,'incomplete_adjoint','1: linear viscosity, 0: non-linear viscosity'); 101 106 fielddisplay(obj,'control_parameters','ex: {''FrictionCoefficient''}, or {''MaterialsRheologyBbar''}'); 107 fielddisplay(obj,'control_scaling_factors','order of magnitude of each control (useful for multi-parameter optimization)'); 102 108 fielddisplay(obj,'maxsteps','maximum number of iterations (gradient computation)'); 103 109 fielddisplay(obj,'maxiter','maximum number of Function evaluation (forward run)'); … … 132 138 if ~obj.iscontrol, return; end 133 139 WriteData(fid,'object',obj,'class','inversion','fieldname','incomplete_adjoint','format','Boolean'); 140 WriteData(fid,'object',obj,'class','inversion','fieldname','control_scaling_factors','format','DoubleMat','mattype',3); 134 141 WriteData(fid,'object',obj,'class','inversion','fieldname','maxsteps','format','Integer'); 135 142 WriteData(fid,'object',obj,'class','inversion','fieldname','maxiter','format','Integer'); -
issm/trunk-jpl/src/m/enum/EnumDefinitions.py
r18613 r18615 142 142 def IndependentObjectEnum(): return StringToEnum("IndependentObject")[0] 143 143 def InversionControlParametersEnum(): return StringToEnum("InversionControlParameters")[0] 144 def InversionControlScalingFactorsEnum(): return StringToEnum("InversionControlScalingFactors")[0] 144 145 def InversionCostFunctionThresholdEnum(): return StringToEnum("InversionCostFunctionThreshold")[0] 145 146 def InversionCostFunctionsCoefficientsEnum(): return StringToEnum("InversionCostFunctionsCoefficients")[0]
Note:
See TracChangeset
for help on using the changeset viewer.