source: issm/oecreview/Archive/21724-22754/ISSM-22401-22402.diff@ 22755

Last change on this file since 22755 was 22755, checked in by Mathieu Morlighem, 7 years ago

CHG: added 21724-22754

File size: 4.4 KB
  • ../trunk-jpl/src/m/classes/numberedcostfunction.m

     
    55
    66classdef numberedcostfunction
    77        properties (SetAccess=public)
     8                name                                                             = '';
     9                definitionstring                                 = '';
    810                cost_functions              = NaN
    911                cost_functions_coefficients = NaN
    1012                vx_obs                      = NaN
     
    2224                                case 1
    2325                                        self=structtoobj(numberedcostfunction(),varargin{1});
    2426                                otherwise
    25                                         error('constructor not supported');
     27                                        error('construtor not supported yet');
    2628                        end
    2729                end % }}}
    2830                function self = extrude(self,md) % {{{
     
    3133                        self.vel_obs=project3d(md,'vector',self.vel_obs,'type','node');
    3234                        self.thickness_obs=project3d(md,'vector',self.thickness_obs,'type','node');
    3335                        if numel(self.cost_functions_coefficients)>1,self.cost_functions_coefficients=project3d(md,'vector',self.cost_functions_coefficients,'type','node');end;
    34                         if numel(self.min_parameters)>1,self.min_parameters=project3d(md,'vector',self.min_parameters,'type','node');end;
    35                         if numel(self.max_parameters)>1,self.max_parameters=project3d(md,'vector',self.max_parameters,'type','node');end;
    3636                end % }}}
    3737                function self = setdefaultparameters(self) % {{{
    3838
    3939                        %several responses can be used:
    4040                        self.cost_functions=101;
     41                       
    4142
    4243                end % }}}
    4344                function md = checkconsistency(self,md,solution,analyses) % {{{
     
    8384
    8485                        yts=md.constants.yts;
    8586
    86                         WriteData(fid,prefix,'name','md.inversion.type','data',2,'format','Integer');
    87                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','cost_functions_coefficients','format','DoubleMat','mattype',1);
    88                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','vx_obs','format','DoubleMat','mattype',1,'scale',1./yts);
    89                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','vy_obs','format','DoubleMat','mattype',1,'scale',1./yts);
    90                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','vz_obs','format','DoubleMat','mattype',1,'scale',1./yts);
    91                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','vel_obs','format','DoubleMat','mattype',1,'scale',1./yts);
     87                        WriteData(fid,prefix,'data',self.name,'name','md.numberedcostfunction.name','format','String');
     88                        WriteData(fid,prefix,'data',self.definitionstring,'name','md.numberedcostfunction.definitionstring','format','String');
     89
     90                        WriteData(fid,prefix,'data',self.cost_functions_coefficients,'name','md.numberedcostfunction.cost_functions_coefficients','format','DoubleMat','mattype',1);
     91                        WriteData(fid,prefix,'data',self.vx_obs,'name','md.numberedcostfunction.vx_obs','format','DoubleMat','mattype',1,'scale',1./yts);
     92                        WriteData(fid,prefix,'data',self.vy_obs,'name','md.numberedcostfunction.vy_obs','format','DoubleMat','mattype',1,'scale',1./yts);
     93                        WriteData(fid,prefix,'data',self.vz_obs,'name','md.numberedcostfunction.vz_obs','format','DoubleMat','mattype',1,'scale',1./yts);
     94                        WriteData(fid,prefix,'data',self.vel_obs,'name','md.numberedcostfunction.vel_obs','format','DoubleMat','mattype',1,'scale',1./yts);
    9295                        if(numel(self.thickness_obs)==md.mesh.numberofelements),
    9396                                mattype=2;
    9497                        else
    9598                                mattype=1;
    9699                        end
    97                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','thickness_obs','format','DoubleMat','mattype',mattype);
    98                         WriteData(fid,prefix,'object',self,'class','inversion','fieldname','surface_obs','format','DoubleMat','mattype',mattype);
     100                        WriteData(fid,prefix,'data',self.thickness_obs,'name','md.numberedcostfunction.thickness_obs','format','DoubleMat','mattype',mattype);
     101                        WriteData(fid,prefix,'data',self.surface_obs,'name','md.numberedcostfunction.surface_obs','format','DoubleMat','mattype',mattype);
    99102
    100103                        %process cost functions
    101104                        num_cost_functions=size(self.cost_functions,2);
    102105                        data=marshallcostfunctions(self.cost_functions);
    103                         WriteData(fid,prefix,'data',data,'name','md.inversion.cost_functions','format','StringArray');
    104                         WriteData(fid,prefix,'data',num_cost_functions,'name','md.inversion.num_cost_functions','format','Integer');
     106                        WriteData(fid,prefix,'data',data,'name','md.numberedcostfunction.cost_functions','format','StringArray');
     107                        WriteData(fid,prefix,'data',num_cost_functions,'name','md.numberedcostfunction.num_cost_functions','format','Integer');
    105108                end % }}}
    106109                function savemodeljs(self,fid,modelname) % {{{
    107110               
Note: See TracBrowser for help on using the repository browser.