diff --git a/matlab/AUG/gdat_aug.m b/matlab/AUG/gdat_aug.m index 93b3ba7f4c2ac0d0ad19567341fe195d9b32a71d..13f5b288f8debcabcaf391c4a3049a45c31ae6e6 100644 --- a/matlab/AUG/gdat_aug.m +++ b/matlab/AUG/gdat_aug.m @@ -1052,14 +1052,16 @@ elseif strcmp(mapping_for_aug.method,'switchcase') % use read_results updated to effectively obtain an eqdsk with sign correct with COCOS=2 [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(equil,time_eff,gdat_data.gdat_params.zshift,'source',gdat_data.gdat_params.equil,'extra_arg_sf2sig',gdat_data.gdat_params.extra_arg_sf2sig,'fignb',fignb_handle); eqdskAUG.fnamefull = fullfile(['/tmp/' getenv('USER')],['EQDSK_' num2str(shot) 't' num2str(time_eff,'%.4f')]); - cocos_out = equil.cocos; - if isfield(gdat_data.gdat_params,'cocos') && ~isempty(gdat_data.gdat_params.cocos) - cocos_out = gdat_data.gdat_params.cocos; - else - gdat_data.gdat_params.cocos = cocos_out; + cocos_in = eqdskAUG.cocos; + if cocos_in ~= equil.cocos; + equil.cocos = eqdskAUG.cocos; + end + if ~isfield(gdat_data.gdat_params,'cocos') || isempty(gdat_data.gdat_params.cocos) + gdat_data.gdat_params.cocos = cocos_in; end - if equil.cocos ~= cocos_out - [eqdsk_cocosout, eqdsk_cocosout_IpB0pos,cocos_inout]=eqdsk_cocos_transform(eqdskAUG,[equil.cocos cocos_out]); + cocos_out = gdat_data.gdat_params.cocos; + if cocos_in ~= cocos_out + [eqdsk_cocosout, eqdsk_cocosout_IpB0pos,cocos_inout]=eqdsk_cocos_transform(eqdskAUG,[cocos_in cocos_out]); else eqdsk_cocosout = eqdskAUG; end @@ -1291,7 +1293,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase') gdat_data.data = gdat_data.qvalue; % put q in data gdat_data.units=[]; % not applicable gdat_data.data_fullpath = [DIAG ' from exp_name: ' gdat_data.gdat_params.exp_name '; q(rhopolnorm,t) in .data(.x,.t)']; - gdat_data.cocos = 17; % should check FPP + gdat_data.cocos = 17; % should check FPP (IDE seems 13) gdat_data.dim{1} = gdat_data.x; gdat_data.dim{2} = gdat_data.t; gdat_data.dimunits{1} = 'rhopolnorm'; @@ -2310,7 +2312,7 @@ elseif strcmp(mapping_for_aug.method,'switchcase') gdat_data.data = gdat_data.qvalue; % put q in data gdat_data.units=[]; % not applicable gdat_data.data_fullpath = [DIAG ' from exp_name: ' gdat_data.gdat_params.exp_name '; q(rhopolnorm,t) in .data(.x,.t)']; - gdat_data.cocos = 17; % should check FPP + gdat_data.cocos = 17; % should check FPP (IDE seems 13) gdat_data.dim{1} = gdat_data.x; gdat_data.dim{2} = gdat_data.t; gdat_data.dimunits{1} = 'rhopolnorm'; diff --git a/matlab/AUG/geteqdskAUG.m b/matlab/AUG/geteqdskAUG.m index c35f9486aded0bb307344506eae79057ff12063e..38ccf8bc796af44f5d99c98455781fcc05f0df49 100644 --- a/matlab/AUG/geteqdskAUG.m +++ b/matlab/AUG/geteqdskAUG.m @@ -146,7 +146,7 @@ eqdsk.zaxis = zmag.data(itrmag) - eqdsk.zshift; doplot = 1; if isnumeric(fignb) && fignb <= 0 doplot = 0; -elseif isempty(fignb) || (isnumeric(fignb) && fignb < 1) || (~isnumeric(fignb) && ~ishandle(fignb)) +elseif isempty(fignb) || (isnumeric(fignb) && fignb < 1) || (~isnumeric(fignb) && ~ishandle(fignb)) figure fignb_handle = gcf; set(gcf,'Name','from geteqdskAUG'); @@ -211,4 +211,15 @@ if doplot plot(eqdsk.rlim,eqdsk.zlim,'k-') title(eqdsk.stitle) end + +% check cocos since IDE seems 13 +icocos = find_cocos(eqdsk); +if any(13==icocos) + eqdsk.cocos = 13; +elseif any(17==icocos) + eqdsk.cocos = 17; +else + eqdsk.cocos = icocos(1); + warning(['COCOS seems = ' num2str(eqdsk.cocos)]); +end eqdskAUG = eqdsk; diff --git a/matlab/TCV/tcv_requests_mapping.m b/matlab/TCV/tcv_requests_mapping.m index 80f32a3c9b82bfa499564a5e52ab6a866fc81686..6933c895bbc4f5e09851013b582b664c9b89570e 100644 --- a/matlab/TCV/tcv_requests_mapping.m +++ b/matlab/TCV/tcv_requests_mapping.m @@ -136,6 +136,14 @@ switch lower(data_request) mapping.timedim = 0; mapping.method = 'tdi'; mapping.expression = '\rtc::node03.params.cfg_file'; + case {'gap_inout', 'gap_out', 'gap_in', 'gap_lfs','gap_hfs'} + mapping.timedim = 2; + mapping.label = 'gap hfs/lfs'; + mapping.method = 'expression'; + mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''tcv_eq("r_contour","LIUQE.M")'';' ... + 'gdat_tmp=gdat_tcv([],params_eff);aa_data(1,:)=min(gdat_tmp.data,[],1)-0.624;' ... + 'aa_data(2,:)=1.136-max(gdat_tmp.data,[],1);gdat_tmp.data=aa_data;gdat_tmp.x=[1:2];gdat_tmp.dim{1}=gdat_tmp.x;' ... + 'gdat_tmp.dimunits{1}={''HFS'',''LFS''};']; case {'gas', 'gas_flux', 'gas_request', 'gas_feedforward','gas_valve'} mapping.timedim = 1; mapping.label = 'gas flux';