Changeset 25220


Ignore:
Timestamp:
07/06/20 19:33:49 (5 years ago)
Author:
Eric.Larour
Message:

CHG: allow for MatArrays in the masks.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk-jpl/src/m/classes/mask.m ΒΆ

    r24910 r25220  
    8383                        if strcmpi(solution,'LoveSolution'), return; end;
    8484
    85                         md = checkfield(md,'fieldname','mask.ocean_levelset','timeseries',1,'NaN',1);
    86                         md = checkfield(md,'fieldname','mask.ice_levelset','NaN',1,'size',[md.mesh.numberofvertices 1]);
    87                         isice=(md.mask.ice_levelset<=0);
    88                         if sum(isice)==0,
    89                                 warning('no ice present in the domain');
     85                        if isa(self.ocean_levelset,'cell'),
     86                                for i=1:length(self.ocean_levelset),
     87                                        md = checkfield(md,'field',self.ocean_levelset{i},'NaN',0,'Inf',1,'timeserieslength',1,'Inf',1);
     88                                end
     89                        else
     90                                md = checkfield(md,'fieldname','mask.ocean_levelset','timeseries',1,'NaN',1);
     91                        end
     92                       
     93                        if isa(self.ice_levelset,'cell'),
     94                                for i=1:length(self.ice_levelset),
     95                                        md = checkfield(md,'field',self.ice_levelset{i},'NaN',0,'Inf',1,'timeserieslength',1,'Inf',1);
     96                                end
     97                        else
     98                                md = checkfield(md,'fieldname','mask.ice_levelset','timeseries',1,'NaN',1);
     99                                isice=(md.mask.ice_levelset<=0);
     100                                if sum(isice)==0,
     101                                        warning('no ice present in the domain');
     102                                end
    90103                        end
    91104                end % }}}
    92105                function marshall(self,prefix,md,fid) % {{{
    93                         WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    94                         WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
     106
     107                        if isa(self.ocean_levelset,'cell'),
     108                                WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','name','md.mask.ocean_levelset','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     109                        else
     110                                WriteData(fid,prefix,'object',self,'fieldname','ocean_levelset','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     111                        end
     112
     113                        if isa(self.ice_levelset,'cell'),
     114                                WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','name','md.mask.ice_levelset','format','MatArray','timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     115                        else
     116                                WriteData(fid,prefix,'object',self,'fieldname','ice_levelset','format','DoubleMat','mattype',1);
     117                        end
    95118                end % }}}
    96119                function savemodeljs(self,fid,modelname) % {{{
Note: See TracChangeset for help on using the changeset viewer.