diff --git a/crpptbx/TCV/loadTCVdata.m b/crpptbx/TCV/loadTCVdata.m index b87b6c909575835b9fa75bd2a750b23a75068d1a..192d4d92a2df514cb717bf6048f065511bc2ddf3 100644 --- a/crpptbx/TCV/loadTCVdata.m +++ b/crpptbx/TCV/loadTCVdata.m @@ -678,16 +678,24 @@ switch TCVkeywrdcase{index} endstr psi_max=tdi(['\results::thomson.edge:psi_max' endstr]); psiscatvol=tdi(['\results::thomson.edge:psiscatvol' endstr]); - for ir=1:length(psiscatvol.dim{2}) - rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))'; - end - trace.dim=[{rho};{time}]; - trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}]; - trace.x=rho; - trace.t=time; - % isfield does not work since tracetdi is not a 'struct' but a tdi object, thus isfield using isa does not work - if any(strcmp(fieldnames(tracetdi),'units')) - trace.units=tracetdi.units; + if ~isempty(psiscatvol.data) && ~ischar(psiscatvol.data) + for ir=1:length(psiscatvol.dim{2}) + rho(ir,:)= sqrt(1.-psiscatvol.data(:,ir)./psi_max.data(:))'; + end + trace.dim=[{rho};{time}]; + trace.dimunits=[{'sqrt(psi)'} ; {'time [s]'}]; + trace.x=rho; + trace.t=time; + % isfield does not work since tracetdi is not a 'struct' but a tdi object, thus isfield using isa does not work + if any(strcmp(fieldnames(tracetdi),'units')) + trace.units=tracetdi.units; + end + else + trace.dim={}; + trace.dimunits={}; + trace.x=[]; + trace.t=[]; + trace.units={}; end mdsclose;