From 52e91cdedef711c0c4aa7a9d3e669480f112b388 Mon Sep 17 00:00:00 2001
From: Olivier Sauter <olivier.sauter@epfl.ch>
Date: Wed, 21 Jun 2017 11:59:12 +0000
Subject: [PATCH] add ng greenwald density and ngf greenwald fraction

git-svn-id: https://spcsvn.epfl.ch/repos/TCV/gdat/trunk@7594 d63d8f72-b253-0410-a779-e742ad2e26cf
---
 crpptbx/AUG/aug_requests_mapping.m | 22 ++++++++++++++++++++++
 crpptbx/D3D/d3d_requests_mapping.m | 22 ++++++++++++++++++++++
 crpptbx/JET/jet_requests_mapping.m | 22 ++++++++++++++++++++++
 crpptbx/TCV/tcv_requests_mapping.m | 22 ++++++++++++++++++++++
 4 files changed, 88 insertions(+)

diff --git a/crpptbx/AUG/aug_requests_mapping.m b/crpptbx/AUG/aug_requests_mapping.m
index 5e935b79..c0131595 100644
--- a/crpptbx/AUG/aug_requests_mapping.m
+++ b/crpptbx/AUG/aug_requests_mapping.m
@@ -214,6 +214,28 @@ switch lower(data_request)
   mapping.timedim = 2;
   mapping.label = 'ne and Te';
   mapping.method = 'switchcase';
+ case {'ng','ngreenwald','n_greenwald'}
+  mapping.timedim = 1;
+  mapping.label = 'nG=Ip[MA]/(\pi a^2)*1e20 on nel times';
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
+                    'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''ip'';' ...
+		    '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);' ...
+                    'params_eff.data_request=''a_minor'';' ...
+		    'gdat_tmp3=gdat_aug(shot,params_eff);ij=find(gdat_tmp3.data==0);gdat_tmp3.data(ij)=NaN;' ...
+		    'tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ...
+		    'gdat_tmp.data = tmp_data2*1e-6./pi./(tmp_data3.^2+1e-5);' ...
+		    'ij=find(gdat_tmp.data<0 | gdat_tmp.data>4);gdat_tmp.data(ij)=NaN;gdat_tmp.data = gdat_tmp.data * 1e20;'];
+ case {'ngf','greenwald_fraction','f_greenwald','ng_fraction'}
+  mapping.timedim = 1;
+  mapping.label = 'Greenwald\_fraction=n\_el/n\_G';
+  mapping.method = 'expression';
+  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);'];
  case 'ni'
   mapping.method = 'switchcase'; % especially since might have option fit, etc
  case 'pgyro'
diff --git a/crpptbx/D3D/d3d_requests_mapping.m b/crpptbx/D3D/d3d_requests_mapping.m
index b339a152..820199d1 100644
--- a/crpptbx/D3D/d3d_requests_mapping.m
+++ b/crpptbx/D3D/d3d_requests_mapping.m
@@ -201,6 +201,28 @@ switch lower(data_request)
   mapping.method = 'switchcase';
  case 'ni'
   mapping.method = 'switchcase'; % especially since might have option fit, etc
+ case {'ng','ngreenwald','n_greenwald'}
+  mapping.timedim = 1;
+  mapping.label = 'nG=Ip[MA]/(\pi a^2)*1e20 on nel times';
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
+                    'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''ip'';' ...
+		    '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);' ...
+                    'params_eff.data_request=''a_minor'';' ...
+		    'gdat_tmp3=gdat_aug(shot,params_eff);ij=find(gdat_tmp3.data==0);gdat_tmp3.data(ij)=NaN;' ...
+		    'tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ...
+		    'gdat_tmp.data = tmp_data2*1e-6./pi./(tmp_data3.^2+1e-5);' ...
+		    'ij=find(gdat_tmp.data<0 | gdat_tmp.data>4);gdat_tmp.data(ij)=NaN;gdat_tmp.data = gdat_tmp.data * 1e20;'];
+ case {'ngf','greenwald_fraction','f_greenwald','ng_fraction'}
+  mapping.timedim = 1;
+  mapping.label = 'Greenwald\_fraction=n\_el/n\_G';
+  mapping.method = 'expression';
+  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);'];
  case 'pgyro'
   mapping.timedim = 1;
   mapping.label = 'EC gyros';
diff --git a/crpptbx/JET/jet_requests_mapping.m b/crpptbx/JET/jet_requests_mapping.m
index 3957e144..81fb6f3c 100644
--- a/crpptbx/JET/jet_requests_mapping.m
+++ b/crpptbx/JET/jet_requests_mapping.m
@@ -168,6 +168,28 @@ switch lower(data_request)
   mapping.timedim = 2;
   mapping.label = 'ne and Te';
   mapping.method = 'switchcase';
+ case {'ng','ngreenwald','n_greenwald'}
+  mapping.timedim = 1;
+  mapping.label = 'nG=Ip[MA]/(\pi a^2)*1e20 on nel times';
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
+                    'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''ip'';' ...
+		    '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);' ...
+                    'params_eff.data_request=''a_minor'';' ...
+		    'gdat_tmp3=gdat_aug(shot,params_eff);ij=find(gdat_tmp3.data==0);gdat_tmp3.data(ij)=NaN;' ...
+		    'tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ...
+		    'gdat_tmp.data = tmp_data2*1e-6./pi./(tmp_data3.^2+1e-5);' ...
+		    'ij=find(gdat_tmp.data<0 | gdat_tmp.data>4);gdat_tmp.data(ij)=NaN;gdat_tmp.data = gdat_tmp.data * 1e20;'];
+ case {'ngf','greenwald_fraction','f_greenwald','ng_fraction'}
+  mapping.timedim = 1;
+  mapping.label = 'Greenwald\_fraction=n\_el/n\_G';
+  mapping.method = 'expression';
+  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);'];
  case 'ni'
   mapping.method = 'switchcase'; % especially since might have option fit, etc
  case 'powers'
diff --git a/crpptbx/TCV/tcv_requests_mapping.m b/crpptbx/TCV/tcv_requests_mapping.m
index 71f355d7..f4f038b7 100644
--- a/crpptbx/TCV/tcv_requests_mapping.m
+++ b/crpptbx/TCV/tcv_requests_mapping.m
@@ -153,6 +153,28 @@ switch lower(data_request)
  case 'ni'
   mapping.timedim = 2;
   mapping.method = 'switchcase'; % especially since might have option fit, etc
+ case {'ng','ngreenwald','n_greenwald'}
+  mapping.timedim = 1;
+  mapping.label = 'nG=Ip[MA]/(\pi a^2)*1e20 on nel times';
+  mapping.method = 'expression';
+  mapping.expression = ['params_eff = gdat_data.gdat_params;params_eff.data_request=''nel'';' ...
+                    'gdat_tmp=gdat_aug(shot,params_eff);params_eff.data_request=''ip'';' ...
+		    '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);' ...
+                    'params_eff.data_request=''a_minor'';' ...
+		    'gdat_tmp3=gdat_aug(shot,params_eff);ij=find(gdat_tmp3.data==0);gdat_tmp3.data(ij)=NaN;' ...
+		    'tmp_data3=interp1(gdat_tmp3.t,gdat_tmp3.data,gdat_tmp.t,[],NaN);' ...
+		    'gdat_tmp.data = tmp_data2*1e-6./pi./(tmp_data3.^2+1e-5);' ...
+		    'ij=find(gdat_tmp.data<0 | gdat_tmp.data>4);gdat_tmp.data(ij)=NaN;gdat_tmp.data = gdat_tmp.data * 1e20;'];
+ case {'ngf','greenwald_fraction','f_greenwald','ng_fraction'}
+  mapping.timedim = 1;
+  mapping.label = 'Greenwald\_fraction=n\_el/n\_G';
+  mapping.method = 'expression';
+  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);'];
  case 'powers'
   mapping.timedim = 1;
   mapping.label = 'various powers';
-- 
GitLab