
\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn Carpet/CarpetReduce.  Storage can either last for the duration of the run ({\bf Always} means that if this thorn is activated storage will be assigned, {\bf Conditional} means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.


\subsection*{Storage}

\hspace{5mm}

 \begin{tabular*}{160mm}{ll} 

{\bf Always:}&  ~ \\ 
 weight & ~\\ 
 excised\_cells & ~\\ 
~ & ~\\ 
\end{tabular*} 


\subsection*{Scheduled Functions}
\vspace{5mm}

\noindent {\bf CCTK\_STARTUP} 

\hspace{5mm} carpetreducestartup 

\hspace{5mm}{\it startup routine } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_BASEGRID} 

\hspace{5mm} maskbase\_setupmask 

\hspace{5mm}{\it set up the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & spatialcoordinates \\ 
~& ~ &sphericalsurface\_setup\\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} maskbase\_setmask 

\hspace{5mm}{\it set the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & setupimask \\ 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~& ~ &loop-local\\ 
~ & Reads:  & carpetreduce::iweight(everywhere) \\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::one(everywhere) \\ 
~& ~ &carpetreduce::weight(everywhere)\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} setupmask 

\hspace{5mm}{\it set up the real weight function (schedule other routines in here) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & maskbase\_setmask \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} maskbase\_testmask 

\hspace{5mm}{\it test the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & setupmask \\ 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~ & Reads:  & carpetreduce::excised\_cells(everywhere) \\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::excised\_cells(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf SetupIMaskInternal} 

\hspace{5mm} coordbase\_setupmask 

\hspace{5mm}{\it set up the outer boundaries of the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~& ~ &loop-local\\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::iweight(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf SetupIMaskInternal} 

\hspace{5mm} carpetmasksetup 

\hspace{5mm}{\it set up the weight function for the restriction regions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~& ~ &loop-singlemap\\ 
~ & Reads:  & carpetreduce::iweight(everywhere) \\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::iweight(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTREGRIDINITIAL} 

\hspace{5mm} maskbase\_setupmask 

\hspace{5mm}{\it set up the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & spatialcoordinates \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTREGRID} 

\hspace{5mm} maskbase\_setupmask 

\hspace{5mm}{\it set up the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & spatialcoordinates \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES} 

\hspace{5mm} maskbase\_setupmask 

\hspace{5mm}{\it set up the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMask} 

\hspace{5mm} maskbase\_setupmaskall 

\hspace{5mm}{\it set up the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} maskbase\_allocatemask 

\hspace{5mm}{\it allocate the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::excised\_cells(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} maskbase\_initmask 

\hspace{5mm}{\it initialise the weight function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & maskbase\_allocatemask \\ 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~& ~ &loop-local\\ 
~ & Type:  & function \\ 
~ & Writes:  & carpetreduce::iweight(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} setupimaskinternal 

\hspace{5mm}{\it set up the integer weight function (schedule other routines in here) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & maskbase\_initmask \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MaskBase\_SetupMaskAll} 

\hspace{5mm} setupimask 

\hspace{5mm}{\it set up the integer weight function (schedule other routines in here) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & setupimaskinternal \\ 
~ & Type:  & group \\ 
\end{tabular*} 



\vspace{5mm}\parskip = 10pt 
