From c23a4b02dc8cea841304f75a9e32ada7ceca7078 Mon Sep 17 00:00:00 2001
From: Olivier Sauter <Olivier.Sauter@epfl.ch>
Date: Sat, 2 May 2020 14:31:44 +0200
Subject: [PATCH] rm to use CXRS_analysis svn

---
 matlab/TCV/CXRS_get_profiles.m | 355 ---------------------------------
 1 file changed, 355 deletions(-)
 delete mode 100644 matlab/TCV/CXRS_get_profiles.m

diff --git a/matlab/TCV/CXRS_get_profiles.m b/matlab/TCV/CXRS_get_profiles.m
deleted file mode 100644
index 0ac5f1c4..00000000
--- a/matlab/TCV/CXRS_get_profiles.m
+++ /dev/null
@@ -1,355 +0,0 @@
-function cxrs_profiles = CXRS_get_profiles(varargin)
-% Gets (reads from MDS) Ti,Vi,nC,Zeff profiles from TCV CXRS diagnostic, interpolates and plots
-% Call: cxrs_profiles = CXRS_get_profiles(varargin);
-%
-% Few Shots where it works: 42422 42404 42398 42310 42388 42357 42353 42340 42329 42308 42254 42231
-% Old Shots where it works: 41874 41757 41396 40268 40070 39360 38930 37108 36424 36401 36354 36203 36201 36196 (07.11.2008)
-%
-% Inputs:   {1} shot  - TCV shot number
-%           or  data  - structure from CXRS data analysis
-%           {2} sys   - cxrs system(s) LFS, HFS, ALL or 1,2,0 (default ALL)
-%           {3} time  - time, {a} [tmin tmax],
-%                             {b} [tmin:dt:tmax],   [Tmin(i) Tmax(i)]=[t(i) t(i+1)];
-%                             {c} -[tmin(1) tmax(1) ... tmin(end) tmax(end)]) - direct specification of [Tmin(i) Tmax(i)]=abs([t(i*2-1) t(i*2)]);
-%                                  default [] - all times for first system in sys
-%           {4} param - parameters strucrure, useful fields:
-%                      param.k_plot - 1 (default) plot results, 0 disable graphics, -1 plot in new figures, <=-2 plot on the top of existing figure (hold on)
-%                      param.prof.all - structire with parameters for interpos (see help interpos) used if corresponding filelds in param.prof.(Ti,vi,nc,zeff) are empty
-%                      param.prof.all.xout - rho for proffit, if empty variable on time according to rho_min rho_max of CXRS measurement
-% Output:
-%         OK:  1 -OK, or error index
-%      argin:  cell of input arguments
-%       shot:  shot number
-%     system:  CXRS systems used
-%      param:  used parameters strucrure
-%      Times:  used times
-%       data:  cxrs data from CXRS_load_MDS(shot,isys,'result',[],...)
-%        exp:  experimental data for Ti, vTor, vPol, nC, Zeff structures with x,dx,y,dy,t,dt,sys
-%         Ti, vTor, vPol, nC, Zeff - cells with proffit data from CXRS_fit_profies.m function
-%    proffit: proffit data Ti(eV), vTor(km/sec), vPol(km/sec), nC(m^{-3}), Zeff all (time x rho) with rho(time x rho) - (normalized poloidal flux)^0.5,
-%
-%
-%   See also: CXRS_save_profiles  - save cxrs_profiles in MDS
-%             CXRS_calc_automatic - automatic CXRS data analysis
-%             CXRS_save_MDS       - save CXRS data
-% Examples: shot=42422; cxrs_profiles = CXRS_get_profiles(shot);                                                      % standard run
-%           cxrs_profiles = CXRS_get_profiles; param=cxrs_profiles.param; param.prof.all.xout=linspace(0,1.1,101);
-%                                              cxrs_profiles = CXRS_get_profiles(shot,[],[],param);                   % define rho grid
-%           mdsopen(shot); tdiTS=tdi('\results::thomson.profiles.auto:te'); mdsclose;                                 % get TS times
-%                                              dTimes=0.05;                                                           % max TS/CXRS time difference (50/2 ms)
-%                                              Times(1:2:length(tdiTS.dim{1})*2)=tdiTS.dim{1}'-dTimes/2;
-%                                              Times(2:2:length(tdiTS.dim{1})*2)=tdiTS.dim{1}'+dTimes/2;
-%                                              cxrs_profiles = CXRS_get_profiles; param=cxrs_profiles.param; param.prof.all.xout=linspace(0,1.1,101);
-%                                              cxrs_profiles = CXRS_get_profiles(shot,[],-Times,param);               % gives CXRS profiles at TS times 101 rho points in [0 1.1]
-%                                              cxrs_profiles = CXRS_get_profiles; param=cxrs_profiles.param; param.prof.all.xout=tdiTS.dim{2}';
-%                                              param.k_plot=0;                                                        % without plot for profiles
-%                                              cxrs_profiles = CXRS_get_profiles(shot,[],-Times,param);               % gives CXRS profiles at TS times and rho
-%           param.prof.all.xout=[]; param.prof.Ti.taus=1.e-5; param.prof.vi.taus=5.e-5;
-%                                              cxrs_profiles = CXRS_get_profiles(shot,[],[],param);                   % define taus for interpos for Ti and vi
-%           plot profiles from LFS,VER&HFS systems on the same plots by different colors
-%           cxrs_profiles = CXRS_get_profiles; param=cxrs_profiles.param; param.prof.all.xout=linspace(0,1.1,101);
-%           param.prof.Ti.taus=1.e-5; param.prof.vi.taus=2.e-5; param.prof.nc.taus=5.e-5;
-%           shot=45262; times=[0.41 1.01];
-%           param.k_plot= 1;  cxrs_profiles = CXRS_get_profiles(shot,1,times,param);
-%           param.k_plot=-2;  cxrs_profiles = CXRS_get_profiles(shot,2,times,param);
-%           param.k_plot=-3;  cxrs_profiles = CXRS_get_profiles(shot,3,times,param);
-%
-%
-% Created: A.Karpushov, CRPP-EPFL, 01.04.2011
-
-s=mfilename;
-cxrs_profiles.OK=1;
-%if nargin==0, cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=0; return; end
-
-% input arguments
-ninparg = 4; inparg=varargin; for iinparg=nargin+1:ninparg, inparg{iinparg}=[]; end
-if isa(inparg{1},'numeric'), % shot number
-    shot=inparg{1}; k_load=1;
-elseif isa(inparg{1},'struct'), % data structure from CXRS data analysis
-    data=inparg{1};
-    if ~isfield(data,'shot'), data_OK=0; elseif ~isfield(data,'calc'), data_OK=0; elseif ~isfield(data.calc,'Ti'), data_OK=0; else data_OK=1; end
-    if data_OK, k_load=0; shot=data.shot; inparg{2}=data.system; else, cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=0; return; end
-else,
-    cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=-9998; return;
-end
-if isempty(inparg{2}),
-   sys=0;
-elseif isa(inparg{2},'char'),
-   switch upper(inparg{2});
-   case ('ALL'),
-      sys=0;
-   case ('LFS'),
-      sys=1;
-   case ('VER'),
-      sys=2;
-   case ('HFS'),
-      sys=3;
-   case ('EDG'),
-      sys=4;
-   otherwise,
-      cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=-9999; return;
-   end
-elseif isa(inparg{2},'numeric'),
-   if ((inparg{2} >= 0)&(inparg{2} <= 4)),
-      sys=inparg{2};
-   else
-      cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=0; return;
-   end
-else,
-   cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=0; return;
-end
-if (sys(1)==0), sys=[1 2]; end % LFS & VER systems
-if (sys(1)==-1), sys=[1 2 3]; end % LFS & VER & HFS systems
-
-if ~isempty(inparg{3}),
-  if (max(inparg{3}(1))<=0)&(length(inparg{3})>=2),
-     Time_min=abs(inparg{3}(1:2:end)); Time_max=abs(inparg{3}(2:2:end)); % [tmin(1) tmax(1) tmin(2) tmax(2) ... tmin(end) tmax(end)]
-  elseif (length(inparg{3})==1),
-     Time_min=abs(inparg{3})-0.05; Time_max=abs(inparg{3})+0.05;         % single time point
-  else
-     Time_min=abs(inparg{3}(1:end-1)); Time_max=abs(inparg{3}(2:end));   % tmax(i)=tmin(i-1)
-  end
-else,
-  Time_min=[]; Time_max=[];
-end
-
-% Default paramaters
-param.name     = 'Default parameters';
-param.k_plot   = 1;
-param.k_debug  = 1;
-[colos,lnstyle,typemk]=CXRS_plot_definition;
-param.plot.colos   = colos;
-param.plot.lnstyle = lnstyle;
-param.plot.typemk  = typemk;
-a.kopt = 23;                   % option for interpolation and extrapolation method, 23 - cubic spline interpolation, with tension=taus
-%a.xout = linspace(0,1.10,101); % output grid for interpos
-a.xout = [];
-%a.taus = [];
-a.taus = 2.e-3 ;                % tension value for cubic spline interpolation
-%a.nbc  = [1  2 ];              % 0/1/2 - VALUE OF SECOND DERIVATIVE; 1-ST; FUNCTION AT XBCLFT
-a.nbc  = [1  0 ];               % 0/1/2 - VALUE OF SECOND DERIVATIVE; 1-ST; FUNCTION AT XBCLFT
-a.ybc  = [0. 0. 0. 1.];         % 1-ST  DERIVATIVE 0 (left); 2-MD  DERIVATIVE 0. (right) at rho 0.0 and 1.0
-% for sigma taus(i)=taus .* sigma(i) ./ min(sigma)
-param.prof.all  = a;
-param.prof.Ti   = a;
-param.prof.vi   = a;
-param.prof.nc   = a;
-param.prof.zeff = a;
-
-param.prof.Ti.err_min = 10.0;
-param.prof.vi.err_min = 0.5;
-param.prof.nc.err_min = 1.e+17;
-param.prof.zeff.err_min = 0.5;
-
-% add input parameters
-if ~isempty(inparg{4}),
-   if  ~isa(inparg{4},'struct'), cmd=sprintf('help %s',s); eval(cmd); cxrs_profiles.OK=0; return; end
-   parinp=inparg{4};
-   parnames = fieldnames(parinp);
-   for ipar=1:length(parnames)
-      cmd=sprintf('param.%s = parinp.%s;',parnames{ipar},parnames{ipar});
-      eval(cmd);
-   end
-end
-if ~isempty(param.prof.all.xout),
-  param.prof.Ti.xout    = param.prof.all.xout;
-  param.prof.vi.xout    = param.prof.all.xout;
-  param.prof.nc.xout    = param.prof.all.xout;
-  param.prof.zeff.xout  = param.prof.all.xout;
-end
-
-cxrs_profiles.argin=inparg;
-cxrs_profiles.shot   = shot;
-cxrs_profiles.system = sys;
-cxrs_profiles.param  = param;
-cxrs_profiles.Times=(Time_min+Time_max)/2.;
-if nargin==0, cxrs_profiles.OK=0; return; end
-
-V.y = []; V.dy = []; V.x=[]; V.dx=[]; V.t=[]; V.dt=[]; V.sys=[];
-Ti=V; vTor=V; vPol=V; nC=V; Zeff=V;
-jsis=0;
-for isys=sys
-  %data=CXRS_load_MDS(shot,isys,'result',[],param.k_debug,param.k_plot);
-  if k_load, data=CXRS_load_MDS(shot,isys,'result',[],param.k_debug,0); end
-  % if ~isfield(data.calc,'Ti'), data.OK=0; end
-  if (data.OK==1)
-     jsis=jsis+1; cxrs_profiles.data{jsis}=data;
-     nr=size(data.calc.Ti,1); nt=length(data.calc.time);
-     for it=1:nt,
-        time(1:nr,it)=data.calc.time(it);
-	if (length(data.calc.dtime)==1), dtime(1:nr,it)=data.calc.dtime; else, dtime(1:nr,it)=data.calc.dtime(it); end
-     end
-     if isempty(Time_min), Time_min=time(1,:)-dtime(1,:)/2; Time_max=time(1,:)+dtime(1,:)/2; end
-     Times=(Time_min+Time_max)/2.;
-     if isfield(data.calc,'Ti'),
-        Vold=Ti; V.y=data.calc.Ti; V.dy=data.calc.err_Ti;
-	sel=find(~isnan(V.y)&~isnan(V.dy));
-        V.y=data.calc.Ti(sel); V.dy=data.calc.err_Ti(sel); V.x=data.calc.rho(sel); V.dx=data.calc.rho_err(sel); V.t=time(sel); V.dt=dtime(sel); V.sys=ones(size(V.y))*data.system;
-	V.y   =  [Vold.y; V.y]; V.dy   =  [Vold.dy; V.dy]; V.x   =  [Vold.x; V.x]; V.dx   =  [Vold.dx; V.dx]; V.t   =  [Vold.t; V.t]; V.dt   =  [Vold.dt; V.dt]; V.sys   =  [Vold.sys; V.sys];
-	Ti=V;
-     end
-     if isfield(data.calc,'vi')&((((data.system==2)&(data.shot<47823))||((data.system==3)&(data.shot>=47823)))||(data.system==4)), % VER CXRS system
-        Vold=vPol; V.y=data.calc.vi; V.dy=data.calc.err_vi;
-	    sel=find(~isnan(V.y)&~isnan(V.dy));
-        V.y=data.calc.vi(sel); V.dy=data.calc.err_vi(sel); V.x=data.calc.rho(sel); V.dx=data.calc.rho_err(sel); V.t=time(sel); V.dt=dtime(sel); V.sys=ones(size(V.y))*data.system;
-	    V.y   =  [Vold.y; V.y]; V.dy   =  [Vold.dy; V.dy]; V.x   =  [Vold.x; V.x]; V.dx   =  [Vold.dx; V.dx]; V.t   =  [Vold.t; V.t]; V.dt   =  [Vold.dt; V.dt]; V.sys   =  [Vold.sys; V.sys];
-	    vPol=V;
-     else                                         % LFS CXRS system
-        Vold=vTor; V.y=data.calc.vi; V.dy=data.calc.err_vi;
-	    sel=find(~isnan(V.y)&~isnan(V.dy));
-        V.y=data.calc.vi(sel); V.dy=data.calc.err_vi(sel); V.x=data.calc.rho(sel); V.dx=data.calc.rho_err(sel); V.t=time(sel); V.dt=dtime(sel); V.sys=ones(size(V.y))*data.system;
-	V.y   =  [Vold.y; V.y]; V.dy   =  [Vold.dy; V.dy]; V.x   =  [Vold.x; V.x]; V.dx   =  [Vold.dx; V.dx]; V.t   =  [Vold.t; V.t]; V.dt   =  [Vold.dt; V.dt]; V.sys   =  [Vold.sys; V.sys];
-	vTor=V;
-     end
-     if isfield(data.calc,'ni'),
-        Vold=nC; V.y=data.calc.ni; V.dy=data.calc.err_ni;
-	sel=find(~isnan(V.y)&~isnan(V.dy));
-        V.y=data.calc.ni(sel); V.dy=data.calc.err_ni(sel); V.x=data.calc.rho(sel); V.dx=data.calc.rho_err(sel); V.t=time(sel); V.dt=dtime(sel); V.sys=ones(size(V.y))*data.system;
-	V.y   =  [Vold.y; V.y]; V.dy   =  [Vold.dy; V.dy]; V.x   =  [Vold.x; V.x]; V.dx   =  [Vold.dx; V.dx]; V.t   =  [Vold.t; V.t]; V.dt   =  [Vold.dt; V.dt]; V.sys   =  [Vold.sys; V.sys];
-	nC=V;
-     end
-     if isfield(data.calc,'zeff'),
-        Vold=Zeff; V.y=data.calc.zeff; V.dy=data.calc.err_zeff;
-	sel=find(~isnan(V.y)&~isnan(V.dy));
-        V.y=data.calc.zeff(sel); V.dy=data.calc.err_zeff(sel); V.x=data.calc.rho(sel); V.dx=data.calc.rho_err(sel); V.t=time(sel); V.dt=dtime(sel); V.sys=ones(size(V.y))*data.system;
-	V.y   =  [Vold.y; V.y]; V.dy   =  [Vold.dy; V.dy]; V.x   =  [Vold.x; V.x]; V.dx   =  [Vold.dx; V.dx]; V.t   =  [Vold.t; V.t]; V.dt   =  [Vold.dt; V.dt]; V.sys   =  [Vold.sys; V.sys];
-	Zeff=V;
-     end
-  end
-end
-
-if isempty(Ti.y), msg=sprintf('%s - No CXRS Data for TCV shot:%d',s,cxrs_profiles.shot); disp(msg); cxrs_profiles.OK=-100; return; end
-
-cxrs_profiles.Times=Times;
-cxrs_profiles.Time_min=Time_min;
-cxrs_profiles.Time_max=Time_max;
-cxrs_profiles.exp.Ti=Ti;
-cxrs_profiles.exp.vTor=vTor;
-cxrs_profiles.exp.vPol=vPol;
-cxrs_profiles.exp.nC=nC;
-cxrs_profiles.exp.Zeff=Zeff;
-
-figures=[1:5]+9900;
-names_exp{1} = 'Ti'; names_exp{2} = 'vTor'; names_exp{3} = 'vPol'; names_exp{4} = 'nC'; names_exp{5} = 'Zeff';
-names_par{1} = 'Ti'; names_par{2} = 'vi';   names_par{3} = 'vi';   names_par{4} = 'nc'; names_par{5} = 'zeff';
-names_uni{1} = 'eV'; names_uni{2} = 'km/sec';   names_uni{3} = 'km/sec';   names_uni{4} = 'm^{-3}'; names_uni{5} = ' ';
-%if cxrs_profiles.param.k_plot==1 || cxrs_profiles.param.k_plot==-1 || cxrs_profiles.param.k_plot<=-2
-if cxrs_profiles.param.k_plot~=0
-   param_plot.ON      = 1; param_plot.lnwidth = 2.0; param_plot.sizemk  = 6.0;
-else
-   param_plot.ON      = 0;
-end
-
-iaddcolor=0;
-for iexp=1:length(names_exp),
- if isfield(cxrs_profiles.exp,names_exp{iexp})
-   if cxrs_profiles.param.k_plot==1
-     figure(figures(iexp))
-   elseif cxrs_profiles.param.k_plot>=2
-     figure(figures(iexp))
-     iaddcolor=cxrs_profiles.param.k_plot+1;
-   elseif cxrs_profiles.param.k_plot==-1
-     figure
-   elseif cxrs_profiles.param.k_plot<=-2
-     figure(figures(iexp)); hold on
-     iaddcolor=-cxrs_profiles.param.k_plot+1;
-   end
-   clear profiles
-   cmd=sprintf('param_prof = cxrs_profiles.param.prof.%s;',names_par{iexp}); eval(cmd);
-   cmd=sprintf('exp_data   = cxrs_profiles.exp.%s;',names_exp{iexp}); eval(cmd);
-   if ~isempty(exp_data.y),
-    for it=1:length(cxrs_profiles.Time_min)
-      %if (it==1 && iaddcolor==0), param_plot.clear   = 1; else, param_plot.clear   = 0; end
-      if (it==1 && cxrs_profiles.param.k_plot>0), param_plot.clear   = 1; else, param_plot.clear   = 0; end
-      param_plot.color   = cxrs_profiles.param.plot.colos(it+iaddcolor,:);
-      param_plot.typemk  = cxrs_profiles.param.plot.typemk{it+iaddcolor};
-      param_plot.lnstyle = cxrs_profiles.param.plot.lnstyle{1};
-      profiles{it}=CXRS_fit_profies(exp_data,[cxrs_profiles.Time_min(it) cxrs_profiles.Time_max(it)],param_prof,param_plot);
-    end
-    cmd=sprintf('cxrs_profiles.%s=profiles;',names_exp{iexp}); eval(cmd);
-    %if (cxrs_profiles.param.k_plot>0),
-    if (cxrs_profiles.param.k_plot~=0),
-      title(sprintf('CXRS %s for TCV shot: %5.5d sys.No.:[%s]',names_exp{iexp},cxrs_profiles.shot,num2str(cxrs_profiles.system)));
-      xlabel('\rho_{TCV}')
-      ylabel(sprintf('%s, %s',names_exp{iexp},names_uni{iexp}));
-      clear hh leg
-      for it=1:length(profiles),
-         hh(it)=profiles{it}.plot_handle;
-         if isempty(profiles{it}.y_prof),
-             leg{it}=sprintf('%3.3f-%3.3fs - No Data',profiles{it}.t_lim);
-         else
-             %leg{it}=sprintf('%2.2f-%2.2f->%2.2f-%2.2fs',cxrs_profiles.Time_min(it),cxrs_profiles.Time_max(it),profiles{it}.t_lim);
-             %leg{it}=sprintf('%3.3f-%3.3fs',profiles{it}.t_lim);
-             if length(cxrs_profiles.system)==1
-                 SysP=sprintf('(S%d)',cxrs_profiles.system);
-             else
-                SysP='';
-             end
-             leg{it}=sprintf('#%d@%3.3f-%3.3fs%s',shot,profiles{it}.t_lim,SysP);
-             set(hh(it),'Tag','CXRS data','DisplayName',leg{it});
-         end
-      end
-      hE = findobj(gcf,'-regexp','Tag','CXRS data');
-      if(length(hE)>0),
-          hE=hE(end:-1:1);
-          leg=get(hE,'DisplayName');
-          legend(hE,leg,'location','best');
-      end
-      %legend(hh,leg,'location','best'); grid on
-    end
-   else
-    if (cxrs_profiles.param.k_plot~=0), clf; tit=sprintf('No CXRS %s for TCV shot:%d sys.No.:[%s]',names_exp{iexp},shot,num2str(sys)); title(tit); text(0.5,0.5,tit,'HorizontalAlignment','center'); end
-   end
- end
-end
-
-cxrs_profiles.proffit.shot=cxrs_profiles.shot;
-cxrs_profiles.proffit.comment=sprintf('CXRS proffit data, function:%s, executed:%s',mfilename,datestr(now));
-
-for it=1:length(cxrs_profiles.Ti)
-   D=cxrs_profiles.Ti{it};
-   cxrs_profiles.proffit.time(1,it)  = mean(D.t_lim);
-   cxrs_profiles.proffit.dtime(1,it) = (D.t_lim(2)-D.t_lim(1))/2.;
-   if ~isempty(D.y_prof), rho=D.x_prof; else rho=cxrs_profiles.param.prof.Ti.xout'; end
-   if isempty(rho); rho=NaN(1,101); end
-   if isempty(D.y_prof),   V=rho*NaN;    D.dy_prof=[]; elseif (length(find(isnan(D.y_prof)))>0),   V=rho*NaN;  else,  V=D.y_prof'; end
-   if isempty(D.dy_prof), dV=rho*NaN;  elseif (length(find(isnan(D.dy_prof)))>0), dV=rho*NaN;  else, dV=D.dy_prof'; end
-   V(find(V<0))=0;
-   cxrs_profiles.proffit.Ti(:,it)   =V'; cxrs_profiles.proffit.dTi(:,it)   =dV'; cxrs_profiles.proffit.Ti_rho(:,it)  = rho';
-   cxrs_profiles.proffit.rho(:,it)  = rho';
-   if isfield(cxrs_profiles,'vTor')
-      D=cxrs_profiles.vTor{it};
-      if ~isempty(D.y_prof), rho=D.x_prof; else, rho=cxrs_profiles.proffit.rho(:,it); end
-      if isempty(D.y_prof),  V=rho*NaN;    D.dy_prof=[]; elseif (length(find(isnan(D.y_prof)))>0), V=rho*NaN;  else, V=D.y_prof'; end
-      if isempty(D.dy_prof), dV=rho*NaN;  elseif (length(find(isnan(D.dy_prof)))>0), dV=rho*NaN;  else, dV=D.dy_prof'; end
-      cxrs_profiles.proffit.vTor(:,it)   =V'; cxrs_profiles.proffit.dvTor(:,it)   =dV'; cxrs_profiles.proffit.vTor_rho(:,it)  = rho';
-   end
-   if isfield(cxrs_profiles,'vPol')
-      D=cxrs_profiles.vPol{it};
-      if ~isempty(D.y_prof), rho=D.x_prof; else, rho=cxrs_profiles.proffit.rho(:,it); end
-      if isempty(D.y_prof),  V=rho*NaN;    D.dy_prof=[]; elseif (length(find(isnan(D.y_prof)))>0), V=rho*NaN;  else, V=D.y_prof'; end
-      if isempty(D.dy_prof), dV=rho*NaN;  elseif (length(find(isnan(D.dy_prof)))>0), dV=rho*NaN;  else, dV=D.dy_prof'; end
-      cxrs_profiles.proffit.vPol(:,it)   =V'; cxrs_profiles.proffit.dvPol(:,it)   =dV'; cxrs_profiles.proffit.vPol_rho(:,it)  = rho';
-   end
-   if isfield(cxrs_profiles,'nC')
-      D=cxrs_profiles.nC{it};
-      if ~isempty(D.y_prof), rho=D.x_prof; else, rho=cxrs_profiles.proffit.rho(:,it); end
-      if isempty(D.y_prof),  V=rho*NaN;  D.dy_prof=[]; elseif (length(find(isnan(D.y_prof)))>0), V=rho*NaN;  else, V=D.y_prof'; end
-      if isempty(D.dy_prof), dV=rho*NaN;  elseif (length(find(isnan(D.dy_prof)))>0), dV=rho*NaN;  else, dV=D.dy_prof'; end
-      V(find(V<0))=0;
-      cxrs_profiles.proffit.nC(:,it)   =V'; cxrs_profiles.proffit.dnC(:,it)   =dV'; cxrs_profiles.proffit.nC_rho(:,it)  = rho';
-   end
-   if isfield(cxrs_profiles,'Zeff')
-      D=cxrs_profiles.Zeff{it};
-      if ~isempty(D.y_prof), rho=D.x_prof; else, rho=cxrs_profiles.proffit.rho(:,it); end
-      if isempty(D.y_prof),  V=rho*NaN;    D.dy_prof=[]; elseif (length(find(isnan(D.y_prof)))>0), V=rho*NaN;  else, V=D.y_prof'; end
-      if isempty(D.dy_prof), dV=rho*NaN;  elseif (length(find(isnan(D.dy_prof)))>0), dV=rho*NaN;  else, dV=D.dy_prof'; end
-      V(find(V<1))=1;
-      cxrs_profiles.proffit.Zeff(:,it)   =V'; cxrs_profiles.proffit.dZeff(:,it)   =dV'; cxrs_profiles.proffit.Zeff_rho(:,it)  = rho';
-   end
-
-end
-
-if (length(find(~isnan(cxrs_profiles.proffit.Ti)))==0), msg=sprintf('%s - Proffit not possible for TCV shot:%d',s,cxrs_profiles.shot); disp(msg); cxrs_profiles.OK=-101; return; end
-
-return
-- 
GitLab