Changeset 26826 for issm/trunk-jpl/src/m/classes/groundingline.m
- Timestamp:
- 01/27/22 13:30:21 (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/m/classes/groundingline.m
r24861 r26826 9 9 friction_interpolation = ''; 10 10 melt_interpolation = ''; 11 requested_outputs = {}; 11 12 end 12 13 methods … … 25 26 self.friction_interpolation= 'SubelementFriction1'; 26 27 self.melt_interpolation = 'NoMeltOnPartiallyFloating'; 28 %default output 29 self.requested_outputs = {'default'}; 27 30 28 31 end % }}} … … 32 35 md = checkfield(md,'fieldname','groundingline.friction_interpolation','values',{'NoFrictionOnPartiallyFloating' 'SubelementFriction1' 'SubelementFriction2'}); 33 36 md = checkfield(md,'fieldname','groundingline.melt_interpolation','values',{'NoMeltOnPartiallyFloating' 'SubelementMelt1' 'SubelementMelt2' 'FullMeltOnPartiallyFloating'}); 37 md = checkfield(md,'fieldname','groundingline.requested_outputs','stringrow',1); 34 38 35 39 if ~strcmp(self.migration,'None') & strcmp(solution,'TransientSolution') & md.transient.isgroundingline==1, … … 48 52 49 53 end % }}} 54 function list = defaultoutputs(self,md) % {{{ 55 56 list = {'Surface','Base','MaskOceanLevelset'}; 57 58 end % }}} 50 59 function disp(self) % {{{ 51 60 disp(sprintf(' grounding line migration parameters:')); … … 53 62 fielddisplay(self,'friction_interpolation','type of friction interpolation for partially floating elements: ''NoFrictionOnPartiallyFloating'',''SubelementFriction1'', or ''SubelementFriction2'''); 54 63 fielddisplay(self,'melt_interpolation','type of melt interpolation for partially floating elements: ''NoMeltOnPartiallyFloating'',''SubelementMelt1'',''SubelementMelt2'', or ''FullMeltOnPartiallyFloating'''); 64 fielddisplay(self,'requested_outputs','additional outputs requested'); 55 65 56 66 end % }}} … … 59 69 WriteData(fid,prefix,'data',self.friction_interpolation,'name','md.groundingline.friction_interpolation','format','String'); 60 70 WriteData(fid,prefix,'data',self.melt_interpolation,'name','md.groundingline.melt_interpolation','format','String'); 71 72 %process requested outputs 73 outputs = self.requested_outputs; 74 pos = find(ismember(outputs,'default')); 75 if ~isempty(pos), 76 outputs(pos) = []; %remove 'default' from outputs 77 outputs = [outputs defaultoutputs(self,md)]; %add defaults 78 end 79 WriteData(fid,prefix,'data',outputs,'name','md.groundingline.requested_outputs','format','StringArray') 61 80 end % }}} 62 81 function savemodeljs(self,fid,modelname) % {{{ 63 82 64 83 writejsstring(fid,[modelname '.groundingline.migration'],self.migration); 65 writejsstring(fid,[modelname '.groundingline.friction_interpolation'],self.migration); 66 writejsstring(fid,[modelname '.groundingline.melt_interpolation'],self.migration); 84 writejsstring(fid,[modelname '.groundingline.friction_interpolation'],self.friction_interpolation); 85 writejsstring(fid,[modelname '.groundingline.melt_interpolation'],self.melt_interpolation); 86 writejscellstring(fid,[modelname '.groundingline.requested_outputs'],self.requested_outputs); 67 87 68 88 end % }}}
Note:
See TracChangeset
for help on using the changeset viewer.