Changeset 26744 for issm/trunk/src/m/classes/hydrologyshreve.m
- Timestamp:
- 12/22/21 10:39:44 (3 years ago)
- Location:
- issm/trunk
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk
- Property svn:mergeinfo changed
/issm/trunk-jpl merged: 25837-25866,25868-25993,25995-26330,26332-26733,26736-26739,26741
- Property svn:mergeinfo changed
-
issm/trunk/src
- Property svn:mergeinfo changed
-
issm/trunk/src/m/classes/hydrologyshreve.m
r23189 r26744 11 11 end 12 12 methods 13 function self = extrude(self,md) % {{{14 end % }}}15 13 function self = hydrologyshreve(varargin) % {{{ 16 14 switch nargin … … 23 21 end 24 22 end % }}} 25 function list = defaultoutputs(self,md) % {{{ 26 list = {'Watercolumn','HydrologyWaterVx','HydrologyWaterVy'}; 27 end % }}} 23 function disp(self) % {{{ 24 disp(sprintf(' hydrologyshreve solution parameters:')); 25 fielddisplay(self,'spcwatercolumn','water thickness constraints (NaN means no constraint) [m]'); 26 fielddisplay(self,'stabilization','artificial diffusivity (default: 1). can be more than 1 to increase diffusivity.'); 27 fielddisplay(self,'requested_outputs','additional outputs requested'); 28 28 29 end % }}} 29 30 function self = setdefaultparameters(self) % {{{ 30 31 31 32 %Type of stabilization to use 0:nothing 1:artificial_diffusivity 32 33 self.stabilization = 1; 33 34 self.requested_outputs = {'default'}; 34 35 end % }}} 35 36 function md = checkconsistency(self,md,solution,analyses) % {{{ 36 37 37 38 %Early return 38 if ~ismember('HydrologyShreveAnalysis',analyses) 39 return; 40 end 39 if ~ismember('HydrologyShreveAnalysis',analyses) | (strcmp(solution,'TransientSolution') & md.transient.ishydrology==0), return; end 41 40 42 41 md = checkfield(md,'fieldname','hydrology.spcwatercolumn','Inf',1,'timeseries',1); 43 42 md = checkfield(md,'fieldname','hydrology.stabilization','>=',0); 44 43 end % }}} 45 function disp(self) % {{{ 46 disp(sprintf(' hydrologyshreve solution parameters:')); 47 fielddisplay(self,'spcwatercolumn','water thickness constraints (NaN means no constraint) [m]'); 48 fielddisplay(self,'stabilization','artificial diffusivity (default is 1). can be more than 1 to increase diffusivity.'); 49 fielddisplay(self,'requested_outputs','additional outputs requested'); 50 44 function list = defaultoutputs(self,md) % {{{ 45 list = {'Watercolumn','HydrologyWaterVx','HydrologyWaterVy'}; 51 46 end % }}} 52 47 function marshall(self,prefix,md,fid) % {{{ … … 54 49 WriteData(fid,prefix,'object',self,'fieldname','spcwatercolumn','format','DoubleMat','mattype',1,'timeserieslength',md.mesh.numberofvertices+1,'yts',md.constants.yts); 55 50 WriteData(fid,prefix,'object',self,'fieldname','stabilization','format','Double'); 56 outputs = self.requested_outputs; 57 pos = find(ismember(outputs,'default')); 58 if ~isempty(pos), 59 outputs(pos) = []; %remove 'default' from outputs 60 outputs = [outputs defaultoutputs(self,md)]; %add defaults 61 end 62 WriteData(fid,prefix,'data',outputs,'name','md.hydrology.requested_outputs','format','StringArray'); 51 outputs = self.requested_outputs; 52 pos = find(ismember(outputs,'default')); 53 if ~isempty(pos), 54 outputs(pos) = []; %remove 'default' from outputs 55 outputs = [outputs defaultoutputs(self,md)]; %add defaults 56 end 57 WriteData(fid,prefix,'data',outputs,'name','md.hydrology.requested_outputs','format','StringArray'); 58 end % }}} 59 function self = extrude(self,md) % {{{ 63 60 end % }}} 64 61 function savemodeljs(self,fid,modelname) % {{{
Note:
See TracChangeset
for help on using the changeset viewer.