source: issm/oecreview/Archive/23390-24306/ISSM-23775-23776.diff@ 24307

Last change on this file since 24307 was 24307, checked in by Mathieu Morlighem, 5 years ago

NEW: adding Archive/23390-24306

File size: 2.9 KB
  • ../trunk-jpl/src/m/classes/organizer.m

     
    1313%      org = organizer('repository','Models/','prefix','AGU2015','steps',0);  %build an empty organizer object with a given repository
    1414
    1515classdef organizer < handle
    16     properties (SetAccess=private)
     16        properties (SetAccess=private)
    1717                % {{{
    1818                currentstep   =0;
    1919        end
     
    2222                prefix        ='';
    2323                color         ='';
    2424                steps         =[];
     25                skipio        = false;
    2526                requestedsteps=[0];
    2627                %}}}
    2728        end
     
    4950                        %Get steps
    5051                        org.requestedsteps=getfieldvalue(options,'steps',0);
    5152
     53                        %Skip io?
     54                        org.skipio=getfieldvalue(options,'skipio',0);
    5255                end
    5356                %}}}
    5457                function disp(org) % {{{
     
    5558                        disp(sprintf('   Repository: ''%s''',org.repository));
    5659                        disp(sprintf('   Prefix:     ''%s''\n',org.prefix));
    5760                        disp(sprintf('   Color:      ''%s''\n',org.color));
     61                        disp(sprintf('   skipio:     %i\n',org.skipio));
    5862                        if isempty(org.steps)
    5963                                disp('   no step');
    6064                        else
     
    7074                        if ~ischar(string), error('argument provided is not a string'); end
    7175                        path=[org.repository '/' org.prefix string];
    7276
     77                        %Skip if requested
     78                        if org.skipio,
     79                                disp(['WARNING: Skipping loading ' path]);
     80                                md = evalin('base', 'md');
     81                                return;
     82                        end
     83
    7384                        %figure out if the model is there
    7485                        if exist(path,'file'),
    7586                                path=path;
     
    92103                        if ~ischar(string), error('argument provided is not a string'); end
    93104                        path=[org.repository '/' org.prefix string];
    94105
     106                        %Skip if requested
     107                        if org.skipio,
     108                                disp(['WARNING: Skipping loading ' path]);
     109                                md = evalin('base', 'md');
     110                                return;
     111                        end
     112
    95113                        %figure out if the model is there, otherwise, we have to use the default path supplied by user.
    96114                        if exist(path,'file') | exist([path '.mat'],'file'),
    97115                                md=loadmodel(path);
     
    174192                        name=[org.repository '/' org.prefix org.steps(org.currentstep).string ];
    175193                        disp(['saving model as: ' name]);
    176194
     195                        %Skip if requested
     196                        if org.skipio,
     197                                disp(['WARNING: Skipping saving ' name]);
     198                                return;
     199                        end
     200
    177201                        %check that md is a model
    178202                        if ~isa(md,'model') & ~isa(md,'sealevelmodel'), warning('second argument is not a model'); end
    179203                        if (org.currentstep>length(org.steps)), error(['organizer error message: element with id ' num2str(org.currentstep) ' not found']); end
     
    190214                        name=[org.repository '/' org.prefix org.steps(org.currentstep).string ];
    191215                        disp(['saving data in: ' name]);
    192216
     217                        %Skip if requested
     218                        if org.skipio,
     219                                disp(['WARNING: Skipping saving ' name]);
     220                                return;
     221                        end
     222
    193223                        %check that md is a model
    194224                        if (org.currentstep>length(org.steps)), error(['organizer error message: element with id ' num2str(org.currentstep) ' not found']); end
    195225
Note: See TracBrowser for help on using the repository browser.