diff --git a/matlab/AUG/aug_requests_mapping.m b/matlab/AUG/aug_requests_mapping.m index 43a991fbd99a2a8e3d054eec5134ee65c273898c..94e6f6755be28c2bd0a6c9eb1d5a7c40db97787c 100644 --- a/matlab/AUG/aug_requests_mapping.m +++ b/matlab/AUG/aug_requests_mapping.m @@ -276,8 +276,11 @@ switch lower(data_request) mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ... 'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''n_greenwald'';' ... 'gdat_tmp2=gdat_aug(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ... - 'tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... - 'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);']; + 'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... + 'else;tmp_data2=gdat_tmp2.data;end;' ... + 'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ... + 'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);' ... + 'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';']; % $$$ case 'ni' % $$$ mapping.method = 'switchcase'; % especially since might have option fit, etc case 'pellet' diff --git a/matlab/D3D/d3d_requests_mapping.m b/matlab/D3D/d3d_requests_mapping.m index 84879d6ffc32a7347a6dabd35dd18df55c10334a..90695505311c8f4f0cb377308de15cf7d77c9708 100644 --- a/matlab/D3D/d3d_requests_mapping.m +++ b/matlab/D3D/d3d_requests_mapping.m @@ -254,7 +254,9 @@ switch lower(data_request) mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ... 'gdat_tmp=gdat_d3d(shot,params_eff);params_eff.data_request=''n_greenwald'';' ... 'gdat_tmp2=gdat_d3d(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ... - 'tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... + 'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... + 'else;tmp_data2=gdat_tmp2.data;end;' ... + 'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ... 'gdat_tmp.data = gdat_tmp.data*1e6./(tmp_data2+1e-5);' ... 'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';']; case {'f2b', 'pcf2b'} diff --git a/matlab/TCV/gdat_tcv.m b/matlab/TCV/gdat_tcv.m index 43a7b34b78067a271255050f71e197dc3ec2a5fa..17933ceefd2a2c134beca063da92dbee017036f6 100644 --- a/matlab/TCV/gdat_tcv.m +++ b/matlab/TCV/gdat_tcv.m @@ -2233,7 +2233,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.units = 'particles/m^3'; nel.dim{1} = neft.fit.t'; nel.data = ones(size(nel.dim{1})); - gdat_data.r_center_chord = 0.903; + gdat_data.r_center_chord = 0.903; % mdsvalue('\diagz::fir_array:radii[5]') (6th chord is central) [ratio,fir_times,z_lineint]=fir_ratio_from_fits(neft.fit.data,neft.fit.x,psitbx01,nel,gdat_data.r_center_chord,gdat_data.t',1,1e3); gdat_data.data = reshape(1./ratio./z_lineint,numel(ratio),1); gdat_data.data_fullpath = ['line-averaged density from fit using ' neft.fit.data_fullpath]; diff --git a/matlab/TCV/tcv_requests_mapping.m b/matlab/TCV/tcv_requests_mapping.m index ce8a01441a5d585848dde445379a870f69c3b106..b68d12da31544a73b3c470c6ccea533a60654b3c 100644 --- a/matlab/TCV/tcv_requests_mapping.m +++ b/matlab/TCV/tcv_requests_mapping.m @@ -297,6 +297,7 @@ switch lower(data_request) 'gdat_tmp2=gdat_tcv(shot,params_eff);ij=find(gdat_tmp2.data==0);gdat_tmp2.data(ij)=NaN;' ... 'if numel(gdat_tmp2.t)>1;tmp_data2=interp1(gdat_tmp2.t,gdat_tmp2.data,gdat_tmp.t,[],NaN);' ... 'else;tmp_data2=gdat_tmp2.data;end;' ... + 'gdat_tmp.ng=gdat_tmp2;gdat_tmp.ng.data_t_nel=tmp_data2;' ... 'gdat_tmp.data = gdat_tmp.data./(tmp_data2+1e-5);' ... 'gdat_tmp.units='''';gdat_tmp.dimunits{1}=''s'';']; case {'ec_data', 'aux', 'h_cd', 'nbi_data', 'ic_data', 'lh_data', 'ohm_data', 'bs_data'} @@ -442,6 +443,11 @@ switch lower(data_request) mapping.expression = '\results::r_axis'; mapping.expression = '\tcv_shot::top.results.equil_1.results:r_axis'; mapping.expression = 'tcv_eq("r_axis","LIUQE.M")'; + case {'r_xpts', 'rxpts', 'r_xpt'} + mapping.timedim = 2; + mapping.label = 'R\_Xpts'; + mapping.method = 'tdiliuqe'; + mapping.expression = 'tcv_eq("r_xpts","LIUQE.M")'; case {'rtc','scd'} if strcmp('scd',lower(data_request)); error('********* should call with request****** ''rtc'''); end mapping.timedim = 1; @@ -574,6 +580,11 @@ switch lower(data_request) mapping.expression = '\results::z_axis'; mapping.expression = '\tcv_shot::top.results.equil_1.results:z_axis'; mapping.expression = 'tcv_eq("z_axis","LIUQE.M")'; + case {'z_xpts', 'zxpts', 'z_xpt'} + mapping.timedim = 2; + mapping.label = 'Z\_Xpts'; + mapping.method = 'tdiliuqe'; + mapping.expression = 'tcv_eq("z_xpts","LIUQE.M")'; % % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % extra TCV cases (not necessarily in official data_request name list) diff --git a/matlab/TCV_IMAS/tcv_ids_pf_active_definition.m b/matlab/TCV_IMAS/tcv_ids_pf_active_definition.m index 413340424beb1618110ad6bee605be8d466516d6..a53efd5a0f68fe05366377208bd8e9ea85e81030 100644 --- a/matlab/TCV_IMAS/tcv_ids_pf_active_definition.m +++ b/matlab/TCV_IMAS/tcv_ids_pf_active_definition.m @@ -88,11 +88,10 @@ mds_paths = {... '\magnetics::ipol[*,"F_006"]';...% Circuit 16 '\magnetics::ipol[*,"F_007"]';...% Circuit 17 '\magnetics::ipol[*,"F_008"]';... % Circuit 18 - 'is_in("G_001",dim_of(\magnetics::ipol,1)) ? \magnetics::ipol[*,"G_001"] : make_signal(zero(shape(data(\magnetics::ipol))[0],1.0),*,dim_of(\magnetics::ipol,0))';... % G coils % Circuit 19 + '"G_001" is_in \magnetics::ipol:dim ? \magnetics::ipol[*,"G_001"] : make_signal(zero(shape(data(\magnetics::ipol))[0],1.0),*,dim_of(\magnetics::ipol,0))';... % G coils % Circuit 19 '\magnetics::iphi';... % Connection between tf coils % Circuit 20 }; - % Combined structure combined_structure = struct(); combined_structure.coil_names = coil_names; @@ -127,7 +126,7 @@ circuit_struct.connection_matrix = struct([]); coil_column_index = 2*circuit_struct.ntotpowersupplies ; for ii=1:circuit_struct.ntotcircuits circuit_connection_matrix = zeros(circuit_struct.nnodespercircuit(ii), 2*circuit_struct.ntotelements); - + % Put power supply connection power_supply_index = ii; if circuit_struct.power_supply_current_signs{power_supply_index} == 1 @@ -137,27 +136,27 @@ for ii=1:circuit_struct.ntotcircuits circuit_connection_matrix(1,2*(power_supply_index-1)+1) = 1; circuit_connection_matrix(circuit_struct.nnodespercircuit(ii),2*(power_supply_index-1)+2) = 1; end - + % Put coil connection for jj=1:circuit_struct.ncoilpercircuit(ii) if circuit_struct.coil_current_signs{ii}(jj) == 1 circuit_connection_matrix(jj, coil_column_index + 2*(jj-1) + 1 ) = 1; circuit_connection_matrix(jj + 1, coil_column_index + 2*(jj-1) + 2 ) = 1; - + elseif circuit_struct.coil_current_signs{ii}(jj) == -1 circuit_connection_matrix(jj, coil_column_index + 2*(jj-1) + 2 ) = 1; circuit_connection_matrix(jj + 1, coil_column_index + 2*(jj-1) + 1 ) = 1; end end - + coil_column_index = coil_column_index + 2*circuit_struct.ncoilpercircuit(ii); circuit_struct.connection_matrix{ii} = circuit_connection_matrix; - + % Plot all the connaction matrices as a check if doplot plot_connection_matrix(circuit_connection_matrix, circuit_struct.power_supply_names, circuit_struct.coil_names); end - + end %% Plot connection matrix @@ -184,7 +183,7 @@ for ii=1:numel(psnames) end for ii=1:numel(cnames) for jj=1:numel(cnames{ii}) - + index = index +1; xlab{index} = [cnames{ii}{jj} 'in']; index = index +1;