diff --git a/matlab/TCV_IMAS/README b/matlab/TCV_IMAS/README index 0c737364ccb47f2d9dac3655f8d8562709bda5e1..9dd6086ce2ce67e712e1a1497b3f2f751e6632f5 100644 --- a/matlab/TCV_IMAS/README +++ b/matlab/TCV_IMAS/README @@ -4,7 +4,7 @@ % ids_list_all=ids_list; -%ids_list_to_generate = {'core_profiles', 'core_sources', 'equilibrium', 'magnetics', 'pf_active', 'pf_passive', 'tf','wall'}; +% ids_list_to_generate = tcv_available_ids; ids_list_to_generate = ids_list_all; for i=1:length(ids_list_to_generate) diff --git a/matlab/TCV_IMAS/ids2database.m b/matlab/TCV_IMAS/ids2database.m index abbbfaec4f3ceac08b0529a6f04f46347b84c79c..f2b887ba90b8d714455d434603a56fdc641a0e99 100644 --- a/matlab/TCV_IMAS/ids2database.m +++ b/matlab/TCV_IMAS/ids2database.m @@ -88,8 +88,8 @@ try ids_full_list = IDS_list; end catch - ids_full_list = {'equilibrium', 'magnetics', 'tf', 'pf_active','wall','core_profiles','ec_launchers','nbi','pf_passive'}; - warning(['IDS_list not available, quick fix introducing list of ids ready for TCV: ' fprintf('%s ',ids_full_list{:}) char(10)]); + ids_full_list = tcv_available_ids; + warning(['IDS_list not available, quick fix introducing list of ids available for TCV: ' fprintf('%s ',ids_full_list{:}) char(10)]); end ids_names_notok = setdiff(ids_names,ids_full_list); if ~isempty(ids_names_notok) diff --git a/matlab/TCV_IMAS/tcv2ids.m b/matlab/TCV_IMAS/tcv2ids.m index d6e2ecc92e2228686768659bcac239296e5ebafe..da618f38938e129e92e8816db3f204cc0a92b980 100644 --- a/matlab/TCV_IMAS/tcv2ids.m +++ b/matlab/TCV_IMAS/tcv2ids.m @@ -11,7 +11,7 @@ function [ids_from_tcv,varargout] = tcv2ids(shot,varargin); % mdsconnect('localhost:5555') % % varargin: 'ids_names': cell, idss to load, by default all defined so far (if empty or empty string or not given) -% {'equilibrium', 'magnetics', 'pf_active','wall','core_profiles','ec_launchers','nbi'} or a subset +% see tcv_available_ids for the list of IDSs available for TCV % 'error_bar': type (string) % empty or 'delta' (default): meaning difference in upper is set (standard error_bar % 'added': errorbar is added: upper=data+delta and lower=data-delta @@ -32,13 +32,13 @@ function [ids_from_tcv,varargout] = tcv2ids(shot,varargin); p = inputParser; % no required inputs here so one can call with empty args and get defaults parameters % effectively required inputs should have defaults as empty -ids_names = {'equilibrium', 'magnetics', 'pf_active','wall', 'tf','core_profiles','ec_launchers','nbi', 'thomson_scattering'}; +ids_names = tcv_available_ids; p.addOptional('shot', [], @(x) (isnumeric(x) && isscalar(x) && (x == round(x)))); % integer p.addOptional('ids_names', ids_names, @(x) isempty(x) || iscell(x) ); % char or cell array p.addOptional('error_bar', 'delta', @(x) isempty(x) || ischar(x) ); % char or cell array p.addOptional('cocos_out', 11, @(x) isempty(x) || isnumeric(x) ); % char -p.addOptional('ipsign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char -p.addOptional('b0sign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char +p.addOptional('ipsign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) ); +p.addOptional('b0sign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) ); p.addOptional('nverbose', 1, @(x) isempty(x) || isnumeric(x) ); p.addOptional('time_out', [], @(x) isempty(x) || isnumeric(x) ); p.addOptional('trialindx', [], @(x) isempty(x) || isnumeric(x) ); diff --git a/matlab/TCV_IMAS/tcv2ids2database.m b/matlab/TCV_IMAS/tcv2ids2database.m index 99b52f127177026d2f61ad94c9485fb1fd1c66d4..9166d42d3cb3b839076f7e15aa0bd33d158735a2 100644 --- a/matlab/TCV_IMAS/tcv2ids2database.m +++ b/matlab/TCV_IMAS/tcv2ids2database.m @@ -9,7 +9,7 @@ function [ids_from_tcv,varargout] = tcv2ids2database(shot,run_out,varargin); % % varargin: 'occurence': occurence value % varargin: 'ids_names': cell, ids to load, by default all defined so far (if empty or empty string or not given) -% {'equilibrium', 'magnetics', 'tf', 'pf_active','wall','core_profiles','ec_launchers','nbi'} or a subset +% see tcv_available_ids for the list of IDSs available for TCV % varargin: 'error_bar': type (string) % 'delta' or empty (default): meaning difference in upper is set (standard error_bar % 'added': errorbar is added: upper=data+delta and lower=data-delta @@ -48,14 +48,15 @@ p = inputParser; p.addOptional('shot', [], @(x) (isnumeric(x) && isscalar(x) && (x == round(x)))); % integer p.addOptional('run_out', [], @(x) (isnumeric(x) && isscalar(x) && (x == round(x)))); % integer p.addOptional('occurence', 0, @(x) isempty(x) || (isnumeric(x) && isscalar(x) && (x == round(x)))); % integer -p.addOptional('ids_names', {'equilibrium', 'magnetics', 'pf_active','wall', 'tf','core_profiles','ec_launchers','nbi'}, @(x) isempty(x) || iscell(x)); % char or cell array +ids_names = tcv_available_ids; +p.addOptional('ids_names', ids_names, @(x) isempty(x) || iscell(x)); % char or cell array p.addOptional('error_bar', 'delta', @(x) isempty(x) || ischar(x) ); % char or cell array p.addOptional('tree_user', getenv('USER'), @(x) isempty(x) || ischar(x) ); % char p.addOptional('tree_tokamak', 'tcv', @(x) isempty(x) || ischar(x) ); % char p.addOptional('tree_majorversion', '3', @(x) isempty(x) || ischar(x) ); % char -p.addOptional('cocos_out', 11, @(x) isempty(x) || isnumeric(x) ); % char -p.addOptional('ipsign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char -p.addOptional('b0sign_out', 0, @(x) isempty(x) || (x==0 | x==-1 | x==+1) ); % char +p.addOptional('cocos_out', 11, @(x) isempty(x) || isnumeric(x) ); +p.addOptional('ipsign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) ); +p.addOptional('b0sign_out', 0, @(x) isempty(x) || (isscalar(x) && (x==0 || x==-1 || x==+1)) ); p.addOptional('nverbose', 1, @(x) isempty(x) || isnumeric(x) ); p.addOptional('time_out', [], @(x) isempty(x) || isnumeric(x) ); p.addOptional('trialindx', [], @(x) isempty(x) || isnumeric(x) ); diff --git a/matlab/TCV_IMAS/tcv_available_ids.m b/matlab/TCV_IMAS/tcv_available_ids.m new file mode 100644 index 0000000000000000000000000000000000000000..a98cf4f10bf5c9379bbfca8f074fbeeecfdfca62 --- /dev/null +++ b/matlab/TCV_IMAS/tcv_available_ids.m @@ -0,0 +1,6 @@ +function list = tcv_available_ids() + +list = {'equilibrium', 'magnetics', 'tf', 'pf_active','wall','core_profiles','ec_launchers','nbi','pf_passive', ... + 'thomson_scattering', 'summary'}; + +end \ No newline at end of file