Skip to content
Snippets Groups Projects
ids_structures_mat_to_m.m 1.25 KiB
Newer Older
%%
% auxiliary script to write .mat containing empty IDS to separate .m files
% in ids_empty_folder

clear;
cd(fileparts(mfilename('fullpath')));
ids_struct_saved = '/home/sauter/matlab/gdat_develop/matlab/TCV_IMAS/ids_structures_20190312.mat';
ids_struct_saved = '/home/sauter/matlab/gdat_develop/matlab/TCV_IMAS/ids_structures_IMAS326.mat';
target_folder = 'ids_empty';
ffolder = fullfile(fileparts(mfilename('fullpath')),target_folder);
assert(~~exist(ffolder,'dir'),'target folder does not exist')

load(ids_struct_saved);

fields = fieldnames(ids_structures);

%% write file with
okflag = writecell(fields,fullfile(ffolder,'ids_list_all'),15);
assert(okflag,'problem writing cell array');
assert(isequaln(fields,eval('ids_list_all'))); % check
%% write individual files per ids template

for ii=1:numel(fields)
  myfield = fields{ii};
  fieldval = ids_structures.(myfield);
  %% write to .m
  fname = sprintf('ids_empty_%s',myfield);
  fpath = fullfile(ffolder,fname);
  fprintf('writing %s\n',fpath);
  okflag =writestruct(fieldval,fpath,15);
  assert(okflag,'failed writing %s',fpath);
  try
    cd ids_empty
    S_out = eval(fname);
    assert(isequaln(fieldval,S_out),'fields not equal %s',myfield);
    cd ..
  catch ME
    cd ..