aboutsummaryrefslogtreecommitdiff
path: root/src/Output1D.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Output1D.c')
-rw-r--r--src/Output1D.c294
1 files changed, 0 insertions, 294 deletions
diff --git a/src/Output1D.c b/src/Output1D.c
deleted file mode 100644
index f601ef3..0000000
--- a/src/Output1D.c
+++ /dev/null
@@ -1,294 +0,0 @@
- /*@@
- @file Output1D.c
- @date Tue Jan 9 1999
- @author Gabrielle Allen
- @desc
- Functions to deal 1D HDF5 output of variables
- @enddesc
- @history
- @hauthor Thomas Radke @hdate 16 Mar 1999
- @hdesc Converted to Cactus 4.0
- @hendhistory
- @@*/
-
-
-
-#include <stdio.h>
-#include <stdlib.h>
-
-#include "cctk.h"
-#include "cctk_Parameters.h"
-#include "ioHDF5GH.h"
-
-
-/* function prototypes */
-int IOHDF5_TimeFor1D (cGH *GH, int index);
-int IOHDF5_Output1DVarAs (cGH *GH, const char *var, const char *alias);
-static void CheckSteerableParameters (ioHDF5GH *myGH);
-static void SetOutputFlag (int index, const char *optstring, void *arg);
-
-
-/*@@
- @routine IOHDF5_Output1DGH
- @date Sat March 6 1999
- @author Gabrielle Allen
- @desc
- Loops over all variables and outputs them if necessary
- @enddesc
- @calledby CCTK_OutputGH ("IOHDF5_1D")
- @history
-
- @endhistory
- @var GH
- @vdesc Pointer to CCTK GH
- @vtype cGH
- @vio in
- @endvar
-@@*/
-
-int IOHDF5_Output1DGH (cGH *GH)
-{
- DECLARE_CCTK_PARAMETERS
- int i;
- ioHDF5GH *myGH;
- const char *name;
- char *fullname;
- int ierr=0;
-
- /* Get the GH extension for IOHDF5 */
- myGH = (ioHDF5GH *) GH->extensions [CCTK_GHExtensionHandle ("IOHDF5")];
-
- CheckSteerableParameters (myGH);
-
- if (myGH->out1D_every <= 0)
- return (0);
-
- /* Loop over all variables */
- for (i = 0; i < CCTK_NumVars (); i++)
- {
-
- if (IOHDF5_TimeFor1D (GH, i))
- {
-
- name = CCTK_VarName (i);
- fullname = CCTK_FullName (i);
-
- if (verbose)
- CCTK_VInfo (CCTK_THORNSTRING, "IOHDF5_Output1DGH: fullname / name = "
- "%s / %s", fullname, name);
-
- ierr=IOHDF5_Output1DVarAs (GH, fullname, name);
-
- free (fullname);
-
- /* Register variable as having 1D output this iteration */
- myGH->out1D_last [i] = GH->cctk_iteration;
- }
- }
- if (verbose)
- CCTK_INFO("IOHDF5_Output1DGH Done \n\n");
-
- return (ierr);
-}
-
-
-/*@@
- @routine IOHDF5_Output1DVarAs
- @date Sat March 6 1999
- @author Gabrielle Allen
- @desc
- unconditional output of a variable using the IOHDF5 1D output method
- @enddesc
- @calledby IOHDF5_Output1DGH, CCTK_OutputVarAsByMethod ("IOHDF5_1D")
- @var GH
- @vdesc Pointer to CCTK GH
- @vtype cGH
- @vio in
- @vcomment
- @endvar
- @var fullname
- @vdesc complete name of variable to output
- @vtype const char *
- @vio in
- @vcomment
- @endvar
- @var alias
- @vdesc alias name of variable to output (used to generate output filename)
- @vtype const char *
- @vio in
- @vcomment
- @endvar
-@@*/
-
-int IOHDF5_Output1DVarAs (cGH *GH, const char *fullname, const char *alias)
-{
- DECLARE_CCTK_PARAMETERS
- int index, ierr=0;
-
- index = CCTK_VarIndex (fullname);
-
- /* first, check if variable has storage assigned */
- if (! CCTK_QueryGroupStorageI (GH, CCTK_GroupIndexFromVarI (index)))
- {
- CCTK_VWarn (2, __LINE__, __FILE__, CCTK_THORNSTRING,
- "No IOHDF5 1D output for '%s' (no storage)", fullname);
- return(-1);
- }
-
- if (verbose)
- CCTK_VInfo (CCTK_THORNSTRING, "IOHDF5_Output1DVarAs: fullname, alias, "
- "index = (%s, %s, %d)", fullname, alias, index);
-
- /* Do the 1D output */
- ierr=IOHDF5_Write1D (GH, index, alias);
-
- return (ierr);
-}
-
-
-/*@@
- @routine IOHDF5_TimeFor1D
- @date Sat March 6 1999
- @author Gabrielle Allen
- @desc
- Decides if it is time to output a variable using the IOHDF5 1D output
- method
- @enddesc
- @calledby IOHDF5_Output1DGH
- @history
-
- @endhistory
- @var GH
- @vdesc Pointer to CCTK GH
- @vtype cGH
- @vio in
- @vcomment
- @endvar
- @var index
- @vdesc index of variable
- @vtype int
- @vio in
- @vcomment
- @endvar
-@@*/
-
-int IOHDF5_TimeFor1D (cGH *GH, int index)
-{
- ioHDF5GH *myGH;
-
-
- /* Get the GH extension for IOHDF5 */
- myGH = (ioHDF5GH *) GH->extensions [CCTK_GHExtensionHandle ("IOHDF5")];
-
- CheckSteerableParameters (myGH);
-
- /* Check if any output was requested */
- if(myGH->out1D_every <= 0)
- return (0);
-
- /* Check this variable should be output */
- if (! (myGH->do_out1D [index] && GH->cctk_iteration % myGH->out1D_every == 0))
- return (0);
-
- /* Check variable not already output this iteration */
- if (myGH->out1D_last [index] == GH->cctk_iteration)
- {
- CCTK_WARN (2, "Already done 1D output in IOHDF5");
- return (0);
- }
-
- return (1);
-}
-
-
-/*@@
- @routine IOHDF5_TriggerOutput1D
- @date Sat March 6 1999
- @author Gabrielle Allen
- @desc
- Triggers the output a variable using the IOHDF5 1D output
- method
- @enddesc
- @calledby CCTK scheduler
- @var GH
- @vdesc Pointer to CCTK GH
- @vtype cGH
- @vio in
- @vcomment
- @endvar
- @var index
- @vdesc index of variable to output
- @vtype int
- @vio in
- @vcomment
- @endvar
-@@*/
-
-int IOHDF5_TriggerOutput1D (cGH *GH, int index)
-{
- DECLARE_CCTK_PARAMETERS
- ioHDF5GH *myGH;
- const char *varname;
- int ierr=0;
-
- varname = CCTK_VarName (index);
-
- myGH = (ioHDF5GH *) GH->extensions [CCTK_GHExtensionHandle ("IOHDF5")];
-
- if (verbose)
- CCTK_VInfo (CCTK_THORNSTRING, "IOHDF5_TriggerOutput1D: varname, index = "
- "(%s, %d)", varname, index);
-
- /* Do the 1D output */
- ierr=IOHDF5_Write1D (GH, index, varname);
-
- /* Register variable as having 1D output this iteration */
- myGH->out1D_last [index] = GH->cctk_iteration;
-
- return (ierr);
-}
-
-
-/**************************** local functions ******************************/
-static void CheckSteerableParameters (ioHDF5GH *myGH)
-{
- DECLARE_CCTK_PARAMETERS
- int out1D_vars_current_nset;
- static int out1D_vars_lastset = -1;
-
-
- /* How often to output */
- myGH->out1D_every = out_every > 0 ? out_every : -1;
- if (out1D_every > 0)
- myGH->out1D_every = out1D_every;
-
- /* re-parse the 'IOHDF5::out1D_vars' parameter if it was changed */
- out1D_vars_current_nset = CCTK_ParameterQueryTimesSet ("out1D_vars",
- CCTK_THORNSTRING);
- if (out1D_vars_current_nset != out1D_vars_lastset)
- {
- memset (myGH->do_out1D, 0, CCTK_NumVars ());
- CCTK_TraverseString (out1D_vars, SetOutputFlag, myGH->do_out1D,
- CCTK_GROUP_OR_VAR);
-
- /* Save the last setting of 'out1D_vars' parameter */
- out1D_vars_lastset = out1D_vars_current_nset;
- }
-}
-
-
-/* callback for CCTK_TraverseString() to set the output flag
- for the given variable */
-static void SetOutputFlag (int index, const char *optstring, void *arg)
-{
- char *flags = (char *) arg;
-
-
- flags[index] = 1;
-
- if (optstring)
- {
- CCTK_VWarn (5, __LINE__, __FILE__, CCTK_THORNSTRING,
- "Optional string '%s' in variable name ignored", optstring);
- }
-}