diff --git a/crpptbx/AUG/loadAUGdata.m b/crpptbx/AUG/loadAUGdata.m index 897ac2802e0abb6c2bcd0c911e6c9d329ef0bd71..680ec9d772ca89d976c56ec3d9556f169fd4b6cc 100644 --- a/crpptbx/AUG/loadAUGdata.m +++ b/crpptbx/AUG/loadAUGdata.m @@ -78,6 +78,7 @@ function [trace,error,varargout]=loadAUGdata(shot,data_type,varargin) % equil_fpp : as equil but from FPP % equil_eqm : as equil but from EQM % equil_eqr : as equil but from EQR +% equil_eqh : as equil but from EQH % sxr : from SXR/A or B (from old stuff, not sure still OK) % sxR : from SXR/A or B adding R of chords (from old stuff, not sure still OK) % sxb : 'SXB/J' chords @@ -234,6 +235,9 @@ if size(data_type_eff,1)==1 if ~isempty(strmatch(lower(data_type_eff_noext),[{'equil_eqr'}],'exact')) data_type_eff_noext='equil_eqr'; end + if ~isempty(strmatch(lower(data_type_eff_noext),[{'equil_eqh'}],'exact')) + data_type_eff_noext='equil_eqh'; + end if ~isempty(strmatch(data_type_eff_noext,[{'Rmag'}],'exact')) data_type_eff_noext='rmag'; end @@ -252,6 +256,12 @@ if size(data_type_eff,1)==1 if ~isempty(strmatch(data_type_eff_noext,[{'Zcont'}],'exact')) data_type_eff_noext='zcont'; end + if ~isempty(strmatch(lower(data_type_eff_noext),[{'betan'} {'betn'} {'beta_n'}],'exact')) + data_type_eff_noext='betan'; + end + if ~isempty(strmatch(lower(data_type_eff_noext),[{'betap'} {'betp'} {'betpol'} {'betapol'} {'beta_p'} {'beta_pol'}],'exact')) + data_type_eff_noext='betap'; + end if ~isempty(strmatch(data_type_eff_noext,[{'Ha'} {'ha'} {'Halpha'} {'halpha'}],'exact')) data_type_eff_noext='Halpha'; end @@ -271,8 +281,9 @@ end AUGkeywrdall=[{'Ip'} {'b0'} {'zmag'} {'rmag'} {'rgeo'} {'zgeo'} {'rcont'} {'zcont'} {'vol'} {'qrho'} {'qrho_fpp'} {'q0'} {'q95'} {'kappa'} ... {'delta'} {'deltatop'} {'deltabot'} {'neint'} {'ne'} {'te'} ... {'nerho'} {'neterho'} {'terho'} {'cxrs'} {'cxrs_rho'} {'equil'} {'equil_fpp'} {'equil_eqm'} ... - {'equil_eqr'} {'sxr'} {'sxR'} {'sxb'} {'sxf'} {'ssx_g'} {'ssx_h'} {'ssx_i'} {'ssx_j'} {'ssx'} ... - {'ece'} {'ece_rho'} {'eced'} {'eced_rho'} {'eced_rmd'} {'Halpha'} {'pgyro'} {'powers'}]; + {'equil_eqr'} {'equil_eqh'} {'sxr'} {'sxR'} {'sxb'} {'sxf'} {'ssx_g'} {'ssx_h'} {'ssx_i'} {'ssx_j'} {'ssx'} ... + {'ece'} {'ece_rho'} {'eced'} {'eced_rho'} {'eced_rmd'} {'Halpha'} {'pgyro'} {'powers'} ... + {'betan'} {'betap'}]; AUGsig.iip=strmatch('Ip',AUGkeywrdall,'exact'); AUGsig.ib0=strmatch('b0',AUGkeywrdall,'exact'); AUGsig.izmag=strmatch('zmag',AUGkeywrdall,'exact'); @@ -288,12 +299,15 @@ AUGsig.iequil=strmatch('equil',AUGkeywrdall,'exact'); AUGsig.iequil_fpp=strmatch('equil_fpp',AUGkeywrdall,'exact'); AUGsig.iequil_eqm=strmatch('equil_eqm',AUGkeywrdall,'exact'); AUGsig.iequil_eqr=strmatch('equil_eqr',AUGkeywrdall,'exact'); +AUGsig.iequil_eqh=strmatch('equil_eqh',AUGkeywrdall,'exact'); AUGsig.iq0=strmatch('q0',AUGkeywrdall,'exact'); AUGsig.iq95=strmatch('q95',AUGkeywrdall,'exact'); AUGsig.ikappa=strmatch('kappa',AUGkeywrdall,'exact'); AUGsig.idelta=strmatch('delta',AUGkeywrdall,'exact'); AUGsig.ideltatop=strmatch('deltatop',AUGkeywrdall,'exact'); AUGsig.ideltabot=strmatch('deltabot',AUGkeywrdall,'exact'); +AUGsig.ibetan=strmatch('betan',AUGkeywrdall,'exact'); +AUGsig.ibetap=strmatch('betap',AUGkeywrdall,'exact'); AUGsig.ineint=strmatch('neint',AUGkeywrdall,'exact'); AUGsig.ine=strmatch('ne',AUGkeywrdall,'exact'); AUGsig.ite=strmatch('te',AUGkeywrdall,'exact'); @@ -330,6 +344,7 @@ AUGkeywrdcase(AUGsig.iequil)=AUGkeywrdall(AUGsig.iequil); % special as efit q on AUGkeywrdcase(AUGsig.iequil_fpp)=AUGkeywrdall(AUGsig.iequil_fpp); % special as efit q on psi AUGkeywrdcase(AUGsig.iequil_eqm)=AUGkeywrdall(AUGsig.iequil_eqm); % special as efit q on psi AUGkeywrdcase(AUGsig.iequil_eqr)=AUGkeywrdall(AUGsig.iequil_eqr); % special as efit q on psi +AUGkeywrdcase(AUGsig.iequil_eqh)=AUGkeywrdall(AUGsig.iequil_eqh); %AUGkeywrdcase(AUGsig.idelta)=AUGkeywrdall(AUGsig.idelta); % special as average of triu and tril AUGkeywrdcase(AUGsig.ine)=AUGkeywrdall(AUGsig.ine); % special as adds error bars AUGkeywrdcase(AUGsig.ite)=AUGkeywrdall(AUGsig.ite); % idem @@ -376,6 +391,8 @@ AUGsiglocation(:,AUGsig.iq95)={'FPG'; 'q95'}; AUGsiglocation(:,AUGsig.ikappa)={''; ''}; AUGsiglocation(:,AUGsig.ideltatop)={''; ''}; AUGsiglocation(:,AUGsig.ideltabot)={''; ''}; +AUGsiglocation(:,AUGsig.ibetan)={'TOT'; 'beta_N'}; +AUGsiglocation(:,AUGsig.ibetap)={'FPG'; 'betpol'}; AUGsiglocation(:,AUGsig.ineint)={'DCN'; 'H-1'}; AUGsiglocation(:,AUGsig.iece)={'CEC'; 'Trad-A'}; AUGsiglocation(:,AUGsig.ieced)={'CEC'; 'Trad-A'}; % ECED @@ -1040,7 +1057,7 @@ switch AUGkeywrdcase{index} trace.dimunits{1} = a.area.name ; trace.dimunits{2} = a.time_aug.unit; - case {'equil', 'equil_fpp', 'equil_eqm', 'equil_eqr', 'qrho', 'qrho_fpp'} + case {'equil', 'equil_fpp', 'equil_eqm', 'equil_eqr', 'equil_eqh', 'qrho', 'qrho_fpp'} shotfile_exp_eff = AUGexplocation{index}; @@ -1050,6 +1067,8 @@ switch AUGkeywrdcase{index} DIAG = 'EQM'; elseif strcmp(AUGkeywrdcase{index},'equil_eqr') DIAG = 'EQR'; + elseif strcmp(AUGkeywrdcase{index},'equil_eqh') + DIAG = 'EQH'; else DIAG = 'EQI'; end @@ -1060,9 +1079,10 @@ switch AUGkeywrdcase{index} NTIME_par = sf2par(DIAG,shot,'NTIME','PARMV'); NTIME = NTIME_par.value; % nb of points Lpf_par = rdaAUG_eff(shot,DIAG,'Lpf',shotfile_exp_eff); + NTIME_Lpf = length(Lpf_par.value); Lpf_tot = Lpf_par.value; % nb of points: 100000*nb_SOL points + nb_core - Lpf_SOL = fix(Lpf_tot(1:NTIME)/100000); - Lpf1_t = mod(Lpf_tot(1:NTIME),100000)+1; % nb of Lpf points + Lpf_SOL = fix(Lpf_tot/100000); + Lpf1_t = mod(Lpf_tot,100000)+1; % nb of Lpf points % since Lpf depends on time, need to load all first and then loop over time for easier mapping [qpsi,e]=rdaAUG_eff(shot,DIAG,'Qpsi',shotfile_exp_eff); [psi_tree,e]=rdaAUG_eff(shot,DIAG,'PFL',shotfile_exp);