Changeset 20137


Ignore:
Timestamp:
02/11/16 19:41:10 (9 years ago)
Author:
Eric.Larour
Message:

CHG: improvements in the way checkconsistency is carried out when dealing only with
SealevelriseSolution.

Location:
issm/trunk-jpl/src/m/classes
Files:
6 edited

Legend:

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

    r19958 r20137  
    4848                function md = checkconsistency(self,md,solution,analyses) % {{{
    4949
     50                        if (solution==TransientSolutionEnum & md.transient.issmb == 0), return; end
     51                       
    5052                        if ismember(MasstransportAnalysisEnum(),analyses),
    5153                                md = checkfield(md,'fieldname','smb.mass_balance','timeseries',1,'NaN',1,'Inf',1);
  • issm/trunk-jpl/src/m/classes/friction.m

    r19958 r20137  
    3131                        %Early return
    3232                        if ~ismember(StressbalanceAnalysisEnum(),analyses) & ~ismember(ThermalAnalysisEnum(),analyses), return; end
     33                        if (solution==TransientSolutionEnum() &  md.transient.isstressbalance ==0 & md.transient.isthermal == 0), return; end
     34
    3335                        md = checkfield(md,'fieldname','friction.coefficient','timeseries',1,'NaN',1,'Inf',1);
    3436                        md = checkfield(md,'fieldname','friction.q','NaN',1,'Inf',1,'size',[md.mesh.numberofelements 1]);
  • issm/trunk-jpl/src/m/classes/initialization.m

    r19958 r20137  
    4646                end % }}}
    4747                function md = checkconsistency(self,md,solution,analyses) % {{{
    48                         if ismember(StressbalanceAnalysisEnum(),analyses)
     48                        if ismember(StressbalanceAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isstressbalance == 0),
    4949                                if ~(isnan(md.initialization.vx) | isnan(md.initialization.vy)),
    5050                                        md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
     
    5252                                end
    5353                        end
    54                         if ismember(MasstransportAnalysisEnum(),analyses),
     54                        if ismember(MasstransportAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.ismasstransport == 0),
    5555                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    5656                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
     
    6464                                end
    6565                        end
    66                         if ismember(ThermalAnalysisEnum(),analyses),
     66                        if ismember(ThermalAnalysisEnum(),analyses) & ~(solution==TransientSolutionEnum() & md.transient.isthermal == 0),
    6767                                md = checkfield(md,'fieldname','initialization.vx','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
    6868                                md = checkfield(md,'fieldname','initialization.vy','NaN',1,'Inf',1,'size',[md.mesh.numberofvertices 1]);
  • issm/trunk-jpl/src/m/classes/slr.m

    r20074 r20137  
    1717                degacc         = 0;
    1818                requested_outputs      = {};
     19                transitions    = {};
    1920        end
    2021        methods
     
    4647                %output default:
    4748                self.requested_outputs={'default'};
     49
     50                %transitions should be a cell array of vectors:
     51                self.transitions={};
    4852               
    4953                end % }}}
     
    8286                        fielddisplay(self,'eustatic','eustatic sea level rise');
    8387                        fielddisplay(self,'degacc','accuracy (default .01 deg) for numerical discretization of the Green''s functions');
     88                        fielddisplay(self,'transitions','indices into parts of the mesh that will be icecaps');
    8489                        fielddisplay(self,'requested_outputs','additional outputs requested');
    8590
     
    96101                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','eustatic','format','Boolean');
    97102                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','degacc','format','Double');
     103                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','degacc','format','Double');
     104                        WriteData(fid,'object',self,'class','sealevelrise','fieldname','transitions','format','MatArray');
    98105                       
    99106                        %process requested outputs
  • issm/trunk-jpl/src/m/classes/transient.m

    r19958 r20137  
    1616                iscalving         = 0;
    1717                ishydrology       = 0;
     18                isslr             = 0;
     19                iscoupler             = 0;
    1820                requested_outputs = {};
    1921        end
     
    4042                        self.iscalving       =0;
    4143                        self.ishydrology     = 0;
     44                        self.isslr           = 0;
     45                        self.iscoupler           = 0;
    4246
    4347                        %default output
     
    5761                        self.iscalving       = 0;
    5862                        self.ishydrology     = 0;
     63                        self.isslr           = 0;
     64                        self.iscoupler           = 0;
    5965
    6066                        %default output
     
    8490                        md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0 1]);
    8591                        md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1);
     92                        md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0 1]);
     93                        md = checkfield(md,'fieldname','transient.iscoupler','numel',[1],'values',[0 1]);
    8694
    8795                end % }}}
     
    99107                        fielddisplay(self,'iscalving','indicates whether calving is used in the transient');
    100108                        fielddisplay(self,'ishydrology','indicates whether an hydrology model is used');
     109                        fielddisplay(self,'isslr','indicates whether a thermal solution is used in the transient');
     110                        fielddisplay(self,'iscoupler','indicates whether different models are being run with need for coupling');
    101111                        fielddisplay(self,'requested_outputs','list of additional outputs requested');
    102112
     
    113123                        WriteData(fid,'object',self,'fieldname','islevelset','format','Boolean');
    114124                        WriteData(fid,'object',self,'fieldname','iscalving','format','Boolean');
     125                        WriteData(fid,'object',self,'fieldname','isslr','format','Boolean');
     126                        WriteData(fid,'object',self,'fieldname','iscoupler','format','Boolean');
    115127
    116128                        %process requested outputs
     
    135147                        writejsdouble(fid,[modelname '.trans.iscalving'],self.iscalving);
    136148                        writejsdouble(fid,[modelname '.trans.ishydrology'],self.ishydrology);
     149                        writejsdouble(fid,[modelname '.trans.isslr'],self.isslr);
     150                        writejsdouble(fid,[modelname '.trans.iscoupler'],self.iscoupler);
    137151                        writejscellstring(fid,[modelname '.trans.requested_outputs'],self.requested_outputs);
    138152
  • issm/trunk-jpl/src/m/classes/transient.py

    r19527 r20137  
    2323                self.iscalving         = False
    2424                self.ishydrology       = False
     25                self.isslr             = False
    2526                self.requested_outputs = []
    2627
     
    4142                string="%s\n%s"%(string,fielddisplay(self,'iscalving','indicates whether calving is used in the transient'))
    4243                string="%s\n%s"%(string,fielddisplay(self,'ishydrology','indicates whether an hydrology model is used'))
     44                string="%s\n%s"%(string,fielddisplay(self,'isslr','indicates if a sea level rise solution is used in the transient'))
    4345                string="%s\n%s"%(string,fielddisplay(self,'requested_outputs','list of additional outputs requested'))
    4446                return string
     
    6567                self.iscalving         = False
    6668                self.ishydrology       = False
     69                self.isslr             = False
    6770
    6871                #default output
     
    8386                self.iscalving       = False
    8487                self.ishydrology     = False
     88                self.isslr           = False
    8589
    8690                #default output
     
    104108                md = checkfield(md,'fieldname','transient.ishydrology','numel',[1],'values',[0,1])
    105109                md = checkfield(md,'fieldname','transient.iscalving','numel',[1],'values',[0,1]);
     110                md = checkfield(md,'fieldname','transient.isslr','numel',[1],'values',[0,1])
    106111                md = checkfield(md,'fieldname','transient.requested_outputs','stringrow',1)
    107112
     
    119124                WriteData(fid,'object',self,'fieldname','ishydrology','format','Boolean')
    120125                WriteData(fid,'object',self,'fieldname','iscalving','format','Boolean')
     126                WriteData(fid,'object',self,'fieldname','isslr','format','Boolean')
    121127
    122128                #process requested outputs
Note: See TracChangeset for help on using the changeset viewer.