diff --git a/matlab/D3D/d3d_requests_mapping.m b/matlab/D3D/d3d_requests_mapping.m index 06eda2ad1e9ac0cd59d5971c48ff560f4789335d..95f09dd47ab980e62e16be029f9fe4d1f5f10b2c 100644 --- a/matlab/D3D/d3d_requests_mapping.m +++ b/matlab/D3D/d3d_requests_mapping.m @@ -94,7 +94,7 @@ switch lower(data_request) mapping.expression = [{'EFIT01'},{'\tribot'}]; case 'den_target' mapping.timedim = 1; - mapping.label = {'density ref','density'}; + mapping.label = {'density_ref','density'}; mapping.method = 'expression'; mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''d3d''},{''ptdata("dstdenp")''}];' ... 'gdat_tmp=gdat_d3d(shot,params_eff);params_eff.data_request=[{''d3d''},{''ptdata("dssdenest")''}];' ... @@ -191,7 +191,9 @@ switch lower(data_request) mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''nb''},{''pinj''}];' ... 'gdat_tmp=gdat_d3d(shot,params_eff);gdat_tmp.units=''W'';' ... 'gdat_tmp.data = 1e3.*gdat_tmp.data;gdat_tmp.label=''' mapping.label ''';' ... - 'gdat_tmp.gdat_request=''' data_request ''';']; + 'gdat_tmp.gdat_request=''' data_request ''';' ... + 'gdat_tmp.data_smooth=interpos(gdat_tmp.t,gdat_tmp.data,-3e7);' ... + 'gdat_tmp.data_smooth=max(0.,gdat_tmp.data_smooth);']; case 'ne' mapping.timedim = 2; mapping.method = 'switchcase'; @@ -260,16 +262,18 @@ switch lower(data_request) mapping.method = 'switchcase'; case {'prad','prad_tot','rad','rad_tot'} mapping.timedim = 1; - mapping.label = {'PRAD_divl','PRAD_divu','tot-divL-divU','PRAD_TOT'}; + mapping.label = {'PRAD_divl','PRAD_divu','prad_core','tot-divL-divU','PRAD_TOT'}; mapping.method = 'expression'; mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request={''bolom'',''PRAD_01.PRAD:PRAD_divl''};' ... 'gdat_tmp=gdat_d3d(shot,params_eff);gdat_tmp.divl=gdat_tmp;' ... 'params_eff.data_request{2}=''PRAD_01.PRAD:PRAD_divu'';gdat_tmpU=gdat_d3d(shot,params_eff);' ... 'gdat_tmp.divu=gdat_tmpU;gdat_tmp.data(:,2)=gdat_tmpU.data;' ... + 'params_eff.data_request{2}=''\PRAD_CORE'';gdat_tmpcore=gdat_d3d(shot,params_eff);' ... + 'gdat_tmp.core=gdat_tmpcore;gdat_tmp.data(:,3)=interp1(gdat_tmpcore.t,gdat_tmpcore.data,gdat_tmp.t);' ... 'params_eff.data_request{2}=''PRAD_01.PRAD:PRAD_tot'';gdat_tmptot=gdat_d3d(shot,params_eff);' ... - 'gdat_tmp.tot=gdat_tmptot;gdat_tmp.data(:,4)=gdat_tmptot.data;' ... - 'gdat_tmp.data(:,3) = gdat_tmp.data(:,4)-gdat_tmp.data(:,1)-gdat_tmp.data(:,2);' ... - 'gdat_tmp.dim{2} = [1:4];gdat_tmp.dimunits{2} = {''divl'',''divu'',''tot-divl-divu'',''prad_tot''};' ... + 'gdat_tmp.tot=gdat_tmptot;gdat_tmp.data(:,5)=gdat_tmptot.data;' ... + 'gdat_tmp.data(:,4) = gdat_tmp.data(:,5)-gdat_tmp.data(:,1)-gdat_tmp.data(:,2);' ... + 'gdat_tmp.dim{2} = [1:5];gdat_tmp.dimunits{2} = {''divl'',''divu'',''core'',''tot-divl-divu'',''prad_tot''};' ... 'gdat_tmp.units=''W'';gdat_tmp.dimunits{1}=''s'';']; case 'psi_axis' mapping.timedim = 1; @@ -391,6 +395,9 @@ switch lower(data_request) mapping.timedim = 1; mapping.method = 'signal'; mapping.expression = [{'ZES'},{'Zeff'},{'D3DD'}]; + case 'zeff_cerq' + mapping.timedim = 2; + mapping.method = 'switchcase'; case 'zgeom' mapping.label = 'Zgeom'; mapping.timedim = 1; diff --git a/matlab/D3D/gdat_d3d.m b/matlab/D3D/gdat_d3d.m index 95a2ab08871be7db0a91f0082c15ebced6f249cc..211a9034151a366bdc917a38a83f9ab1c1f5d90a 100644 --- a/matlab/D3D/gdat_d3d.m +++ b/matlab/D3D/gdat_d3d.m @@ -50,7 +50,7 @@ function [gdat_data,gdat_params,error_status,varargout] = gdat_d3d(shot,data_req % a6=gdat(32827,'ip','Opt1',123,'Doplot',1,'opt2','Abc'); % standard call with a few options (note all lowercase in output) % % From remote: -% ssh -p 2039 -C -l sautero -L 8001:atlas.gat.com:8000 cybele.gat.com +% ssh -p 2039 -C -l sautero -L 8002:atlas.gat.com:8000 cybele.gat.com % And in another session in matlab: % mdsconnect('localhost:8001'); mdsvalue('1+3') % to test connection to server % sh=mdsopen('efit01',193400); (instead of no connect and sh=mdsopen('atlas.gat.com::efit01',193400); from iris @@ -271,7 +271,7 @@ if strcmp(mapping_for_d3d.method,'signal') end if ~isempty(shot) if isempty(aa) && mdsremotelist==0 && any(findstr('epfl',getenv('HOSTNAME'))) - mdsconnect('localhost:5556'); + mdsconnect('localhost:8002'); aa=mdscurrent; end if strmatch('localhost',aa) @@ -1708,6 +1708,51 @@ elseif strcmp(mapping_for_d3d.method,'switchcase') gdat_data.dimunits{1} = gdat_data.TIME.unit; end + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + case {'zeff_cerq', 'zeff_cer'} + % zeff from specific cer lines, C, N, ... + if ~isfield(gdat_data.gdat_params,'camera') || isempty(gdat_data.gdat_params.camera) + gdat_data.gdat_params.camera = [9 18 20 41]; + end + gdat_data.label = {}; + for i=1:numel(gdat_data.gdat_params.camera) + gdat_data.label{i} = ['cerqzefft' num2str(gdat_data.gdat_params.camera(i))]; + end + % + if ~isfield(gdat_data.gdat_params,'time_interval') + gdat_data.gdat_params.time_interval = []; + end + icount = 0; + for i=1:length(gdat_data.gdat_params.camera) + ichord = gdat_data.gdat_params.camera(i); + diagname = ['\' gdat_data.label{i}]; + a = gdat_d3d(shot,diagname); + if ~isempty(a.data) && isnumeric(a.data) + icount = icount + 1; + if icount == 1 + % first time has data + gdat_data.t = a.t; + gdat_data.units = a.units; + gdat_data.data = NaN*ones(numel(gdat_data.gdat_params.camera),length(gdat_data.t)); + gdat_data.data(icount,:) = a.data; + gdat_data.x = gdat_data.gdat_params.camera; + gdat_data.dim{1} = gdat_data.x; + gdat_data.dim{2} = gdat_data.t; + gdat_data.dimunits = [{'t nb'}; {'s'}]; + gdat_data.data_fullpath = '\cerqzefftii'; + else + try + gdat_data.data(icount,:) = interp1(a.t,a.data,gdat_data.t); + catch + if (gdat_params.nverbose>=1); disp(['problem with ichord = ' num2str(ichord)]); end + end + end + else + % add fields not yet defined in case all cases have empty data + end + end + gdat_data.chords = gdat_data.gdat_params.camera; + otherwise if (gdat_params.nverbose>=1); warning(['switchcase= ' data_request_eff ' not known in gdat_d3d']); end error_status=901; diff --git a/matlab/gdat.m b/matlab/gdat.m index 6bd59ffaf5a75354fad53f6dc4948132c3d73a4f..11efb5931b88064d3e98894b1767e7922d8eb0d0 100644 --- a/matlab/gdat.m +++ b/matlab/gdat.m @@ -103,7 +103,7 @@ else default_machine = 'tcv'; elseif ~isempty(regexpi(hostname,'rzg.mpg')) default_machine = 'aug'; - elseif ~isempty(regexpi(hostname,'gat.com')) + elseif ~isempty(regexpi(hostname,'iris')) default_machine = 'd3d'; end end