Skip to content
Snippets Groups Projects
Commit 808539ae authored by Olivier Sauter's avatar Olivier Sauter
Browse files

add check if thomson:times is not empty

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@4839 d63d8f72-b253-0410-a779-e742ad2e26cf
parent 667b4727
No related branches found
No related tags found
No related merge requests found
...@@ -558,6 +558,14 @@ switch TCVkeywrdcase{index} ...@@ -558,6 +558,14 @@ switch TCVkeywrdcase{index}
ix=1; ix=1;
trace.t=tracetdi.dim{2}; trace.t=tracetdi.dim{2};
disp(['assumes time array is 1D array, so x from dim{' num2str(ix) '}']) disp(['assumes time array is 1D array, so x from dim{' num2str(ix) '}'])
elseif tracetdi.dim{1}(end)<1.1 && tracetdi.dim{2}(end)>1.1
ix=1;
trace.t=tracetdi.dim{2};
disp(['assumes x array is 1D array with max <1.1'])
elseif tracetdi.dim{1}(end)>1.1 && tracetdi.dim{2}(end)<1.1
ix=2;
trace.t=tracetdi.dim{1};
disp(['assumes x array is 1D array with max <1.1'])
elseif length(size(tracetdi.dim{1}))==2 && min(size(tracetdi.dim{1}))==1 && length(size(tracetdi.dim{2}))==2 && min(size(tracetdi.dim{2}))==1 elseif length(size(tracetdi.dim{1}))==2 && min(size(tracetdi.dim{1}))==1 && length(size(tracetdi.dim{2}))==2 && min(size(tracetdi.dim{2}))==1
% if both are 1D arrays, assumes time array with values having most number of digits % if both are 1D arrays, assumes time array with values having most number of digits
ab1=num2str(tracetdi.dim{1}-fix(tracetdi.dim{1})); ab1=num2str(tracetdi.dim{1}-fix(tracetdi.dim{1}));
...@@ -626,7 +634,19 @@ switch TCVkeywrdcase{index} ...@@ -626,7 +634,19 @@ switch TCVkeywrdcase{index}
trace.std=tracestd.data'; trace.std=tracestd.data';
trace.name=[num2str(shot) ';' nodenameeff]; trace.name=[num2str(shot) ';' nodenameeff];
% add correct dimensions % add correct dimensions
time=mdsdata('\results::thomson:times'); try
time=mdsdata('\results::thomson:times');
catch
warning('Problems with \results::thomson:times')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if isempty(time) || ischar(time)
thomsontimes=time
warning('!!!!!!!!!!!!!!!!!!!!!!!!!\results::thomson:times is empty? Check')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
z=mdsdata('\diagz::thomson_set_up:vertical_pos'); z=mdsdata('\diagz::thomson_set_up:vertical_pos');
trace.dim=[{z};{time}]; trace.dim=[{z};{time}];
trace.dimunits=[{'Z [m]'} ; {'time [s]'}]; trace.dimunits=[{'Z [m]'} ; {'time [s]'}];
...@@ -656,7 +676,19 @@ switch TCVkeywrdcase{index} ...@@ -656,7 +676,19 @@ switch TCVkeywrdcase{index}
trace.std=tracestd.data'; trace.std=tracestd.data';
trace.name=[num2str(shot) ';' nodenameeff]; trace.name=[num2str(shot) ';' nodenameeff];
% add correct dimensions % add correct dimensions
time=mdsdata('\results::thomson:times'); try
time=mdsdata('\results::thomson:times');
catch
warning('Problems with \results::thomson:times')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if isempty(time) || ischar(time)
thomsontimes=time
warning('!!!!!!!!!!!!!!!!!!!!!!!!!\results::thomson:times is empty? Check')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
z=mdsdata('\diagz::thomson_set_up.edge:vertical_pos'); z=mdsdata('\diagz::thomson_set_up.edge:vertical_pos');
trace.dim=[{z};{time}]; trace.dim=[{z};{time}];
trace.dimunits=[{'Z [m]'} ; {'time [s]'}]; trace.dimunits=[{'Z [m]'} ; {'time [s]'}];
...@@ -672,7 +704,19 @@ switch TCVkeywrdcase{index} ...@@ -672,7 +704,19 @@ switch TCVkeywrdcase{index}
case {'nerho','terho'} case {'nerho','terho'}
% ne or Te from Thomson data on rho=sqrt(psi_normalised) mesh: (rho,t) % ne or Te from Thomson data on rho=sqrt(psi_normalised) mesh: (rho,t)
mdsopen(shot); mdsopen(shot);
time=mdsdata('\results::thomson:times'); try
time=mdsdata('\results::thomson:times');
catch
warning('Problems with \results::thomson:times')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if isempty(time) || ischar(time)
thomsontimes=time
warning('!!!!!!!!!!!!!!!!!!!!!!!!!\results::thomson:times is empty? Check')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if strcmp(TCVkeywrdcase{index},'nerho') if strcmp(TCVkeywrdcase{index},'nerho')
nodenameeff='\results::thomson:ne'; nodenameeff='\results::thomson:ne';
tracetdi=tdi(nodenameeff); tracetdi=tdi(nodenameeff);
...@@ -721,8 +765,12 @@ switch TCVkeywrdcase{index} ...@@ -721,8 +765,12 @@ switch TCVkeywrdcase{index}
% construct rho mesh % construct rho mesh
psi_max=tdi(['\results::thomson:psi_max' endstr]); psi_max=tdi(['\results::thomson:psi_max' endstr]);
psiscatvol=tdi(['\results::thomson:psiscatvol' endstr]); psiscatvol=tdi(['\results::thomson:psiscatvol' endstr]);
for ir=1:length(psiscatvol.dim{2}) if ~isempty(psiscatvol.data) && ~ischar(psiscatvol.data) && ~isempty(psi_max.data) && ~ischar(psi_max.data)
rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))'; for ir=1:length(psiscatvol.dim{2})
rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))';
end
else
rho=NaN;
end end
trace.dim=[{rho};{time}]; trace.dim=[{rho};{time}];
trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}]; trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}];
...@@ -738,7 +786,19 @@ switch TCVkeywrdcase{index} ...@@ -738,7 +786,19 @@ switch TCVkeywrdcase{index}
case {'nerho_edge','terho_edge'} case {'nerho_edge','terho_edge'}
% ne or Te from Thomson.Edge data on rho=sqrt(psi_normalised) mesh: (rho,t) % ne or Te from Thomson.Edge data on rho=sqrt(psi_normalised) mesh: (rho,t)
mdsopen(shot); mdsopen(shot);
time=mdsdata('\results::thomson:times'); try
time=mdsdata('\results::thomson:times');
catch
warning('Problems with \results::thomson:times')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if isempty(time) || ischar(time)
thomsontimes=time
warning('!!!!!!!!!!!!!!!!!!!!!!!!!\results::thomson:times is empty? Check')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if strcmp(TCVkeywrdcase{index},'nerho_edge') if strcmp(TCVkeywrdcase{index},'nerho_edge')
nodenameeff='\results::thomson.edge:ne'; nodenameeff='\results::thomson.edge:ne';
tracetdi=tdi(nodenameeff); tracetdi=tdi(nodenameeff);
...@@ -815,7 +875,19 @@ switch TCVkeywrdcase{index} ...@@ -815,7 +875,19 @@ switch TCVkeywrdcase{index}
zshift=0.; zshift=0.;
end end
mdsopen(shot); mdsopen(shot);
time=mdsdata('\results::thomson:times'); try
time=mdsdata('\results::thomson:times');
catch
warning('Problems with \results::thomson:times')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if isempty(time) || ischar(time)
thomsontimes=time
warning('!!!!!!!!!!!!!!!!!!!!!!!!!\results::thomson:times is empty? Check')
disp(['!!!!!!!!!!!!!!!!!!!!!!!!! cannot continue with ' TCVkeywrdcase{index}])
return
end
if strcmp(TCVkeywrdcase{index},'nerhozshift') if strcmp(TCVkeywrdcase{index},'nerhozshift')
nodenameeff='\results::thomson:ne'; nodenameeff='\results::thomson:ne';
tracetdi=tdi(nodenameeff); tracetdi=tdi(nodenameeff);
...@@ -887,8 +959,12 @@ switch TCVkeywrdcase{index} ...@@ -887,8 +959,12 @@ switch TCVkeywrdcase{index}
psiscatvol.data(it,:)=psiscatvol0; psiscatvol.data(it,:)=psiscatvol0;
end end
end end
for ir=1:length(psiscatvol.dim{2}) if ~isempty(psiscatvol.data) && ~ischar(psiscatvol.data) && ~isempty(psi_max.data) && ~ischar(psi_max.data)
rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))'; for ir=1:length(psiscatvol.dim{2})
rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))';
end
else
rho=NaN;
end end
trace.dim=[{rho};{time}]; trace.dim=[{rho};{time}];
trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}]; trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}];
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment