
\section{Schedule} 


\parskip = 0pt


\noindent This section lists all the variables which are assigned storage by thorn EinsteinAnalysis/EHFinder.  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 Conditional:} \\ 
~ &  f[1]\\ 
~ &  f[2]\\ 
~ &  levelset\_integers\\ 
~ &  center\_arrays\\ 
~ &  xg[2] yg[2] zg[2]\\ 
~ &  dxg dyg dzg\\ 
~ &  xg2[2] yg2[2] zg2[2]\\ 
~ &  dxg2 dyg2 dzg2\\ 
~ &  sf\\ 
~ &  ftmp\\ 
~ &  sftmp\\ 
~ &  eh\_mask\\ 
~ &  surface\_arrays\\ 
~ &  eh\_area2 eh\_centroid2\_x eh\_centroid2\_y eh\_centroid2\_z\\ 
~ &  eh\_circ\_eq2 eh\_circ\_pol2\\ 
~ &  find\_surface\_status\\ 
~ & ~\\ 
\end{tabular*} 


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

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

\hspace{5mm} ehfinder\_paramcheck 

\hspace{5mm}{\it check parameters } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_metric 

\hspace{5mm}{\it read in metric from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_initweights 

\hspace{5mm}{\it setup weights for simpson integration } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_level\_sets 

\hspace{5mm}{\it loop over the level set functions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Level\_Sets}   (conditional) 

\hspace{5mm} ehfinder\_levelsetloopinit 

\hspace{5mm}{\it initialize the loop counter over the level set functions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Level\_Sets}   (conditional) 

\hspace{5mm} ehfinder\_surfaces 

\hspace{5mm}{\it count the number of surfaces and integrate over them } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Storage:  & surface\_integers \\ 
~& ~ &surface\_reals\\ 
~& ~ &surface\_index\\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::more\_levelsets \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Surfaces}   (conditional) 

\hspace{5mm} ehfinder\_countsurfacesinit 

\hspace{5mm}{\it initialize while loop control } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Surfaces}   (conditional) 

\hspace{5mm} ehfinder\_countmarksurfaces 

\hspace{5mm}{\it counting and mark surfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_countsurfacesinit \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::more\_surfaces \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_CountMarkSurfaces}   (conditional) 

\hspace{5mm} ehfinder\_countsurfaces 

\hspace{5mm}{\it check if there are more surfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Sync:  & surface\_index \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_CountMarkSurfaces}   (conditional) 

\hspace{5mm} ehfinder\_markpoints 

\hspace{5mm}{\it marking surfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_countsurfaces \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::more\_points \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_MarkPoints}   (conditional) 

\hspace{5mm} ehfinder\_marksurfaces 

\hspace{5mm}{\it mark points inside the current surface } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Sync:  & surface\_index \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_MarkPoints}   (conditional) 

\hspace{5mm} ehfinder\_applysymsc 

\hspace{5mm}{\it select the surface counter grid function for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_marksurfaces \\ 
~ & Language:  & fortran \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_lapse 

\hspace{5mm}{\it read in lapse from file } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_MarkPoints}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_Surfaces}   (conditional) 

\hspace{5mm} ehfinder\_infosurfaces 

\hspace{5mm}{\it output info about found surfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_countmarksurfaces \\ 
~ & Language:  & fortran \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Surfaces}   (conditional) 

\hspace{5mm} ehfinder\_integration 

\hspace{5mm}{\it find and integrate over surfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_infosurfaces \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::integrate\_counter \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Integration}   (conditional) 

\hspace{5mm} ehfinder\_findsurface 

\hspace{5mm}{\it find surface } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & surface\_tmp\_arrays \\ 
~& ~ &surface\_int\_array\\ 
~ & Sync:  & surface\_arrays \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Integration}   (conditional) 

\hspace{5mm} ehfinder\_findsurfaceelement 

\hspace{5mm}{\it find surface area element } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_findsurface \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & surface\_tmp\_arrays \\ 
~& ~ &interp\_metric\_arrays\\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Integration}   (conditional) 

\hspace{5mm} ehfinder\_integratearea 

\hspace{5mm}{\it calculate area integrals } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_findsurfaceelement \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & integrate\_tmp\_array \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Integration}   (conditional) 

\hspace{5mm} ehfinder\_integratecentroid 

\hspace{5mm}{\it calculate centroid integrals } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_integratearea \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & surface\_tmp\_arrays \\ 
~& ~ &integrate\_tmp\_array\\ 
~ & Triggers:  & eh\_centroid\_x \\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Integration}   (conditional) 

\hspace{5mm} ehfinder\_integratecircumference 

\hspace{5mm}{\it calculate circumferences } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_integratearea \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & surface\_tmp\_arrays \\ 
~& ~ &integrate\_tmp\_array\\ 
~ & Triggers:  & eh\_circ\_eq \\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_Surfaces}   (conditional) 

\hspace{5mm} ehfinder\_updatecounter 

\hspace{5mm}{\it update the loop variables } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Triggers:  & eh\_area \\ 
~& ~ &eh\_centroid\_x\\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~& ~ &eh\_circ\_eq\\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_copyarea 

\hspace{5mm}{\it copy areas to output variable } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_level\_sets \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & eh\_area \\ 
~ & Triggers:  & eh\_area \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_shift 

\hspace{5mm}{\it read in shift from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_copycentroid 

\hspace{5mm}{\it copy centroids to output variable } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_level\_sets \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & eh\_centroid\_x \\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~ & Triggers:  & eh\_centroid\_x \\ 
~& ~ &eh\_centroid\_y\\ 
~& ~ &eh\_centroid\_z\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_copycircumference 

\hspace{5mm}{\it copy circumferences to output variable } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_level\_sets \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & eh\_circ\_eq \\ 
~& ~ &eh\_circ\_pol\\ 
~ & Triggers:  & eh\_circ\_eq \\ 
~& ~ &eh\_circ\_pol\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_isosurfacearea 

\hspace{5mm}{\it find isosurfaces and calculate the area } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_IsoSurfaceArea}   (conditional) 

\hspace{5mm} ehfinder\_isosurface 

\hspace{5mm}{\it find isosurfaces } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & eh\_area \\ 
~ & Triggers:  & eh\_area \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_metric 

\hspace{5mm}{\it read in metric from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_lapse 

\hspace{5mm}{\it read in lapse from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_shift 

\hspace{5mm}{\it read in shift from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_conformal 

\hspace{5mm}{\it read in conformal factor from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_mask 

\hspace{5mm}{\it read in excision mask from file } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf MoL\_Register}   (conditional) 

\hspace{5mm} ehfinder\_molregister 

\hspace{5mm}{\it register evolution variables } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_conformal 

\hspace{5mm}{\it read in conformal factor from file } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_setsym 

\hspace{5mm}{\it register the symmetries for the level set function } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_maskinit 

\hspace{5mm}{\it setup the initial mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_init \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_CalcRHS}   (conditional) 

\hspace{5mm} ehfinder\_sources 

\hspace{5mm}{\it calculate the source terms } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & dfx \\ 
~& ~ &dfy\\ 
~& ~ &dfz\\ 
~& ~ &g3inv\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_CalcRHS}   (conditional) 

\hspace{5mm} ehfinder\_generator\_sources 

\hspace{5mm}{\it calculate the source terms for the generator evolution } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & generator\_arrays \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_CalcRHS}   (conditional) 

\hspace{5mm} ehfinder\_generator\_sources\_2d 

\hspace{5mm}{\it calculate the source terms for the 2d generator evolution } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & generator\_arrays2 \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_CalcRHS}   (conditional) 

\hspace{5mm} ehfinder\_generator\_sources2 

\hspace{5mm}{\it calculate the source terms2 for the generator evolution } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_sources \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & generator\_arrays \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf MoL\_PostStep}   (conditional) 

\hspace{5mm} ehfinder\_poststep 

\hspace{5mm}{\it schedule group for symmetry boundaries and syncing } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_PostStep}   (conditional) 

\hspace{5mm} ehfinder\_applysymf 

\hspace{5mm}{\it select f for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Sync:  & f \\ 
~& ~ &sftmp\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_PostStep}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_reinitialize 

\hspace{5mm}{\it re-initialize the level set function } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Storage:  & fbak \\ 
~& ~ &eh\_mask\_bak\\ 
~& ~ &re\_init\_control\\ 
~& ~ &niter\_reinit\\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

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

\hspace{5mm} ehfinder\_read\_mask 

\hspace{5mm}{\it read in excision mask from file } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf }   (conditional) 

\hspace{5mm} ehfinder\_prereinitialize 

\hspace{5mm}{\it routines for re-initialization control } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_PreReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitializecontrol 

\hspace{5mm}{\it initializes the re-initialization control } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_PreReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitializeinitialize 

\hspace{5mm}{\it initializes variables for reinitialization } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitializecontrol \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf }   (conditional) 

\hspace{5mm} euler\_reinitializeevolve 

\hspace{5mm}{\it schedule group for euler re-initialization evolution } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf Euler\_ReInitializeEvolve}   (conditional) 

\hspace{5mm} ehfinder\_reinitializeeuler 

\hspace{5mm}{\it euler scheme } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & dfx \\ 
~& ~ &dfy\\ 
~& ~ &dfz\\ 
~& ~ &dfsq\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf Euler\_ReInitializeEvolve}   (conditional) 

\hspace{5mm} ehfinder\_applysymfsftmp 

\hspace{5mm}{\it select f for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitializeeuler \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & f \\ 
~& ~ &sftmp\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf Euler\_ReInitializeEvolve}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf }   (conditional) 

\hspace{5mm} euler\_poststep 

\hspace{5mm}{\it schedule group for euler re-initialization post step } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf Euler\_PostStep}   (conditional) 

\hspace{5mm} ehfinder\_reinitializepoststep 

\hspace{5mm}{\it check if the re-initialization is done } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_prereinitialize 

\hspace{5mm}{\it pugh version of the pre-re-initialization routines } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_init 

\hspace{5mm}{\it setup local variables } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} euler\_reinitialize 

\hspace{5mm}{\it schedule group for euler re-initialization } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_prereinitializepugh \\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::re\_init\_control \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf Euler\_ReInitialize}   (conditional) 

\hspace{5mm} euler\_reinitializeevolve 

\hspace{5mm}{\it schedule group for euler re-initialization evolution with pugh } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf Euler\_ReInitialize}   (conditional) 

\hspace{5mm} euler\_poststep 

\hspace{5mm}{\it schedule group for euler re-initialization post step } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitialize\_check 

\hspace{5mm}{\it check to see if re-initialization has to be undone } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & euler\_reinitialize \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_prereinitialize\_carpet 

\hspace{5mm}{\it carpet version of the pre-reinitialization routines } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitialize\_wrapper 

\hspace{5mm}{\it wrapper routine for euler re-initialization for carpet } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_prereinitialize\_carpet \\ 
~ & Language:  & c \\ 
~ & Options:  & level \\ 
~ & Type:  & function \\ 
~ & While:  & ehfinder::re\_init\_control \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_ReInitialize}   (conditional) 

\hspace{5mm} rk2\_reinitialize 

\hspace{5mm}{\it schedule group for rk2 re-initialization } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitializecontrol \\ 
~ & Type:  & group \\ 
~ & While:  & ehfinder::re\_init\_control \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitializerk2\_1 

\hspace{5mm}{\it rk2 scheme step 1 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Storage:  & dfx \\ 
~& ~ &dfy\\ 
~& ~ &dfz\\ 
~& ~ &dfsq\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_applysymf 

\hspace{5mm}{\it select f for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitializerk2\_1 \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & f \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_init\_f 

\hspace{5mm}{\it setup the initial surface } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_reinitializerk2\_2 

\hspace{5mm}{\it rk2 scheme step 2 } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & sym\_rk2\_1 \\ 
~ & Language:  & fortran \\ 
~ & Storage:  & dfx \\ 
~& ~ &dfy\\ 
~& ~ &dfz\\ 
~& ~ &dfsq\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} ehfinder\_applysymf 

\hspace{5mm}{\it select f for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitializerk2\_2 \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & f \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf RK2\_ReInitialize}   (conditional) 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf CCTK\_POSTSTEP} 

\hspace{5mm} ehfinder\_setmask 

\hspace{5mm}{\it set the mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_reinitialize \\ 
~ & Storage:  & tm\_mask \\ 
~ & Type:  & group \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_setmask1 

\hspace{5mm}{\it start modifying the mask } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & Language:  & fortran \\ 
~ & Sync:  & f \\ 
~& ~ &eh\_mask\\ 
~& ~ &tm\_mask\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_applysymall 

\hspace{5mm}{\it select both f and eh\_mask for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_setmask1 \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_setmask2 

\hspace{5mm}{\it find excision boundaries } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinderall\_applybcs \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & eh\_mask \\ 
~& ~ &tm\_mask\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_applysymmask 

\hspace{5mm}{\it select eh\_mask for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_setmask2 \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_initweights 

\hspace{5mm}{\it setup weights for simpson integration } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_setmask3 

\hspace{5mm}{\it check to see if the mask needs to be modified } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_asm1 \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & eh\_mask \\ 
~& ~ &tm\_mask\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_applysymmask 

\hspace{5mm}{\it select eh\_mask for boundary conditions } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & ehfinder\_setmask3 \\ 
~ & Language:  & fortran \\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_setmask2 

\hspace{5mm}{\it find excision boundaries } 


\hspace{5mm}

 \begin{tabular*}{160mm}{cll} 
~ & After:  & asm2 \\ 
~ & Language:  & fortran \\ 
~ & Sync:  & eh\_mask \\ 
~& ~ &tm\_mask\\ 
~ & Type:  & function \\ 
\end{tabular*} 


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} ehfinder\_applysymmask 

\hspace{5mm}{\it select eh\_mask for boundary conditions } 


\hspace{5mm}

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


\vspace{5mm}

\noindent {\bf EHFinder\_SetMask} 

\hspace{5mm} applybcs 

\hspace{5mm}{\it apply boundary conditions (symmetries) } 


\hspace{5mm}

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


\vspace{5mm}

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

\hspace{5mm} ehfinder\_init 

\hspace{5mm}{\it setup local variables } 


\hspace{5mm}

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


\subsection*{Aliased Functions}

\hspace{5mm}

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

{\bf Alias Name:} ~~~~~~~ & {\bf Function Name:} \\ 
ApplyBCs & EHFinderMask3\_ApplyBCs \\ 
EHFinder\_ApplySymF & Sym\_RK2\_2 \\ 
EHFinder\_ApplySymMask & ASM3 \\ 
EHFinder\_PreReInitialize & EHFinder\_PreReInitializePugh \\ 
EHFinder\_SetMask2 & SM2 \\ 
Euler\_PostStep & Euler\_PostStepPUGH \\ 
Euler\_ReInitializeEvolve & Euler\_ReInitializeEvolvePUGH \\ 
\end{tabular*} 



\vspace{5mm}\parskip = 10pt 
