Changeset 26444


Ignore:
Timestamp:
09/20/21 17:53:55 (3 years ago)
Author:
Mathieu Morlighem
Message:

NEW: added calving_threshold

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

Legend:

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

    r24305 r26444  
    66classdef calvingcrevassedepth
    77        properties (SetAccess=public)
    8                 crevasse_opening_stress=1.;
     8                crevasse_opening_stress=1;
     9                crevasse_threshold     =1.;
    910                water_height = 0.;
    1011        end
     
    3233                function self = setdefaultparameters(self) % {{{
    3334                       
    34                         self.water_height = 0.;
    35                         crevasse_opening_stress=1.;
     35                        crevasse_threshold      = 1.;
     36                        crevasse_opening_stress = 1;
     37         self.water_height       = 0.;
    3638                end % }}}
    3739                function md = checkconsistency(self,md,solution,analyses) % {{{
     
    4042
    4143                        md = checkfield(md,'fieldname','calving.crevasse_opening_stress','numel',[1],'values',[0,1]);
     44         md = checkfield(md,'fieldname','calving.crevasse_threshold','numel',[1],'values',[0,1]);
    4245                        md = checkfield(md,'fieldname','calving.water_height','NaN',1,'Inf',1,'timeseries',1,'>=',0);
    4346                end % }}}
     
    4548                        disp(sprintf('   Calving Pi parameters:'));
    4649                        fielddisplay(self,'crevasse_opening_stress','0: stress only in the ice-flow direction, 1: max principal');
     50                        fielddisplay(self,'crevasse_threshold','ratio of full thickness to calve (e.g. 0.75 is for 75% of the total ice thickness)');
    4751                        fielddisplay(self,'water_height','water height in the crevasse [m]');
    4852
     
    5256                        WriteData(fid,prefix,'name','md.calving.law','data',6,'format','Integer');
    5357                        WriteData(fid,prefix,'object',self,'fieldname','crevasse_opening_stress','format','Integer');
     58         WriteData(fid,prefix,'object',self,'fieldname','crevasse_threshold','format','Double');
    5459                        WriteData(fid,prefix,'object',self,'fieldname','water_height','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts);
    5560                end % }}}
  • issm/trunk-jpl/src/m/classes/calvingcrevassedepth.py

    r25844 r26444  
    1414    def __init__(self):  # {{{
    1515        self.crevasse_opening_stress = 1
    16         self.water_height = 0
     16        self.crevasse_threshold      = 1.
     17        self.water_height            = 0.
    1718
    1819        #self.setdefaultparameters() # Uncomment if/when setdefaultparameters is used
    1920    #}}}
    20 
    2121    def __repr__(self):  # {{{
    2222        s = '   Calving Pi parameters:'
    2323        s += '{}\n'.format(fielddisplay(self, 'crevasse_opening_stress', '0: stress only in the ice-flow direction, 1: max principal'))
     24        s += '{}\n'.format(fielddisplay(self, 'crevasse_threshold', 'ratio of full thickness to calve (e.g. 0.75 is for 75% of the total ice thickness)'))
    2425        s += '{}\n'.format(fielddisplay(self, 'water_height', 'water height in the crevasse [m]'))
    2526        return s
    2627    #}}}
    27 
    2828    def setdefaultparameters(self):  # {{{
    2929        return self
    3030    #}}}
    31 
    3231    def extrude(self, md):  # {{{
    3332        return self
    3433    #}}}
    35 
    3634    def checkconsistency(self, md, solution, analyses):  # {{{
    3735        #Early return
     
    4038
    4139        md = checkfield(md, 'fieldname', 'calving.crevasse_opening_stress', 'numel', [1], 'values', [0,1])
     40        md = checkfield(md, 'fieldname', 'calving.crevasse_threshold', 'numel', [1], '>', 0., '<=', 1.)
    4241        md = checkfield(md, 'fieldname', 'calving.water_height', 'NaN', 1, 'Inf', 1, 'timeseries', 1, '>=', 0)
    4342
    4443        return md
    4544    # }}}
    46 
    4745    def marshall(self, prefix, md, fid):  # {{{
    4846        yts = md.constants.yts
    4947        WriteData(fid, prefix, 'name', 'md.calving.law', 'data', 6, 'format', 'Integer')
    5048        WriteData(fid, prefix, 'object', self, 'fieldname', 'crevasse_opening_stress', 'format', 'Integer')
     49        WriteData(fid, prefix, 'object', self, 'fieldname', 'crevasse_threshold', 'format', 'Double')
    5150        WriteData(fid, prefix, 'object', self, 'fieldname', 'water_height', 'format', 'DoubleMat', 'mattype', 1, 'timeserieslength', md.mesh.numberofvertices + 1, 'yts', md.constants.yts)
    5251    # }}}
Note: See TracChangeset for help on using the changeset viewer.