Changeset 19803
- Timestamp:
- 11/25/15 13:41:18 (9 years ago)
- Location:
- issm/trunk-jpl/src/c/classes
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk-jpl/src/c/classes/FemModel.cpp
r19793 r19803 2426 2426 if(output_fid==NULL)_error_("FemModel::InitFromBuffers error message: could not initialize output stream"); 2427 2427 this->parameters->SetParam(output_fid,OutputFilePointerEnum); 2428 2428 this->parameters->AddObject(new GenericParam<char**>(&outputbuffer,OutputBufferPointerEnum)); 2429 this->parameters->AddObject(new GenericParam<size_t*>(&outputsize,OutputBufferSizePointerEnum)); 2430 2429 2431 /*Clean up*/ 2430 2432 delete iomodel; 2431 2433 }/*}}}*/ 2432 void FemModel::CleanUpJs( void){/*{{{*/2434 void FemModel::CleanUpJs(char** poutput, size_t* psize){/*{{{*/ 2433 2435 2434 2436 /*Intermediary*/ 2435 2437 FILE *output_fid; 2436 2437 /*Close output file: */ 2438 this->parameters->FindParam(&output_fid,OutputFilePointerEnum); 2439 fclose(output_fid); 2440 2438 GenericParam<char**>* outputbufferparam=NULL; 2439 GenericParam<size_t*>* outputbuffersizeparam=NULL; 2440 char** poutputbuffer; 2441 size_t* poutputbuffersize; 2442 2443 2441 2444 /*Before we delete the profiler, report statistics for this run: */ 2442 2445 profiler->Tag(Finish); //final tagging … … 2451 2454 ); 2452 2455 _printf0_("\n"); 2456 2457 /*Before we close the output file, recover the buffer and size:*/ 2458 outputbufferparam = xDynamicCast<GenericParam<char**>*>(this->parameters->FindParamObject(OutputBufferPointerEnum)); 2459 poutputbuffer=outputbufferparam->GetParameterValue(); 2460 outputbuffersizeparam = xDynamicCast<GenericParam<size_t*>*>(this->parameters->FindParamObject(OutputBufferSizePointerEnum)); 2461 poutputbuffersize=outputbuffersizeparam->GetParameterValue(); 2462 2463 /*Close output file. Watch out, only close the output file after recovering the buffer pointers. Not sure 2464 * why, but otherwise, the buffers are garbage: */ 2465 this->parameters->FindParam(&output_fid,OutputFilePointerEnum); 2466 fclose(output_fid); 2467 2468 /*Assign output values: */ 2469 *poutput=*poutputbuffer; 2470 *psize=*poutputbuffersize; 2453 2471 } 2454 2472 /*}}}*/ -
issm/trunk-jpl/src/c/classes/FemModel.h
r19793 r19803 123 123 FemModel(IssmDouble* buffer, int buffersize, char* toolkits, char* solution, char* modelname,ISSM_MPI_Comm incomm, bool trace=false); 124 124 void InitFromBuffers(char* buffer, int buffersize, char* toolkits, int solution_type,bool trace,IssmPDouble* X=NULL); 125 void CleanUpJs( void);125 void CleanUpJs(char** poutput, size_t* psize); 126 126 #endif 127 127 };
Note:
See TracChangeset
for help on using the changeset viewer.