Ignore:
Timestamp:
01/27/22 13:30:21 (3 years ago)
Author:
vverjans
Message:

CHG: added requested_outputs to groundingline class

File:
1 edited

Legend:

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

    r24861 r26826  
    99                friction_interpolation = '';
    1010                melt_interpolation     = '';
     11                requested_outputs      = {};
    1112        end
    1213        methods
     
    2526                        self.friction_interpolation= 'SubelementFriction1';
    2627                        self.melt_interpolation    = 'NoMeltOnPartiallyFloating';
     28                        %default output
     29         self.requested_outputs     = {'default'};
    2730
    2831                end % }}}
     
    3235                        md = checkfield(md,'fieldname','groundingline.friction_interpolation','values',{'NoFrictionOnPartiallyFloating' 'SubelementFriction1' 'SubelementFriction2'});
    3336                        md = checkfield(md,'fieldname','groundingline.melt_interpolation','values',{'NoMeltOnPartiallyFloating' 'SubelementMelt1' 'SubelementMelt2' 'FullMeltOnPartiallyFloating'});
     37                        md = checkfield(md,'fieldname','groundingline.requested_outputs','stringrow',1);
    3438
    3539                        if ~strcmp(self.migration,'None') & strcmp(solution,'TransientSolution') & md.transient.isgroundingline==1,
     
    4852
    4953                end % }}}
     54                function list = defaultoutputs(self,md) % {{{
     55     
     56                        list = {'Surface','Base','MaskOceanLevelset'};
     57         
     58      end % }}}
    5059                function disp(self) % {{{
    5160                        disp(sprintf('   grounding line migration parameters:'));
     
    5362                        fielddisplay(self,'friction_interpolation','type of friction interpolation for partially floating elements: ''NoFrictionOnPartiallyFloating'',''SubelementFriction1'', or ''SubelementFriction2''');
    5463                        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');
    5565
    5666                end % }}}
     
    5969                        WriteData(fid,prefix,'data',self.friction_interpolation,'name','md.groundingline.friction_interpolation','format','String');
    6070                        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')
    6180                end % }}}
    6281                function savemodeljs(self,fid,modelname) % {{{
    6382               
    6483                        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);
    6787
    6888                end % }}}
Note: See TracChangeset for help on using the changeset viewer.