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® 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® 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 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 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