diff --git a/crpptbx/AUG/aug_help_parameters.m b/crpptbx/AUG/aug_help_parameters.m index 6d4c02bbcd234fd731eced94f7048be1e58b7adc..9a5663e8219837e5a68819b62d99398911708318 100644 --- a/crpptbx/AUG/aug_help_parameters.m +++ b/crpptbx/AUG/aug_help_parameters.m @@ -37,6 +37,7 @@ help_struct_all.cocos = ['cocos value desired in output, uses eqdsk_cocos_transf % $$$ help_struct_all.edge = '0 (default), 1 to get edge Thomson values'; help_struct_all.fit = '0, no fit profiles, 1 (default) if fit profiles desired as well, relevant for _rho profiles. See also fit_type'; help_struct_all.fit_type = 'type of fits ''std'' (default) uses diagnostic error bars, ''pedestal'', uses manual error bars with smaller values outside 0.8'; +help_struct_all.fit_nb_rho_points = 'nb of points for the radial mesh over which the fits are evaluated for the fitted profiles, it uses an equidistant mesh at this stage'; help_struct_all.source = 'sxr: ''G'' (default, with ssx), camera name ''J'', ''G'', ...[[F-M], case insensitive;; cxrs: ''CEZ'' (default), ''CMZ'''; help_struct_all.camera = ['[] (default, all), [i1 i2 ...] chord nbs ([1 3 5] if only chords 1, 3 and 5 are desired), ''central'' uses J_049']; help_struct_all.freq = '''slow'', default (means ssx, 500kHz), lower sampling; ''fast'' full samples 2MHz; integer value nn for downsampling every nn''th points'; diff --git a/crpptbx/AUG/gdat_aug.m b/crpptbx/AUG/gdat_aug.m index 86f2809208906202254de6c28e15a2e6692b6171..7aa23ce63764640242aec7e436484d084acf158c 100644 --- a/crpptbx/AUG/gdat_aug.m +++ b/crpptbx/AUG/gdat_aug.m @@ -540,13 +540,19 @@ elseif strcmp(mapping_for_aug.method,'switchcase') if ~isfield(fit_tension,'vrot '); fit_tension.vrot = fit_tension_default; end end gdat_data.gdat_params.fit_tension = fit_tension; + if isfield(gdat_data.gdat_params,'fit_nb_rho_points') + fit_nb_rho_points = gdat_data.gdat_params.fit_nb_rho_points; + else + fit_nb_rho_points = 201; + end + gdat_data.gdat_params.fit_nb_rho_points = fit_nb_rho_points; % if gdat_data.gdat_params.fit==1 % add fits gdat_data.fit.raw.rhotornorm = NaN*ones(size(gdat_data.ti.data)); gdat_data.fit.raw.ti.data = NaN*ones(size(gdat_data.ti.data)); gdat_data.fit.raw.vrot.data = NaN*ones(size(gdat_data.vrot.data)); - rhotornormfit = linspace(0,1,161)'; + rhotornormfit = linspace(0,1,fit_nb_rho_points)'; gdat_data.fit.rhotornorm = rhotornormfit; gdat_data.fit.t = gdat_data.t; for it=1:length(gdat_data.t) @@ -1197,15 +1203,28 @@ elseif strcmp(mapping_for_aug.method,'switchcase') if ~isfield(fit_tension,'ne '); fit_tension.ne = fit_tension_default; end end gdat_data.gdat_params.fit_tension = fit_tension; + if isfield(gdat_data.gdat_params,'fit_nb_rho_points') + fit_nb_rho_points = gdat_data.gdat_params.fit_nb_rho_points; + else + fit_nb_rho_points = 201; + end + gdat_data.gdat_params.fit_nb_rho_points = fit_nb_rho_points; % if gdat_data.gdat_params.fit==1 % add fits + gdat_data.fit.t = gdat_data.t; gdat_data.fit.raw.rhotornorm = NaN*ones(size(gdat_data.te.data)); gdat_data.fit.raw.te.data = NaN*ones(size(gdat_data.te.data)); + gdat_data.fit.raw.te.error_bar = NaN*ones(size(gdat_data.te.data)); gdat_data.fit.raw.ne.data = NaN*ones(size(gdat_data.ne.data)); - rhotornormfit = linspace(0,1,161)'; + gdat_data.fit.raw.ne.error_bar = NaN*ones(size(gdat_data.te.data)); + rhotornormfit = linspace(0,1,fit_nb_rho_points)'; gdat_data.fit.rhotornorm = rhotornormfit; - gdat_data.fit.t = gdat_data.t; + gdat_data.fit.rhopolnorm = NaN*ones(length(rhotornormfit),length(gdat_data.fit.t)); + gdat_data.fit.te.data = gdat_data.fit.rhopolnorm; + gdat_data.fit.te.drhotornorm = gdat_data.fit.rhopolnorm; + gdat_data.fit.ne.data =gdat_data.fit.rhopolnorm; + gdat_data.fit.ne.drhotornorm = gdat_data.fit.rhopolnorm; for it=1:length(gdat_data.t) % make rhotor->rhopol transformation for each time since equilibrium might have changed irhook=find(gdat_data.grids_1d.rhotornorm(:,it)>0 & gdat_data.grids_1d.rhotornorm(:,it)<1); % no need for ~isnan @@ -1213,12 +1232,11 @@ elseif strcmp(mapping_for_aug.method,'switchcase') gdat_data.fit.rhopolnorm(:,it)=interpos([0; rhoeff; 1],[0; gdat_data.grids_1d.rhopolnorm(irhook(isort),it); 1],rhotornormfit,-0.1,[2 2],[0 1]); idata = find(gdat_data.te.data(:,it)>0 & gdat_data.grids_1d.rhotornorm(:,it)<=1.05); if length(idata)>0 - gdat_data.fit.te.raw.rhotornorm(idata,it) = gdat_data.grids_1d.rhotornorm(idata,it); - gdat_data.fit.te.raw.data(idata,it) = gdat_data.te.data(idata,it); - gdat_data.fit.te.raw.error_bar(idata,it) = gdat_data.te.error_bar(idata,it); - gdat_data.fit.ne.raw.rhotornorm(idata,it) = gdat_data.grids_1d.rhotornorm(idata,it); - gdat_data.fit.ne.raw.data(idata,it) = gdat_data.ne.data(idata,it); - gdat_data.fit.ne.raw.error_bar(idata,it) = gdat_data.ne.error_bar(idata,it); + gdat_data.fit.raw.rhotornorm(idata,it) = gdat_data.grids_1d.rhotornorm(idata,it); + gdat_data.fit.raw.te.data(idata,it) = gdat_data.te.data(idata,it); + gdat_data.fit.raw.te.error_bar(idata,it) = gdat_data.te.error_bar(idata,it); + gdat_data.fit.raw.ne.data(idata,it) = gdat_data.ne.data(idata,it); + gdat_data.fit.raw.ne.error_bar(idata,it) = gdat_data.ne.error_bar(idata,it); [rhoeff,irhoeff] = sort(gdat_data.grids_1d.rhotornorm(idata,it)); rhoeff = [0; rhoeff]; teeff = gdat_data.te.data(idata(irhoeff),it);