Changeset 16464


Ignore:
Timestamp:
10/18/13 16:17:55 (11 years ago)
Author:
Mathieu Morlighem
Message:

CHG: added dafault outputs for masstransport

Location:
issm/trunk-jpl/src
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/analyses/masstransport_core.cpp

    r16442 r16464  
    7878        if(save_results){
    7979                if(VerboseSolution()) _printf0_("   saving results\n");
    80                 InputToResultx(femmodel,ThicknessEnum);
    81                 InputToResultx(femmodel,BedEnum);
    82                 InputToResultx(femmodel,SurfaceEnum);
    83                 femmodel->RequestedOutputsx(requested_outputs,numoutputs);
     80                femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);
    8481        }
    8582
  • issm/trunk-jpl/src/m/classes/masstransport.m

    r16458 r16464  
    6060                        end
    6161                end % }}}
     62                function list=defaultoutputs(self,md) % {{{
     63
     64                        list = {'Thickness','Surface','Bed'};
     65
     66                end % }}}
    6267                function obj = setdefaultparameters(obj) % {{{
    6368
     
    7378                        %Hydrostatic adjustment
    7479                        obj.hydrostatic_adjustment='Absolute';
     80
     81                        %default output
     82                        obj.requested_outputs={'default'};
    7583                end % }}}
    7684                function md = checkconsistency(obj,md,solution,analyses) % {{{
     
    109117                        WriteData(fid,'object',obj,'fieldname','vertex_pairing','format','DoubleMat','mattype',3);
    110118                        WriteData(fid,'object',obj,'fieldname','penalty_factor','format','Double');
    111                         WriteData(fid,'object',obj,'fieldname','requested_outputs','format','StringArray');
     119                       
     120                        %process requested outputs
     121                        outputs = obj.requested_outputs;
     122                        pos  = find(ismember(outputs,'default'));
     123                        if ~isempty(pos),
     124                                outputs(pos) = [];                         %remove 'default' from outputs
     125                                outputs      = [outputs defaultoutputs(obj,md)]; %add defaults
     126                        end
     127                        WriteData(fid,'data',outputs,'enum',MasstransportRequestedOutputsEnum,'format','StringArray');
    112128                end % }}}
    113129        end
  • issm/trunk-jpl/src/m/classes/masstransport.py

    r16458 r16464  
    3838                return string
    3939                #}}}
     40        def defaultoutputs(self,md): # {{{
     41
     42                return ['Thickness','Surface','Bed']
     43
     44        #}}}
    4045        def setdefaultparameters(self): # {{{
    4146               
     
    5257                self.hydrostatic_adjustment='Absolute'
    5358
     59                #default output
     60                self.requested_outputs=['default']
    5461                return self
    5562        #}}}
     
    7784                WriteData(fid,'object',self,'fieldname','vertex_pairing','format','DoubleMat','mattype',3)
    7885                WriteData(fid,'object',self,'fieldname','penalty_factor','format','Double')
    79                 WriteData(fid,'object',self,'fieldname','requested_outputs','format','StringArray');
     86
     87                #process requested outputs
     88                outputs = self.requested_outputs
     89                indices = [i for i, x in enumerate(outputs) if x == 'default']
     90                if len(indices) > 0:
     91                        outputscopy=outputs[0:max(0,indices[0]-1)]+self.defaultoutputs(md)+outputs[indices[0]+1:]
     92                        outputs    =outputscopy
     93                WriteData(fid,'data',outputs,'enum',MasstransportRequestedOutputsEnum(),'format','StringArray')
    8094        # }}}
Note: See TracChangeset for help on using the changeset viewer.