diff --git a/crpptbx/AUG/aug_requests_mapping.m b/crpptbx/AUG/aug_requests_mapping.m index 67089d2ced9a86e26d48657ad8905af813a7af62..6aa9c7a34ef9bbd848c62a3d1ebe0e02454865ba 100644 --- a/crpptbx/AUG/aug_requests_mapping.m +++ b/crpptbx/AUG/aug_requests_mapping.m @@ -51,8 +51,14 @@ switch lower(data_request) case 'b0' mapping.timedim = 1; mapping.label = 'B_0'; - mapping.method = 'signal'; - mapping.expression = [{'FPC'},{'BTF'}]; + % mapping.method = 'signal'; + % mapping.expression = [{'FPC'},{'BTF'}]; + mapping.method = 'expression'; + mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=[{''FPC''},{''BTF''}];' ... + 'gdat_tmp=gdat_aug(shot,params_eff);r0exp=1.65;gdat_tmp.r0 = r0exp; gdat_tmp.request_description = ' ... + '[''vacuum magnetic field at R0='' num2str(r0exp) ''m; COCOS=17''];' ... + 'gdat_tmp.label=''' mapping.label ''';' ... + 'gdat_tmp.gdat_request=''' data_request ''';']; case 'beta' mapping.timedim = 1; mapping.label = '\beta'; @@ -85,7 +91,7 @@ switch lower(data_request) % $$$ 'tmp_data_a=interp1(gdat_aminor.t,gdat_aminor.data,gdat_tmp.t,[],NaN);' ... % $$$ 'tmp_data_vol=interp1(gdat_vol.t,gdat_vol.data,gdat_tmp.t,[],NaN);' ... % $$$ 'gdat_tmp.data = 100.*abs(2./3.*gdat_tmp.data./tmp_data_vol.*8e-7.*pi./tmp_data_b0.^2./tmp_data_ip.*1e6.*tmp_data_a.*tmp_data_b0);end;']; - case 'betap' + case {'betap', 'beta_p', 'beta_pol'} mapping.timedim = 1; mapping.label = '\beta_p'; mapping.method = 'signal'; @@ -327,7 +333,7 @@ switch lower(data_request) mapping.timedim = 2; mapping.label = 'rhovol\_norm'; mapping.method = 'switchcase'; - case 'rmag' + case {'rmag', 'r_axis', 'r_mag'} mapping.label = 'R\_magaxis'; mapping.timedim = 1; mapping.method = 'signal'; @@ -371,7 +377,7 @@ switch lower(data_request) mapping.timedim = 2; mapping.label = 'Volume'; mapping.method = 'switchcase'; - case 'wmhd' + case {'wmhd' 'w_mhd'} mapping.label = 'Wmhd'; mapping.timedim = 1; mapping.method = 'signal'; @@ -397,7 +403,7 @@ switch lower(data_request) 'gdat_tmp.data = 0.5.*(gdat_tmp2.data+gdat_tmp.data);gdat_tmp.label=''' mapping.label ''';' ... 'gdat_tmp.gdat_request=''' data_request ''';']; - case 'zmag' + case {'zmag', 'z_mag', 'z_axis'} mapping.label = 'Z\_magaxis'; mapping.timedim = 1; mapping.method = 'signal'; @@ -416,6 +422,7 @@ switch lower(data_request) mapping.label = data_request; mapping.method = 'signal'; % assume a full tracename is given, so just try with tdi (could check there are some ":", etc...) mapping.expression = data_request; + mapping.not_found = true; end diff --git a/crpptbx/AUG/gdat_aug.m b/crpptbx/AUG/gdat_aug.m index bb7f721085c34ef50b90340cd5e7d51da15dc779..5efda8146712d7ae272ce34f9af7d8b42a616042 100644 --- a/crpptbx/AUG/gdat_aug.m +++ b/crpptbx/AUG/gdat_aug.m @@ -287,6 +287,10 @@ if strcmp(mapping_for_aug.method,'signal') if ~iscell(mapping_for_aug.expression) error_status = 1010; disp(['expects a cell array with at least 2 cells in expression, mapping_for_aug.expression = ' mapping_for_aug.expression]); + if isfield(mapping_for_aug,'not_found') && mapping_for_aug.not_found + disp(['data request not found in aug_requests_mapping, see .data_request_names_all to see all options']) + gdat_data.data_request_names_all = data_request_names_all; + end return elseif length(mapping_for_aug.expression)>=3 exp_location = mapping_for_aug.expression{3}; @@ -295,6 +299,10 @@ if strcmp(mapping_for_aug.method,'signal') else error_status = 101; disp(['expects at least 2 cells in expression, mapping_for_aug.expression = ' mapping_for_aug.expression]); + if isfield(mapping_for_aug,'not_found') && mapping_for_aug.not_found + disp(['data request not found in aug_requests_mapping, see .data_request_names_all to see all options']) + gdat_data.data_request_names_all = data_request_names_all; + end return end % allow changing main source with simple signals, 'source' parameter relates to mapping_for_aug.expression{1} @@ -1811,6 +1819,8 @@ elseif strcmp(mapping_for_aug.method,'switchcase') gdat_data.dim{2} = gdat_data.t; gdat_data.dimunits{1} = 'rhopolnorm'; gdat_data.dimunits{2} = 'time [s]'; + % add grids_1d to have rhotor, etc + gdat_data = get_grids_1d(gdat_data,2,1,gdat_params.nverbose); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% case {'psi_axis', 'psi_edge'} diff --git a/crpptbx/AUG/geteqdskAUG.m b/crpptbx/AUG/geteqdskAUG.m index cfae4314aaf6a57d9b45879188759d794176ff2f..bac1c980d641c68a809975755baffe7a0a63590a 100644 --- a/crpptbx/AUG/geteqdskAUG.m +++ b/crpptbx/AUG/geteqdskAUG.m @@ -6,6 +6,7 @@ function [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time,zshift,var % % varargin{1:2}: 'source','EQI' (default) or 'source','IDE' (used in gdat(...,'equil') ) % varargin{3:4}: 'extra_arg_sf2sig','[]' (default) or 'extra_arg_sf2sig','''-ed'',2' +% varargin{5:6}: 'fignb',ii (default is a new fig each time, if a number is given it over plots on this figure, needed if called in series) % % [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time); % [eqdskAUG, equil_all_t, equil_t_index]=geteqdskAUG(shot,time,[],'source','IDE'); @@ -35,7 +36,7 @@ end if nargin >= 5 && ~isempty(varargin{1}) && strcmp(lower(varargin{1}),'source') if ~isempty(varargin{2}) - equil_source = varargin{2} + equil_source = varargin{2}; else disp(['Warning source for equil in geteqdskAUG not defined']); return; @@ -48,7 +49,7 @@ if strcmp(lower(equil_source),'ide'); equilpar_source = 'IDG'; end if nargin >= 7 && ~isempty(varargin{3}) && strcmp(lower(varargin{3}),'extra_arg_sf2sig') if ~isempty(varargin{4}) - extra_arg_sf2sig = varargin{4} + extra_arg_sf2sig = varargin{4}; else disp(['Warning extra_arg_sf2sig in geteqdskAUG not defined']); return; @@ -57,6 +58,17 @@ else extra_arg_sf2sig = '[]'; end +if nargin >= 9 && ~isempty(varargin{5}) && strcmp(lower(varargin{5}),'fignb') + if ~isempty(varargin{6}) + fignb = varargin{6}; + else + disp(['Warning fignb in geteqdskAUG not defined']); + return; + end +else + fignb = []; +end + if isnumeric(shot) equil=gdat_aug(shot,'equil','equil',equil_source,'extra_arg_sf2sig',extra_arg_sf2sig); else @@ -123,7 +135,14 @@ zmag=gdat_aug(shot,'zmag','source',equilpar_source,'extra_arg_sf2sig',extra_arg_ eqdsk.zaxis = zmag.data(itrmag) - eqdsk.zshift; % get plasma boundary -figure +if isempty(fignb) || ~isnumeric(fignb) || fignb < 1 + figure +else + figure(fignb) + clf + set(gcf,'Name','from geteqdskAUG'); +end + contour(eqdsk.rmesh,eqdsk.zmesh,eqdsk.psi',100) hold on psiedge_eff = 0.001*eqdsk.psiaxis + 0.999*eqdsk.psiedge; % note for IDE psi edge is already 99% diff --git a/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m b/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m index e4ce49544816d1fbfb751d86044b7bd4a6581880..4a35c83c859f8464149a664dff79c77590e3e10d 100644 --- a/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m +++ b/crpptbx/TCV_IMAS/tcv_get_ids_equilibrium.m @@ -4,6 +4,8 @@ function [ids_equilibrium,ids_equilibrium_description,varargout] = tcv_get_ids_e % % +machine = 'tcv'; + [ids_equilibrium, params_equilibrium] = tcv_ids_headpart(shot,ids_equil_empty,'equilibrium',varargin{:}); % As a general rule, for a new substructure under the main ids, construct a local structure like: @@ -12,7 +14,7 @@ function [ids_equilibrium,ids_equilibrium_description,varargout] = tcv_get_ids_e % % vacuum_toroidal_field and time, using homogeneous % -vacuum_toroidal_field.b0=gdat(params_equilibrium.shot,'b0','source','liuqe'); % to get on liuqe time array +vacuum_toroidal_field.b0=gdat(params_equilibrium.shot,'b0','source','liuqe','machine',machine); % to get on liuqe time array vacuum_toroidal_field_desc.b0 = '''b0'',''source'',''liuqe'''; vacuum_toroidal_field_desc.r0 = '.r0 subfield from: [''b0'',''source'',''liuqe'']'; ids_equilibrium.vacuum_toroidal_field.r0 = vacuum_toroidal_field.b0.r0; @@ -31,43 +33,43 @@ ids_equilibrium.time_slice(1:length(ids_equilibrium.time)) = ids_equilibrium.tim % brute force solution load all eqdsks % $$$ for it=1:length(ids_equilibrium.time) % $$$ ids_equilibrium.time(it) -% $$$ temp.eqdsks{it}=gdat(params_equilibrium.shot,'eqdsk','time',ids_equilibrium.time(it),'write',0); +% $$$ temp.eqdsks{it}=gdat(params_equilibrium.shot,'eqdsk','time',ids_equilibrium.time(it),'write',0,'machine',machine); % $$$ end % $$$ temp_desc.eqdsks{1} = '''eqdsk'',''time'',ids_equilibrium.time(it)'; -global_quantities.area = gdat(params_equilibrium.shot,'area_edge'); +global_quantities.area = gdat(params_equilibrium.shot,'area_edge','machine',machine); global_quantities_desc.area = 'area_edge'; -global_quantities.beta_normal = gdat(params_equilibrium.shot,'betan'); +global_quantities.beta_normal = gdat(params_equilibrium.shot,'betan','machine',machine); global_quantities_desc.beta_normal = 'betan'; -global_quantities.beta_pol = gdat(params_equilibrium.shot,'betap'); +global_quantities.beta_pol = gdat(params_equilibrium.shot,'betap','machine',machine); global_quantities_desc.beta_pol = 'betap'; -global_quantities.beta_tor = gdat(params_equilibrium.shot,'beta'); +global_quantities.beta_tor = gdat(params_equilibrium.shot,'beta','machine',machine); global_quantities_desc.beta_tor = 'beta'; -global_quantities.energy_mhd = gdat(params_equilibrium.shot,'w_mhd'); +global_quantities.energy_mhd = gdat(params_equilibrium.shot,'w_mhd','machine',machine); global_quantities_desc.energy_mhd = 'w_mhd'; -global_quantities.ip = gdat(params_equilibrium.shot,'ip'); +global_quantities.ip = gdat(params_equilibrium.shot,'ip','machine',machine); global_quantities_desc.ip = 'ip'; -% length_pol = gdat(params_equilibrium.shot,'length_pol'); % to be added -global_quantities.li_3 = gdat(params_equilibrium.shot,'li'); +% length_pol = gdat(params_equilibrium.shot,'length_pol','machine',machine); % to be added +global_quantities.li_3 = gdat(params_equilibrium.shot,'li','machine',machine); global_quantities_desc.li_3 = 'li'; -temp.r_magnetic_axis = gdat(params_equilibrium.shot,'r_axis'); +temp.r_magnetic_axis = gdat(params_equilibrium.shot,'r_axis','machine',machine); temp_desc.r_magnetic_axis = 'r_axis'; -temp.z_magnetic_axis = gdat(params_equilibrium.shot,'z_axis'); +temp.z_magnetic_axis = gdat(params_equilibrium.shot,'z_axis','machine',machine); temp_desc.z_magnetic_axis = 'z_axis'; -temp.psi_axis = gdat(params_equilibrium.shot,'psi_axis'); % needs to add psi_edge sincepsi_axis liuqe assuming 0 dege value +temp.psi_axis = gdat(params_equilibrium.shot,'psi_axis','machine',machine); % needs to add psi_edge sincepsi_axis liuqe assuming 0 dege value temp_desc.psi_axis = 'psi_axis'; -global_quantities.psi_boundary = gdat(params_equilibrium.shot,'psi_edge'); +global_quantities.psi_boundary = gdat(params_equilibrium.shot,'psi_edge','machine',machine); global_quantities_desc.psi_boundary = 'psi_edge'; -global_quantities.q_95 = gdat(params_equilibrium.shot,'q95'); +global_quantities.q_95 = gdat(params_equilibrium.shot,'q95','machine',machine); global_quantities_desc.q_95 = 'q95'; -global_quantities.q_axis = gdat(params_equilibrium.shot,'q0'); % will be checked with q_rho? +global_quantities.q_axis = gdat(params_equilibrium.shot,'q0','machine',machine); % will be checked with q_rho? global_quantities_desc.q_axis = 'q0'; -temp.q_rho = gdat(params_equilibrium.shot,'q_rho'); +temp.q_rho = gdat(params_equilibrium.shot,'q_rho','machine',machine); temp_desc.q_rho = 'q_rho'; -% surface = gdat(params_equilibrium.shot,'surface'); % to be added -global_quantities.volume = gdat(params_equilibrium.shot,'volume'); +% surface = gdat(params_equilibrium.shot,'surface','machine',machine); % to be added +global_quantities.volume = gdat(params_equilibrium.shot,'volume','machine',machine); global_quantities_desc.volume = 'volume'; -global_quantities.w_mhd = gdat(params_equilibrium.shot,'w_mhd'); +global_quantities.w_mhd = gdat(params_equilibrium.shot,'w_mhd','machine',machine); global_quantities_desc.w_mhd = 'w_mhd'; global_quantities_fieldnames = fieldnames(global_quantities); @@ -97,37 +99,37 @@ for it=1:length(ids_equilibrium.time) end % for boundary in addition to lcfs -% active_limiter_point = gdat(params_equilibrium.shot,'active_limiter_point'); -boundary.elongation = gdat(params_equilibrium.shot,'kappa'); +% active_limiter_point = gdat(params_equilibrium.shot,'active_limiter_point','machine',machine); +boundary.elongation = gdat(params_equilibrium.shot,'kappa','machine',machine); boundary_desc.elongation = 'kappa'; -% elongation_lower = gdat(params_equilibrium.shot,'elongation_lower'); -% elongation_upper = gdat(params_equilibrium.shot,'elongation_upper'); -boundary.minor_radius = gdat(params_equilibrium.shot,'a_minor'); +% elongation_lower = gdat(params_equilibrium.shot,'elongation_lower','machine',machine); +% elongation_upper = gdat(params_equilibrium.shot,'elongation_upper','machine',machine); +boundary.minor_radius = gdat(params_equilibrium.shot,'a_minor','machine',machine); boundary_desc.minor_radius = 'a_minor'; -% squareness_lower_inner = gdat(params_equilibrium.shot,'squareness_lower_inner'); -% squareness_lower_outer = gdat(params_equilibrium.shot,'squareness_lower_outer'); -% squareness_upper_inner = gdat(params_equilibrium.shot,'squareness_upper_inner'); -% squareness_upper_outer = gdat(params_equilibrium.shot,'squareness_upper_outer'); -% strike_point = gdat(params_equilibrium.shot,'strike_point'); -boundary.triangularity = gdat(params_equilibrium.shot,'delta'); +% squareness_lower_inner = gdat(params_equilibrium.shot,'squareness_lower_inner','machine',machine); +% squareness_lower_outer = gdat(params_equilibrium.shot,'squareness_lower_outer','machine',machine); +% squareness_upper_inner = gdat(params_equilibrium.shot,'squareness_upper_inner','machine',machine); +% squareness_upper_outer = gdat(params_equilibrium.shot,'squareness_upper_outer','machine',machine); +% strike_point = gdat(params_equilibrium.shot,'strike_point','machine',machine); +boundary.triangularity = gdat(params_equilibrium.shot,'delta','machine',machine); boundary_desc.triangularity = 'delta'; -boundary.triangularity_lower = gdat(params_equilibrium.shot,'delta_bottom'); +boundary.triangularity_lower = gdat(params_equilibrium.shot,'delta_bottom','machine',machine); boundary_desc.triangularity_lower = 'delta_bottom'; -boundary.triangularity_upper = gdat(params_equilibrium.shot,'delta_top'); +boundary.triangularity_upper = gdat(params_equilibrium.shot,'delta_top','machine',machine); boundary_desc.triangularity_upper = 'delta_top'; -temp.n_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''n_xpts'''',''''liuqe.m'''')'); +temp.n_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''n_xpts'''',''''liuqe.m'''','machine',machine)'); temp_desc.n_x_point = '''tcv_eq(''''n_xpts'''',''''liuqe.m'''')'''; -temp.r_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''r_xpts'''',''''liuqe.m'''')'); +temp.r_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''r_xpts'''',''''liuqe.m'''','machine',machine)'); temp_desc.r_x_point = '''tcv_eq(''''r_xpts'''',''''liuqe.m'''')'''; -temp.z_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''z_xpts'''',''''liuqe.m'''')'); +temp.z_x_point = gdat(params_equilibrium.shot,'tcv_eq(''''z_xpts'''',''''liuqe.m'''','machine',machine)'); temp_desc.z_x_point = '''tcv_eq(''''z_xpts'''',''''liuqe.m'''')'''; -temp.rgeom = gdat(params_equilibrium.shot,'rgeom'); +temp.rgeom = gdat(params_equilibrium.shot,'rgeom','machine',machine); temp_desc.rgeom = 'rgeom'; -temp.zgeom = gdat(params_equilibrium.shot,'zgeom'); +temp.zgeom = gdat(params_equilibrium.shot,'zgeom','machine',machine); temp_desc.zgeom = 'zgeom'; -temp.r_lcfs = gdat(params_equilibrium.shot,'r_contour_edge'); +temp.r_lcfs = gdat(params_equilibrium.shot,'r_contour_edge','machine',machine); temp_desc.r_lcfs = 'r_contour_edge'; -temp.z_lcfs = gdat(params_equilibrium.shot,'z_contour_edge'); +temp.z_lcfs = gdat(params_equilibrium.shot,'z_contour_edge','machine',machine); temp_desc.z_lcfs = 'z_contour_edge'; boundary_fieldnames = fieldnames(boundary); @@ -165,55 +167,55 @@ end % %% profiles_1d (cannot use eqdsk since not same radial mesh) % -% area = gdat(params_equilibrium.shot,'area'); -% b_average = gdat(params_equilibrium.shot,'b_average'); -% beta_pol = gdat(params_equilibrium.shot,'beta_pol'); -% b_field_average = gdat(params_equilibrium.shot,'b_field_average'); -% b_field_max = gdat(params_equilibrium.shot,'b_field_max'); -% b_field_min = gdat(params_equilibrium.shot,'b_field_min'); -% b_max = gdat(params_equilibrium.shot,'b_max'); -% b_min = gdat(params_equilibrium.shot,'b_min'); -% darea_dpsi = gdat(params_equilibrium.shot,'darea_dpsi'); -% darea_drho_tor = gdat(params_equilibrium.shot,'darea_drho_tor'); -profiles_1d.dpressure_dpsi = gdat(params_equilibrium.shot,'pprime'); -% dpsi_drho_tor = gdat(params_equilibrium.shot,'dpsi_drho_tor'); -% dvolume_dpsi = gdat(params_equilibrium.shot,'dvolume_dpsi'); -% dvolume_drho_tor = gdat(params_equilibrium.shot,'dvolume_drho_tor'); -% elongation = gdat(params_equilibrium.shot,'elongation'); -profiles_1d.f_df_dpsi = gdat(params_equilibrium.shot,'ttprime'); -profiles_1d.f = gdat(params_equilibrium.shot,'rbphi_rho'); -% geometric_axis = gdat(params_equilibrium.shot,'geometric_axis'); -% gm1 = gdat(params_equilibrium.shot,'gm1'); -% gm2 = gdat(params_equilibrium.shot,'gm2'); -% gm3 = gdat(params_equilibrium.shot,'gm3'); -% gm4 = gdat(params_equilibrium.shot,'gm4'); -% gm5 = gdat(params_equilibrium.shot,'gm5'); -% gm6 = gdat(params_equilibrium.shot,'gm6'); -% gm7 = gdat(params_equilibrium.shot,'gm7'); -% gm8 = gdat(params_equilibrium.shot,'gm8'); -% gm9 = gdat(params_equilibrium.shot,'gm9'); -% j_parallel = gdat(params_equilibrium.shot,'j_parallel'); -% j_tor = gdat(params_equilibrium.shot,'j_tor'); -% magnetic_shear = gdat(params_equilibrium.shot,'magnetic_shear'); -% mass_density = gdat(params_equilibrium.shot,'mass_density'); -profiles_1d.phi = gdat(params_equilibrium.shot,'phi_tor'); -profiles_1d.pressure = gdat(params_equilibrium.shot,'pressure'); -% psi = gdat(params_equilibrium.shot,'psi_rho'); % (could take from .x of any like rhotor and psi_axis, psi_edge from global_quantities) -profiles_1d.q = gdat(params_equilibrium.shot,'q_rho'); -profiles_1d.rho_tor = gdat(params_equilibrium.shot,'rhotor'); -%rho_tor_norm = gdat(params_equilibrium.shot,'rhotor_norm'); % from rho_tor -profiles_1d.rho_volume_norm = gdat(params_equilibrium.shot,'rhovol'); -% r_inboard = gdat(params_equilibrium.shot,'r_inboard'); -% r_outboard = gdat(params_equilibrium.shot,'r_outboard'); -% squareness_lower_inner = gdat(params_equilibrium.shot,'squareness_lower_inner'); -% squareness_lower_outer = gdat(params_equilibrium.shot,'squareness_lower_outer'); -% squareness_upper_inner = gdat(params_equilibrium.shot,'squareness_upper_inner'); -% squareness_upper_outer = gdat(params_equilibrium.shot,'squareness_upper_outer'); -% surface = gdat(params_equilibrium.shot,'surface'); -% trapped_fraction = gdat(params_equilibrium.shot,'trapped_fraction'); -% triangularity_lower = gdat(params_equilibrium.shot,'triangularity_lower'); -% triangularity_upper = gdat(params_equilibrium.shot,'triangularity_upper'); -profiles_1d.volume = gdat(params_equilibrium.shot,'volume_rho'); +% area = gdat(params_equilibrium.shot,'area','machine',machine); +% b_average = gdat(params_equilibrium.shot,'b_average','machine',machine); +% beta_pol = gdat(params_equilibrium.shot,'beta_pol','machine',machine); +% b_field_average = gdat(params_equilibrium.shot,'b_field_average','machine',machine); +% b_field_max = gdat(params_equilibrium.shot,'b_field_max','machine',machine); +% b_field_min = gdat(params_equilibrium.shot,'b_field_min','machine',machine); +% b_max = gdat(params_equilibrium.shot,'b_max','machine',machine); +% b_min = gdat(params_equilibrium.shot,'b_min','machine',machine); +% darea_dpsi = gdat(params_equilibrium.shot,'darea_dpsi','machine',machine); +% darea_drho_tor = gdat(params_equilibrium.shot,'darea_drho_tor','machine',machine); +profiles_1d.dpressure_dpsi = gdat(params_equilibrium.shot,'pprime','machine',machine); +% dpsi_drho_tor = gdat(params_equilibrium.shot,'dpsi_drho_tor','machine',machine); +% dvolume_dpsi = gdat(params_equilibrium.shot,'dvolume_dpsi','machine',machine); +% dvolume_drho_tor = gdat(params_equilibrium.shot,'dvolume_drho_tor','machine',machine); +% elongation = gdat(params_equilibrium.shot,'elongation','machine',machine); +profiles_1d.f_df_dpsi = gdat(params_equilibrium.shot,'ttprime','machine',machine); +profiles_1d.f = gdat(params_equilibrium.shot,'rbphi_rho','machine',machine); +% geometric_axis = gdat(params_equilibrium.shot,'geometric_axis','machine',machine); +% gm1 = gdat(params_equilibrium.shot,'gm1','machine',machine); +% gm2 = gdat(params_equilibrium.shot,'gm2','machine',machine); +% gm3 = gdat(params_equilibrium.shot,'gm3','machine',machine); +% gm4 = gdat(params_equilibrium.shot,'gm4','machine',machine); +% gm5 = gdat(params_equilibrium.shot,'gm5','machine',machine); +% gm6 = gdat(params_equilibrium.shot,'gm6','machine',machine); +% gm7 = gdat(params_equilibrium.shot,'gm7','machine',machine); +% gm8 = gdat(params_equilibrium.shot,'gm8','machine',machine); +% gm9 = gdat(params_equilibrium.shot,'gm9','machine',machine); +% j_parallel = gdat(params_equilibrium.shot,'j_parallel','machine',machine); +% j_tor = gdat(params_equilibrium.shot,'j_tor','machine',machine); +% magnetic_shear = gdat(params_equilibrium.shot,'magnetic_shear','machine',machine); +% mass_density = gdat(params_equilibrium.shot,'mass_density','machine',machine); +profiles_1d.phi = gdat(params_equilibrium.shot,'phi_tor','machine',machine); +profiles_1d.pressure = gdat(params_equilibrium.shot,'pressure','machine',machine); +% psi = gdat(params_equilibrium.shot,'psi_rho','machine',machine); % (could take from .x of any like rhotor and psi_axis, psi_edge from global_quantities) +profiles_1d.q = gdat(params_equilibrium.shot,'q_rho','machine',machine); +profiles_1d.rho_tor = gdat(params_equilibrium.shot,'rhotor','machine',machine); +%rho_tor_norm = gdat(params_equilibrium.shot,'rhotor_norm','machine',machine); % from rho_tor +profiles_1d.rho_volume_norm = gdat(params_equilibrium.shot,'rhovol','machine',machine); +% r_inboard = gdat(params_equilibrium.shot,'r_inboard','machine',machine); +% r_outboard = gdat(params_equilibrium.shot,'r_outboard','machine',machine); +% squareness_lower_inner = gdat(params_equilibrium.shot,'squareness_lower_inner','machine',machine); +% squareness_lower_outer = gdat(params_equilibrium.shot,'squareness_lower_outer','machine',machine); +% squareness_upper_inner = gdat(params_equilibrium.shot,'squareness_upper_inner','machine',machine); +% squareness_upper_outer = gdat(params_equilibrium.shot,'squareness_upper_outer','machine',machine); +% surface = gdat(params_equilibrium.shot,'surface','machine',machine); +% trapped_fraction = gdat(params_equilibrium.shot,'trapped_fraction','machine',machine); +% triangularity_lower = gdat(params_equilibrium.shot,'triangularity_lower','machine',machine); +% triangularity_upper = gdat(params_equilibrium.shot,'triangularity_upper','machine',machine); +profiles_1d.volume = gdat(params_equilibrium.shot,'volume_rho','machine',machine); profiles_1d_fieldnames = fieldnames(profiles_1d); special_fields = {'geometric_axis', 'rho_tor_norm', 'psi'}; % fields needing non-automatic treatments @@ -246,23 +248,23 @@ end % %% profiles_2d{1} ala eqdsk, only this one thus grid_type=1 % -% b_field_r = gdat(params_equilibrium.shot,'b_field_r'); -% b_field_tor = gdat(params_equilibrium.shot,'b_field_tor'); -% b_field_z = gdat(params_equilibrium.shot,'b_field_z'); -% b_r = gdat(params_equilibrium.shot,'b_r'); -% b_tor = gdat(params_equilibrium.shot,'b_tor'); -% b_z = gdat(params_equilibrium.shot,'b_z'); -% grid = gdat(params_equilibrium.shot,'grid'); % special +% b_field_r = gdat(params_equilibrium.shot,'b_field_r','machine',machine); +% b_field_tor = gdat(params_equilibrium.shot,'b_field_tor','machine',machine); +% b_field_z = gdat(params_equilibrium.shot,'b_field_z','machine',machine); +% b_r = gdat(params_equilibrium.shot,'b_r','machine',machine); +% b_tor = gdat(params_equilibrium.shot,'b_tor','machine',machine); +% b_z = gdat(params_equilibrium.shot,'b_z','machine',machine); +% grid = gdat(params_equilibrium.shot,'grid','machine',machine); % special profiles_2d.grid_type.name = 'rectangular'; profiles_2d.grid_type.index = 1; profiles_2d.grid_type.description = 'Cylindrical R,Z ala eqdsk'; -% j_parallel = gdat(params_equilibrium.shot,'j_parallel'); -% j_tor = gdat(params_equilibrium.shot,'j_tor'); -% phi = gdat(params_equilibrium.shot,'phi'); -profiles_2d.psi = gdat(params_equilibrium.shot,'psi'); % add psi_bound in a second step in special cases -% r = gdat(params_equilibrium.shot,'r'); % not to be filled since in grid.dim1 -% theta = gdat(params_equilibrium.shot,'theta'); -% z = gdat(params_equilibrium.shot,'z'); % not to be filled since in grid.dim2 +% j_parallel = gdat(params_equilibrium.shot,'j_parallel','machine',machine); +% j_tor = gdat(params_equilibrium.shot,'j_tor','machine',machine); +% phi = gdat(params_equilibrium.shot,'phi','machine',machine); +profiles_2d.psi = gdat(params_equilibrium.shot,'psi','machine',machine); % add psi_bound in a second step in special cases +% r = gdat(params_equilibrium.shot,'r','machine',machine); % not to be filled since in grid.dim1 +% theta = gdat(params_equilibrium.shot,'theta','machine',machine); +% z = gdat(params_equilibrium.shot,'z','machine',machine); % not to be filled since in grid.dim2 profiles_2d_fieldnames = fieldnames(profiles_2d); special_fields = {'grid', 'grid_type'}; % fields needing non-automatic treatments diff --git a/crpptbx/gdatpaths.m b/crpptbx/gdatpaths.m index 8a25dd76468078238f5e76452b73acfb0aba9b78..55d705352eb8a749ecf6862e6a617350badb1ecb 100644 --- a/crpptbx/gdatpaths.m +++ b/crpptbx/gdatpaths.m @@ -14,7 +14,7 @@ a = fileparts(a); % machines=[{'JET'} {'TCV'} {'AUG'} {'D3D'}]; % machines=[{'JET'} {'TCV'} {'AUG'} {'KSTAR'}]; -machines=[{'JET'} {'TCV'} {'AUG'} {'D3D'} {'KSTAR'} {'TCV_IMAS'}]; +machines=[{'JET'} {'TCV'} {'AUG'} {'D3D'} {'KSTAR'} {'TCV_IMAS'} {'AUG_IMAS'}]; add_paths = cell(1,length(machines)); for i=1:length(machines)