%% % 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 .. keyboard rethrow(ME) end end