function mapping = aug_requests_mapping(data_request) % Defaults mapping = struct(... 'label', '', ... 'method', '', ... 'expression','', ... 'timedim', -1, ... % dim which is the time, to copy in .t, the other dims are in .x (-1 means last dimension) 'new_timedim',0, ... % if need to reshape data and dim orders to have timedim as new_timedim (shifting time to new_timedim) 'min', -inf, ... 'max', inf); if ~exist('data_request') || isempty(data_request) return end % default label: data_request keyword itself mapping.label = data_request; % for AUG, following choices are set so far: % method = 'tdi' and then expression is the string within tdi (usual case when there is a direct link to an existing signal) % with tdi, if expression cell array, call tdi(cell{1},cell{2},...) % method = 'function', then expression is the funtion to call which should return the correct structure % method = 'switchcase', then there will be a specific case within gdat_aug (usual case when not directly a signal) % % label is used for plotting switch lower(data_request) case 'b0' mapping.label = 'B_0'; mapping.method = 'switchcase'; mapping.expression = ''; case 'betan' mapping.label = '\beta_N'; mapping.method = 'switchcase'; mapping.expression = ''; case 'betap' mapping.label = '\beta_p'; mapping.method = 'tdi'; mapping.expression = '\results::beta_pol'; case 'cxrs' mapping.label = 'cxrs'; mapping.method = 'switchcase'; mapping.expression = ''; case 'delta' mapping.method = 'tdi'; mapping.expression = '\results::delta_edge'; mapping.method = 'function'; mapping.expression = ['tdi(''\results::q_psi'');']; case 'delta_top' mapping.label = 'delta\_top'; mapping.method = 'tdi'; mapping.expression = '\results::delta_ed_top'; case 'delta_bottom' mapping.label = 'delta\_bottom'; mapping.method = 'tdi'; mapping.expression = '\results::delta_ed_bot'; case 'ece' mapping.method = 'switchcase'; mapping.expression = ''; case 'eqdsk' mapping.method = 'switchcase'; % could use function make_eqdsk directly? mapping.expression = ''; case 'halpha' mapping.label = 'Halpha'; mapping.method = 'tdi'; mapping.expression = '\base::pd:pd_011'; case 'ioh' mapping.label = 'I ohmic transformer'; mapping.method = 'tdi'; mapping.expression = [{'\magnetics::ipol[*,$1]'} {'OH_001'}]; case 'ip' mapping.label = 'Plasma current'; mapping.method = 'tdi'; mapping.expression = '\magnetics::iplasma:trapeze'; case 'kappa' mapping.method = 'tdi'; mapping.expression = '\results::kappa_edge'; case 'mhd' mapping.label = 'n=1,2, etc'; mapping.method = 'switchcase'; mapping.expression = ''; case 'ne' mapping.method = 'switchcase'; case 'neint' mapping.label = 'line integrated el. density'; mapping.method = 'tdi'; mapping.expression = '\results::fir:lin_int_dens'; case 'nel' mapping.label = 'line-averaged el. density'; mapping.method = 'tdi'; mapping.expression = '\results::fir:n_average'; case 'nerho' mapping.label = 'ne'; mapping.method = 'switchcase'; case 'neterho' mapping.label = 'ne and Te'; mapping.method = 'switchcase'; case 'ni' mapping.method = 'switchcase'; % especially since might have option fit, etc case 'powers' mapping.label = 'various powers'; mapping.method = 'switchcase'; case 'q0' mapping.method = 'tdi'; mapping.expression = '\results::q_zero'; case 'q95' mapping.method = 'tdi'; mapping.expression = '\results::q_95'; case 'qedge' mapping.method = 'tdi'; mapping.expression = '\results::q_edge'; case 'qrho' mapping.label = 'q'; mapping.method = 'switchcase'; case 'rgeom' mapping.label = 'Rgeom'; mapping.method = 'switchcase'; case 'rhovol' mapping.label = 'rhovol\_norm'; mapping.method = 'switchcase'; % from conf if exist otherwise computes it case 'rmag' mapping.label = 'R\_magaxis'; mapping.method = 'tdi'; mapping.expression = '\results::r_axis'; case 'sxr' mapping.method = 'switchcase'; case 'te' mapping.label = 'Te'; mapping.method = 'switchcase'; case 'terho' mapping.label = 'Te'; mapping.method = 'switchcase'; case 'ti' mapping.label = 'Ti'; mapping.method = 'switchcase'; case 'transp' mapping.label = 'transp output'; mapping.method = 'switchcase'; case 'vloop' mapping.label = ''; mapping.method = 'tdi'; mapping.expression = ''; case 'vol' mapping.label = 'Volume'; mapping.method = 'switchcase'; % mapping.expression = '\results::psitbx:vol'; (if exists for liuqe2 and 3 as well) case 'zeff' mapping.label = 'zeff from Ip-Ibs'; mapping.method = 'tdi'; mapping.expression = '\results::ibs:z_eff'; case 'zgeom' mapping.label = 'Zgeom'; mapping.method = 'switchcase'; case 'zmag' mapping.label = 'Zmagaxis'; mapping.method = 'tdi'; mapping.expression = '\results::z_axis'; % $$$ case '' % $$$ mapping.label = ''; % $$$ mapping.method = 'tdi'; % $$$ mapping.expression = ''; otherwise mapping.label = data_request; mapping.method = 'tdi'; % assume a full tracename is given, so just try with tdi (could check there are some ":", etc...) mapping.expression = data_request; end