aboutsummaryrefslogtreecommitdiff
path: root/tex/src/figure-data-lineage.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/src/figure-data-lineage.tex')
-rw-r--r--tex/src/figure-data-lineage.tex236
1 files changed, 236 insertions, 0 deletions
diff --git a/tex/src/figure-data-lineage.tex b/tex/src/figure-data-lineage.tex
new file mode 100644
index 0000000..d849e8c
--- /dev/null
+++ b/tex/src/figure-data-lineage.tex
@@ -0,0 +1,236 @@
+\newcommand{\paperpdf}{}
+\newcommand{\papertex}{}
+\newcommand{\projecttex}{}
+\newcommand{\verifytex}{}
+\newcommand{\initializetex}{}
+\newcommand{\downloadtex}{}
+\newcommand{\inputtwo}{}
+\newcommand{\inputsconf}{}
+\newcommand{\analysisonetex}{}
+\newcommand{\outoneb}{}
+\newcommand{\outonebdep}{}
+\newcommand{\inputone}{}
+\newcommand{\inputonedep}{}
+\newcommand{\analysistwotex}{}
+\newcommand{\outtwob}{}
+\newcommand{\outtwobdep}{}
+\newcommand{\analysisthreetex}{}
+\newcommand{\analysisthreeouts}{}
+\newcommand{\outtwoa}{}
+\newcommand{\outtwoadep}{}
+\newcommand{\outthreeadep}{}
+
+
+
+
+
+\begin{tikzpicture}[
+ line width=1.5pt,
+ black!50,
+ text=black,
+]
+
+ %% Use small fonts
+ \footnotesize
+
+ %% These white lines are only added to fix the vertical position of
+ %% the figure so it doesn't change as we add more boxes.
+ \draw [white] (-7.5,0) -- (7.4,0);
+ \draw [white] (0,-4.7) -- (0,5.7);
+
+ %% top-make.mk
+ \node [at={(-0.05cm,2mm)},
+ rectangle,
+ very thick,
+ text centered,
+ font=\ttfamily,
+ text width=2.8cm,
+ minimum height=7.8cm,
+ draw=green!50!black!50,
+ minimum width=\linewidth,
+ fill=black!10!green!2!white,
+ label={[shift={(0,-5mm)}]\texttt{top-make.mk}}] {};
+
+ %% Work-horse Makefiles. -5.6 -> -5.73 = -0.13
+ \node (initializemk) [node-makefile, at={(-5.73cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{initialize.mk}}] {};
+ \node (downloadmk) [node-makefile, at={(-2.93cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{download.mk}}] {};
+ \node (analysis1mk) [node-makefile, at={(-0.13cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis1.mk}}] {};
+ \node (analysis2mk) [node-makefile, at={(2.67cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis2.mk}}] {};
+ \node (analysis2mk) [node-makefile, at={(5.47cm,-1.3cm)},
+ label={[shift={(0,-5mm)}]\texttt{analysis3.mk}}] {};
+
+ %% verify.mk
+ \node [at={(-5.3cm,-2.8cm)},
+ thick,
+ rectangle,
+ text centered,
+ font=\ttfamily,
+ text width=2.45cm,
+ minimum width=3.5cm,
+ minimum height=1.3cm,
+ draw=green!50!black!50,
+ fill=black!10!green!12!white,
+ label={[shift={(1cm,-5mm)}]\texttt{verify.mk}}] {};
+
+ %% Paper.mk
+ \node [at={(2.67cm,-2.8cm)},
+ thick,
+ rectangle,
+ text centered,
+ text width=2.8cm,
+ minimum width=8.5cm,
+ minimum height=1.3cm,
+ draw=green!50!black!50,
+ fill=black!10!green!12!white,
+ font=\ttfamily,
+ label={[shift={(0,-5mm)}]\texttt{paper.mk}}] {};
+
+ %% paper.pdf
+ \ifdefined\paperpdf
+ \node (paperpdf) [node-terminal, at={(5.47cm,-2.9cm)}] {paper.pdf};
+ \fi
+
+ %% paper.tex
+ \ifdefined\papertex
+ \node (papertex) [node-nonterminal, at={(5.47cm,-4.2cm)}] {paper.tex};
+ \draw [->] (papertex) -- (paperpdf);
+ \fi
+
+ %% project.tex
+ \ifdefined\projecttex
+ \node (projecttex) [node-terminal, at={(-0.13cm,-2.9cm)}] {project.tex};
+ \draw [->] (projecttex) -- (paperpdf);
+ \fi
+
+ %% verify.tex
+ \ifdefined\verifytex
+ \node (verifytex) [node-terminal, at={(-5.73cm,-2.9cm)}] {verify.tex};
+ \draw [->] (verifytex) -- (projecttex);
+ \fi
+
+ %% Initialize.tex
+ \ifdefined\initializetex
+ \node (initializetex) [node-terminal, at={(-5.73cm,-0.8cm)}] {initialize.tex};
+ \node (initialize-south) [node-point, at={(-5.73cm,-1.5cm)}] {};
+ \draw [->] (initializetex) -- (verifytex);
+ \node [anchor=west, at={(-7.05cm,2.30cm)}] {Basic project info};
+ \node [anchor=west, at={(-7.05cm,1.95cm)}] {(e.g., Git commit).};
+ \node [anchor=west, at={(-7.05cm,1.10cm)}] {Also defines};
+ \node [anchor=west, at={(-7.05cm,0.75cm)}] {project structure};
+ \node [anchor=west, at={(-7.05cm,0.40cm)}] {(for \texttt{*.mk} files).};
+ \fi
+
+ %% download.tex
+ \ifdefined\downloadtex
+ \node (downloadtex) [node-terminal, at={(-2.93cm,-0.8cm)}] {download.tex};
+ \draw [rounded corners, -] (downloadtex) |- (initialize-south);
+ \fi
+
+ %% input-2.dat
+ \ifdefined\inputtwo
+ \node (input2) [node-terminal, at={(-2.93cm,1.1cm)}] {input2.dat};
+ \draw [->] (input2) -- (downloadtex);
+ \fi
+
+ %% INPUTS.conf
+ \ifdefined\inputsconf
+ \node (INPUTS) [node-nonterminal, at={(-2.93cm,4.6cm)}] {INPUTS.conf};
+ \node (input2-west) [node-point, at={(-4.33cm,1.1cm)}] {};
+ \draw [->,rounded corners] (INPUTS.west) -| (input2-west) |- (input2);
+ \fi
+
+ %% analysis1.tex
+ \ifdefined\analysisonetex
+ \node (a1tex) [node-terminal, at={(-0.13cm,-0.8cm)}] {analysis1.tex};
+ \draw [rounded corners, -] (a1tex) |- (initialize-south);
+ \fi
+
+ %% out1b.dat
+ \ifdefined\outoneb
+ \node (out1b) [node-terminal, at={(-0.13cm,1.1cm)}] {out-1b.dat};
+ \draw [->] (out1b) -- (a1tex);
+ \fi
+
+ %% outonebdep
+ \ifdefined\outonebdep
+ \node (out1b-west) [node-point, at={(-1.53cm,1.1cm)}] {};
+ \node (out1a) [node-terminal, at={(-0.13cm,2.7cm)}] {out-1a.dat};
+ \node (a1conf1) [node-nonterminal, at={(-0.13cm,4.6cm)}] {param-1.conf};
+ \draw [->] (input2) -- (out1b);
+ \draw [->] (out1a) -- (out1b);
+ \draw [->,rounded corners] (a1conf1.west) -| (out1b-west) |- (out1b);
+ \fi
+
+ %% input1.dat
+ \ifdefined\inputone
+ \node (input1) [node-terminal, at={(-2.93cm,1.9cm)}] {input1.dat};
+ \draw [->,rounded corners,] (input1.north) |- (out1a);
+ \fi
+
+ %% input1 dependencies
+ \ifdefined\inputonedep
+ \node (input1-east) [node-point, at={(-1.53cm,1.9cm)}] {};
+ \node (input1-west) [node-point, at={(-4.33cm,1.9cm)}] {};
+ \draw [->,rounded corners] (INPUTS.west) -| (input1-west) |- (input1);
+ \fi
+
+ %% analysis2.tex
+ \ifdefined\analysistwotex
+ \node (a2tex) [node-terminal, at={(2.67cm,-0.8cm)}] {analysis2.tex};
+ \draw [rounded corners, -] (a2tex) |- (initialize-south);
+ \fi
+
+ %% out-2b.dat
+ \ifdefined\outtwob
+ \node (out2b) [node-terminal, at={(2.67cm,0.3cm)}] {out-2b.dat};
+ \draw [->] (out2b) -- (a2tex);
+ \fi
+
+ %% out-2b dependencies
+ \ifdefined\outtwobdep
+ \draw [->,rounded corners,] (out1b.south) |- (out2b);
+ \fi
+
+ %% analysis3.tex
+ \ifdefined\analysisthreetex
+ \node (a3tex) [node-terminal, at={(5.47cm,-0.8cm)}] {analysis3.tex};
+ \draw [rounded corners, -] (a3tex) |- (initialize-south);
+ \fi
+
+ %% Outputs of analysis3
+ \ifdefined\analysisthreeouts
+ \node (out3a) [node-terminal, at={(5.47cm,2.7cm)}] {out-3a.dat};
+ \node (out3b) [node-terminal, at={(5.47cm,1.1cm)}] {out-3b.dat};
+ \node (a3tex-east) [node-point, at={(6.87cm,-0.8cm)}] {};
+ \draw [->,rounded corners] (out3a.east) -| (a3tex-east) |- (a3tex);
+ \draw [->] (out3b) -- (a3tex);
+ \fi
+
+ %% out-2a.dat
+ \ifdefined\outtwoa
+ \node (out2a) [node-terminal, at={(2.67cm,1.9cm)}] {out-2a.dat};
+ \draw [->, rounded corners] (out2a.south) |- (out3b);
+ \fi
+
+ %% Dependencies of out-2a
+ \ifdefined\outtwoadep
+ \node (a2conf1) [node-nonterminal, at={(2.67cm,5.3cm)}] {param-2a.conf};
+ \node (a2conf2) [node-nonterminal, at={(2.67cm,4.6cm)}] {param-2b.conf};
+ \node (out2a-west) [node-point, at={(1.27cm,1.9cm)}] {};
+ \draw [->,rounded corners] (a2conf1.west) -| (out2a-west) |- (out2a);
+ \draw [->,rounded corners] (a2conf2.west) -| (out2a-west) |- (out2a);
+ \draw [->] (input1) -- (out2a);
+ \fi
+
+ %% Dependencies of out-3a
+ \ifdefined\outthreeadep
+ \node (out3a-west) [node-point, at={(4.07cm,2.7cm)}] {};
+ \node (a3conf1) [node-nonterminal, at={(5.47cm,4.6cm)}] {param-3.conf};
+ \draw [->] (out1a) -- (out3a);
+ \draw [rounded corners] (a3conf1.west) -| (out3a-west) |- (out3a);
+ \fi
+\end{tikzpicture}