
\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/AHFinderDirect.  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:}&  ~ \\ 
 ah\_radius ah\_origin ah\_centroid ah\_flags & ~\\ 
 ahmask[1] & ~\\ 
~ & ~\\ 
\end{tabular*} 


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

\noindent {\bf CCTK\_BASEGRID} 

\hspace{5mm} ahfinderdirect\_setup 

\hspace{5mm}{\it setup data structures } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & spatialcoordinates \\ 
~ & Language:  & c \\ 
~ & Options:  & global \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ah\_centroid \\ 
~& ~ &ah\_flags\\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_recover 

\hspace{5mm}{\it import horizon data from cactus variables } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_announce 

\hspace{5mm}{\it announce horizon position(s) to other thorns } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & driftcorrect \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_import\_mask 

\hspace{5mm}{\it import the excision mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~& ~ &loop-local\\ 
~ & Reads:  & spacemask::emask \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ahmask(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_store 

\hspace{5mm}{\it store apparent horizon(s) into spherical surface(s) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & sphericalsurface\_hasbeenset \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_save 

\hspace{5mm}{\it save apparent horizon(s) into cactus variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_announce 

\hspace{5mm}{\it announce horizon position(s) to other thorns } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & driftcorrect \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_import\_mask 

\hspace{5mm}{\it import the excision mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~& ~ &loop-local\\ 
~ & Reads:  & spacemask::emask \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ahmask(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_store 

\hspace{5mm}{\it store apparent horizon(s) into spherical surface(s) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & sphericalsurface\_hasbeenset \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_save 

\hspace{5mm}{\it save apparent horizon(s) into cactus variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_find\_horizons 

\hspace{5mm}{\it find apparent horizon(s) after this time step } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Reads:  & staticconformal::conformal\_state \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_announce 

\hspace{5mm}{\it announce horizon position(s) to other thorns } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & driftcorrect \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_import\_mask 

\hspace{5mm}{\it import the excision mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~& ~ &loop-local\\ 
~ & Reads:  & spacemask::emask \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ahmask(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_store 

\hspace{5mm}{\it store apparent horizon(s) into spherical surface(s) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_save 

\hspace{5mm}{\it save apparent horizon(s) into cactus variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_announce 

\hspace{5mm}{\it announce horizon position(s) to other thorns } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & driftcorrect \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_import\_mask 

\hspace{5mm}{\it import the excision mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~& ~ &loop-local\\ 
~ & Reads:  & spacemask::emask \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ahmask(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_store 

\hspace{5mm}{\it store apparent horizon(s) into spherical surface(s) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & sphericalsurface\_hasbeenset \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_save 

\hspace{5mm}{\it save apparent horizon(s) into cactus variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP}   (conditional) 

\hspace{5mm} ahfinderdirect\_find\_horizons 

\hspace{5mm}{\it find apparent horizon(s) after this time step } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_announce 

\hspace{5mm}{\it announce horizon position(s) to other thorns } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & driftcorrect \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTREGRIDINITIAL} 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTREGRID} 

\hspace{5mm} ahfinderdirect\_maybe\_do\_masks 

\hspace{5mm}{\it set mask(s) based on apparent horizon position(s) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_find\_horizons 

\hspace{5mm}{\it find apparent horizon(s) after this time step } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTPOSTINITIAL}   (conditional) 

\hspace{5mm} ahfinderdirect\_find\_horizons 

\hspace{5mm}{\it find apparent horizon(s) after this time step } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POST\_RECOVER\_VARIABLES}   (conditional) 

\hspace{5mm} ahfinderdirect\_find\_horizons 

\hspace{5mm}{\it find apparent horizon(s) after this time step } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & mol\_poststep \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_import\_mask 

\hspace{5mm}{\it import the excision mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Before:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~& ~ &loop-local\\ 
~ & Reads:  & spacemask::emask \\ 
~ & Type:  & function \\ 
~ & Writes:  & ahfinderdirect::ahmask(everywhere) \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_store 

\hspace{5mm}{\it store apparent horizon(s) into spherical surface(s) } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Before:  & sphericalsurface\_hasbeenset \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf CCTK\_ANALYSIS}   (conditional) 

\hspace{5mm} ahfinderdirect\_save 

\hspace{5mm}{\it save apparent horizon(s) into cactus variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ahfinderdirect\_find\_horizons \\ 
~ & Language:  & c \\ 
~ & Options:  & global-early \\ 
~ & Type:  & function \\ 
\end{tabular*} 



\vspace{5mm}\parskip = 10pt 
