/*@@ @header ioHDF5GH.h @date Jun 20 2000 @author Thomas Radke @desc The extensions to the GH structure from IOHDF5. @version $Id$ @@*/ #ifndef _IOHDF5_IOHDF5GH_H_ #define _IOHDF5_IOHDF5GH_H_ #include "BetaThorns/IOHDF5Util/src/ioHDF5UtilGH.h" #include "StoreNamedData.h" /* IOHDF5 GH extension structure */ typedef struct { /* how often to output */ int out_every; /* directories in which to output */ char *outdir; /* the last iteration output */ int *out_last; /* filename database for opened files */ pNamedData *open_output_files; /* for restart from recovery: flags indicating whether to check for already existing groups/datasets to delete before creating them anew */ char *check_exisiting_objects; /* timer array for checkpointing/recovery */ int timers[IOHDF5_NUM_TIMERS]; /* flag to indicate request for timer output */ int print_timing_info; /* geometry information (downsampling, zooming, etc.) */ ioHDF5Geo_t **out_geo; /* ring buffer for list of successfully created cp files */ int cp_filename_index; char **cp_filename_list; } ioHDF5GH; #ifdef __cplusplus extern "C" { #endif /* prototypes of functions to be registered as IOHDF5's IO method */ int IOHDF5_OutputGH (cGH *GH); int IOHDF5_TriggerOutput (cGH *GH, int); int IOHDF5_TimeFor (cGH *GH, int); int IOHDF5_OutputVarAs (cGH *GH, const char *var, const char *alias); int IOHDF5_Recover (cGH *GH, const char *basename, int called_from); /* other function prototypes */ void IOHDF5_Write (cGH *GH, int vindex, const char *alias); int IOHDF5_WriteIsosurface (cGH *GH, const char *filename, const char *GVname, CCTK_INT iteration, CCTK_INT timelevel, CCTK_REAL isoval, CCTK_REAL minval, CCTK_REAL maxval, int nTriangles, CCTK_INT4 *triangles, int nVertices, CCTK_REAL4 *vertices); #ifdef __cplusplus } // extern "C" #endif #endif /* _IOHDF5_IOHDF5GH_H_ */