Ignore:
Timestamp:
05/03/21 09:37:43 (4 years ago)
Author:
Eric.Larour
Message:

CHG: basic checks + rate computation.

File:
1 edited

Legend:

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

    r25947 r26229  
    5252
    5353                        %transform our time series into time series rates
    54                         time=self.displacementeast(end,:);
    55                         dt=diff(time,1,2);
     54                        if size(self.displacementeast,2)==1
     55                                disp('External solidearthsolution warning: only one time step provided, assuming the values are rates per year');
     56                                displacementeast_rate=[self.displacementeast;0];
     57                                displacementnorth_rate=[self.displacementnorth;0];
     58                                displacementup_rate=[self.displacementup;0];
     59                                geoid_rate=[self.geoid;0];
     60                                barystaticsealevel_rate=[self.barystaticsealevel;0];
     61                        else
     62                                time=self.displacementeast(end,:);
     63                                dt=diff(time,1,2);
     64                                displacementeast_rate=diff(self.displacementeast(1:end-1,:),1,2)./dt;
     65                                displacementeast_rate(end+1,:)=time(1:end-1);
     66                                displacementnorth_rate=diff(self.displacementnorth(1:end-1,:),1,2)./dt;
     67                                displacementnorth_rate(end+1,:)=time(1:end-1);
     68                                displacementup_rate=diff(self.displacementup(1:end-1,:),1,2)./dt;
     69                                displacementup_rate(end+1,:)=time(1:end-1);
     70                                geoid_rate=diff(self.geoid(1:end-1,:),1,2)./dt;
     71                                geoid_rate(end+1,:)=time(1:end-1);
     72                                barystaticsealevel_rate=diff(self.barystaticsealevel(1:end-1,:),1,2)./dt;
     73                                barystaticsealevel_rate(end+1,:)=time(1:end-1);
     74                        end
     75                        WriteData(fid,prefix,'object',self,'fieldname','displacementeast','data',displacementeast_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementeast','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     76                        WriteData(fid,prefix,'object',self,'fieldname','displacementup','data',displacementup_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementup','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     77                        WriteData(fid,prefix,'object',self,'fieldname','displacementnorth','data',displacementnorth_rate,'format','DoubleMat','name', 'md.solidearth.external.displacementnorth','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     78                        WriteData(fid,prefix,'object',self,'fieldname','geoid','data',geoid_rate,'format','DoubleMat','name', 'md.solidearth.external.geoid','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
     79                        WriteData(fid,prefix,'object',self,'fieldname','barystaticsealevel','data',barystaticsealevel_rate,'format','DoubleMat','name', 'md.solidearth.external.barystaticsealevel','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    5680                       
    57                         displacementeast_rate=diff(displacementeast(1:end-1,:),1,2)./dt;
    58                         displacementnorth_rate=diff(displacementnorth(1:end-1,:),1,2)./dt;
    59                         displacementup_rate=diff(displacementup(1:end-1,:),1,2)./dt;
    60                         geoid_rate=diff(geoid(1:end-1,:),1,2)./dt;
    61                         barystaticsealevel_rate=diff(barystaticsealevel(1:end-1,:),1,2)./dt;
    62 
    63                         WriteData(fid,prefix,'name','md.solidearth.external.displacementeast','data',displacementeast_rate,'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    64                         WriteData(fid,prefix,'name','md.solidearth.external.displacementup','data',displacementup_rate,'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    65                         WriteData(fid,prefix,'name','md.solidearth.external.displacementnorth','data',displacementnorth_rate,'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    66                         WriteData(fid,prefix,'name','md.solidearth.external.geoid','data',geoid_rate,'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    67                         WriteData(fid,prefix,'name','md.solidearth.external.barystaticsealevel','data',barystaticsealevel_rate,'format','DoubleMat','mattype',1,'scale',1./yts,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    68        
    6981                end % }}}
    7082                function savemodeljs(self,fid,modelname) % {{{
Note: See TracChangeset for help on using the changeset viewer.