Changeset 26060
- Timestamp:
- 03/10/21 00:56:24 (4 years ago)
- 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 16 16 computesealevelchange = 1; %will sea-level be coputed? 17 17 isgrd = 1; %will GRD patterns be computed? 18 compute_bp_grd = 1; %will GRD patterns for bottom opressures be computed?18 compute_bp_grd = 1; %will GRD patterns for bottom pressures be computed? 19 19 degacc = 0; %degree increment for resolution of Green tables 20 20 horiz = 0; %compute horizontal deformation … … 35 35 36 36 %Convergence criterion: absolute, relative and residual 37 self.reltol=0.01; % 1 per cent38 self.abstol=NaN; % default 37 self.reltol=0.01; % 1 percent 38 self.abstol=NaN; % default 39 39 40 40 %maximum of non-linear iterations. … … 89 89 end 90 90 91 %a GRD computation has been requested, make s someschecks on the nature of the meshes provided.91 %a GRD computation has been requested, make some checks on the nature of the meshes provided. 92 92 if self.isgrd, 93 93 if strcmpi(class(md.mesh),'mesh3dsurface'), … … 97 97 else 98 98 if self.grdmodel==1, 99 error('model requires a 3D surface mesh to run GRD computations ( 99 error('model requires a 3D surface mesh to run GRD computations (change mesh from mesh2d to mesh3dsurface)'); 100 100 end 101 101 end … … 125 125 fielddisplay(self,'glfraction','contribute fractionally (default, 1) to barystatic sea level'); 126 126 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. 127 fielddisplay(self,'cross_section_shape','1: square-edged (default). 2: elliptical. See iedge in GiaDeflectionCore'); 128 128 end % }}} 129 129 function marshall(self,prefix,md,fid) % {{{ -
TabularUnified issm/trunk-jpl/src/m/classes/solidearthsettings.py ¶
r25817 r26060 24 24 self.computesealevelchange = 1 # Will grd_core compute sea level? 25 25 self.isgrd = 1 # Will GRD patterns be computed? 26 self.compute_bp_grd = 1 # Will GRD patterns for bottom pressures be computed? 26 27 self.degacc = 0 # Degree increment for resolution of Green tables 27 28 self.horiz = 0 # Compute horizontal displacement? 28 29 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 29 32 30 33 nargin = len(args) … … 44 47 s += '{}\n'.format(fielddisplay(self, 'computesealevelchange', 'compute sealevel change from GRD in addition to steric?) default 0')) 45 48 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)')) 46 50 s += '{}\n'.format(fielddisplay(self, 'runfrequency', 'how many time steps we skip before we run solidearthsettings solver during transient (default: 1)')) 47 51 s += '{}\n'.format(fielddisplay(self, 'rigid', 'rigid earth graviational potential perturbation')) … … 49 53 s += '{}\n'.format(fielddisplay(self, 'degacc', 'accuracy (default .01 deg) for numerical discretization of the Green\'s functions')) 50 54 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')) 51 57 return s 52 58 #}}} … … 65 71 self.rotation = 1 66 72 self.ocean_area_scaling = 0 67 self.isgrd = 1 73 self.compute_bp_grd = 1 74 self.isgrd = 0 68 75 self.computesealevelchange = 1 69 76 … … 79 86 # Horizontal displacement? (not on by default) 80 87 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 81 94 #}}} 82 95 … … 91 104 md = checkfield(md, 'fieldname', 'solidearth.settings.horiz', 'NaN', 1, 'Inf', 1, 'values', [0, 1]) 92 105 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]) 93 108 94 109 # Checks on computational flags … … 96 111 raise Exception('solidearthsettings checkconsistency error message: need rigid on if elastic flag is set') 97 112 98 # A coupler to planet model is provided113 # A GRD computation has been requested, make some checks on the nature of the meshes provided 99 114 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)') 107 118 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 109 125 return md 110 126 #}}} … … 123 139 WriteData(fid, prefix, 'object', self, 'fieldname', 'computesealevelchange', 'name', 'md.solidearth.settings.computesealevelchange', 'format', 'Integer') 124 140 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') 125 142 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') 126 145 #}}} 127 146
Note:
See TracChangeset
for help on using the changeset viewer.