Changeset 26532


Ignore:
Timestamp:
11/04/21 07:40:42 (3 years ago)
Author:
vverjans
Message:

CHG: cleaning-up stochasticforcing.m, removing supportedstochforcings.m, correcting tests 257,542,543

Location:
issm/trunk-jpl
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/m/classes/stochasticforcing.m

    r26526 r26532  
    6464                        fielddisplay(self,'randomflag','whether to apply real randomness (true) or pseudo-randomness with fixed seed (false)');
    6565                        disp('Available fields:');
    66                         disp('   SMBautoregression');
    67                         disp('   FrontalForcingsRignotAutoregression (thermal forcing)');
     66                        for field=supportedstochforcings()
     67                                fprintf('   %s \n',string(field));
     68                        end
    6869                end % }}}
    6970                function marshall(self,prefix,md,fid) % {{{
     
    7172                        yts=md.constants.yts;
    7273                        num_fields = numel(self.fields);
    73                         %Scaling covariance matrix (scale column-by-column and row-by-row)
    74                         scaledfields = {'SMBautoregression'}; %list of fields that need scaling *1/yts
    75                         for i=1:num_fields
    76             if any(strcmp(scaledfields,self.fields(i)))
    77                inds = [1+sum(self.dimensions(1:i-1)):1:sum(self.dimensions(1:i))];
    78                for row=inds %scale rows corresponding to scaled field
    79                   self.covariance(row,:) = 1./yts*self.covariance(row,:);
    80                end
    81                for col=inds %scale columns corresponding to scaled field
    82                   self.covariance(:,col) = 1./yts*self.covariance(:,col);
    83                end
    84             end
    85          end
    8674
    8775                        WriteData(fid,prefix,'object',self,'fieldname','isstochasticforcing','format','Boolean');
     
    8977                                return
    9078                        else
     79                                %Scaling covariance matrix (scale column-by-column and row-by-row)
     80                                scaledfields = {'SMBautoregression'}; %list of fields that need scaling *1/yts
     81                                tempcovariance = self.covariance; %copy of covariance to avoid writing back in member variable
     82                                for i=1:num_fields
     83                                        if any(strcmp(scaledfields,self.fields(i)))
     84                                                inds = [1+sum(self.dimensions(1:i-1)):1:sum(self.dimensions(1:i))];
     85                                                for row=inds %scale rows corresponding to scaled field
     86                                                        tempcovariance(row,:) = 1./yts*self.covariance(row,:);
     87                                                end
     88                                                for col=inds %scale columns corresponding to scaled field
     89                                                        tempcovariance(:,col) = 1./yts*self.covariance(:,col);
     90                                                end
     91                                        end
     92                                end
    9193                                WriteData(fid,prefix,'data',num_fields,'name','md.stochasticforcing.num_fields','format','Integer');
    9294                                WriteData(fid,prefix,'object',self,'fieldname','fields','format','StringArray');
    9395                                WriteData(fid,prefix,'object',self,'fieldname','dimensions','format','IntMat');
    94                                 WriteData(fid,prefix,'object',self,'fieldname','covariance','format','DoubleMat');
     96                                WriteData(fid,prefix,'data',tempcovariance,'name','md.stochasticforcing.covariance','format','DoubleMat');
    9597                                WriteData(fid,prefix,'object',self,'fieldname','randomflag','format','Boolean');
    9698                        end
     
    98100        end
    99101end
     102function list = supportedstochforcings() % {{{
     103   % Defines list of fields supported
     104   % by the class md.stochasticforcing
     105
     106   list = {...
     107      'SMBautoregression',...
     108      'FrontalForcingsRignotAutoregression'
     109      };
     110end % }}}
  • issm/trunk-jpl/test/NightlyRun/test257.m

    r26526 r26532  
    6464        (md.results.TransientSolution(1).Vy),...
    6565        (md.results.TransientSolution(1).Vel),...
    66         (md.results.TransientSolution(1).Pressure),...
    67         (md.results.TransientSolution(1).Base),...
    68         (md.results.TransientSolution(1).Surface),...
    6966        (md.results.TransientSolution(1).Thickness),...
    7067        (md.results.TransientSolution(1).IceVolume),...
    71     (md.results.TransientSolution(1).SmbMassBalance),...
     68   (md.results.TransientSolution(1).SmbMassBalance),...
    7269        (md.results.TransientSolution(2).Vx),...
    7370        (md.results.TransientSolution(2).Vy),...
    7471        (md.results.TransientSolution(2).Vel),...
    75         (md.results.TransientSolution(2).Pressure),...
    76         (md.results.TransientSolution(2).Base),...
    77         (md.results.TransientSolution(2).Surface),...
    7872        (md.results.TransientSolution(2).Thickness),...
    7973        (md.results.TransientSolution(2).IceVolume),...
    80     (md.results.TransientSolution(2).SmbMassBalance),...
     74   (md.results.TransientSolution(2).SmbMassBalance),...
    8175        (md.results.TransientSolution(3).Vx),...
    8276        (md.results.TransientSolution(3).Vy),...
    8377        (md.results.TransientSolution(3).Vel),...
    84         (md.results.TransientSolution(3).Pressure),...
    85         (md.results.TransientSolution(3).Base),...
    86         (md.results.TransientSolution(3).Surface),...
    8778        (md.results.TransientSolution(3).Thickness),...
    8879        (md.results.TransientSolution(3).IceVolume),...
    89     (md.results.TransientSolution(3).SmbMassBalance),...
     80   (md.results.TransientSolution(3).SmbMassBalance),...
    9081        };
  • issm/trunk-jpl/test/NightlyRun/test542.m

    r26495 r26532  
    6161   (md.results.TransientSolution(1).Surface),...
    6262   (md.results.TransientSolution(1).Thickness),...
     63   (md.results.TransientSolution(1).MaskIceLevelset),...
    6364   (md.results.TransientSolution(1).CalvingMeltingrate),...
    64    (md.results.TransientSolution(1).MaskIceLevelset),...
    6565   (md.results.TransientSolution(2).Vx),...
    6666   (md.results.TransientSolution(2).Vy),...
  • issm/trunk-jpl/test/NightlyRun/test543.m

    r26526 r26532  
    7070   (md.results.TransientSolution(1).Surface),...
    7171   (md.results.TransientSolution(1).Thickness),...
     72   (md.results.TransientSolution(1).MaskIceLevelset),...
    7273   (md.results.TransientSolution(1).CalvingMeltingrate),...
    73    (md.results.TransientSolution(1).MaskIceLevelset),...
    7474   (md.results.TransientSolution(2).Vx),...
    7575   (md.results.TransientSolution(2).Vy),...
Note: See TracChangeset for help on using the changeset viewer.