Skip to content
Snippets Groups Projects
Commit 6fd1f921 authored by Olivier Sauter's avatar Olivier Sauter
Browse files

temp change before moving to tcv_ids_flux_loop.m

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11835 d63d8f72-b253-0410-a779-e742ad2e26cf
parent 68549e6f
No related branches found
No related tags found
No related merge requests found
Showing
with 127 additions and 66 deletions
function [ids_struct_out, varargout] = tcv_get_ids_bpol_probe(shot, ids_structures)
% Get magnetics.bpol_probe
mdsopen(shot);
tmp = gdat( shot, '\MAGNETICS::BPOL_003');
% Get data
names = tmp.dim{2};
time = tmp.dim{1};
data = tmp.data;
% Preallocate output structure
Nprobes = size(tmp.data,2);
ids_struct_out(1:Nprobes) = ids_structures;
for ii=1:Nprobes
ids_struct_out{ii}.name = [names{ii}];
ids_struct_out{ii}.position.r = mdsvalue('STATIC("R_M" )[$1]',ids_struct_out{ii}.name);
ids_struct_out{ii}.position.z = mdsvalue('STATIC("Z_M" )[$1]',ids_struct_out{ii}.name);
ids_struct_out{ii}.field.data = data(:,ii);
ids_struct_out{ii}.field.time = time;
%ids_struct_out{ii}.position.toroidal_angle = mdsdata('STATIC("ANG_M" )[$1]',ids_struct_out{ii}.position.name);
%ids_struct_out{ii}.position.poloidal_angle = 0; % TO BE FOUND
ids_struct_out{ii}.field.data_error_upper = 0.001.*ones(size(ids_struct_out{ii}.field.data));% TO BE FOUND;
%(not filled if symmetric) ids_struct_out{ii}.position.field.data_error_lower = 0.001;%.*ones(size(ids_struct_out{ii}.field.data));% TO BE FOUND;
end
function [ids_cores_profiles,ids_cores_profiles_description,varargout] = tcv_get_ids_core_profiles(shot,ids_equil_empty,varargin);
function [ids_cores_profiles,ids_cores_profiles_description,varargout] = tcv_get_ids_core_profiles(shot,ids_equil_empty, gdat_params,varargin);
%
% [ids_cores_profiles,ids_cores_profiles_description,varargout] = tcv_get_ids_cores_profiles(shot,ids_equil_empty,varargin);
%
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
machine = 'tcv';
tens_time = -1;
......
function [ids_equilibrium,ids_equilibrium_description,varargout] = tcv_get_ids_equilibrium(shot,ids_equil_empty,varargin);
function [ids_equilibrium,ids_equilibrium_description,varargout] = tcv_get_ids_equilibrium(shot,ids_equil_empty, gdat_params,varargin);
%
% [ids_equilibrium,ids_equilibrium_description,varargout] = tcv_get_ids_equilibrium(shot,ids_equil_empty,varargin);
%
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
machine = 'tcv';
......
......@@ -2,8 +2,7 @@ function ids_struct_out = tcv_get_ids_flux_loop(shot, ids_structures)
% Get ids field magnetics.fluxx_loop
% Get data
mdsopen(shot);
tmp = gdat(shot, 'tcv_idealloop("FLUX")');
tmp = gdat_tcv(shot, 'tcv_idealloop("FLUX")');
names = tmp.dim{2};
time = tmp.dim{1};
data = tmp.data;
......@@ -20,8 +19,8 @@ for ii=1:Nprobes
ids_struct_out{ii}.flux.data = data(:,ii);
ids_struct_out{ii}.flux.time = time;
ids_struct_out{ii}.flux.data_error_upper = 0.0012.*ones(size(ids_struct_out{ii}.flux.data));
ids_struct_out{ii}.flux.data_error_upper = 0.001200000056997.*ones(size(ids_struct_out{ii}.flux.data));
%(not filled if symmetric) ids_struct_out{ii}.flux.data_error_lower = 0.0012;%.*ones(size(ids_struct_out{ii}.flux.data));
%ids_struct_out{ii}.position.phi = 0; % TO BE FOUND
%ids_struct_out{ii}.position.phi = 0; % TO BE FOUND
end
function [ids_struct_out] = tcv_get_ids_ip(shot, ids_structures)
% Get magnetics.method{1}.ip
mdsopen(shot);
tmp = gdat( shot, 'ip_trapeze');
time = tmp.dim{1};
data = tmp.data;
% Preallocate dimension
ids_struct_out = ids_structures;
% Put data into ids structure
ids_struct_out{1}.ip.data = data;
ids_struct_out{1}.ip.time = time;
function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot, ids_magnetics_empty, varargin)
function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot, ids_magnetics_empty, gdat_params, varargin)
%
% [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot, ids_magnetics_empty, varargin);
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
[ids_magnetics, params_magnetics] = tcv_ids_headpart(shot, ids_magnetics_empty,'magnetics','homogeneous_time',0,varargin{:});
[ids_magnetics.bpol_probe]= tcv_get_ids_bpol_probe(params_magnetics.shot, ids_magnetics.bpol_probe(1));
[ids_magnetics.flux_loop]= tcv_get_ids_flux_loop(params_magnetics.shot, ids_magnetics.flux_loop(1));
[ids_magnetics.method]= tcv_get_ids_ip(params_magnetics.shot, ids_magnetics.method(1));
[ids_magnetics.bpol_probe,ids_magnetics_description.bpol_probe]= tcv_ids_bpol_probe(params_magnetics.shot, ids_magnetics.bpol_probe(1),gdat_params);
[ids_magnetics.flux_loop,ids_magnetics_description.flux_loop]= tcv_ids_flux_loop(params_magnetics.shot, ids_magnetics.flux_loop(1),gdat_params);
[ids_magnetics.method,ids_magnetics_description.method]= tcv_ids_ip(params_magnetics.shot, ids_magnetics.method(1),gdat_params);
% make arrays not filled in empty: not the case for magnetics
%% Temporarely documentation
ids_magnetics_description = struct([]);
function [ids_pf_active,ids_description,varargout] = tcv_get_ids_pf_active(shot, ids_pf_active_empty, varargin)
function [ids_pf_active,ids_description,varargout] = tcv_get_ids_pf_active(shot, ids_pf_active_empty, gdat_params, varargin)
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
% Input pharser
[ids_pf_active, params] = tcv_ids_headpart(shot, ids_pf_active_empty,'pf_active','homogeneous_time',0,varargin{:});
% Get subfield
[ids_pf_active.coil]= tcv_get_ids_coil(params.shot, ids_pf_active.coil(1));
[ids_pf_active.circuit]= tcv_get_ids_circuit(params.shot, ids_pf_active.circuit(1));
[ids_pf_active.coil]= tcv_ids_coil(params.shot, ids_pf_active.coil(1));
[ids_pf_active.circuit]= tcv_ids_circuit(params.shot, ids_pf_active.circuit(1));
[ids_pf_active.supply]= tcv_get_ids_supply(params.shot, ids_pf_active.supply(1));
% make arrays not filled in empty: not the case for magnetics
......
function [ids_tf_out,ids_tf_out_description] = tcv_get_ids_tf(shot, ids_tf_empty,varargin)
function [ids_tf_out,ids_tf_out_description] = tcv_get_ids_tf(shot, ids_tf_empty, gdat_params,varargin)
%
% [ids_tf_out] = tcv_get_ids_tf(shot, ids_tf_empty,varargin);
%
......@@ -6,6 +6,8 @@ function [ids_tf_out,ids_tf_out_description] = tcv_get_ids_tf(shot, ids_tf_empt
%
% ids_tf_empty should at least be the empty tf ids structure in input
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
ids_tf_out = ids_tf_empty;
......
function [ids_wall,ids_description,varargout] = tcv_get_ids_wall(shot, ids_wall_empty, varargin)
function [ids_wall,ids_description,varargout] = tcv_get_ids_wall(shot, ids_wall_empty, gdat_params, varargin)
%
%
% gdat_params: gdat_data.gdat_params to get all params passed from original call, in particular error_bar options
%
% Input pharser
[ids_wall, params] = tcv_ids_headpart(shot, ids_wall_empty,'wall','homogeneous_time',0,varargin{:});
% Get data of outline
[ids_wall.description_2d]= tcv_get_ids_descprition_2d(params.shot, ids_wall.description_2d(1));
[ids_wall.description_2d]= tcv_ids_wall_description_2d(params.shot, ids_wall.description_2d(1));
% make arrays not filled in empty: not the case for magnetics
ids_wall.global_quantities.neutral = {}; % wall does not work with Antoine's addpath
......
function [sub_ids_struct_out,sub_ids_struct_out_description, varargout] = tcv_ids_bpol_probe(shot, ids_structures, gdat_params, varargin)
%
% [sub_ids_struct_out,sub_ids_struct_out_description, varargout] = tcv_ids_bpol_probe(shot, ids_structures, gdat_params, varargin)
%
% Get magnetics.bpol_probe
%
% error_bar: from gdat_params.error_bar
% 'relative' (default): value to be added
% 'added': value already added to data: data +- error_bar
%
error_bar = 'relative';
if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
error_bar = gdat_params.error_bar;
end
% Get data
tmp = gdat_tcv( shot, '\MAGNETICS::BPOL_003');
names = tmp.dim{2};
time = tmp.dim{1};
data = tmp.data;
ang_m = gdat_tcv( shot, 'static("ANG_M")');
% Preallocate output structure
Nprobes = size(tmp.data,2);
sub_ids_struct_out(1:Nprobes) = ids_structures;
for ii=1:Nprobes
sub_ids_struct_out{ii}.name = [names{ii}];
sub_ids_struct_out_description{ii}.name = [names{ii}];
sub_ids_struct_out{ii}.position.r = mdsvalue('STATIC("R_M" )[$1]',sub_ids_struct_out{ii}.name);
sub_ids_struct_out_description{ii}.position_r = ['from ''STATIC("R_M" )[' sub_ids_struct_out{ii}.name ']'''];
sub_ids_struct_out{ii}.position.z = mdsvalue('STATIC("Z_M" )[$1]',sub_ids_struct_out{ii}.name);
sub_ids_struct_out_description{ii}.position_z = ['from ''STATIC("Z_M" )[' sub_ids_struct_out{ii}.name ']'''];
sub_ids_struct_out{ii}.field.data = data(:,ii);
sub_ids_struct_out_description{ii}.field_data = 'from ''\MAGNETICS::BPOL_003''';
sub_ids_struct_out{ii}.field.time = time;
sub_ids_struct_out{ii}.toroidal_angle = 0.; % to see if should match sector 3 (bpol003)
aa = gdat_tcv( shot, ['static("ANG_M")[$1]'',''' sub_ids_struct_out{ii}.name '']);
sub_ids_struct_out{ii}.poloidal_angle = aa.data;
sub_ids_struct_out_description{ii}.poloidal_angle = ['from ' aa.data_fullpath];
sub_ids_struct_out_description{ii}.toroidal_angle = 'set to 0 although BPOL_003 means sector 3';
end
fixed_error = 0.009999999776483;
switch error_bar
case 'relative'
for ii=1:Nprobes
sub_ids_struct_out{ii}.field.data_error_upper = fixed_error.*ones(size(sub_ids_struct_out{ii}.field.data));% TO BE FOUND;
sub_ids_struct_out_description{ii}.field_data_error_upper = ['from fixed error value in case ' error_bar];
sub_ids_struct_out_description{ii}.field_data_error_lower = ['not provided since symmetric'];
end
case 'added'
for ii=1:Nprobes
sub_ids_struct_out{ii}.field.data_error_upper = sub_ids_struct_out{ii}.field.data + fixed_error.*ones(size(sub_ids_struct_out{ii}.field.data));
sub_ids_struct_out{ii}.field.data_error_lower = sub_ids_struct_out{ii}.field.data - fixed_error.*ones(size(sub_ids_struct_out{ii}.field.data));
sub_ids_struct_out_description{ii}.field_data_error_upper = ['from data + fixed error value in case ' error_bar];
sub_ids_struct_out_description{ii}.field_data_error_lower = ['from data - fixed error value in case ' error_bar];
end
otherwise
error(['tcv_ids_bpol_loop: error_bar option not known: ' error_bar])
end
function [ids_struct_out,ids_struct_out_description] = tcv_ids_ip(shot, ids_structures, gdat_params, varargin)
%
% [ids_struct_out,ids_struct_out_description] = tcv_ids_ip(shot, ids_structures, gdat_params, varargin);
%
% Get magnetics.method{1}.ip
%
% error_bar: from gdat_params.error_bar
% 'relative' (default): value to be added
% 'added': value already added to data: data +- error_bar
%
error_bar = 'relative';
if exist('gdat_params') && isfield(gdat_params,'error_bar') && ~isempty(gdat_params.error_bar)
error_bar = gdat_params.error_bar;
end
% Get data
tmp = gdat_tcv( shot, 'ip_trapeze');
time = tmp.dim{1};
data = tmp.data;
% Preallocate dimension
ids_struct_out = ids_structures;
% Put data into ids structure
ids_struct_out{1}.ip.data = data;
ids_struct_out_description{1}.ip = ['from ' tmp.data_fullpath];
ids_struct_out{1}.ip.time = time;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment