Changeset 26060


Ignore:
Timestamp:
03/10/21 00:56:24 (4 years ago)
Author:
jdquinn
Message:

CHG: Missing Python translation; clean up

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

Legend:

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

    r26047 r26060  
    1616                computesealevelchange  = 1; %will sea-level be coputed?
    1717                isgrd                  = 1; %will GRD patterns be computed?
    18                 compute_bp_grd         = 1; %will GRD patterns for bottomo pressures be computed?
     18                compute_bp_grd         = 1; %will GRD patterns for bottom pressures be computed?
    1919                degacc                 = 0; %degree increment for resolution of Green tables
    2020                horiz                  = 0; %compute horizontal deformation
     
    3535               
    3636                %Convergence criterion: absolute, relative and residual
    37                 self.reltol=0.01; % 1 per cent
    38                 self.abstol=NaN;  % default 
     37                self.reltol=0.01; % 1 percent
     38                self.abstol=NaN;  % default
    3939
    4040                %maximum of non-linear iterations.
     
    8989                        end
    9090
    91                         %a GRD computation has been requested, makes somes checks on the nature of the meshes provided.
     91                        %a GRD computation has been requested, make some checks on the nature of the meshes provided.
    9292                        if self.isgrd,
    9393                                if strcmpi(class(md.mesh),'mesh3dsurface'),
     
    9797                                else
    9898                                        if self.grdmodel==1,
    99                                                 error('model requires a 3D surface mesh to run GRD computations ( change mesh from mesh2d to mesh3dsurface)');
     99                                                error('model requires a 3D surface mesh to run GRD computations (change mesh from mesh2d to mesh3dsurface)');
    100100                                        end
    101101                                end
     
    125125                        fielddisplay(self,'glfraction','contribute fractionally (default, 1) to barystatic sea level');
    126126                        fielddisplay(self,'grdmodel','type of deformation model, 1 for elastic, 2 for visco-elastic from Ivins');
    127                         fielddisplay(self,'cross_section_shape','1: square-edged (default). 2: elliptical.  See iedge in GiaDeflectionCore');
     127                        fielddisplay(self,'cross_section_shape','1: square-edged (default). 2: elliptical. See iedge in GiaDeflectionCore');
    128128                end % }}}
    129129                function marshall(self,prefix,md,fid) % {{{
  • TabularUnified issm/trunk-jpl/src/m/classes/solidearthsettings.py

    r25817 r26060  
    2424        self.computesealevelchange  = 1 # Will grd_core compute sea level?
    2525        self.isgrd                  = 1 # Will GRD patterns be computed?
     26        self.compute_bp_grd         = 1 # Will GRD patterns for bottom pressures be computed?
    2627        self.degacc                 = 0 # Degree increment for resolution of Green tables
    2728        self.horiz                  = 0 # Compute horizontal displacement?
    2829        self.glfraction             = 1 # Barystatic contribution: full or fractional (default: fractional)
     30        self.grdmodel               = 0 # GRD model (0 by default, 1 for elastic, 2 for Ivins)
     31        self.cross_section_shape    = 0 # Cross section only used when GRD model is Ivins
    2932
    3033        nargin = len(args)
     
    4447        s += '{}\n'.format(fielddisplay(self, 'computesealevelchange', 'compute sealevel change from GRD in addition to steric?) default 0'))
    4548        s += '{}\n'.format(fielddisplay(self, 'isgrd', 'compute GRD patterns (default: 1'))
     49        s += '{}\n'.format(fielddisplay(self, 'compute_bp_grd', 'compute GRD patterns for bottom pressure loads (default 1)'))
    4650        s += '{}\n'.format(fielddisplay(self, 'runfrequency', 'how many time steps we skip before we run solidearthsettings solver during transient (default: 1)'))
    4751        s += '{}\n'.format(fielddisplay(self, 'rigid', 'rigid earth graviational potential perturbation'))
     
    4953        s += '{}\n'.format(fielddisplay(self, 'degacc', 'accuracy (default .01 deg) for numerical discretization of the Green\'s functions'))
    5054        s += '{}\n'.format(fielddisplay(self, 'glfraction', 'contribute fractionally (default, 1) to barystatic sea level'))
     55        s += '{}\n'.format(fielddisplay(self, 'grdmodel', 'type of deformation model, 1 for elastic, 2 for visco-elastic from Ivins'))
     56        s += '{}\n'.format(fielddisplay(self, 'cross_section_shape', '1: square-edged (default). 2: elliptical. See iedge in GiaDeflectionCore'))
    5157        return s
    5258    #}}}
     
    6571        self.rotation = 1
    6672        self.ocean_area_scaling = 0
    67         self.isgrd = 1
     73        self.compute_bp_grd = 1
     74        self.isgrd = 0
    6875        self.computesealevelchange = 1
    6976
     
    7986        # Horizontal displacement? (not on by default)
    8087        self.horiz = 0
     88
     89        # Cross section for Ivins model
     90        self.cross_section_shape = 1 # Square as default (see iedde in GiaDeflectionCorex)
     91
     92        # No GRD model by default
     93        self.grdmodel = 0
    8194    #}}}
    8295
     
    91104        md = checkfield(md, 'fieldname', 'solidearth.settings.horiz', 'NaN', 1, 'Inf', 1, 'values', [0, 1])
    92105        md = checkfield(md, 'fieldname', 'solidearth.settings.glfraction', 'values', [0, 1])
     106        md = checkfield(md, 'fieldname', 'solidearth.settings.grdmodel', 'values', [1, 2])
     107        md = checkfield(md, 'fieldname', 'solidearth.settings.cross_section_shape', 'numel', [1], 'values', [1, 2])
    93108
    94109        # Checks on computational flags
     
    96111            raise Exception('solidearthsettings checkconsistency error message: need rigid on if elastic flag is set')
    97112
    98         # A coupler to planet model is provided
     113        # A GRD computation has been requested, make some checks on the nature of the meshes provided
    99114        if self.isgrd:
    100             if md.transient.iscoupler:
    101                 # We are good
    102                 pass
    103             else:
    104                 if md.mesh.__class__.__name__ == 'mesh3dsurface':
    105                     # We are good
    106                     pass
     115            if md.mesh.__class__.__name__ is 'mesh3dsurface':
     116                if self.grdmodel == 2:
     117                    raise RuntimeException('model requires a 2D mesh to run gia Ivins computations (change mesh from mesh3dsurface to mesh2d)')
    107118                else:
    108                     raise Exception('model is requesting sealevel computations without being a mesh3dsurface, or being coupled to one!')
     119                    if self.grdmodel == 1:
     120                        raise RuntimeException('model requires a 3D surface mesh to run GRD computations (change mesh from mesh2d to mesh3dsurface)')
     121
     122        if self.compute_bp_grd and not md.solidearth.settings.isgrd:
     123            raise RuntimeException('solidearthsettings checkconsistency error message; if bottom pressure grd patterns are requested, solidearth settings class should have isgrd flag on')
     124
    109125        return md
    110126    #}}}
     
    123139        WriteData(fid, prefix, 'object', self, 'fieldname', 'computesealevelchange', 'name', 'md.solidearth.settings.computesealevelchange', 'format', 'Integer')
    124140        WriteData(fid, prefix, 'object', self, 'fieldname','isgrd', 'name', 'md.solidearth.settings.isgrd', 'format', 'Integer')
     141        WriteData(fid, prefix, 'object', self, 'fieldname', 'compute_bp_grd', 'name', 'md.solidearth.settings.compute_bp_grd', 'format', 'Integer')
    125142        WriteData(fid, prefix, 'object', self, 'fieldname','glfraction', 'name', 'md.solidearth.settings.glfraction', 'format', 'Integer')
     143        WriteData(fid, prefix, 'object', self, 'fieldname', 'grdmodel', 'name', 'md.solidearth.settings.grdmodel', 'format', 'Integer')
     144        WriteData(fid, prefix, 'object', self, 'fieldname', 'cross_section_shape', 'name', 'md.solidearth.settings.cross_section_shape', 'format', 'Integer')
    126145    #}}}
    127146
Note: See TracChangeset for help on using the changeset viewer.