From d99e6a7ce996d9bfa09077052ccc5539afcac066 Mon Sep 17 00:00:00 2001 From: Olivier Sauter <olivier.sauter@epfl.ch> Date: Sat, 12 Sep 2015 14:18:12 +0000 Subject: [PATCH] add powers and q_rho, changed names with _rho git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@4989 d63d8f72-b253-0410-a779-e742ad2e26cf --- crpptbx_new/TCV/gdat_tcv.m | 88 +++++++++++++++++-- crpptbx_new/TCV/tcv_requests_mapping.m | 1 + crpptbx_new/gdat_data_request_names_rho.xlsx | Bin 12069 -> 12073 bytes 3 files changed, 84 insertions(+), 5 deletions(-) diff --git a/crpptbx_new/TCV/gdat_tcv.m b/crpptbx_new/TCV/gdat_tcv.m index 201b04d8..d77241c7 100644 --- a/crpptbx_new/TCV/gdat_tcv.m +++ b/crpptbx_new/TCV/gdat_tcv.m @@ -236,6 +236,15 @@ if liuqe_version==2 || liuqe_version==3 substr_liuqe = ['_' num2str(liuqe_version)]; end +% special treatment for model shot=-1 or preparation shot >=100'000 +begstr = ''; +if shot==-1 || shot>=100000 + % requires FBTE + liuqe_version = -1; + begstr = 'tcv_eq( "'; + substr_liuqe = '", "FBTE" )'; +end + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Specifications on how to get the data provided in tcv_requests_mapping @@ -244,8 +253,12 @@ gdat_data.label = mapping_for_tcv.label; ishot=NaN; if do_mdsopen_mdsclose - mdsdefaultserver tcv1.epfl.ch; % should be in tcv general path, but set-it in the meantime... - ishot = mdsopen(shot); % if ishot equal to shot, then mdsclose at the end + % mdsdefaultserver tcv1.epfl.ch; % should be in tcv general path, but set-it in the meantime... + if liuqe_version==-1 + ishot = mdsopen('pcs', shot); + else + ishot = mdsopen(shot); % if ishot equal to shot, then mdsclose at the end + end if ishot~=shot warning(['cannot open shot= ' num2str(shot)]) return @@ -273,7 +286,14 @@ if strcmp(mapping_for_tcv.method(1:3),'tdi') return end else - eval_expr = ['tdi(''' mapping_for_tcv.expression substr_tdi ''');']; + if liuqe_version==-1 + if strcmp(lower(mapping_for_tcv.expression(1:8)),'\results') + mapping_for_tcv_expression_eff = mapping_for_tcv.expression(11:end); + end + eval_expr = ['tdi(''' begstr mapping_for_tcv_expression_eff substr_liuqe ''');'] + else + eval_expr = ['tdi(''' mapping_for_tcv.expression substr_tdi ''');']; + end aatmp=eval(eval_expr); end if isempty(aatmp.data) || isempty(aatmp.dim) % || ischar(aatmp.data) (to add?) @@ -403,7 +423,6 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') % B0 at R0=0.88 R0EXP=0.88; if liuqe_version==-1 - mdsopen( 'pcs', shot); %synthetic shot generated with FBT and MGAMS. nodenameeff = 'tcv_eq("BZERO","FBTE")'; tracetdi=tdi(nodenameeff); gdat_data.data = tracetdi.data; @@ -455,7 +474,7 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.data = 100.*beta.data ./ abs(ip_t).*1.e6 .* abs(b0_t) .* a_minor_t; gdat_data.data_fullpath='100*beta/ip*1e6*b0*a_minor, each from gdat_tcv'; gdat_data.units = ''; - gdat_data.dimunits = beta.dimunits; + gdat_data.dimunits = 's'; case {'cxrs'} %not yet finished, just started @@ -697,6 +716,65 @@ elseif strcmp(mapping_for_tcv.method,'switchcase') gdat_data.error_bar = 1.6022e-19 .* (gdat_data.ne.data .* gdat_data.te.error_bar ... + gdat_data.te.data .* gdat_data.ne.error_bar); end + + case {'powers'} + % note: same time array for all main, ec, ohm, nbi, ... + % At this stage fill just ech, later add nbi + nodenameeff='\results::toray.input:p_gyro'; + tracetdi=tdi(nodenameeff); + gdat_data.ec.data = tracetdi.data*1e3; % at this stage p_gyro is in kW' + gdat_data.ec.units = 'W'; + gdat_data.ec.dim=tracetdi.dim; + gdat_data.ec.dimunits=tracetdi.dimunits; + gdat_data.ec.t=tracetdi.dim{1}; + gdat_data.ec.x=tracetdi.dim{2}; + gdat_data.ec.data_fullpath=[nodenameeff]; + gdat_data.ec.label='P_{EC}'; + % set ec time as reference + gdat_data.t = gdat_data.ec.t; + gdat_data.dim{1} = gdat_data.t; + gdat_data.dimunits{1} = 's'; + gdat_data.units = 'W'; + + % get ohmic power simply from vloop*Ip (minus sign for TCV) + ip=gdat([],'ip'); + vloop=gdat([],'vloop'); + tension = -1e5; + vloop_smooth=interpos(vloop.t,vloop.data,gdat_data.t,tension); + ip_t = interp1(ip.t,ip.data,gdat_data.t); + gdat_data.ohm.data = -vloop_smooth.*ip_t; + gdat_data.ohm.units = 'W'; + gdat_data.ohm.dim=gdat_data.dim; + gdat_data.ohm.dimunits=gdat_data.dimunits; + gdat_data.ohm.t=gdat_data.t; + gdat_data.ohm.x=[]; + gdat_data.ohm.data_fullpath=['-vloop(tens=' num2str(tension,'%.0e') ')*ip, from gdat']; + gdat_data.ohm.label='P_{OHM}'; + + % total power from all above + gdat_data.data = gdat_data.ec.data(:,10) + gdat_data.ohm.data; + gdat_data.data_fullpath=['tot power from EC and ohm']; + gdat_data.label = 'P_{tot}=P_{EC}+P_{ohm}'; + + case {'q_rho'} + % q profile on psi from liuqe + nodenameeff='\results::q_psi'; + if liuqe_version==-1 + nodenameeff=[begstr 'q_psi' substr_liuqe]; + end + tracetdi=tdi(nodenameeff); + gdat_data.data = tracetdi.data; + gdat_data.dim = tracetdi.dim; + gdat_data.t = gdat_data.dim{2}; + gdat_data.data_fullpath=[nodenameeff ' on rhopol']; + rhopol_eff = ones(size(tracetdi.dim{1})); + rhopol_eff(:) = sqrt(linspace(0,1,length(tracetdi.dim{1}))); + gdat_data.dim{1} = rhopol_eff; + gdat_data.dimunits{1} = ''; + gdat_data.dimunits{2} = 's'; + gdat_data.units = ''; + gdat_data.request_description = 'q(rhopol\_norm)'; + otherwise warning(['switchcase= ' data_request_eff ' not known in gdat_tcv']) error_status=901; diff --git a/crpptbx_new/TCV/tcv_requests_mapping.m b/crpptbx_new/TCV/tcv_requests_mapping.m index 2478786a..5c40373a 100644 --- a/crpptbx_new/TCV/tcv_requests_mapping.m +++ b/crpptbx_new/TCV/tcv_requests_mapping.m @@ -131,6 +131,7 @@ switch lower(data_request) mapping.timedim = 2; mapping.method = 'switchcase'; % especially since might have option fit, etc case 'powers' + mapping.timedim = 1; mapping.label = 'various powers'; mapping.method = 'switchcase'; case 'q0' diff --git a/crpptbx_new/gdat_data_request_names_rho.xlsx b/crpptbx_new/gdat_data_request_names_rho.xlsx index a291e3bd6b325ee1e93a860aaa627486929ad29e..7816b8dab8164387a65273c5600312467169ac69 100644 GIT binary patch delta 2563 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 ZD3dNIDU;DIDgh{y{4OH~?JEEP008oL&UpX; delta 2548 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 K2I(sR0001eVy?sh -- GitLab