Changeset 5297


Ignore:
Timestamp:
08/17/10 07:45:12 (15 years ago)
Author:
Eric.Larour
Message:

Added branching process, handy when diverging from the initial repository. Also added capture of the runme.m file in the saving process of the model

Location:
issm/trunk/src/m/classes/@runsteps
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • TabularUnified issm/trunk/src/m/classes/@runsteps/loadmodel.m

    r3184 r5297  
    77%   Examples:
    88%      md=loadmodel(rs,num)
     9%      md=loadmodel(rs,'previous model')
    910%      md=loadmodel(rs,num,'2d')
    1011
     
    3536        error('loadmodel error message: third argument should be a string');
    3637end
     38%figure out if the model is there, otherwise, we have to use the default path supplied by user.
     39if exist(path,'file'),
    3740
    38 %load model
    39 md=loadmodel(path);
     41        %load model
     42        md=loadmodel(path);
     43else
     44        if isempty(rs.defaultprefix),
     45                error('loadmodel error message: cannot find model, and default prefix was not supplied');
     46        else
     47               
     48                if nargin~=3
     49                        path=[rs.repository '/' rs.defaultprefix num2str(id)];
     50                elseif ischar(varargin{1}),
     51                        path=[rs.repository '/' rs.defaultprefix num2str(id) '.' varargin{1} ];
     52                else
     53                        error('loadmodel error message: third argument should be a string');
     54                end
     55        end
     56        %load model
     57        md=loadmodel(path);
     58end
  • TabularUnified issm/trunk/src/m/classes/@runsteps/runsteps.m

    r3184 r5297  
    99%      rs = runsteps('../Models/');               %build an empty runsteps object with a given repository
    1010%      rs = runsteps('../Models/','models.AGU.'); %build an empty runsteps object with a given repository and a prefix
     11%      rs = runsteps('../Models/','models.AGU.','models.default.Agu.'); %build an empty runsteps object with a given repository, a prefix and a default prefix, in case we are branching
    1112
    1213if (nargin==0),
     
    1415        rs.repository='./';
    1516        rs.prefix    ='model.step#';
     17        rs.defaultprefix    ='';
    1618        rs.steps     =[];
    1719        rs=class(rs,'runsteps');
     
    2527        rs.repository=varargin{1};
    2628        rs.prefix    ='model.step#';
     29        rs.defaultprefix    ='';
    2730        rs.steps     =[];
    2831        rs=class(rs,'runsteps');
     
    3639        rs.repository=varargin{1};
    3740        rs.prefix    =varargin{2};
     41        rs.defaultprefix    ='';
     42        rs.steps     =[];
     43        rs=class(rs,'runsteps');
     44
     45elseif (nargin==3 & ischar(varargin{1}) & ischar(varargin{2}) & ischar(varargin{3})),
     46
     47        %Check repository
     48        if exist(varargin{1},'dir')~=7,
     49                error(['runsteps constructor error message: repository ' varargin{1} ' is not a directory']),
     50        end
     51        rs.repository=varargin{1};
     52        rs.prefix    =varargin{2};
     53        rs.defaultprefix    =varargin{3};
    3854        rs.steps     =[];
    3955        rs=class(rs,'runsteps');
    4056
    4157else
    42 
    4358        help runsteps
    4459        error('runsteps constructor error message: bad usage')
  • TabularUnified issm/trunk/src/m/classes/@runsteps/savemodel.m

    r3184 r5297  
    3030end
    3131
     32%before saving model, try and find a runme.m file, and save it.
     33if isnans(md.runmefile),
     34        md.runmefile=cell(0,1);
     35        md.runmefile{1,1}=char(textread('runme.m','%s','delimiter','\n'));
     36else
     37        md.runmefile{end+1,1}=char(textread('runme.m','%s','delimiter','\n'));
     38end
     39
    3240%save model
    3341if nargin==3,
Note: See TracChangeset for help on using the changeset viewer.