Changeset 19791 for issm/trunk-jpl/src/m/classes/inversion.js
- Timestamp:
- 11/23/15 10:31:37 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified issm/trunk-jpl/src/m/classes/inversion.js ¶
r19787 r19791 75 75 76 76 }// }}} 77 this.classname= function(){// {{{ 78 return "inversion"; 79 }// }}} 77 80 this.checkconsistency = function(md,solution,analyses) { //{{{ 78 81 … … 113 116 } 114 117 } // }}} 118 this.marshall=function(md,fid) { //{{{ 119 120 var yts=365.0*24.0*3600.0; 121 122 WriteData(fid,'enum',InversionTypeEnum(),'data',0,'format','Integer'); 123 WriteData(fid,'object',this,'fieldname','iscontrol','format','Boolean'); 124 WriteData(fid,'object',this,'fieldname','incomplete_adjoint','format','Boolean'); 125 if (!this.iscontrol) return; 126 WriteData(fid,'object',this,'fieldname','nsteps','format','Integer'); 127 WriteData(fid,'object',this,'fieldname','maxiter_per_step','format','IntMat','mattype',3); 128 WriteData(fid,'object',this,'fieldname','cost_functions_coefficients','format','DoubleMat','mattype',1); 129 WriteData(fid,'object',this,'fieldname','gradient_scaling','format','DoubleMat','mattype',3); 130 WriteData(fid,'object',this,'fieldname','cost_function_threshold','format','Double'); 131 WriteData(fid,'object',this,'fieldname','min_parameters','format','DoubleMat','mattype',3); 132 WriteData(fid,'object',this,'fieldname','max_parameters','format','DoubleMat','mattype',3); 133 WriteData(fid,'object',this,'fieldname','step_threshold','format','DoubleMat','mattype',3); 134 WriteData(fid,'object',this,'fieldname','vx_obs','format','DoubleMat','mattype',1,'scale',1./yts); 135 WriteData(fid,'object',this,'fieldname','vy_obs','format','DoubleMat','mattype',1,'scale',1./yts); 136 WriteData(fid,'object',this,'fieldname','vz_obs','format','DoubleMat','mattype',1,'scale',1./yts); 137 if(this.thickness_obs.length==md.mesh.numberofelements) mattype=2; 138 else mattype=1; 139 WriteData(fid,'object',this,'class','inversion','fieldname','thickness_obs','format','DoubleMat','mattype',mattype); 140 WriteData(fid,'object',this,'class','inversion','fieldname','surface_obs','format','DoubleMat','mattype',mattype); 141 142 143 //process control parameters 144 num_control_parameters=this.control_parameters.length; 145 data=NewArrayFill(num_control_parameters,0); 146 for (var i=0;i<num_control_parameters;i++){ 147 data[i]=StringToEnum(this.control_parameters[i]); 148 } 149 WriteData(fid,'data',data,'enum',InversionControlParametersEnum(),'format','DoubleMat','mattype',3); 150 WriteData(fid,'data',num_control_parameters,'enum',InversionNumControlParametersEnum(),'format','Integer'); 151 152 //process cost functions 153 num_cost_functions=this.cost_functions[0].length; 154 data=marshallcostfunctions(this.cost_functions); 155 WriteData(fid,'data',data,'enum',InversionCostFunctionsEnum(),'format','DoubleMat','mattype',3); 156 WriteData(fid,'data',num_cost_functions,'enum',InversionNumCostFunctionsEnum(),'format','Integer'); 157 }//}}} 115 158 //properties 116 159 // {{{
Note:
See TracChangeset
for help on using the changeset viewer.