Changeset 16755


Ignore:
Timestamp:
11/14/13 09:14:25 (11 years ago)
Author:
Mathieu Morlighem
Message:

NEW: do not save empty steps in results

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

Legend:

Unmodified
Added
Removed
  • issm/trunk-jpl/src/c/cores/hydrology_core.cpp

    r16725 r16755  
    6767                        InputDuplicatex(femmodel,WatercolumnEnum,WaterColumnOldEnum);
    6868
    69                         if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
     69                        if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps || i==0)){
    7070                                if(VerboseSolution()) _printf0_("   saving results \n");
    7171                                int outputs[3] = {WatercolumnEnum,HydrologyWaterVxEnum,HydrologyWaterVyEnum};
     
    9191                        if(VerboseSolution()) _printf0_("   computing water head\n");
    9292                        solutionsequence_hydro_nonlinear(femmodel);
    93                         if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps)){
     93                        if(save_results && ((i+1)%output_frequency==0 || (i+1)==nsteps || i==0)){
    9494                                if(VerboseSolution()) _printf0_("   saving results \n");
    9595                                if(isefficientlayer){
  • issm/trunk-jpl/src/c/cores/transient_core.cpp

    r16742 r16755  
    106106
    107107                if(VerboseSolution()) _printf0_("iteration " << step << "/" << floor((finaltime-time)/dt)+step << "  time [yr]: " << time/yts << " (time step: " << dt/yts << ")\n");
    108                 if(step%output_frequency==0 || time==finaltime)
     108                if(step%output_frequency==0 || time==finaltime || step==1)
    109109                 save_results=true;
    110110                else
  • issm/trunk-jpl/src/m/solve/parseresultsfromdisk.m

    r16470 r16755  
    2626
    2727%Read fields until the end of the file.
    28 result=ReadData(fid);
     28result  = ReadData(fid);
     29counter = 1;
     30step    = result.step;
    2931while ~isempty(result),
    30         %Get time and step
    31         results(result.step).step=result.step;
    32         results(result.step).time=result.time;
     32
     33        %Check step, increase counter if this is a new step
     34        if(step~=result.step & result.step>1)
     35                counter = counter + 1;
     36                step    = result.step;
     37        end
    3338
    3439        %Add result
    35         if (length(results)>=result.step & isfield(results,result.fieldname) & ~strcmp(result.fieldname,'SolutionType')),
    36                         results(result.step).(result.fieldname)=[ results(result.step).(result.fieldname); result.field];
     40        if(result.step==1),
     41                index = 1;
    3742        else
    38                 results(result.step).(result.fieldname)=result.field;
    39         end
     43                index = counter;
     44        end
     45        results(index).step=result.step;
     46        results(index).time=result.time;
     47        results(index).(result.fieldname)=result.field;
    4048
    4149        %read next result
    4250        try,
    43                 result=ReadData(fid);
     51                result  = ReadData(fid);
    4452        catch me,
    45                 disp('WARNING: file corrupted, results partial recovery');
     53                disp('WARNING: file corrupted, trying partial recovery');
    4654                result=[];
    4755        end
Note: See TracChangeset for help on using the changeset viewer.