diff --git a/crpptbx/TCV_IMAS/tcv_ids_circuit.m b/crpptbx/TCV_IMAS/tcv_ids_circuit.m index df6d88dcf601ac19e0510437a85641bad640b19e..68239822305ed6ec36ff9b7c383b29b9fe310734 100644 --- a/crpptbx/TCV_IMAS/tcv_ids_circuit.m +++ b/crpptbx/TCV_IMAS/tcv_ids_circuit.m @@ -21,14 +21,14 @@ end % Preallocate memory and get data ids_struct_out(1:tcv_circuit_info.ntotcircuits) = ids_structures; for ii=1:tcv_circuit_info.ntotcircuits - tmpdata = gdat_tcv(shot,['' tcv_circuit_info.mds_paths{ii} '']); % Get current - if ischar(tmpdata.data) + if shot == -1; % model shot % replace by dummy tmpdata.dim{1} = []; tmpdata.data = []; warning('no time data loaded for shot %d',shot); ids_struct_out_description{ii}.current = 'not loaded'; else + tmpdata = gdat_tcv(shot,['' tcv_circuit_info.mds_paths{ii} '']); % Get current ids_struct_out_description{ii}.current = ['from ' tmpdata.data_fullpath]; end ids_struct_out{ii}.current.data = tmpdata.data; diff --git a/crpptbx/TCV_IMAS/tcv_ids_coil.m b/crpptbx/TCV_IMAS/tcv_ids_coil.m index b1b989a2e7e3f185ee9462958c008dafca4cd76d..151614c8c069653f3e9c6a64e19f04e95e570ce3 100644 --- a/crpptbx/TCV_IMAS/tcv_ids_coil.m +++ b/crpptbx/TCV_IMAS/tcv_ids_coil.m @@ -74,11 +74,12 @@ for ii=1:ncircuits2ids ids_struct_out_description{ind_coil_ids}.name = ['through aa=tcv_ids_pf_active_definition from aa.coil_names ']; % time-varying data - tmpdata = tdi(mds_paths2ids{ii}); - if ischar(tmpdata.data), % arcane way to detect no data was loaded + if shot == -1 tmpdata.dim{1} = []; tmpdata.data = []; warning('no time data loaded for shot %d',shot); + else + tmpdata = tdi(mds_paths2ids{ii}); end ids_struct_out{ind_coil_ids}.current.data = tmpdata.data; ids_struct_out_description{ind_coil_ids}.current.data = ['from ' mds_paths2ids{ii}]; diff --git a/crpptbx/TCV_IMAS/tcv_ids_supply.m b/crpptbx/TCV_IMAS/tcv_ids_supply.m index 19078821a21c4af16121eb3a2d80861355fe4ff4..a39c5dc61eebaf6d2945411c370ece3824e2135e 100644 --- a/crpptbx/TCV_IMAS/tcv_ids_supply.m +++ b/crpptbx/TCV_IMAS/tcv_ids_supply.m @@ -21,16 +21,19 @@ end % Preallocate memory and get data ids_struct_out(1:tcv_circuit_info.ntotpowersupplies) = ids_structures; for ii=1:tcv_circuit_info.ntotpowersupplies - tmpdata = gdat_tcv(shot,['' tcv_circuit_info.mds_paths{ii} '']); % Get current - if ischar(tmpdata.data); + if shot ==-1 warning('no time data loaded for shot %d',shot); tmpdata.dim{1} = []; tmpdata.data = []; % empty dummy + ids_struct_out_description{ii}.current = sprintf('Not loaded for shot %d',shot); + + else + tmpdata = gdat_tcv(shot,['' tcv_circuit_info.mds_paths{ii} '']); % Get current + ids_struct_out_description{ii}.current = ['abs value from ' tmpdata.data_fullpath]; end - + ids_struct_out{ii}.current.data = abs(tmpdata.data); %%%%%%% FF:WHY ABS?? %%%%%%% - ids_struct_out_description{ii}.current = ['abs value from ' tmpdata.data_fullpath]; ids_struct_out{ii}.current.time = tmpdata.dim{1}; ids_struct_out{ii}.name = tcv_circuit_info.power_supply_names{ii}{1}; ids_struct_out_description{ii}.name = ... diff --git a/crpptbx/TCV_IMAS/test_tcv_get_ids.m b/crpptbx/TCV_IMAS/test_tcv_get_ids.m new file mode 100644 index 0000000000000000000000000000000000000000..78cec894b078d7237623f45262d1f3c971a137b3 --- /dev/null +++ b/crpptbx/TCV_IMAS/test_tcv_get_ids.m @@ -0,0 +1,16 @@ +function passed = test_tcv_get_ids + +thispath = fileparts(mfilename('fullpath')); +run(fullfile(thispath,'..','gdatpaths')); + +% simple test to check functionality + +shotlist = [-1,40000]; + +for ishot=1:numel(shotlist) + shot = shotlist(ishot); + pf_active = tcv2ids(shot,'ids_names',{'pf_active','wall'}); +end + +passed = true; +end diff --git a/crpptbx/test_gdat_tcv_short.m b/crpptbx/test_gdat_tcv_short.m index 95da4ab5402e70dc9fa23da2110afa235e8943a4..fb2b4472af6c4b149269e0c2f17a5be01e2b5dcf 100644 --- a/crpptbx/test_gdat_tcv_short.m +++ b/crpptbx/test_gdat_tcv_short.m @@ -10,3 +10,6 @@ function [pass] = test_gdat_tcv_short test_machine = 'tcv'; test_signals = {'ip', 'q_rho'}; [pass,request_list,err,telaps,skipped,gdat_results] = test_all_requestnames('machine',test_machine,'testmode',test_signals,'nverbose',0); + +%% test some TCV_IMAS things +test_tcv_get_ids; \ No newline at end of file