diff --git a/.gitignore b/.gitignore
index 622d3d8271b884ca852881cbdd72fc50677e6c18..69461096cd7858edd41a8780b7a8406fdeb00469 100644
--- a/.gitignore
+++ b/.gitignore
@@ -23,6 +23,7 @@ srcinfo
 srcinfo.h
 logs/
 results/
+results_old/
 mod/
 obj/
 bin/
diff --git a/matlab/LinearFit_s.m b/matlab/LinearFit_s.m
index c5348698b01f43eb8bdb35a1420f71671a6305ed..0d683f4f027e5a34c9232e92ecf21508153b467f 100644
--- a/matlab/LinearFit_s.m
+++ b/matlab/LinearFit_s.m
@@ -22,7 +22,7 @@ function [gamma,fit] = LinearFit_s(time,Na00abs, tstart, tend)
 
 
     Na00absshifted = circshift(Na00abs,-1);    % ... shift by -1 the time position 
-    gammaoft = log(Na00absshifted(1:end-1)./Na00abs(1:end-1))./transpose(diff(time)); % ... evaluate growth rate
+    gammaoft = log(Na00absshifted(1:end-1)./Na00abs(1:end-1))./squeeze(diff(time)); % ... evaluate growth rate
 
     % Get gamma
     gamma = mean(gammaoft(Tstart_ind:Tend_ind-1)); % ... take the mean of gamma over the time window
diff --git a/matlab/create_gif.m b/matlab/create_gif.m
index f4bbf44cbd9471fe89c0ef7449fd4c9698c45bb8..826ea6def012776a647ec57e97ccd545e6f2ed0b 100644
--- a/matlab/create_gif.m
+++ b/matlab/create_gif.m
@@ -1,9 +1,5 @@
 title1 = GIFNAME;
-FIGDIR = ['../results/',BASIC.SIMID,'/'];
-if ~exist(FIGDIR, 'dir')
-   mkdir(FIGDIR)
-end
-
+FIGDIR = BASIC.RESDIR;
 GIFNAME = [FIGDIR, GIFNAME,'.gif'];
 
 % Set colormap boundaries
diff --git a/matlab/create_gif_1D.m b/matlab/create_gif_1D.m
index f0a0e8e8f2b09b78c661faf3e422615bf2479462..5f7369fafabe42a1fca89c2384a520d404db360c 100644
--- a/matlab/create_gif_1D.m
+++ b/matlab/create_gif_1D.m
@@ -1,5 +1,5 @@
 title1 = GIFNAME;
-FIGDIR = ['../results/',BASIC.SIMID,'/'];
+FIGDIR = BASIC.RESDIR;
 if ~exist(FIGDIR, 'dir')
    mkdir(FIGDIR)
 end
diff --git a/matlab/save_figure.m b/matlab/save_figure.m
index 9fae159ba479532926bd5f2df9f5bb50e17f1191..e71ee646951dc1664ee43b5f009d07f451298b36 100644
--- a/matlab/save_figure.m
+++ b/matlab/save_figure.m
@@ -1,10 +1,5 @@
 %% Auxiliary script to save figure using a dir (FIGDIR), name (FIGNAME) 
 %  and parameters
-FIGDIR = ['../results/', BASIC.SIMID,'/'];
-if ~exist(FIGDIR, 'dir')
-   mkdir(FIGDIR)
-end
-
-FIGNAME = [FIGDIR, FIGNAME,FMT];
+FIGNAME = [BASIC.RESDIR, FIGNAME,FMT];
 saveas(fig,FIGNAME);
 disp(['Figure saved @ : ',FIGNAME])
\ No newline at end of file
diff --git a/matlab/write_fort90.m b/matlab/write_fort90.m
index 8d9fd05acafc820db7d2f90640cfd5fae90411f2..f9f3fa748ffe478a1f00dc77b41102fbc17f0638 100644
--- a/matlab/write_fort90.m
+++ b/matlab/write_fort90.m
@@ -1,6 +1,6 @@
 function [INPUT] = write_fort90(OUTPUTS,GRID,MODEL,INITIAL,TIME_INTEGRATION,BASIC)
 % Write the input script "fort.90" with desired parameters
-INPUT = '../wk/fort.90';
+INPUT = 'fort.90';
 fid = fopen(INPUT,'wt');
 
 fprintf(fid,'&BASIC\n');
@@ -73,4 +73,5 @@ fprintf(fid,['  numerical_scheme=', TIME_INTEGRATION.numerical_scheme,'\n']);
 fprintf(fid,'/');
 
 fclose(fid);
+system(['cp fort.90 ',BASIC.RESDIR,'/.']);
 end
diff --git a/wk/analysis_1D.m b/wk/analysis_1D.m
index 31d07cd51baaf996a969cde9632419637d5b7e2f..9076e8565eaacbc69116971b7f28bf3825f0267b 100644
--- a/wk/analysis_1D.m
+++ b/wk/analysis_1D.m
@@ -1,16 +1,13 @@
 default_plots_options
-%% load results
+%% load resulTs2D
 JOBNUM = 00;
-filename = [BASIC.SIMID,'_','%.2d.h5'];
-filename = sprintf(filename,JOBNUM); disp(['Analysing ',filename])
-[Nipj, p_, j_, kr, kz, Ts, dt] = load_5D_data(filename, 'moments_i');
-Nepj                           = load_5D_data(filename, 'moments_e');
-Ni00    = squeeze(Nipj(1,1,:,:,:));
-Ne00    = squeeze(Nepj(1,1,:,:,:));
-PH      = squeeze(load_2D_data(filename, 'phi'));
-Ts      = Ts';
-Ns      = numel(Ts);
-dt_samp = mean(diff(Ts));
+load_results
+Ni00 = squeeze(Ni00);
+Ne00 = squeeze(Ne00);
+PHI  = squeeze(PHI);
+Ts2D      = Ts2D';
+Ns      = numel(Ts2D);
+dt_samp = mean(diff(Ts2D));
 % Build grids
 Nkr = numel(kr); Nkz = numel(kz);
 [KZ,KR] = meshgrid(kz,kr);
@@ -29,8 +26,8 @@ ne00 = zeros(Nz, Ns);
 ni00 = zeros(Nz, Ns);
 phi  = zeros(Nz, Ns);
 
-for it = 1:numel(PH(1,:))
-    NE_ = Ne00(:,it); NN_ = Ni00(:,it); PH_ = PH(:,it);
+for it = 1:numel(Ts2D)
+    NE_ = Ne00(:,it); NN_ = Ni00(:,it); PH_ = PHI(:,it);
     F_          = (ifft((NE_),Nz));
     ne00(:,it)= real(fftshift(F_));
     F_          = (ifft((NN_),Nz));
@@ -41,9 +38,7 @@ end
 
 % Post processing
 ne_00    = zeros(1,Ns);    % Time evolution of ne(r,z) at origin
-Ne_gm    = zeros(1,Ns);    % Time evolution of Ne(k) max gamma (max real)
 ni_00    = zeros(1,Ns);    % .
-Ni_gm    = zeros(1,Ns);    % .
 phi_00   = zeros(1,Ns);    % .
 E_pot    = zeros(1,Ns);    % Potential energy n^2
 E_kin    = zeros(1,Ns);    % Kinetic energy grad(phi)^2
@@ -52,14 +47,12 @@ CFL      = zeros(1,Ns);    % CFL time step
 Ddz = 1i*kz;
 [~,iz0]  = min(abs(z)); % index of z==0
 [~,ikz1] = min(abs(kz-round(1/dkz)*dkz)); % index of kz==1
-for it = 1:numel(PH(1,:))
-    NE_ = squeeze(Ne00(:,it)); NN_ = squeeze(Ni00(:,it)); PH_ = squeeze(PH(:,it));
+for it = 1:numel(Ts2D)
+    NE_ = squeeze(Ne00(:,it)); NN_ = squeeze(Ni00(:,it)); PH_ = squeeze(PHI(:,it));
 
     ne_00(it)      = ne00(iz0,it);
-    Ne_gm(it)      = max(real(Ne00(:,it)));
     
     ni_00(it)      = ni00(iz0,it);
-    Ni_gm(it)      = max(real(Ni00(:,it)));
     
     phi_00(it)     = phi(iz0,it);
     
@@ -67,79 +60,86 @@ for it = 1:numel(PH(1,:))
     E_kin(it)   = pi/Lz*sum(abs(Ddz.*PH_).^2)/Nkz;
     ExB(it)     = max(abs(phi(3:end,it)-phi(1:end-2,it))'/(2*dz));
 end
-E_kin_KZ = abs(Ddz.*PH(:,it)).^2;
-dEdt     = diff(E_pot+E_kin)./diff(Ts);
+E_kin_KZ = abs(Ddz.*PHI(:,it)).^2;
+dEdt     = diff(E_pot+E_kin)./diff(Ts2D);
 
-% Growth rate
+%% Compute growth rate
 gamma_Ne = zeros(1,Nkz);
 gamma_Ni = zeros(1,Nkz);
 gamma_PH = zeros(1,Nkz);
+tend   = Ts2D(end); tstart   = 0.6*tend; 
+plt = @(x) squeeze(abs(x));
 for ikz = 1:Nkz
-    gamma_Ne(ikz) = real(LinearFit_s(Ts,Ne00(ikz,:),-1,-1));
-    gamma_Ni(ikz) = real(LinearFit_s(Ts,Ni00(ikz,:),-1,-1));
-    gamma_PH(ikz) = real(LinearFit_s(Ts,PH(ikz,:),-1,-1));
+    gamma_Ne(ikz) = LinearFit_s(Ts2D,plt(Ne00(ikz,:)),tstart,tend);
+    gamma_Ni(ikz) = LinearFit_s(Ts2D,plt(Ni00(ikz,:)),tstart,tend);
+    gamma_PH(ikz) = LinearFit_s(Ts2D,plt(PHI(ikz,:)),tstart,tend);
 end
-gamma_Ne = gamma_Ne .* (gamma_Ne>=0.0);
-gamma_Ni = gamma_Ni .* (gamma_Ni>=0.0);
-gamma_PH = gamma_PH .* (gamma_PH>=0.0);
-%% PLOTS
+gamma_Ne = real(gamma_Ne .* (gamma_Ne>=0.0));
+gamma_Ni = real(gamma_Ni .* (gamma_Ni>=0.0));
+gamma_PH = real(gamma_PH .* (gamma_PH>=0.0));
+
+%% PLOTs2D
+if 0
 %% Time evolutions
 fig = figure; FIGNAME = ['t_evolutions',sprintf('_%.2d',JOBNUM)];
     subplot(221)
-        semilogy(Ts,abs(ne_00),'-','DisplayName','$n_e^{00}$'); hold on;
-        semilogy(Ts,abs(ni_00),'-','DisplayName','$n_i^{00}$');
+        semilogy(Ts2D,abs(ne_00),'-','DisplayName','$n_e^{00}$'); hold on;
+        semilogy(Ts2D,abs(ni_00),'-','DisplayName','$n_i^{00}$');
         grid on; xlabel('$t$'); ylabel('$|n_a(x=0,y=0)|$');
     subplot(222)
-        semilogy(Ts,abs(Ni_gm),'-','DisplayName','$\phi$')
+        semilogy(Ts2D,abs(Ni_gm),'-','DisplayName','$\phi$')
         grid on; xlabel('$t$'); ylabel('$|\tilde n(k_r\approx 1,k_z\approx 1)|$');
     subplot(223)
-        semilogy(Ts,E_kin+E_pot,'-','DisplayName','$\sum|ik\tilde\phi_i|^2+\sum|\tilde n_i|^2$')
+        semilogy(Ts2D,E_kin+E_pot,'-','DisplayName','$\sum|ik\tilde\phi_i|^2+\sum|\tilde n_i|^2$')
         hold on;
         grid on; xlabel('$t$'); ylabel('$E$'); legend('show');
 FMT = '.fig'; save_figure
-
+end
+if 1
 %% Growth rate
 fig = figure; FIGNAME = ['growth_rate',sprintf('_%.2d',JOBNUM)];
+plt = @(x) circshift(x,Nkz/2-1);
     subplot(221)
-        plot(kz,gamma_Ne,'-'); hold on;
+        plot(plt(kz),plt(gamma_Ne),'-'); hold on; xlim([0.0,max(kz)+dkz]);
         grid on; xlabel('$k_z$'); ylabel('$\gamma(N_e^{00})$');
     subplot(222)
-        plot(kz,gamma_Ni,'-'); hold on;
+        plot(plt(kz),plt(gamma_Ni),'-'); hold on; xlim([0.0,max(kz)+dkz]);
         grid on; xlabel('$k_z$'); ylabel('$\gamma(N_i^{00})$');
     subplot(223)
-        plot(kz,gamma_PH,'-'); hold on;
+        plot(plt(kz),plt(gamma_PH),'-'); hold on; xlim([0.0,max(kz)+dkz]);
         grid on; xlabel('$k_z$'); ylabel('$\gamma(\tilde\phi)$'); legend('show');
 FMT = '.fig'; save_figure
-
+end
 %% GIFS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 t0    = 0;
 skip_ = 1; 
 DELAY = 0.01*skip_;
-FRAMES = floor(t0/dt_samp)+1:skip_:numel(Ts);
+FRAMES = floor(t0/dt_samp)+1:skip_:numel(Ts2D);
+linestyle = 'o-.';
 if 0
 %% Density electron
 GIFNAME = ['ne',sprintf('_%.2d',JOBNUM)];
-FIELD = real(ne00); X = z; T = Ts;
+FIELD = real(ne00); X = z; T = Ts2D;
 FIELDNAME = '$n_e^{00}/\max(n_e^{00})$'; XNAME = '$z$';
 XMIN = -L/2-2; XMAX = L/2+1; YMIN = -1.1; YMAX = 1.1;
 create_gif_1D
 %% Density ion
 GIFNAME = ['ni',sprintf('_%.2d',JOBNUM)]; 
-FIELD = real(ni00); X = z; T = Ts;
+FIELD = real(ni00); X = z; T = Ts2D;
 FIELDNAME = '$n_i^{00}/\max(n_i^{00})$'; XNAME = '$z$';
 XMIN = -L/2-2; XMAX = L/2+1; YMIN = -1.1; YMAX = 1.1;
 create_gif_1D
 %% Phi
 GIFNAME = ['phi',sprintf('_%.2d',JOBNUM)]; 
-FIELD = real(phi); X = z; T = Ts;
+FIELD = real(phi); X = z; T = Ts2D;
 FIELDNAME = '$\phi/\max(\phi)$'; XNAME = '$z$';
 XMIN = -L/2-2; XMAX = L/2+1; YMIN = -1.1; YMAX = 1.1;
 create_gif_1D
 %% Density electron frequency
 GIFNAME = ['Ni',sprintf('_%.2d',JOBNUM)]; 
-FIELD = (abs(Ni00)); X = (kz); T = Ts;
+FIELD = (abs(Ni00)); X = (kz); T = Ts2D;
 FIELDNAME = '$|N_i^{00}|$'; XNAME = '$k_z$';
-XMIN = -0.5; XMAX = max(kz)+.5; YMIN = -0.1; YMAX = 1.1;
+XMIN = min(kz)-0.5; XMAX = max(kz)+.5; YMIN = -0.1; YMAX = 1.1;
 create_gif_1D
 end
 
@@ -147,7 +147,7 @@ if 0
 %% Space-Time diagrams at r = 0
 plt = @(x) real(x);
 fig = figure; FIGNAME = ['z_space_time_diag',sprintf('_%.2d',JOBNUM)];
-    [TY,TX] = meshgrid(Ts,z);
+    [TY,TX] = meshgrid(Ts2D,z);
 subplot(221)% density
     pclr = pcolor(TX,TY,(plt(ne00))); set(pclr, 'edgecolor','none'); colorbar;
     xlabel('$z\,(r=0)$'); ylabel('$t$'); title('$n_e^{00}$');
@@ -162,7 +162,7 @@ FMT = '.fig'; save_figure
 %% Space-Time diagrams at kr=0
 plt = @(x) abs(x);
 fig = figure; FIGNAME = ['kz_space_time_diag',sprintf('_%.2d',JOBNUM)];
-    [TY,TX] = meshgrid(Ts,kz);
+    [TY,TX] = meshgrid(Ts2D,kz);
 subplot(221)% density
     pclr = pcolor(TX,TY,(plt(Ne00))); set(pclr, 'edgecolor','none'); colorbar;
     xlabel('$kz$'); ylabel('$t$'); title('$\textrm{Re}(N_e^{00})|_{k_r=0}$');
@@ -183,41 +183,51 @@ if 0
 [~,ik20] = min(abs(kz-2.00));
 
 fig = figure; FIGNAME = ['frame',sprintf('_%.2d',JOBNUM)];
-    subplot(221); plt = @(x) (abs(x));
-        semilogy(Ts,plt(PH(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
-        semilogy(Ts,plt(PH(ik10,:)),'DisplayName', '$k_z = 1.0$')
-        semilogy(Ts,plt(PH(ik15,:)),'DisplayName', '$k_z = 1.5$')
-        semilogy(Ts,plt(PH(ik20,:)),'DisplayName', '$k_z = 2.0$')
-        xlabel('$t$'); ylabel('$\hat\phi$'); legend('show');
-        semilogy(Ts,abs(PH(ik05,end)).*exp(gamma_PH(ik05).*(Ts-Ts(end))),'--k')
-        semilogy(Ts,abs(PH(ik10,end)).*exp(gamma_PH(ik10).*(Ts-Ts(end))),'--k')
-    subplot(222); plt = @(x) (abs(x));
-        semilogy(Ts,plt(Ni00(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
-        semilogy(Ts,plt(Ni00(ik10,:)),'DisplayName', '$k_z = 1.0$')
-        semilogy(Ts,plt(Ni00(ik15,:)),'DisplayName', '$k_z = 1.5$')
-        semilogy(Ts,plt(Ni00(ik20,:)),'DisplayName', '$k_z = 2.0$')        
-        xlabel('$t$'); ylabel('$\hat n_i^{00}$'); legend('show');
-    subplot(223); plt = @(x) (abs(x));
-        semilogy(Ts,plt(Ne00(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
-        semilogy(Ts,plt(Ne00(ik10,:)),'DisplayName', '$k_z = 1.0$')
-        semilogy(Ts,plt(Ne00(ik15,:)),'DisplayName', '$k_z = 1.5$')
-        semilogy(Ts,plt(Ne00(ik20,:)),'DisplayName', '$k_z = 2.0$')  
-        xlabel('$t$'); ylabel('$\hat n_e^{00}$'); legend('show');
+    subplot(221); plt = @(x) abs(squeeze(x));
+        semilogy(Ts2D,plt(PHI(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
+        semilogy(Ts2D,plt(PHI(ik10,:)),'DisplayName', '$k_z = 1.0$')
+        semilogy(Ts2D,plt(PHI(ik15,:)),'DisplayName', '$k_z = 1.5$')
+        semilogy(Ts2D,plt(PHI(ik20,:)),'DisplayName', '$k_z = 2.0$')
+        xlabel('$t$'); ylabel('$|\tilde\phi|$'); legend('show');
+        semilogy(Ts2D,plt(PHI(ik05,end)).*exp(gamma_PH(ik05).*(Ts2D-Ts2D(end))),'--k')
+        semilogy(Ts2D,plt(PHI(ik10,end)).*exp(gamma_PH(ik10).*(Ts2D-Ts2D(end))),'--k')
+        plot(tstart*[1 1],ylim,'k-','LineWidth',0.5);
+        plot(tend*[1 1],ylim,'k-','LineWidth',0.5);
+    subplot(222); plt = @(x) squeeze(abs(x));
+        semilogy(Ts2D,plt(Ni00(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
+        semilogy(Ts2D,plt(Ni00(ik10,:)),'DisplayName', '$k_z = 1.0$')
+        semilogy(Ts2D,plt(Ni00(ik15,:)),'DisplayName', '$k_z = 1.5$')
+        semilogy(Ts2D,plt(Ni00(ik20,:)),'DisplayName', '$k_z = 2.0$')        
+        xlabel('$t$'); ylabel('$|N_i^{00}|$'); legend('show');
+        semilogy(Ts2D,plt(Ni00(ik05,end)).*exp(gamma_Ni(ik05).*(Ts2D-Ts2D(end))),'--k')
+        semilogy(Ts2D,plt(Ni00(ik10,end)).*exp(gamma_Ni(ik10).*(Ts2D-Ts2D(end))),'--k')
+        plot(tstart*[1 1],ylim,'k-','LineWidth',0.5);
+        plot(tend*[1 1],ylim,'k-','LineWidth',0.5);
+    subplot(223); plt = @(x) squeeze(abs(x));
+        semilogy(Ts2D,plt(Ne00(ik05,:)),'DisplayName', '$k_z = 0.5$'); hold on
+        semilogy(Ts2D,plt(Ne00(ik10,:)),'DisplayName', '$k_z = 1.0$')
+        semilogy(Ts2D,plt(Ne00(ik15,:)),'DisplayName', '$k_z = 1.5$')
+        semilogy(Ts2D,plt(Ne00(ik20,:)),'DisplayName', '$k_z = 2.0$')  
+        xlabel('$t$'); ylabel('$|N_e^{00}|$'); legend('show');
+        semilogy(Ts2D,plt(Ne00(ik05,end)).*exp(gamma_Ne(ik05).*(Ts2D-Ts2D(end))),'--k')
+        semilogy(Ts2D,plt(Ne00(ik10,end)).*exp(gamma_Ne(ik10).*(Ts2D-Ts2D(end))),'--k')
+        plot(tstart*[1 1],ylim,'k-','LineWidth',0.5);
+        plot(tend*[1 1],ylim,'k-','LineWidth',0.5);
 FMT = '.fig'; save_figure
 end
 
 if 0
 %% Show frame
-it = min(70,numel(Ts));
+it = min(70,numel(Ts2D));
 fig = figure; FIGNAME = ['frame',sprintf('_%.2d',JOBNUM)];
     subplot(221); plt = @(x) (abs(x));
         plot(kz,plt(PH(:,it)))
-        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts(it))); legend('$\hat\phi$');
+        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$\hat\phi$');
     subplot(222); plt = @(x) (abs(x));
         plot(kz,plt(Ni00(:,it)))
-        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts(it))); legend('$\hat n_i^{00}$');
+        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$\hat n_i^{00}$');
     subplot(223); plt = @(x) (abs(x));
         plot(kz,plt(Ne00(:,it)))
-        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts(it))); legend('$\hat n_e^{00}$');
+        xlabel('$k_r$'); ylabel('$k_z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$\hat n_e^{00}$');
 FMT = '.fig'; save_figure
 end
\ No newline at end of file
diff --git a/wk/analysis_2D.m b/wk/analysis_2D.m
index 5c3fd115d7e0b35d87e8f2885397c52dce34934e..1ffdb66d1705c94f5184869cc8f5dcfb5d9f0693 100644
--- a/wk/analysis_2D.m
+++ b/wk/analysis_2D.m
@@ -1,5 +1,5 @@
 %% Load results
-load_results
+compile_results
 
 %% Retrieving max polynomial degree and sampling info
 Npe = numel(Pe); Nje = numel(Je); [JE,PE] = meshgrid(Je,Pe);
@@ -76,10 +76,10 @@ for it = 1:numel(Ts2D) % Loop over 2D arrays
     E_pot(it)   = pi/Lr/Lz*sum(sum(abs(NI_).^2))/Nkr/Nkr; % integrate through Parseval id
     E_kin(it)   = pi/Lr/Lz*sum(sum(abs(Ddr.*PH_).^2+abs(Ddz.*PH_).^2))/Nkr/Nkr;
     ExB(it)     = max(max(max(abs(phi(3:end,:,it)-phi(1:end-2,:,it))/(2*dr))),max(max(abs(phi(:,3:end,it)-phi(:,1:end-2,it))'/(2*dz))));
-    Flux_ri(it)  = sum(sum(ni00(:,:,it).*drphi(:,:,it)))*dr*dz;
-    Flux_zi(it)  = sum(sum(ni00(:,:,it).*dzphi(:,:,it)))*dr*dz;
-    Flux_re(it)  = sum(sum(ne00(:,:,it).*drphi(:,:,it)))*dr*dz;
-    Flux_ze(it)  = sum(sum(ne00(:,:,it).*dzphi(:,:,it)))*dr*dz;
+    Flux_ri(it)  = sum(sum(ni00(:,:,it).*dzphi(:,:,it)))*dr*dz/Lr/Lz;
+    Flux_zi(it)  = sum(sum(-ni00(:,:,it).*drphi(:,:,it)))*dr*dz/Lr/Lz;
+    Flux_re(it)  = sum(sum(ne00(:,:,it).*dzphi(:,:,it)))*dr*dz/Lr/Lz;
+    Flux_ze(it)  = sum(sum(-ne00(:,:,it).*drphi(:,:,it)))*dr*dz/Lr/Lz;
 end
 
 E_kin_KZ = mean(mean(abs(Ddr.*PHI(:,:,it)).^2+abs(Ddz.*PHI(:,:,it)).^2,3),2);
@@ -88,18 +88,18 @@ dEdt     = diff(E_pot+E_kin)./dt2D;
 
 for it = 1:numel(Ts5D) % Loop over 5D arrays
     NE_ = Ne00(:,:,it); NI_ = Ni00(:,:,it); PH_ = PHI(:,:,it);
-    Ne_norm(:,:,it)= sum(sum(abs(Nepj(:,:,:,:,it)),3),4);
-    Ni_norm(:,:,it)= sum(sum(abs(Nipj(:,:,:,:,it)),3),4);
+    Ne_norm(:,:,it)= sum(sum(abs(Nepj(:,:,:,:,it)),3),4)/Nkr/Nkz;
+    Ni_norm(:,:,it)= sum(sum(abs(Nipj(:,:,:,:,it)),3),4)/Nkr/Nkz;
 if strcmp(OUTPUTS.write_non_lin,'.true.')   
-    Se_norm(:,:,it)= sum(sum(abs(Sepj(:,:,:,:,it)),3),4);
-    Sne00_norm(it) = sum(sum(abs(Se00(:,:,it))));
-    Si_norm(:,:,it)= sum(sum(abs(Sipj(:,:,:,:,it)),3),4);
-    Sni00_norm(it) = sum(sum(abs(Si00(:,:,it))));
+    Se_norm(:,:,it)= sum(sum(abs(Sepj(:,:,:,:,it)),3),4)/Nkr/Nkz;
+    Sne00_norm(it) = sum(sum(abs(Se00(:,:,it))))/Nkr/Nkz;
+    Si_norm(:,:,it)= sum(sum(abs(Sipj(:,:,:,:,it)),3),4)/Nkr/Nkz;
+    Sni00_norm(it) = sum(sum(abs(Si00(:,:,it))))/Nkr/Nkz;
 end
 end
 
 
-%% Growth rate
+%% Compute growth rate
 disp('- growth rate')
 tend   = Ts2D(end); tstart   = 0.6*tend; 
 g_          = zeros(Nkr,Nkz);
@@ -114,6 +114,7 @@ gkr0kz_Ni00 = real(g_(ikr0KH,:));
 
 %% PLOTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 disp('Plots')
+FMT = '.fig';
 %% Time evolutions
 fig = figure; FIGNAME = ['t_evolutions',sprintf('_%.2d',JOBNUM)];
     subplot(221); 
@@ -151,7 +152,7 @@ if strcmp(OUTPUTS.write_non_lin,'.true.')
     end
     grid on; xlabel('$t$'); ylabel('$S$'); %legend('show');
 else
-    %% Growth rate
+%% Growth rate
     subplot(224)    
         [~,ikr0KH] = min(abs(kr-KR0KH));
         plot(kz(1:ikr0KH)/kr(ikr0KH),gkr0kz_Ni00(1:ikr0KH)/(KR0KH*A0KH),...
@@ -161,33 +162,63 @@ else
 end
 save_figure
 
+%%
+if 1
+%% Show frame in real space
+tf = 100; [~,it] = min(abs(Ts2D-tf)); [~,it5D] = min(abs(Ts5D-tf));
+fig = figure; FIGNAME = ['rz_frame',sprintf('_%.2d',JOBNUM)];
+    subplot(221); plt = @(x) (((x)));
+        pclr = pcolor((RR),(ZZ),plt(ne00(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
+        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat n_e^{00}|$');
+    subplot(222); plt = @(x) ((x));
+        pclr = pcolor((RR),(ZZ),plt(ni00(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
+        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat n_i^{00}|$');
+    subplot(223); plt = @(x) ((x));
+        pclr = pcolor((RR),(ZZ),plt(phi(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
+        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat\phi|$');
+if strcmp(OUTPUTS.write_non_lin,'.true.')
+    subplot(224); plt = @(x) fftshift((abs(x)),2);
+        pclr = pcolor((RR),(ZZ),plt(si00(:,:,it5D))); set(pclr, 'edgecolor','none'); colorbar;
+        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts5D(it5D))); legend('$|S_i^{00}|$');
+end
+save_figure
+end
+
 %%
 t0    = 0;
 skip_ = 1; 
 DELAY = 0.01*skip_;
 FRAMES = floor(t0/(Ts2D(2)-Ts2D(1)))+1:skip_:numel(Ts2D);
-if 0
 %% GIFS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+if 0
 %% Density ion
 GIFNAME = ['ni00',sprintf('_%.2d',JOBNUM)]; INTERP = 0;
 FIELD = real(ni00); X = RR; Y = ZZ; T = Ts2D;
 FIELDNAME = '$n_i^{00}$'; XNAME = '$r$'; YNAME = '$z$';
 create_gif
+end
+if 0
 %% Density electron
 GIFNAME = ['ne00',sprintf('_%.2d',JOBNUM)]; INTERP = 1;
 FIELD = real(ne00); X = RR; Y = ZZ; T = Ts2D;
 FIELDNAME = '$n_e^{00}$'; XNAME = '$r$'; YNAME = '$z$';
 create_gif
+end
+if 0
 %% Phi
 GIFNAME = ['phi',sprintf('_%.2d',JOBNUM)];INTERP = 1;
 FIELD = real(phi); X = RR; Y = ZZ; T = Ts2D;
 FIELDNAME = '$\phi$'; XNAME = '$r$'; YNAME = '$z$';
 create_gif
+end
+if 0
 %% Density ion frequency
 GIFNAME = ['Ni00',sprintf('_%.2d',JOBNUM)]; INTERP = 0;
 FIELD =ifftshift((abs(Ni00)),2); X = fftshift(KR,2); Y = fftshift(KZ,2); T = Ts2D;
 FIELDNAME = '$N_i^{00}$'; XNAME = '$k_r$'; YNAME = '$k_z$';
 create_gif
+end
+if 0
 %% Density ion frequency @ kr = 0
 GIFNAME = ['Ni00_kr0',sprintf('_%.2d',JOBNUM)]; INTERP = 0;
 FIELD =(squeeze(abs(Ni00(1,:,:)))); linestyle = 'o-.';
@@ -290,28 +321,6 @@ fig = figure; FIGNAME = ['mode_time_evolution',sprintf('_%.2d',JOBNUM)];
 save_figure
 end
 
-%%
-if 0
-%% Show frame in real space
-tf = 100; [~,it] = min(abs(Ts2D-tf)); [~,it5D] = min(abs(Ts5D-tf));
-fig = figure; FIGNAME = ['rz_frame',sprintf('_%.2d',JOBNUM)];
-    subplot(221); plt = @(x) (((x)));
-        pclr = pcolor((RR),(ZZ),plt(ne00(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
-        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat n_e^{00}|$');
-    subplot(222); plt = @(x) ((x));
-        pclr = pcolor((RR),(ZZ),plt(ni00(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
-        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat n_i^{00}|$');
-    subplot(223); plt = @(x) ((x));
-        pclr = pcolor((RR),(ZZ),plt(phi(:,:,it))); set(pclr, 'edgecolor','none'); colorbar;
-        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts2D(it))); legend('$|\hat\phi|$');
-if strcmp(OUTPUTS.write_non_lin,'.true.')
-    subplot(224); plt = @(x) fftshift((abs(x)),2);
-        pclr = pcolor((RR),(ZZ),plt(si00(:,:,it5D))); set(pclr, 'edgecolor','none'); colorbar;
-        xlabel('$r$'); ylabel('$z$'); title(sprintf('t=%.3d',Ts5D(it5D))); legend('$|S_i^{00}|$');
-end
-save_figure
-end
-
 %%
 if 0
 %% Show frame in kspace
@@ -333,12 +342,3 @@ if strcmp(OUTPUTS.write_non_lin,'.true.')
 end
 save_figure
 end
-
-
-if 0
-%% Check time evolution of higher moments
-p = 0; j = 0;
-if strcmp(OUTPUTS.write_moments,'.true.') 
-
-end
-end
diff --git a/wk/load_results.m b/wk/load_results.m
index a8c70c175850c74dd78784c265cbfdba5de289a1..5fccf08ef6a800454e2452f411f99ca39804dca3 100644
--- a/wk/load_results.m
+++ b/wk/load_results.m
@@ -1,8 +1,6 @@
 %% load results %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-JOBNUM = 00;
-FMT = '.fig';
-filename = [BASIC.SIMID,'_','%.2d.h5'];
-filename = sprintf(filename,JOBNUM); disp(['Loading ',filename])
+filename = sprintf([BASIC.RESDIR,'outputs_%.2d.h5'],JOBNUM);
+disp(['Loading ',filename])
 % Loading from output file
 % CPUTIME   = h5readatt(filename,'/data/input','cpu_time');
 if strcmp(OUTPUTS.write_moments,'.true.') 
diff --git a/wk/parameters_ZP_linear.m b/wk/parameters_ZP_linear.m
deleted file mode 100644
index ceebcb0cd6a7e03b2c9b905c436de2db9e28c988..0000000000000000000000000000000000000000
--- a/wk/parameters_ZP_linear.m
+++ /dev/null
@@ -1,44 +0,0 @@
-clear all;
-addpath(genpath('../matlab')) % ... add
-default_plots_options
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% Set Up parameters
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%% PHYSICAL PARAMETERS
-NU      = 1e-2;   % Collision frequency
-TAU     = 1.0;    % e/i temperature ratio
-ETAB    = 0.5;    % Magnetic gradient
-ETAN    = 1.0;    % Density gradient
-ETAT    = 0.0;    % Temperature gradient
-MU      = 1e-4;   % Hyper diffusivity coefficient
-LAMBDAD = 0.0; 
-NOISE0  = 5.0e-5;
-%% GRID PARAMETERS
-N       = 64;     % Frequency gridpoints (Nkr = N/2)
-L       = 100;     % Size of the squared frequency domain
-KREQ0   = 1;      % put kr = 0
-PMAXE   = 02;     % Highest electron Hermite polynomial degree
-JMAXE   = 01;     % Highest ''       Laguerre ''
-PMAXI   = 02;     % Highest ion      Hermite polynomial degree
-JMAXI   = 01;     % Highest ''       Laguerre ''
-KPAR    = 0.0;    % Parellel wave vector component
-%% TIME PARAMETERS 
-TMAX    = 300;  % Maximal time unit
-DT      = 1e-2;   % Time step
-SPS2D   = 1;      % Sampling per time unit for 2D arrays
-SPS5D   = 1;    % Sampling per time unit for 5D arrays
-RESTART = 0;      % To restart from last checkpoint
-JOB2LOAD= 00;
-%% OPTIONS
-SIMID   = 'ZP_';  % Name of the simulation
-NON_LIN = 1 *(1-KREQ0);   % activate non-linearity (is cancelled if KREQ0 = 1)
-CO      = -2;  % Collision operator (0 : L.Bernstein, -1 : Full Coulomb, -2 : Dougherty)
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% unused
-KR0KH   = 0; A0KH = 0; % Background phi mode to drive Ray-Tay inst.
-NO_E    = 0;  % Remove electrons dynamic
-% DK    = 0;  % Drift kinetic model (put every kernel_n to 0 except n=0 to 1)
-
-
-setup
diff --git a/wk/setup.m b/wk/setup.m
index d47f3b11e46afd1a60fa108b2bd471d7d4b7ffda..8b13ed6aae7396edc4800d6a229039038dd7b170 100644
--- a/wk/setup.m
+++ b/wk/setup.m
@@ -1,4 +1,5 @@
 %% ________________________________________________________________________
+SIMDIR = ['../results/',SIMID,'/'];
 % Grid parameters
 GRID.pmaxe = PMAXE;  % Electron Hermite moments
 GRID.jmaxe = JMAXE;  % Electron Laguerre moments 
@@ -53,19 +54,20 @@ INITIAL.iemat_file = ...
     '_Jmaxe_',num2str(GRID.jmaxe),'_Pmaxi_',num2str(GRID.pmaxi),'_Jmaxi_',...
     num2str(GRID.jmaxi),'_pamaxx_10_tau_1.0000_mu_0.0233.h5'''];
 % Naming and creating input file
-if    (CO == 0); CONAME = '';
+if    (CO == 0); CONAME = 'LB';
 elseif(CO == -1); CONAME = 'FC';
 elseif(CO == -2); CONAME = 'DG';
 end
-params   = ['Pe_',num2str(PMAXE),'_Je_',num2str(JMAXE),...
+degngrad   = ['Pe_',num2str(PMAXE),'_Je_',num2str(JMAXE),...
     '_Pi_',num2str(PMAXI),'_Ji_',num2str(JMAXI),...
     '_nB_',num2str(ETAB),'_nN_',num2str(ETAN),'_nu_%0.0e_',...
-    CONAME,'_mu_%0.0e_'];
-params   = sprintf(params,[NU,MU]);
-if ~NON_LIN; params = ['lin_',params]; end
-resolution = ['_',num2str(GRID.Nr),'x',num2str(GRID.Nz/2),'_'];
+    CONAME,'_mu_%0.0e'];
+degngrad   = sprintf(degngrad,[NU,MU]);
+if ~NON_LIN; degngrad = ['lin_',degngrad]; end
+resolution = [num2str(GRID.Nr),'x',num2str(GRID.Nz/2),'_'];
 gridname   = ['L_',num2str(L),'_'];
-BASIC.SIMID = [SIMID,resolution,gridname,params];
+PARAMS = [resolution,gridname,degngrad];
+BASIC.RESDIR = [SIMDIR,PARAMS,'/'];
 BASIC.nrun       = 1e8;
 BASIC.dt         = DT;   
 BASIC.tmax       = TMAX;    %time normalized to 1/omega_pe
@@ -81,16 +83,24 @@ OUTPUTS.write_phi     = '.true.';
 OUTPUTS.write_non_lin = OUTPUTS.write_moments;
 if NON_LIN == 0; OUTPUTS.write_non_lin = '.false.'; end;
 OUTPUTS.write_doubleprecision = '.true.';
-OUTPUTS.resfile0      = ['''',BASIC.SIMID,''''];
-OUTPUTS.rstfile0      = ['''','../checkpoint/cp_',BASIC.SIMID,''''];
+OUTPUTS.resfile0      = ['''',BASIC.RESDIR,'outputs',''''];
+OUTPUTS.rstfile0      = ['''',BASIC.RESDIR,'checkpoint',''''];
 OUTPUTS.job2load      = JOB2LOAD;
-%% Compile and write input file
+%% Create directories
+if ~exist(SIMDIR, 'dir')
+   mkdir(SIMDIR)
+end
+if ~exist(BASIC.RESDIR, 'dir')
+mkdir(BASIC.RESDIR)
+end
+%% Compile and WRITE input file
 INPUT = write_fort90(OUTPUTS,GRID,MODEL,INITIAL,TIME_INTEGRATION,BASIC);
 nproc = 1;
 MAKE  = 'cd ..; make; cd wk';
 system(MAKE);
 %%
-disp(['Set up ', BASIC.SIMID]);
+disp(['Set up ',SIMID]);
+disp([resolution,gridname,degngrad]);
 if RESTART
 	disp(['- restarting from JOBNUM = ',num2str(JOB2LOAD)]); else
 	disp(['- starting from T = 0']);