Changeset 17064
- Timestamp:
- 01/06/14 16:34:22 (11 years ago)
- Location:
- issm/trunk-jpl/src/c
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/FemModel.cpp
r16948 r17064 468 468 } 469 469 /*}}}*/ 470 void FemModel::RequestedOutputsx(Results **presults,char** requested_outputs, int numoutputs ){/*{{{*/470 void FemModel::RequestedOutputsx(Results **presults,char** requested_outputs, int numoutputs, bool save_results){/*{{{*/ 471 471 472 472 /*Intermediaries*/ … … 495 495 if(output_enum<0){ 496 496 double_result = OutputDefinitionsResponsex(this,output_string); 497 if(save_results){ 498 results->AddResult(new GenericExternalResult<IssmPDouble>(results->Size()+1,output_string,reCast<IssmPDouble>(double_result),step,time)); 499 continue; 500 } 497 501 } 498 502 else{ … … 561 565 vector_result->Assemble(); 562 566 563 results->AddResult(new GenericExternalResult<Vector<IssmDouble>*>(results->Size()+1,output_enum,vector_result,step,time));567 if (save_results)results->AddResult(new GenericExternalResult<Vector<IssmDouble>*>(results->Size()+1,output_enum,vector_result,step,time)); 564 568 isvec = true; 565 569 break; … … 572 576 573 577 /*Add result to Results*/ 574 if(!isvec ){578 if(!isvec && save_results){ 575 579 results->AddResult(new GenericExternalResult<IssmPDouble>(results->Size()+1,output_string,reCast<IssmPDouble>(double_result),step,time)); 576 580 } … … 581 585 } 582 586 /*}}}*/ 583 void FemModel::RequestedOutputsx(Results **presults,int* requested_outputs, int numoutputs ){/*{{{*/587 void FemModel::RequestedOutputsx(Results **presults,int* requested_outputs, int numoutputs,bool save_results){/*{{{*/ 584 588 585 589 /*Convert list of enums to list of string*/ … … 590 594 591 595 /*Call main module*/ 592 this->RequestedOutputsx(presults,enumlist,numoutputs );596 this->RequestedOutputsx(presults,enumlist,numoutputs,save_results); 593 597 594 598 /*clean up and return*/ -
issm/trunk-jpl/src/c/classes/FemModel.h
r16685 r17064 81 81 void DakotaResponsesx(double* d_responses,char** responses_descriptors,int numresponsedescriptors,int d_numresponses); 82 82 #endif 83 void RequestedOutputsx(Results **presults,char** requested_outputs, int numoutputs );84 void RequestedOutputsx(Results **presults,int* requested_outputs, int numoutputs );83 void RequestedOutputsx(Results **presults,char** requested_outputs, int numoutputs,bool save_results=true); 84 void RequestedOutputsx(Results **presults,int* requested_outputs, int numoutputs,bool save_results=true); 85 85 void RequestedDependentsx(void); 86 86 void Responsex(IssmDouble* presponse,int response_descriptor_enum); -
issm/trunk-jpl/src/c/cores/transient_core.cpp
r16755 r17064 106 106 107 107 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|| step==1)108 if(step%output_frequency==0 || (time >= finaltime - (yts*DBL_EPSILON)) || step==1) 109 109 save_results=true; 110 110 else … … 160 160 161 161 /*unload results*/ 162 if(VerboseSolution()) _printf0_(" computing requested outputs\n"); 163 femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs,save_results); 164 if(isdelta18o){ 165 int outputs[2] = {SurfaceforcingsMonthlytemperaturesEnum,SurfaceforcingsPrecipitationEnum}; 166 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2,save_results); 167 } 168 if(isgroundingline && (groundingline_migration==SubelementMigrationEnum || groundingline_migration==SubelementMigration2Enum)){ 169 int outputs[1] = {MaskGroundediceLevelsetEnum}; 170 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1,save_results); 171 } 172 162 173 if(save_results){ 163 if(VerboseSolution()) _printf0_(" saving transient results\n");164 femmodel->RequestedOutputsx(&femmodel->results,requested_outputs,numoutputs);165 if(isdelta18o){166 int outputs[2] = {SurfaceforcingsMonthlytemperaturesEnum,SurfaceforcingsPrecipitationEnum};167 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],2);168 }169 if(isgroundingline && (groundingline_migration==SubelementMigrationEnum || groundingline_migration==SubelementMigration2Enum)){170 int outputs[1] = {MaskGroundediceLevelsetEnum};171 femmodel->RequestedOutputsx(&femmodel->results,&outputs[0],1);172 }173 174 if(VerboseSolution()) _printf0_(" saving temporary results\n"); 174 175 OutputResultsx(femmodel);
Note:
See TracChangeset
for help on using the changeset viewer.