From 3978859c2e04629ed6cc1672eda7d98b70deea5d Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Fri, 21 Aug 2015 15:05:55 +0000
Subject: [PATCH] add tutorial for basic commands

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@4887 d63d8f72-b253-0410-a779-e742ad2e26cf
---
 crpptbx_new/demos/gdat_tutorial.m           |  45 +++++++-
 crpptbx_new/demos/html/gdat_tutorial.html   | 120 +++++++++++++++++++-
 crpptbx_new/demos/html/gdat_tutorial.png    | Bin 0 -> 4311 bytes
 crpptbx_new/demos/html/gdat_tutorial_01.png | Bin 0 -> 3950 bytes
 crpptbx_new/demos/html/gdat_tutorial_02.png | Bin 0 -> 19000 bytes
 crpptbx_new/demos/html/gdat_tutorial_03.png | Bin 0 -> 15508 bytes
 6 files changed, 160 insertions(+), 5 deletions(-)
 create mode 100644 crpptbx_new/demos/html/gdat_tutorial.png
 create mode 100644 crpptbx_new/demos/html/gdat_tutorial_01.png
 create mode 100644 crpptbx_new/demos/html/gdat_tutorial_02.png
 create mode 100644 crpptbx_new/demos/html/gdat_tutorial_03.png

diff --git a/crpptbx_new/demos/gdat_tutorial.m b/crpptbx_new/demos/gdat_tutorial.m
index 242c2f21..5314ddf1 100644
--- a/crpptbx_new/demos/gdat_tutorial.m
+++ b/crpptbx_new/demos/gdat_tutorial.m
@@ -23,4 +23,47 @@ gdat_data.gdat_call % always contains the string so that the same gdat call can
 %% list of data_request names for a specific machine
 gdat_data = gdat('machine','aug');
 gdat_data.gdat_request
-%%
+%% a simple example: get plasma current
+gdat_data = gdat(48836,'ip'); % shot number is for TCV (default machine if run at CRPP)
+gdat_data = gdat(48836,'ip','doplot',1);
+gdat_data = gdat(48836,'Ip');
+% Note that the return data_request name is 'ip', since lower case is used throughout
+gdat_data.gdat_request
+%% a 2D example with Te profiles
+gdat_data = gdat(48836,'te'); % return thomson data, thus versus Z (vertical height) of local measurements
+gdat_data = gdat(48836,'te','doplot',1); % default plot is always versus time, using gdat_data.t
+% for more specific plots, use gdat_plot(gdat_data,...) function
+%% Explaination of main fields
+gdat_data = gdat(48836,'te');
+gdat_data
+% The following fields are always present:
+% gdat_data.data  % (as well as .units) providing the data
+% gdat_data.dim   % (as well as .dimunits) providing the coordinates
+% gdat_data.t     % corresponding to the time coordinate (copied from dim{timecoord})
+% gdat_data.x     % all coordinates but time (typically radial if 2D signal or channel number)
+% gdat_data.shot
+% gdat_data.gdat_request
+% gdat_data.gdat_params
+% gdat_data.data_fullpath  % provides information on tracename origin within the database
+% gdat_data.gdat_call  % string corresponding to the current call to gdat
+
+% Some extra fields might be present:
+% gdat_data.label  % usually present, used as label in plots
+% gdat_data.error_bar  % error_bars to be used in errorbar plot e.g: errorbar(gdat_data.x,gdat_data.data(:,20),gdat_data.error_bar(:,20),'*-')
+% gdat_data.mapping_for_tcv  % information used to fetch the data,
+%                            contains information on the time index, useful for multi-D data
+%
+%% Explanation of basic parameters fields of gdat_params
+gdat_data = gdat(48836,'te');
+gdat_data.gdat_params % at this stage contains few elements, will depend on specific data_request
+%
+% gdat_params should contain all the information necessary to recall gdat
+% and get the same information, except the shot number, thus
+% gdat_data2 = gdat(48836,gdat_data.gdat_params);
+% should return the same values. This allows to quickly load the similar data from different shot
+shotlist=[48836, 48837, 48839];
+for ishot=1:length(shotlist)
+    gdat_data_te{ishot} = gdat(shotlist(ishot),gdat_data.gdat_params);
+end
+gdat_plot(gdat_data_te{3});
+
diff --git a/crpptbx_new/demos/html/gdat_tutorial.html b/crpptbx_new/demos/html/gdat_tutorial.html
index 51a1cd9a..719f952a 100644
--- a/crpptbx_new/demos/html/gdat_tutorial.html
+++ b/crpptbx_new/demos/html/gdat_tutorial.html
@@ -6,7 +6,7 @@
    <!--
 This HTML was auto-generated from MATLAB code.
 To make changes, update the MATLAB code and republish this document.
-      --><title>tutorial</title><meta name="generator" content="MATLAB 8.3"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2015-08-21"><meta name="DC.source" content="tutorial.m"><style type="text/css">
+      --><title>gdat_tutorial</title><meta name="generator" content="MATLAB 8.3"><link rel="schema.DC" href="http://purl.org/dc/elements/1.1/"><meta name="DC.date" content="2015-08-21"><meta name="DC.source" content="gdat_tutorial.m"><style type="text/css">
 html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}:focus{outine:0}ins{text-decoration:none}del{text-decoration:line-through}table{border-collapse:collapse;border-spacing:0}
 
 html { min-height:100%; margin-bottom:1px; }
@@ -66,7 +66,7 @@ table td { padding:7px 5px; text-align:left; vertical-align:top; border:1px soli
 
 
 
-  </style></head><body><div class="content"><h2>Contents</h2><div><ul><li><a href="#1">gdat tutorial: some basic calls and functionalities</a></li><li><a href="#2">getting the list of available predefined data_request names</a></li><li><a href="#3">list of data_request names for a specific machine</a></li></ul></div><h2>gdat tutorial: some basic calls and functionalities<a name="1"></a></h2><p>gdat calls in fact the main function MACHINE/gdat_machine.m within the gdat folder gdat can be call with one of the available "data_request" keyword or with a full trace_name</p><p>The basic call is: data_out_struct = gdat(shot,data_request,'option1',option1_val,...);</p><p>But sub-cases are also valid and explained below</p><p>At this stage, you need to do the following to test it:</p><pre class="codeinput">addpath <span class="string">~sauter/matlab/gdat_develop/crpptbx_new</span>
+  </style></head><body><div class="content"><h2>Contents</h2><div><ul><li><a href="#1">gdat tutorial: some basic calls and functionalities</a></li><li><a href="#2">getting the list of available predefined data_request names</a></li><li><a href="#3">list of data_request names for a specific machine</a></li><li><a href="#4">a simple example: get plasma current</a></li><li><a href="#5">a 2D example with Te profiles</a></li><li><a href="#6">Explaination of main fields</a></li><li><a href="#7">Explanation of basic parameters fields of gdat_params</a></li></ul></div><h2>gdat tutorial: some basic calls and functionalities<a name="1"></a></h2><p>gdat calls in fact the main function MACHINE/gdat_machine.m within the gdat folder gdat can be call with one of the available "data_request" keyword or with a full trace_name</p><p>The basic call is: data_out_struct = gdat(shot,data_request,'option1',option1_val,...);</p><p>But sub-cases are also valid and explained below</p><p>At this stage, you need to do the following to test it:</p><pre class="codeinput">addpath <span class="string">~sauter/matlab/gdat_develop/crpptbx_new</span>
 </pre><h2>getting the list of available predefined data_request names<a name="2"></a></h2><pre class="codeinput">gdat_data = gdat;
 <span class="comment">%</span>
 <span class="comment">% This is the simplest call and returns 3 useful information:</span>
@@ -180,7 +180,76 @@ ans =
     'zmag'
     'equil'
 
-</pre><p class="footer"><br><a href="http://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2014a</a><br></p></div><!--
+</pre><h2>a simple example: get plasma current<a name="4"></a></h2><pre class="codeinput">gdat_data = gdat(48836,<span class="string">'ip'</span>); <span class="comment">% shot number is for TCV (default machine if run at CRPP)</span>
+gdat_data = gdat(48836,<span class="string">'ip'</span>,<span class="string">'doplot'</span>,1);
+gdat_data = gdat(48836,<span class="string">'Ip'</span>);
+<span class="comment">% Note that the return data_request name is 'ip', since lower case is used throughout</span>
+gdat_data.gdat_request
+</pre><pre class="codeoutput">
+ans =
+
+ip
+
+</pre><img vspace="5" hspace="5" src="gdat_tutorial_01.png" alt=""> <h2>a 2D example with Te profiles<a name="5"></a></h2><pre class="codeinput">gdat_data = gdat(48836,<span class="string">'te'</span>); <span class="comment">% return thomson data, thus versus Z (vertical height) of local measurements</span>
+gdat_data = gdat(48836,<span class="string">'te'</span>,<span class="string">'doplot'</span>,1); <span class="comment">% default plot is always versus time, using gdat_data.t</span>
+<span class="comment">% for more specific plots, use gdat_plot(gdat_data,...) function</span>
+</pre><img vspace="5" hspace="5" src="gdat_tutorial_02.png" alt=""> <h2>Explaination of main fields<a name="6"></a></h2><pre class="codeinput">gdat_data = gdat(48836,<span class="string">'te'</span>);
+gdat_data
+<span class="comment">% The following fields are always present:</span>
+<span class="comment">% gdat_data.data  % (as well as .units) providing the data</span>
+<span class="comment">% gdat_data.dim   % (as well as .dimunits) providing the coordinates</span>
+<span class="comment">% gdat_data.t     % corresponding to the time coordinate (copied from dim{timecoord})</span>
+<span class="comment">% gdat_data.x     % all coordinates but time (typically radial if 2D signal or channel number)</span>
+<span class="comment">% gdat_data.shot</span>
+<span class="comment">% gdat_data.gdat_request</span>
+<span class="comment">% gdat_data.gdat_params</span>
+<span class="comment">% gdat_data.data_fullpath  % provides information on tracename origin within the database</span>
+<span class="comment">% gdat_data.gdat_call  % string corresponding to the current call to gdat</span>
+
+<span class="comment">% Some extra fields might be present:</span>
+<span class="comment">% gdat_data.label  % usually present, used as label in plots</span>
+<span class="comment">% gdat_data.error_bar  % error_bars to be used in errorbar plot e.g: errorbar(gdat_data.x,gdat_data.data(:,20),gdat_data.error_bar(:,20),'*-')</span>
+<span class="comment">% gdat_data.mapping_for_tcv  % information used to fetch the data,</span>
+<span class="comment">%                            contains information on the time index, useful for multi-D data</span>
+<span class="comment">%</span>
+</pre><pre class="codeoutput">
+gdat_data = 
+
+               data: [23x49 double]
+              units: 'eV'
+                dim: {2x1 cell}
+           dimunits: {2x1 cell}
+                  t: [49x1 double]
+                  x: [23x1 double]
+               shot: 48836
+       gdat_request: 'te'
+        gdat_params: [1x1 struct]
+      data_fullpath: '\results::thomson:te'
+              label: 'Te'
+          error_bar: [23x49 double]
+    mapping_for_tcv: [1x1 struct]
+          gdat_call: 'gdat(48836,'te'); % nargout = 1'
+
+</pre><h2>Explanation of basic parameters fields of gdat_params<a name="7"></a></h2><pre class="codeinput">gdat_data = gdat(48836,<span class="string">'te'</span>);
+gdat_data.gdat_params <span class="comment">% at this stage contains few elements, will depend on specific data_request</span>
+<span class="comment">%</span>
+<span class="comment">% gdat_params should contain all the information necessary to recall gdat</span>
+<span class="comment">% and get the same information, except the shot number, thus</span>
+<span class="comment">% gdat_data2 = gdat(48836,gdat_data.gdat_params);</span>
+<span class="comment">% should return the same values. This allows to quickly load the similar data from different shot</span>
+shotlist=[48836, 48837, 48839];
+<span class="keyword">for</span> ishot=1:length(shotlist)
+    gdat_data_te{ishot} = gdat(shotlist(ishot),gdat_data.gdat_params);
+<span class="keyword">end</span>
+gdat_plot(gdat_data_te{3});
+</pre><pre class="codeoutput">
+ans = 
+
+    data_request: 'te'
+         machine: 'tcv'
+          doplot: 0
+
+</pre><img vspace="5" hspace="5" src="gdat_tutorial_03.png" alt=""> <p class="footer"><br><a href="http://www.mathworks.com/products/matlab/">Published with MATLAB&reg; R2014a</a><br></p></div><!--
 ##### SOURCE BEGIN #####
 %% gdat tutorial: some basic calls and functionalities
 % gdat calls in fact the main function MACHINE/gdat_machine.m within the gdat folder
@@ -207,7 +276,50 @@ gdat_data.gdat_call % always contains the string so that the same gdat call can
 %% list of data_request names for a specific machine
 gdat_data = gdat('machine','aug');
 gdat_data.gdat_request
-%%
+%% a simple example: get plasma current
+gdat_data = gdat(48836,'ip'); % shot number is for TCV (default machine if run at CRPP)
+gdat_data = gdat(48836,'ip','doplot',1);
+gdat_data = gdat(48836,'Ip');
+% Note that the return data_request name is 'ip', since lower case is used throughout
+gdat_data.gdat_request
+%% a 2D example with Te profiles
+gdat_data = gdat(48836,'te'); % return thomson data, thus versus Z (vertical height) of local measurements
+gdat_data = gdat(48836,'te','doplot',1); % default plot is always versus time, using gdat_data.t
+% for more specific plots, use gdat_plot(gdat_data,...) function
+%% Explaination of main fields
+gdat_data = gdat(48836,'te');
+gdat_data
+% The following fields are always present:
+% gdat_data.data  % (as well as .units) providing the data
+% gdat_data.dim   % (as well as .dimunits) providing the coordinates
+% gdat_data.t     % corresponding to the time coordinate (copied from dim{timecoord})
+% gdat_data.x     % all coordinates but time (typically radial if 2D signal or channel number)
+% gdat_data.shot
+% gdat_data.gdat_request
+% gdat_data.gdat_params
+% gdat_data.data_fullpath  % provides information on tracename origin within the database
+% gdat_data.gdat_call  % string corresponding to the current call to gdat
+
+% Some extra fields might be present:
+% gdat_data.label  % usually present, used as label in plots
+% gdat_data.error_bar  % error_bars to be used in errorbar plot e.g: errorbar(gdat_data.x,gdat_data.data(:,20),gdat_data.error_bar(:,20),'*-')
+% gdat_data.mapping_for_tcv  % information used to fetch the data,
+%                            contains information on the time index, useful for multi-D data
+%
+%% Explanation of basic parameters fields of gdat_params
+gdat_data = gdat(48836,'te');
+gdat_data.gdat_params % at this stage contains few elements, will depend on specific data_request
+%
+% gdat_params should contain all the information necessary to recall gdat
+% and get the same information, except the shot number, thus
+% gdat_data2 = gdat(48836,gdat_data.gdat_params);
+% should return the same values. This allows to quickly load the similar data from different shot
+shotlist=[48836, 48837, 48839];
+for ishot=1:length(shotlist)
+    gdat_data_te{ishot} = gdat(shotlist(ishot),gdat_data.gdat_params);
+end
+gdat_plot(gdat_data_te{3});
+
 
 ##### SOURCE END #####
 --></body></html>
\ No newline at end of file
diff --git a/crpptbx_new/demos/html/gdat_tutorial.png b/crpptbx_new/demos/html/gdat_tutorial.png
new file mode 100644
index 0000000000000000000000000000000000000000..91a9675db6b5f6b806c756b406d99d0519a26177
GIT binary patch
literal 4311
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
FV1m%_S6=`C

literal 0
HcmV?d00001

diff --git a/crpptbx_new/demos/html/gdat_tutorial_01.png b/crpptbx_new/demos/html/gdat_tutorial_01.png
new file mode 100644
index 0000000000000000000000000000000000000000..840976996231afe5df15be272270787a59ef9427
GIT binary patch
literal 3950
zcma)92T)V#7QQJ+Kq)~4r5P04B1HuPp@h&`G(ccQP$>e^dv772t`&$V3mQXlSr8Qv
zq<4tO(ve=IMnI7wgr1PR#J6w9_tu@aGxyG&`Oi6X&wsx2opRd@Yskkd#tQ%dpRti1
z4gkQ4007E_f!QbN_ilY*e|UV2tOMBc0nQ83IZg^?A94p8pVQ|ahwT%9BJ+RlWS;;s
zf%+E$Eqty9hB){;1LrW7XE8b_5tgpbh;t5su2w$&9sws2#@>$d8W%?Qv-J;g^mYB6
z9Rl5ayb+deUe3VjQ*xLf7rE1lr<4(=kSIkZl(N#j@X$m6;LkVK!&rtsSr{D+e*U}I
z&*tt4L9Eg?tyiMwAcs!zE?KpOby1v-{OGz?aHm!!o(cd~^zpvk06;+)0oMg(fI~1L
z01o9Lz+$1=Pz)FmivS5?i1_s4;I%_Qpa~JUg)lNaAO(v2DL}sR@QiZd+wGoVQ9IaO
z^|VxzgN&oAlbwCL%_!7HR$r;yj}aQk{!U_JT{sicvtWncTj9_WUm2m~_=6$cV;S;!
z#BgzI;c68_U->E8zz97dmu^D4-!8683~RP!_EQV8M%2fjjL+Wp(cy;jlt@N4r6tch
zcj8g-5Z`V7ZTl8}+Y|%EPO&p-tLmq*+tUq^RB!1RgqP>O3qJY;7pWU5O!b2;CvDaa
zr{dpt<z~;T*wKQWrW}~j(E$P#l6NJGHSbQ`O1)O3#dKV*QEYEat9JSjrlA?UuCRHF
zs;<lk+~EGGJ)1Tf?+F_F^h;+6ko_s_x>B2#`5dpds=6{Dm_bA2BKH8qoLNNfMq)*9
z7%=#5OC=LIc%NrNX#Efbq0?y*3<%@!Egh?3+6Udan=vne(Px^@+1i|s&SQ;A`MM*!
zA%e170g(cj;YTk`Y}eH1uxOhVn)M1T$#&(1sDtUkiOP(XGY~@gFa~#+;N8nF#4&ET
z&~{UvDMCF)DE|`DIIONLlWz^+-#nE34t^Ze0KLD3_Zu<pDa#fnIw9h2cd7)9gTDU-
zj=R&(%(>rM2-%P^f@j6t7Xy_#w=8;+9{8i6l)1jiAU|a6Y7m`tqw0hG=8{Z(;7D8j
zD6IRKn*if2Rrz!^uHSi>5mq5>r0~*?=d)GoQH6b*zqu$p-7yRM)OW-vLM3fc>t#Js
zBAQDM@4uX=fy>$I44s}4%+#d0xO=c7)kXoKDhVUL&TN!~H(Z|>|2Q>2walzx#w6%|
zn%hBMbu$@3nF)jbYHQDZC70)PVxfwAD(SL0y=u@C?;OSIdnD!koPO=yHc=QH-z!7V
z?XR5kl6qUox;QT=LkKy^PbF6sh@%8zp<j&EBQ`YYD?>h`aR^Z4X#D~XdCUk%KBf3L
zK=T`BOqWU**N#990}6noK7O2s*IXAv1(;4LWW&7x?>6x&c~HB&*B6=F8-pct8($}=
zU##N(d87HEr0=QOl3C1G4gq@4s`=a`44b4us~N$>U6SCBH%_Sk4gJ2s=X>n@KVpJx
zvC2Ja-)_vVKl%KBEWRhc^tO?hLJwF2GtPS~_&Kgt?Rxeym}ui+adV~=bUb_gAsGw`
z{B<4Xw&EG8bnYYH9M}6!hNhz3*R0+vJ<%bu6f+t1TsX6RGX9()5cNzrGbpqdmM&f#
z;tr&XCm9%#=1YLCo9rA%5WG3T{CDa3t}m47E7t!coBwIFE~OVcNaWkX8lDJe_7Ar%
z0lqHLH9LSss4$EmX(!OF8c$Iy>NlVU0IBM3E!a3<aAOVL?ZoCW4mgYDO=KgtKC~cC
zfX#a87A8vq>K&v)@$;nnXQx1lYA1|_A$3|KY}kEmiNkgj(T-tz$Ug0$S#qnlM3dXp
z;%mC<Gq^T)i|LSB15diZEIDUVh*tl=8x&&U0sd4~Jui~I!!(kz<xkLqmA!6^un$e^
z5SQMm;k!E--;5%pTB4Fix20xocON5kW66bdPsN#yECZlVEl3c6qtt?kB_PX?v6zBc
z4M9M^oB;*kp1NR!&M~%2&+-`M^8|kz@kj&bh29gDT$H20(Sfr=YVrFBH$1ZD=L5Ox
zV!hb4qs&vBbIY0ebv|vVMesXMSI8o@3L%$wIdGT?HfsnwW<~BC9%|($a9IRrynPob
z>8lX?5c>;(q`D?Fb9d<ptqXYQizDvh0^2A5ndm1TyJ07^IPE5xt2w3sXd{;<lSgYn
zgMM>4*QDU#?-g~x_8lsJkPpk-tz@`SR-n3t1TOi`Ax?np+u5Xg-Y>D-UeX#&m)esA
zq_D%SA_jW3G*1=-?0dp2g0DSLW)S-z@9%K_%E_ySu)~@4>@wL&7M586*{4AqK^$bV
zwkn#+=e0sh)2b;-RMk~_6NvG7zIwhNspVgqR-p^zb$31_i-8^nk74<GrjPw>ns9Yy
zqiV~v=XB&8JZ3}n^<1;NS4Y{z%3g}$$SXAWah*D{+!%yH4`g3vW^BKV7k`Khce+6G
zW&Bhe(N#dZ2|JuKc}gl=c-rr9<Of(?vplJgek*M7UK;S@3&~8(O(5KFeW>OjQsND7
zT?1ETlnEU0*m;rzB6Qbi=?o8%I?Q+o%>&mmQGkR)3qJwoGT%F4CJor49K{n&L_l9S
zh_M^GuaKzjl{9uEpX?=z?Mn9Ln&4rV9YIbE{@Uul$G2}Lfj`8V;J1D$mj?vXP5*07
z_+MjHT@Q+?ZMC4&-ajB@UaAIa`<SVgE=rPsne_sqxIc@(-3MY8&vCU^N;-~OhISsf
z>e8%&2QOwNRp7K25Y<l#zbPOx6iGt-PrQjRP+%LDk6lNVbZjEZEg-;8z5Lzjx<Iv}
zGxuK|{-%Eam&fk=o22OtHbCu>uMKkIvyJ$Z<h10!OhEs8GtPh%ncSo3Py9L{al~~4
zYOjAVgb97o@1V8&ef`T16n)2-8lJx^Lv^!idND}0#lFXHOgUP2xN>r}0*h<qty3SU
zSwp%C&{hg{=A>q~+_-4d_o}r~d$AXJRx{gRZW2wEYcnv&(R6WV1EZx!2`^Unl#y&m
zXHWv{z=V{93hY_3a3$XJOh?ftzF1^ngruLfE~->zvqPpGPt`r>JXO{O@5WG7u@54U
z2P`$SFpJBjLSErgTDGx00o_WHKC&X2K|$W#(l8~K=Z65HT9=kQm65pe78Lq(_EWv(
z!?93C|CJi-&Cmn{2>n{k0vXR5BW$oQlNA)vduv=U6JK;SLdYxy0a`jEGj$D`gM4eO
zZ64bz=L~j-XJXG*j&um5av#?thQCtXbi_MqVux8m6F)R!CEpCsG>fe#JQbBj5aGDl
zc!?8FO|`+8x%#3{A0LrF40?&e99r_8Q;%7t&aC!}KLY&sOOM`wfhM7!MDR9;n-oE_
zdo#ne@O+ucA;+;EH~Nh;^rvT_w|{Hw&uJPN8u4)-k3eepYxi*<jH;394^fX|Ei|U!
zLuk^eqpT^bek8xm_`>V)Am<A;O;|og(-aPQH(KmGC1)*ZC@VTD7)>LeloBW{qqrSV
z8K(!Ml%hX=T7TW@sSvz+!Oq&d+LIQtMRu6R?#iOSw~M=5X_FR3wT2HMMOv$D6SsCc
zt(e;iL19;Fa^rUJ!*01FwTt2d)0eJ0WgqaU4SVr?MWysW$2GeeKb8-xjoF|fJDwo*
ztjDTP?s~24<3h)gDR4SXmps!s+q8j1&mUy0Y%b*``!dgvl4W-$k|}ec`Q)F9%5LuH
zk1}!(vnpt}NV{J#1NsG!tbumA03P{k)khm9Zqp@Zd~*!;X*x=aWT0N7NIK(Bf)tV!
z#s__TD{fA1ogEEN*=$X!D#t8RSycY9$t$nut*it~VP@X`YTsJnnz?9d1Hya&d#CL7
zmk@o6V214G?G|ng68V~7>>G5I>1YhARpvju{|ld<7qaBL4tyO*lAJ=JtA>9}MPIu*
z?&<j{q30J*Zf&ujIr%VEww_J_A{U)f#HNN6pf$~2GJJcl`p;OQ_tXj<0_ZLGh;RKa
zZ5YG=73Q9n%bxp-wxVdE!0zUyE$6KHV2u}+E8*Ps(n?0O`gXjPCkp&g*OkbxVi3pH
zznZ-Z*cL(QpcXejNCC}f!@env>{;(zR-Cay0+BE6xA$AR-GQ$=ZsH<57bT>$Sf?4C
z%Nl4qCTdB>NWs)yl#aH~=o;Dzx0$t4XfRh0E$%{XXrQfc2YIu%o)L|6SF&{OR^)ft
znY)^AByH-V4oFu&M4w+s2*TI+f7V$4b$ht=QMXX^?~ZPcqH7|U$N4)t3WV;LG+NTd
z*&`w=lfUzvF=41B9JzP7Hxc8nc+ygoo?3R^)%=BQIiK4TwH4Zp5}ObT3T>AWWcyJL
zA8qcDOM4+YS)7Ogr=y*<va5>5ipmDt{g(3!epGOO7o=s$Y_s(vi=rZ30?cLeXc-Mp
re+h$wyO8Xi<sU5ze^=N3u{Bd*5b89~bb~r^He+LbtX`gueeAyguV#01

literal 0
HcmV?d00001

diff --git a/crpptbx_new/demos/html/gdat_tutorial_02.png b/crpptbx_new/demos/html/gdat_tutorial_02.png
new file mode 100644
index 0000000000000000000000000000000000000000..7e7c799d77e967b4f077c93631111cc41e5fc4f6
GIT binary patch
literal 19000
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

literal 0
HcmV?d00001

diff --git a/crpptbx_new/demos/html/gdat_tutorial_03.png b/crpptbx_new/demos/html/gdat_tutorial_03.png
new file mode 100644
index 0000000000000000000000000000000000000000..3d813140209ff3084c7b8934d8dfe1a556b7da51
GIT binary patch
literal 15508
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

literal 0
HcmV?d00001

-- 
GitLab