From 24d81f7fbe61f25e4163dc7ff4b58eb82d660e7a Mon Sep 17 00:00:00 2001 From: Francesco Carpanese <francesco.carpanese@epfl.ch> Date: Thu, 31 Jan 2019 13:20:22 +0000 Subject: [PATCH] Ongoing redefinition of functions to be compliant with Oliviers type call of the equilibrium git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@11377 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx/TCV_IMAS/get_ids.m | 13 ------------- crpptbx/TCV_IMAS/tcv2ids.m | 3 +++ crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m | 5 ++--- crpptbx/TCV_IMAS/tcv_get_ids_circuit.m | 7 +++---- crpptbx/TCV_IMAS/tcv_get_ids_coil.m | 4 ++-- crpptbx/TCV_IMAS/tcv_get_ids_descprition_2d.m | 11 ++++++----- crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m | 2 +- crpptbx/TCV_IMAS/tcv_get_ids_ip.m | 2 +- crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m | 11 +++++++++++ crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m | 12 ++++++++++++ crpptbx/TCV_IMAS/tcv_ids_get_wall.m | 5 +++++ 11 files changed, 46 insertions(+), 29 deletions(-) delete mode 100644 crpptbx/TCV_IMAS/get_ids.m create mode 100644 crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m create mode 100644 crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m create mode 100644 crpptbx/TCV_IMAS/tcv_ids_get_wall.m diff --git a/crpptbx/TCV_IMAS/get_ids.m b/crpptbx/TCV_IMAS/get_ids.m deleted file mode 100644 index ce31b641..00000000 --- a/crpptbx/TCV_IMAS/get_ids.m +++ /dev/null @@ -1,13 +0,0 @@ -function [ids_structures] = get_ids(shot) - -load('ids_structures_20190128.mat') -addpath(genpath(pwd)) - -ids_structures.magnetics.bpol_probe = imasget_bpol_probe(shot, ids_structures); -ids_structures.magnetics.flux_loop = imasget_flux_loop(shot, ids_structures); -ids_structures.magnetics.method = imasget_ip(shot, ids_structures); -ids_structures.pf_active.circuit = imasget_circuit(shot, ids_structures); -ids_structures.pf_active.coil = imasget_coil(shot, ids_structures); -ids_structures.wall.description_2d = imasget_description_2d(shot, ids_structures); - -end \ No newline at end of file diff --git a/crpptbx/TCV_IMAS/tcv2ids.m b/crpptbx/TCV_IMAS/tcv2ids.m index d626d93f..d0bc5ac9 100644 --- a/crpptbx/TCV_IMAS/tcv2ids.m +++ b/crpptbx/TCV_IMAS/tcv2ids.m @@ -15,6 +15,9 @@ equil_empty=ids_gen('equilibrium'); ids_saved.equilibrium = ids_equilibrium; ids_saved.equilibrium_description = ids_equilibrium_description; + + + % now write to ids tree shot_is_new = 1; % seems only create is ok even if does already exist if shot_is_new diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m b/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m index 30d09784..5a580ba0 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_bpol_probe.m @@ -1,4 +1,4 @@ -function [ids_struct_out] = tcv_get_ids_bpol_probe(shot, ids_structures) +function [ids_struct_out, varargout] = tcv_get_ids_bpol_probe(shot, ids_structures) % Get magnetics.bpol_probe mdsopen(shot); @@ -11,11 +11,10 @@ data = tmp.data; % Preallocate output structure Nprobes = size(tmp.data,2); -ids_struct_out(1:Nprobes) = ids_structures.magnetics.bpol_probe(1); +ids_struct_out(1:Nprobes) = ids_structures; for ii=1:Nprobes - ids_struct_out{ii} = ids_structures.magnetics.bpol_probe{1}; 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); diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m b/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m index 5e4b4fd3..c6b88e1c 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_circuit.m @@ -1,21 +1,20 @@ function [ids_struct_out] = tcv_get_ids_circuit(shot, ids_structures) mdsopen(shot) - %% Get power supply/coils names for each circuit. -[coil_names2ids, power_supply_names2ids, circuit_names2ids, mds_paths2ids, ~] = pf_active_definition(); +[coil_names2ids, power_supply_names2ids, circuit_names2ids, mds_paths2ids, ~] = tcv_ids_pf_active_definition(); % Get dimension ncircuits2ids = numel(circuit_names2ids); % Preallocate memory and get data -ids_struct_out(1:ncircuits2ids) = ids_structures.pf_active.circuit(1); +ids_struct_out(1:ncircuits2ids) = ids_structures; for ii=1:ncircuits2ids tmpdata = tdi(mds_paths2ids{ii}); ids_struct_out{ii}.current.data = tmpdata.data; ids_struct_out{ii}.current.time = tmpdata.dim{1}; - %ids_struct_out{ii}.connection = + %ids_struct_out{ii}.connection = % TODO end %% diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_coil.m b/crpptbx/TCV_IMAS/tcv_get_ids_coil.m index 2560c1b2..7280ee9a 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_coil.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_coil.m @@ -16,7 +16,7 @@ function [ids_struct_out] = tcv_get_ids_coil(shot, ids_structures) mdsopen(shot) %% Get power supply/coils names for each circuit. -[coil_names2ids, ~, ~, mds_paths2ids, ~] = pf_active_definition(); +[coil_names2ids, ~, ~, mds_paths2ids, ~] = tcv_ids_pf_active_definition(); ncircuits2ids = numel(coil_names2ids); %% Get geometrical data from the static tree @@ -47,7 +47,7 @@ h_c(iG)=sqrt(xsect_c(iG)); %% Put data to ids structure -ids_struct_out(1:sizepfc) = ids_structures.pf_active.coil(1); +ids_struct_out(1:sizepfc) = ids_structures; ind_coil_ids = 0; for ii=1:ncircuits2ids ncoil2ids = numel(coil_names2ids{ii}); % number of coils for a given circuit diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_descprition_2d.m b/crpptbx/TCV_IMAS/tcv_get_ids_descprition_2d.m index 2b7ba4e8..80c403ca 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_descprition_2d.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_descprition_2d.m @@ -1,15 +1,16 @@ function [ids_struct_out] = tcv_get_ids_descprition_2d(shot, ids_structures) - mdsopen(shot) -% Vessel +%% r_l = mdsdata('STATIC("R_T")'); z_l = mdsdata('STATIC("Z_T")'); -ids_struct_out = ids_structures.wall; -ids_struct_out.description_2d{1}.limiter.unit{1}.outline.r = r_l; -ids_struct_out.description_2d{1}.limiter.unit{1}.outline.z = z_l; +% There might be many 2d descriptions +ids_struct_out = ids_structures; +ids_struct_out{1}.limiter.unit{1}.outline.r = r_l; +ids_struct_out{1}.limiter.unit{1}.outline.z = z_l; +%% TODO Add the other description of the wall and the input pharser end diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m b/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m index 71b01407..5e871c32 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_flux_loop.m @@ -10,7 +10,7 @@ data = tmp.data; % Preallocate output structure Nprobes = size(tmp.data,2); -ids_struct_out(1:Nprobes) = ids_structures.magnetics.flux_loop(1); +ids_struct_out(1:Nprobes) = ids_structures; % Put data on ids structure for ii=1:Nprobes diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_ip.m b/crpptbx/TCV_IMAS/tcv_get_ids_ip.m index 3df34906..5188537b 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_ip.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_ip.m @@ -8,7 +8,7 @@ time = tmp.dim{1}; data = tmp.data; % Preallocate dimension -ids_struct_out = ids_structures.magnetics.method(1); +ids_struct_out = ids_structures; % Put data into ids structure ids_struct_out{1}.ip.data = data; diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m b/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m new file mode 100644 index 00000000..5e328296 --- /dev/null +++ b/crpptbx/TCV_IMAS/tcv_get_ids_magnetics.m @@ -0,0 +1,11 @@ +function [ids_magnetics,ids_magnetics_description,varargout] = tcv_get_ids_magnetics(shot,varargin) +% +% [ids_equilibrium,ids_equilibrium_description,varargout] = get_ids_equilibrium_fixed_boundary(shot,varargin); +% +% +% ADD Here the imput pharser + +ids_magnetics=ids_gen('magnetics'); +[ids_magnetics.bpol_probe]= tcv_get_ids_bpol_probe(shot, ids_magnetics.bpol_probe(1)); +[ids_magnetics.flux_loop]= tcv_get_ids_flux_loop(shot, ids_magnetics.flux_loop(1)); +[ids_magnetics.method]= tcv_get_ids_ip(shot, ids_magnetics.method(1)); \ No newline at end of file diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m new file mode 100644 index 00000000..7a5e92f1 --- /dev/null +++ b/crpptbx/TCV_IMAS/tcv_get_ids_pf_active.m @@ -0,0 +1,12 @@ +function [ids_pf_active,ids_pf_active_description,varargout] = tcv_get_ids_pf_active(shot,varargin) +% +% [ids_equilibrium,ids_equilibrium_description,varargout] = get_ids_equilibrium_fixed_boundary(shot,varargin); +% +% +% ADD Here the imput pharser + +ids_pf_active=ids_gen('pf_active'); +[ids_pf_active.coil]= tcv_get_ids_coil(shot, ids_pf_active.coil(1)); + +[ids_pf_active.circuit]= tcv_get_ids_circuit(shot, ids_pf_active.circuit(1)); + diff --git a/crpptbx/TCV_IMAS/tcv_ids_get_wall.m b/crpptbx/TCV_IMAS/tcv_ids_get_wall.m new file mode 100644 index 00000000..cbc1a0f8 --- /dev/null +++ b/crpptbx/TCV_IMAS/tcv_ids_get_wall.m @@ -0,0 +1,5 @@ +function [ids_wall,ids_wall_description,varargout] = tcv_ids_get_wall(shot,varargin) +% TODO Add the input pharser + +ids_wall=ids_gen('wall'); +[ids_wall.description_2d]= tcv_get_ids_descprition_2d(shot, ids_wall.description_2d(1)); \ No newline at end of file -- GitLab