diff --git a/matlab/AUG/rdaAUG_eff.m b/matlab/AUG/rdaAUG_eff.m index d1ac063d39559dd2bee11f50758cffaf606ad2c8..afdd1334e489d126869f9311749020c5b7766226 100644 --- a/matlab/AUG/rdaAUG_eff.m +++ b/matlab/AUG/rdaAUG_eff.m @@ -167,13 +167,12 @@ if usemdsplus % use augsignal to get effective layout as in ISIS and sf2sig, for example for EQI/PFM eval(['[data,error]=mdsvalue(''_rdaeff' user diagname '=augsignal(' num2str(shot) ',"' diagname '","' sigtype '","' shotfile_exp ... '",' ed_number ',' tstart ',' tend ',_oshot' user diagname ',_oed' user diagname ',' ask_raw ')'');']); - if isnumeric(data) - data=double(data); - end + if isnumeric(data), data=double(data); end elseif isempty(param_set_name) && ~area_base && ~time_base % use augparam eval(['[data,error]=mdsvalue(''_rdaeff' user diagname '=augparam(' num2str(shot) ',"' diagname '","' sigtype '","' param_name '"' ... ',"' shotfile_exp '",' ed_number ',_oshot' user diagname ',_oed' user diagname ')'');']); + if isnumeric(data), data=double(data); end elseif ~area_base && ~time_base % param-set, cannot get this yet with mdsvalue disp(['cannot get param-set with mds yet (only sf2ps): ' param_set_name]) @@ -191,17 +190,21 @@ if usemdsplus if nargin_eff>=5 & ~isempty(varargin_eff{1}) eval(['[data,error]=mdsvalue(''_rdaeff' user diagname '=augdiag(' num2str(shot) ',"' diagname '","' sigtype '","' shotfile_exp ... '",' ed_number ',' num2str(varargin_eff{1}(1),'%.14f') ',' num2str(varargin_eff{1}(end),'%.14f') ')'');']); + if isnumeric(data), data=double(data); end % $$$ eval(['[data,error]=mdsvalue(''_rdaeff' user diagname '=augdiag(' num2str(shot) ',"' diagname '","' area_time_base_name '","' shotfile_exp ... % $$$ '",' ed_number ',' num2str(varargin_eff{1}(1),'%.14f') ',' num2str(varargin_eff{1}(end),'%.14f') ')'');']); else eval(['[data,error]=mdsvalue(''_rdaeff' user diagname '=augdiag(' num2str(shot) ',"' diagname '","' sigtype '","' shotfile_exp ... '",' ed_number ',,,_oshot' user diagname ',_oed' user diagname ')'');']); + if isnumeric(data), data=double(data); end end if ~isempty(area_time_base_dimof) eval(['data=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(area_time_base_dimof) ')'');']); + if isnumeric(data), data=double(data); end else for j=1:length(size(data)) eval(['dataj=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(j) ')'');']); + if isnumeric(data), data=double(data); end if (prod(size(dataj))~=length(dataj)) data = dataj; area_time_base_dimof = j; @@ -214,6 +217,7 @@ if usemdsplus end adata.data=data; adata.edition = mdsvalue(['_oed' user diagname]); + if isnumeric(data), data=double(data); end if nverbose>=1 && (~isempty(edition_in) && adata.edition~=edition_in) warning(sprintf('\nedition in = %d is different from output edition: %d\n\n',edition_in,adata.edition)); end @@ -246,9 +250,11 @@ if usemdsplus adata.data=reshape(adata.data,1,length(adata.data)); idim0 = 0; eval(['time=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(idim0) ')'');']); + if isnumeric(time), time=double(time); end if numel(time) ~= numel(adata.data) idim0 = 1; eval(['time=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(idim0) ')'');']); + if isnumeric(time), time=double(time); end if numel(time) ~= numel(adata.data) && (ischar(adata.data) && isempty(strfind(lower(adata.data),'abort'))) warning(['problem with dim for: ' diagname ', ' sigtype]) end @@ -271,8 +277,10 @@ if usemdsplus end % transposed because of C relation and backward compatibility with sf2sig part eval(['x=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(idim_x) ')'');']); + if isnumeric(x), x=double(x); end if prod(size(x))==length(x); x = reshape(x,1,length(x)); end eval(['time=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(idim_t) ')'');']); + if isnumeric(time), time=double(time); end time = reshape(time,1,length(time)); adata.dim = {x, time}; eval(['xunits=deblank(mdsvalue(''units_of(dim_of(_rdaeff' user diagname ',' num2str(idim_x) '))''));']); @@ -311,6 +319,7 @@ if usemdsplus itime = 1; % default for i=1:nbofdim eval(['dimarray=mdsvalue(''dim_of(_rdaeff' user diagname ',' num2str(i-1) ')'');']); + if isnumeric(dimarray), dimarray=double(dimarray); end if prod(size(dimarray)) == length(dimarray) eval(['adata.dim{' num2str(i) '}=reshape(dimarray,1,length(dimarray));']); else