diff options
Diffstat (limited to 'src/ioSDFGH.h')
-rw-r--r-- | src/ioSDFGH.h | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/src/ioSDFGH.h b/src/ioSDFGH.h new file mode 100644 index 0000000..e31867b --- /dev/null +++ b/src/ioSDFGH.h @@ -0,0 +1,87 @@ + /*@@ + @header ioSDFGH.h + @date Sat 12 June 2004 + @author Thomas Radke + @desc + The extensions to the GH structure from IOSDF. + @version $Header$ + @@*/ + +#ifndef _IOSDF_IOSDFGH_H_ +#define _IOSDF_IOSDFGH_H_ 1 + +#include "StoreNamedData.h" +#include "bbhutil.h" + +#ifdef __cplusplus +extern "C" +{ +#endif + +typedef struct IOSDFGH +{ + /* default number of times to output */ + int out1D_every_default, out2D_every_default, out3D_every_default; + + /* number of times to output every variable */ + CCTK_INT *out1D_every, *out2D_every, *out3D_every; + + /* lists of variables to output */ + char *out1D_vars, *out2D_vars, *out3D_vars; + + /* directories in which to output */ + char *out1D_dir, *out2D_dir, *out3D_dir; + + /* the last iteration output for var [i] */ + int *out1D_last, *out2D_last, *out3D_last; + + /* database for names of output files that were already created */ + pNamedData *fileList_1D, *fileList_2D, *fileList_3D; + + /* for 1D lines, we define the index where to start the line: + spxyz[maxdim][XYZdirection][xyzstart_index] */ + int ***spxyz; + + /* for 2D planes, we define the index where to locate the plane + sp2xyz[maxdim][perpendicular direction] */ + int **sp2xyz; + + /* stop on I/O parameter parsing errors ? */ + int stop_on_parse_errors; + +} ioSDFGH; + + +/* prototypes of functions to be registered as I/O methods */ +int IOSDF_Output1DGH (const cGH *GH); +int IOSDF_TriggerOutput1D (const cGH *GH, int); +int IOSDF_TimeFor1D (const cGH *GH, int); +int IOSDF_Output1DVarAs (const cGH *GH, const char *var, const char *alias); +int IOSDF_Output2DGH (const cGH *GH); +int IOSDF_TriggerOutput2D (const cGH *GH, int); +int IOSDF_TimeFor2D (const cGH *GH, int); +int IOSDF_Output2DVarAs (const cGH *GH, const char *var, const char *alias); +int IOSDF_Output3DGH (const cGH *GH); +int IOSDF_TriggerOutput3D (const cGH *GH, int); +int IOSDF_TimeFor3D (const cGH *GH, int); +int IOSDF_Output3DVarAs (const cGH *GH, const char *var, const char *alias); + +/* other function prototypes */ +void IOSDF_Startup (void); + +int IOSDF_Write1D (const cGH *GH, int vindex, const char *alias); +int IOSDF_Write2D (const cGH *GH, int vindex, const char *alias); +int IOSDF_Write3D (const cGH *GH, int vindex, const char *alias); + +void IOSDF_Choose1D (const cGH *GH); +void IOSDF_Choose2D (const cGH *GH); + +void IOSDF_CheckSteerableParameters1D (ioSDFGH *myGH); +void IOSDF_CheckSteerableParameters2D (ioSDFGH *myGH); +void IOSDF_CheckSteerableParameters3D (ioSDFGH *myGH); + +#ifdef __cplusplus +} // extern "C" +#endif + +#endif /* _IOSDF_IOSDFGH_H_ */ |