diff --git a/crpptbx/JET/gdat_jet.m b/crpptbx/JET/gdat_jet.m index 54fa7dd26bffa58306b2e3248853707b15e5e952..ac94bd395e91284a9fdfab9d3ceb44741c6cd9eb 100644 --- a/crpptbx/JET/gdat_jet.m +++ b/crpptbx/JET/gdat_jet.m @@ -1126,29 +1126,30 @@ elseif strcmp(mapping_for_jet.method,'switchcase') %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% case {'q_rho'} % q profile on psi from liuqe - nodenameeff=['\results::q_psi' substr_liuqe]; - if liuqe_version==-1 - nodenameeff=[begstr 'q_psi' substr_liuqe]; + nodenameeff=[{'ppf'},{'EFIT'},{'Q'}]; + ppftype = nodenameeff{1}; + tracename = [nodenameeff{2} '/' nodenameeff{3}]; + [a,x,t,d,e]=rda_jet(shot,ppftype,tracename); + if e==0 + if gdat_params.nverbose>=3; disp(['error after rda_jet in signal with data_request_eff= ' data_request_eff]); end + return end - tracetdi=tdi(nodenameeff); - if isempty(tracetdi.data) || isempty(tracetdi.dim) % || ischar(tracetdi.data) (to add?) - if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end - if (gdat_params.nverbose>=3); disp(['rerun LIUQE?']); end + aatmp.data = a; aatmp.t = t; aatmp.x = sqrt(x); % psi to rhopol + gdat_data.data = aatmp.data; + gdat_data.t = aatmp.t; + gdat_data.x = aatmp.x; + if isempty(gdat_data.data) return - end - gdat_data.data = tracetdi.data; - gdat_data.dim = tracetdi.dim; - gdat_data.t = gdat_data.dim{2}; + end + gdat_data.dim = [{gdat_data.x} {gdat_data.t}]; gdat_data.data_fullpath=[nodenameeff ' on rhopol']; - rhopol_eff = ones(size(tracetdi.dim{1})); - rhopol_eff(:) = sqrt(linspace(0,1,length(tracetdi.dim{1}))); - gdat_data.dim{1} = rhopol_eff; - gdat_data.x = gdat_data.dim{1}; gdat_data.dimunits{1} = ''; gdat_data.dimunits{2} = 's'; gdat_data.units = ''; gdat_data.request_description = 'q(rhopol\_norm)'; - + % add grids_1d to have rhotor, etc + gdat_data = get_grids_1d(gdat_data,1,1,gdat_params.nverbose); + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% case {'psi_edge'} % psi at edge, 0 by construction in Liuqe, thus not given @@ -1171,29 +1172,27 @@ elseif strcmp(mapping_for_jet.method,'switchcase') gdat_data.request_description = '0 since LIUQE construct psi to be zero at LCFS'; %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - case {'rhotor_edge','rhotor'} + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + case {'rhotor', 'rhotor_edge', 'rhotor_norm', 'rhovol', 'volume_rho'} % Phi(LCFS) = int(Bphi dSphi), can use Eq.(11) of "Tokamak coordinate conventions: COCOS" paper: % O. Sauter, S.Yu. Medvedev, Comput. Phys. Commun. 184 (2013) 293–302 % since cocos=17 for LIUQE we get: % q = -dPhi/dpsi => Phi = - int(q*dpsi) which should always have the sign of B0 - params_eff = gdat_data.gdat_params; - params_eff.data_request='q_rho'; - q_rho=gdat_jet([],params_eff); - if isempty(q_rho.data) || isempty(q_rho.dim) % || ischar(q_rho.data) (to add?) - if (gdat_params.nverbose>=1); warning(['problems loading data for q_rho for data_request= ' data_request_eff]); end - if (gdat_params.nverbose>=3); disp(['rerun LIUQE?']); end + % get rhotornorm etc + nodenameeff=[{'ppf'},{'EFIT'},{'FTOR'}]; + ppftype = nodenameeff{1}; + tracename = [nodenameeff{2} '/' nodenameeff{3}]; + [a,x,t,d,e]=rda_jet(shot,ppftype,tracename); + if e==0 + if gdat_params.nverbose>=3; disp(['error after rda_jet in signal with nodenameeff= ' nodenameeff]); end + if gdat_params.nverbose>=3; disp('cannot get rhotornorm'); end return end - params_eff.data_request='psi_axis'; % psi_edge=0 with LIUQE - psi_axis=gdat_jet([],params_eff); + phi = a; + gdat_data.rhotornorm = sqrt(a/(ones(length(x),1)*a(end,:))); + params_eff.data_request='b0'; % psi_edge=0 with LIUQE b0=gdat_jet([],params_eff); - b0tpsi = interp1(b0.t,b0.data,psi_axis.t); %q_rho on same time base as psi_axis - if isempty(psi_axis.data) || isempty(psi_axis.dim) || isempty(q_rho.data) || isempty(q_rho.dim) - if (gdat_params.nverbose>=1); warning(['problems loading data for ' nodenameeff ' for data_request= ' data_request_eff]); end - return - end - rhoequal = linspace(0,1,length(q_rho.dim{1})); if strcmp(data_request,'rhotor_edge') gdat_data.data = psi_axis.data; % to have the dimensions correct gdat_data.dim = psi_axis.dim; @@ -1506,3 +1505,69 @@ error_status=0; return +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +function [gdat_data] = get_grids_1d(gdat_data,nbdim_x,nopt,nverbose); +% +% add various rhos in grids_1d +% +% nbdim_x = 1: same x (rhopol) for all times +% = 2: rhopol depends on time like Thomson projection +% +% nopt = 0: do not fill in, just make the empty structure +% = 1: do compute various fields +% + +gdat_data.grids_1d.rhopolnorm = gdat_data.x; +if (nopt == 0) || isempty(gdat_data.x) || isempty(gdat_data.t) || isempty(gdat_data.data) || ischar(gdat_data.data) + gdat_data.grids_1d.rhotornorm = []; + gdat_data.grids_1d.rhovolnorm = []; + gdat_data.grids_1d.psi = []; + gdat_data.grids_1d.rhotor_edge = []; + gdat_data.grids_1d.volume_edge = []; + return +end + +params_eff = gdat_data.gdat_params;params_eff.doplot=0; +params_eff.data_request='rhotor'; +rhotor = gdat(gdat_data.shot,params_eff); +params_eff.data_request='rhovol'; +rhovol = gdat(gdat_data.shot,params_eff); + +psi0 = interpos(rhotor.t',rhotor.psi_axis,gdat_data.t,-0.01); +if (nbdim_x == 1) + gdat_data.grids_1d.psi = gdat_data.grids_1d.rhopolnorm.^2*reshape(psi0,1,length(psi0)); +elseif (nbdim_x == 2) + gdat_data.grids_1d.psi = gdat_data.grids_1d.rhopolnorm.^2.*repmat(reshape(psi0,1,length(psi0)),size(gdat_data.grids_1d.rhopolnorm,1),1); +else + if nverbose>=0; disp(['option: nbdim_x = ' numstr(nbdim_x) ' not implemented, check with O. Sauter']); end + return +end +gdat_data.grids_1d.rhotornorm = NaN*ones(size(gdat_data.data)); +gdat_data.grids_1d.rhovolnorm = NaN*ones(size(gdat_data.data)); +it_rt = iround_os(rhotor.t,gdat_data.t); +it_vol = iround_os(rhovol.t,gdat_data.t); +for it=1:length(gdat_data.t) + % do an interpolation on closest point to avoid 2D interp + it_rt_eff = it_rt(it); + it_vol_eff = it_vol(it); + if (nbdim_x == 1) + ii=find(~isnan(gdat_data.grids_1d.rhopolnorm)); + else + ii=find(~isnan(gdat_data.grids_1d.rhopolnorm(:,it))); + end + if (nbdim_x == 1) + if length(ii)==length(gdat_data.grids_1d.rhopolnorm) + gdat_data.grids_1d.rhotornorm(:,it)=interpos(rhotor.x,rhotor.data(:,it_rt_eff),gdat_data.grids_1d.rhopolnorm); + gdat_data.grids_1d.rhovolnorm(:,it)=interpos(rhovol.x,rhovol.data(:,it_vol_eff),gdat_data.grids_1d.rhopolnorm); + end + else + if length(ii)==size(gdat_data.grids_1d.rhopolnorm,1) + gdat_data.grids_1d.rhotornorm(:,it)=interpos(rhotor.x,rhotor.data(:,it_rt_eff),gdat_data.grids_1d.rhopolnorm(:,it)); + gdat_data.grids_1d.rhovolnorm(:,it)=interpos(rhovol.x,rhovol.data(:,it_vol_eff),gdat_data.grids_1d.rhopolnorm(:,it)); + end + end +end +gdat_data.grids_1d.rhotor_edge=interpos(rhotor.t',rhotor.rhotor_edge,gdat_data.t',-0.01); +gdat_data.grids_1d.volume_edge=interpos(rhovol.t',rhovol.volume_edge,gdat_data.t',-0.01); + +return diff --git a/crpptbx/JET/jet_requests_mapping.m b/crpptbx/JET/jet_requests_mapping.m index 97a3fc86ddf7c171830df2a760916c7e636aa4ae..3957e1442410df2a9aa2294eaba62bf835dac7ef 100644 --- a/crpptbx/JET/jet_requests_mapping.m +++ b/crpptbx/JET/jet_requests_mapping.m @@ -39,46 +39,30 @@ end switch lower(data_request) case 'a_minor' - mapping.timedim = 1; mapping.label = 'a\_minor'; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''r_inboard'';' ... - 'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.r_inboard=gdat_tmp.data;' ... - 'params_eff.data_request=''r_outboard'';' ... - 'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.r_outboard=gdat_tmp2.data;' ... - 'gdat_tmp.data = 0.5.*(gdat_tmp2.data-gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ... - 'gdat_tmp.gdat_request=''' data_request ''';']; - case 'b0' mapping.timedim = 1; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'CR0'}]; + case 'b0' mapping.label = 'B_0'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPC'},{'BTF'}]; + mapping.expression = [{'ppf'},{'MAGN'},{'BVAC'}]; case 'beta' + mapping.label = 'beta\_tor diag [%]'; mapping.timedim = 1; - mapping.label = '\beta'; mapping.method = 'signal'; - mapping.expression = [{'TOT'},{'beta'}]; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''betan'';' ... - 'gdat_tmp=gdat_jet(shot,params_eff);' ... - 'params_eff.data_request=''ip'';gdat_tmp2=gdat_jet(shot,params_eff);' ... - 'params_eff.data_request=''b0'';gdat_tmp3=gdat_jet(shot,params_eff);' ... - 'params_eff.data_request=''a_minor'';gdat_tmp4=gdat_jet(shot,params_eff);' ... - 'tmp_data_ip=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... - 'tmp_data_b0=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ... - 'tmp_data_a=interp1(gdat_tmp4.t,gdat_tmp4.data,gdat_tmp.t,[],NaN);' ... - 'gdat_tmp.data = 0.01.*abs(gdat_tmp.data.*tmp_data_ip./1e6./tmp_data_a./tmp_data_b0);' ... - 'gdat_tmp.label=''' mapping.label ''';gdat_tmp.gdat_request=''' data_request ''';']; + mapping.expression = [{'PPF'},{'EFIT'},{'BTTD'}]; case 'betan' - mapping.timedim = 1; mapping.label = '\beta_N'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'TOT'},{'beta_N'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'BTND'}]; case 'betap' - mapping.timedim = 1; mapping.label = '\beta_p'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'betpol'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'BTPD'}]; case 'cxrs' mapping.timedim = 2; mapping.label = 'cxrs'; @@ -95,12 +79,12 @@ switch lower(data_request) mapping.label = 'delta\_top'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'delRoben'}]; + mapping.expression = [{'ppf'},{'EFIT'},{'TRIU'}]; case 'delta_bottom' mapping.label = 'delta\_bottom'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'delRuntn'}]; + mapping.expression = [{'ppf'},{'EFIT'},{'TRIL'}]; case {'ece', 'eced', 'ece_rho', 'eced_rho'} mapping.timedim = 2; mapping.method = 'switchcase'; @@ -114,39 +98,54 @@ switch lower(data_request) mapping.method = 'switchcase'; % could use function make_eqdsk directly? mapping.expression = ''; case 'halpha' - mapping.timedim = 1; mapping.label = 'Halpha'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'POT'},{'ELMa-Han'}]; + mapping.expression = [{'jpf'},{'dd'},{'s3-ad08'}]; case 'ioh' mapping.timedim = 1; mapping.label = 'I ohmic transformer'; mapping.method = 'signal'; - mapping.expression = [{'MBI'},{'IOH'}]; + mapping.expression = []; case 'ip' mapping.timedim = 1; mapping.label = 'Plasma current'; mapping.method = 'signal'; mapping.expression = [{'ppf'},{'efit'},{'xip'}]; + mapping.expression = [{'ppf'},{'MAGN'},{'IPLA'}]; mapping.units = 'A'; case 'kappa' mapping.timedim = 1; mapping.label = '\kappa'; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'k'}]; + mapping.expression = [{'ppf'},{'EHTR'},{'ELON'}]; + mapping.expression = [{'ppf'},{'EFIT'},{'ELON'}]; case 'mhd' mapping.timedim = 1; - mapping.label = 'Odd and Even n'; + mapping.label = 'n=1 and n=2 amplitude'; mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''MOD'',''OddN''}; ' ... + mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''JPF'',''DA'',''C1H-I301''}; ' ... 'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.data=reshape(gdat_tmp.data,length(gdat_tmp.data),1 );' ... 'gdat_tmp.dim{1}=gdat_tmp.t;gdat_tmp.dim{2}=[1 2];gdat_tmp.x=gdat_tmp.dim{2};' ... - 'gdat_tmp.n_odd.data = gdat_tmp.data;gdat_tmp.n_odd.data_request=params_eff.data_request;' ... - 'params_eff.data_request={''MOD'',''EvenN''};' ... + 'gdat_tmp.n_1.data = gdat_tmp.data;gdat_tmp.n_1.data_request=params_eff.data_request;' ... + 'params_eff.data_request={''JPF'',''DA'',''C1H-I302''};' ... 'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.data(:,2)=reshape(gdat_tmp2.data,length(gdat_tmp2.data),1);' ... - 'gdat_tmp.n_even.data = gdat_tmp2.data;gdat_tmp.n_even.data_request=params_eff.data_request;gdat_tmp.label={''n\_odd'',''n\_even''};' ... - 'gdat_tmp.full_path=''MOD/Odd in data and .n_odd; .n_even'';' ... + 'gdat_tmp.n_2.data = gdat_tmp2.data;gdat_tmp.n_2.data_request=params_eff.data_request;gdat_tmp.label={''n=1'',''n=2''};' ... + 'gdat_tmp.full_path=''n=1 in data and .n_1; .n_2'';' ... 'gdat_tmp.gdat_request=''mhd'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;']; + case 'mhd_ampl' + mapping.timedim = 1; + mapping.label = 'n=1 and n=2 amplitude'; + mapping.method = 'expression'; + mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''JPF'',''DA'',''C1H-G101''}; ' ... + 'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.data=reshape(gdat_tmp.data,length(gdat_tmp.data),1 );' ... + 'gdat_tmp.dim{1}=gdat_tmp.t;gdat_tmp.dim{2}=[1 2];gdat_tmp.x=gdat_tmp.dim{2};' ... + 'gdat_tmp.n_1.data = gdat_tmp.data;gdat_tmp.n_1.data_request=params_eff.data_request;' ... + 'params_eff.data_request={''JPF'',''DA'',''C1H-G102''};' ... + 'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.data(:,2)=reshape(gdat_tmp2.data,length(gdat_tmp2.data),1);' ... + 'gdat_tmp.n_2.data = gdat_tmp2.data;gdat_tmp.n_2.data_request=params_eff.data_request;gdat_tmp.label={''n=1'',''n=2''};' ... + 'gdat_tmp.full_path=''n=1 amplitude in data and .n_1; .n_2'';' ... + 'gdat_tmp.gdat_request=''mhd_ampl'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;']; case 'ne' mapping.timedim = 2; mapping.method = 'switchcase'; @@ -157,14 +156,10 @@ switch lower(data_request) mapping.expression = [{'DCN'},{'H-1'},{'JETD'}]; case 'nel' mapping.timedim = 1; - mapping.label = 'line-averaged el. density'; - mapping.expression = [{'FPG'},{'lenH-1'},{'JETD'}]; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''neint'';' ... - 'gdat_tmp=gdat_jet(shot,params_eff);params_eff.data_request=[{''FPG''},{''lenH-1''},{''JETD''}];' ... - 'gdat_tmp2=gdat_jet(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ... - 'tmp_data=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... - 'gdat_tmp.data = gdat_tmp.data./(tmp_data+1e-5);']; + mapping.label = 'nel'; + mapping.method = 'signal'; + mapping.expression = [{'ppf'},{'KG1L'},{'LAD3'}]; + mapping.expression = [{'ppf'},{'HRTX'},{'NELA'}]; case 'ne_rho' mapping.timedim = 2; mapping.label = 'ne'; @@ -180,30 +175,31 @@ switch lower(data_request) mapping.label = 'various powers'; mapping.method = 'switchcase'; case 'psi_axis' + mapping.label = 'psi\_axis'; mapping.timedim = 1; - mapping.method = 'switchcase'; % there is psi_axis-psi_edge in FPG but otherwise complicated to get from equil, thus needs swticth case - mapping.label ='psi_\axis' ; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'FAXS'}]; case 'psi_edge' - mapping.timedim = 1; - mapping.method = 'switchcase'; % is set to zero, so not in tree nodes mapping.label = 'psi\_edge'; - case 'q0' mapping.timedim = 1; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'FBND'}]; + case 'q0' mapping.label = 'q_0'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'q0'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'QAX'}]; + % mapping.expression = [{'PPF'},{'EFIT'},{'QAXM'}]; case 'q95' - mapping.timedim = 1; mapping.label = 'q_{95}'; + mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'q95'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'Q95'}]; case 'q_edge' - mapping.timedim = 1; mapping.label = 'q_{edge}}'; - mapping.method = 'expression'; - mapping.method = 'switchcase'; - mapping.expression = [{'FPG'},{'q95'},{'JETD'}]; - mapping.expression = []; + mapping.timedim = 1; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'QWL'}]; case 'q_rho' mapping.timedim = 2; mapping.gdat_timedim = 2; @@ -212,31 +208,30 @@ switch lower(data_request) case 'rgeom' mapping.label = 'Rgeom'; mapping.timedim = 1; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''r_inboard'';' ... - 'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.r_inboard=gdat_tmp.data;' ... - 'params_eff.data_request=''r_outboard'';' ... - 'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.r_outboard=gdat_tmp2.data;' ... - 'gdat_tmp.data = 0.5.*(gdat_tmp2.data+gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ... - 'gdat_tmp.gdat_request=''' data_request ''';']; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'RGEO'}]; case 'r_inboard' mapping.label = 'R\_inboard'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'Rin'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'RMJI'}]; case 'r_outboard' mapping.label = 'R\_outboard'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'Raus'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'RMJO'}]; case 'rhotor' mapping.timedim = 2; mapping.method = 'switchcase'; - mapping.label = 'rhotor\_norm'; + mapping.label = 'rhotor'; case 'rhotor_edge' mapping.timedim = 1; mapping.method = 'switchcase'; mapping.label = 'rhotor\_edge'; + case 'rhotor_norm' + mapping.timedim = 2; + mapping.method = 'switchcase'; + mapping.label = 'rhotor\_norm'; case 'rhovol' mapping.timedim = 2; mapping.label = 'rhovol\_norm'; @@ -245,7 +240,7 @@ switch lower(data_request) mapping.label = 'R\_magaxis'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'Rmag'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'RMAG'}]; case 'sxr' mapping.timedim = 1; mapping.gdat_timedim = 2; @@ -262,45 +257,34 @@ switch lower(data_request) mapping.label = 'Ti'; mapping.method = 'switchcase'; case 'vloop' - mapping.label = 'Vloop'; + mapping.label = 'Vloop Upper Restraint Ring Flux Flux Loop, non-integrated'; mapping.timedim = 1; - % mapping.method = 'signal'; - % mapping.expression = [{'MAG'},{'ULid12'},{'JETD'}]; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''MAG''},{''ULid12''},{''JETD''}];' ... - 'gdat_tmp=gdat_jet(shot,params_eff);ij=find(~isnan(gdat_tmp.data));' ... - 'tmp_data=interpos(gdat_tmp.t,gdat_tmp.data,-3e4);' ... - 'gdat_tmp.data_smooth = tmp_data;gdat_tmp.gdat_request=''vloop'';gdat_tmp.gdat_params.data_request=gdat_tmp.gdat_request;']; + mapping.method = 'signal'; + mapping.expression = [{'JPF'},{'DA'},{'C2-VLRRU'}]; case 'volume' mapping.label = 'Volume'; mapping.timedim = 1; - mapping.method = 'switchcase'; - mapping.expression = [{'FPG'},{'Vol'},{'JETD'}]; + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'VOLM'}]; case 'volume_rho' mapping.timedim = 2; mapping.label = 'volume\_norm'; mapping.method = 'switchcase'; case 'zeff' - mapping.label = 'zeff from cxrs'; + mapping.label = 'zeff from KS3'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'ZES'},{'Zeff'},{'JETD'}]; + mapping.expression = [{'PPF'},{'KS3'},{'ZEFV'}]; case 'zgeom' - mapping.label = 'Zgeom'; + mapping.label = 'Z_{geom}'; mapping.timedim = 1; - mapping.method = 'expression'; - mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''FPG''},{''Zoben''},{''JETD''}];' ... - 'gdat_tmp=gdat_jet(shot,params_eff);gdat_tmp.z_top=gdat_tmp.data;' ... - 'params_eff.data_request=[{''FPG''},{''Zunt''},{''JETD''}];' ... - 'gdat_tmp2=gdat_jet(shot,params_eff);gdat_tmp.z_bottom=gdat_tmp2.data;' ... - 'gdat_tmp.data = 0.5.*(gdat_tmp2.data+gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ... - 'gdat_tmp.gdat_request=''' data_request ''';']; - + mapping.method = 'signal'; + mapping.expression = [{'PPF'},{'EFIT'},{'ZGEO'}]; case 'zmag' mapping.label = 'Z\_magaxis'; mapping.timedim = 1; mapping.method = 'signal'; - mapping.expression = [{'FPG'},{'Zmag'},{'JETD'}]; + mapping.expression = [{'PPF'},{'EFIT'},{'ZMAG'}]; % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % extra JET cases (not necessarily in official data_request name list)