diff --git a/matlab/write_fort90.m b/matlab/write_fort90.m
index 9986b02039076202b3af3d9aec450dbba9263543..920e07aeaa92765acfab67156748b96cf727e0ad 100644
--- a/matlab/write_fort90.m
+++ b/matlab/write_fort90.m
@@ -29,10 +29,6 @@ fprintf(fid,['  nsave_1d = ', num2str(OUTPUTS.nsave_1d),'\n']);
 fprintf(fid,['  nsave_2d = ', num2str(OUTPUTS.nsave_2d),'\n']);
 fprintf(fid,['  nsave_5d = ', num2str(OUTPUTS.nsave_5d),'\n']);
 fprintf(fid,['  nsave_cp = ', num2str(OUTPUTS.nsave_cp),'\n']);
-fprintf(fid,['  write_Na00    = ', OUTPUTS.write_Na00,'\n']);
-fprintf(fid,['  write_moments = ', OUTPUTS.write_moments,'\n']);
-fprintf(fid,['  write_phi     = ', OUTPUTS.write_phi,'\n']);
-fprintf(fid,['  write_non_lin     = ', OUTPUTS.write_non_lin,'\n']);
 fprintf(fid,['  write_doubleprecision = ', OUTPUTS.write_doubleprecision,'\n']);
 fprintf(fid,['  resfile0      = ', OUTPUTS.resfile0,'\n']);
 fprintf(fid,['  rstfile0      = ', OUTPUTS.rstfile0,'\n']);
diff --git a/src/diagnose.F90 b/src/diagnose.F90
index a28d4105450d427e6bd3b177d5e6358576a4b6be..23d9d4de76a52617e75b09033eafbe1a8ccf4526 100644
--- a/src/diagnose.F90
+++ b/src/diagnose.F90
@@ -85,7 +85,7 @@ SUBROUTINE diagnose(kstep)
      CALL creatd(fidres, rank, dims,  "/data/var2d/time",     "Time t*c_s/R")
      CALL creatd(fidres, rank, dims, "/data/var2d/cstep", "iteration number")
 
-     IF (write_Na00) THEN
+     IF (nsave_2d .NE. 0) THEN
        CALL creatg(fidres, "/data/var2d/Ne00", "Ne00")
        IF (num_procs .EQ. 1) THEN
          CALL putarr(fidres, "/data/var2d/Ne00/coordkr", krarray(ikrs:ikre), "kr*rho_s0", ionode=0)
@@ -103,7 +103,7 @@ SUBROUTINE diagnose(kstep)
        CALL putarr(fidres, "/data/var2d/Ni00/coordkz", kzarray(ikzs:ikze), "kz*rho_s0", ionode=0)
      END IF
 
-     IF (write_phi) THEN
+     IF (nsave_2d .NE. 0) THEN
        CALL creatg(fidres, "/data/var2d/phi", "phi")
        IF (num_procs .EQ. 1) THEN
          CALL putarr(fidres, "/data/var2d/phi/coordkr", krarray(ikrs:ikre), "kr*rho_s0", ionode=0)
@@ -117,7 +117,7 @@ SUBROUTINE diagnose(kstep)
      rank = 0
      CALL creatd(fidres, rank, dims,  "/data/var5d/time",     "Time t*c_s/R")
      CALL creatd(fidres, rank, dims, "/data/var5d/cstep", "iteration number")
-     IF (write_moments) THEN
+     IF (nsave_5d .NE. 0) THEN
        CALL creatg(fidres, "/data/var5d/moments_e", "moments_e")
        CALL putarr(fidres,  "/data/var5d/moments_e/coordp", parray_e(ips_e:ipe_e),       "p_e", ionode=0)
        CALL putarr(fidres,  "/data/var5d/moments_e/coordj", jarray_e(ijs_e:ije_e),       "j_e", ionode=0)
@@ -139,7 +139,7 @@ SUBROUTINE diagnose(kstep)
        CALL putarr(fidres, "/data/var5d/moments_i/coordkz",    kzarray(ikzs:ikze), "kz*rho_s0", ionode=0)
      END IF
 
-     IF (write_non_lin) THEN
+     IF (nsave_5d .NE. 0) THEN
        CALL creatg(fidres, "/data/var5d/Sepj", "Sepj")
        CALL putarr(fidres,  "/data/var5d/Sepj/coordp", parray_e(ips_e:ipe_e),       "p_e", ionode=0)
        CALL putarr(fidres,  "/data/var5d/Sepj/coordj", jarray_e(ijs_e:ije_e),       "j_e", ionode=0)
diff --git a/src/diagnostics_par_mod.F90 b/src/diagnostics_par_mod.F90
index 5a6d168c9eb25a3e327b0f8e6711a471f91321cd..a0fb7a60afa14084d1aa0dd480b9e8fe9c1e44d4 100644
--- a/src/diagnostics_par_mod.F90
+++ b/src/diagnostics_par_mod.F90
@@ -5,10 +5,6 @@ MODULE diagnostics_par
   IMPLICIT NONE
   PRIVATE
 
-  LOGICAL, PUBLIC, PROTECTED :: write_Na00=.TRUE.
-  LOGICAL, PUBLIC, PROTECTED :: write_moments=.TRUE.
-  LOGICAL, PUBLIC, PROTECTED :: write_phi=.TRUE.
-  LOGICAL, PUBLIC, PROTECTED :: write_non_lin=.TRUE.
   LOGICAL, PUBLIC, PROTECTED :: write_doubleprecision=.FALSE.
 
   INTEGER, PUBLIC, PROTECTED :: nsave_0d , nsave_1d , nsave_2d , nsave_5d, nsave_cp
@@ -35,7 +31,7 @@ CONTAINS
     IMPLICIT NONE
 
     NAMELIST /OUTPUT_PAR/ nsave_0d , nsave_1d , nsave_2d , nsave_5d, nsave_cp
-    NAMELIST /OUTPUT_PAR/ write_Na00, write_moments, write_phi, write_non_lin, write_doubleprecision
+    NAMELIST /OUTPUT_PAR/ write_doubleprecision
     NAMELIST /OUTPUT_PAR/ resfile0, rstfile0, job2load
 
     READ(lu_in,output_par)
@@ -53,10 +49,6 @@ CONTAINS
     INTEGER, INTENT(in) :: fidres
     CHARACTER(len=256), INTENT(in) :: str
 
-    CALL attach(fidres, TRIM(str), "write_Na00", write_Na00)
-    CALL attach(fidres, TRIM(str), "write_moments", write_moments)
-    CALL attach(fidres, TRIM(str), "write_phi", write_phi)
-    CALL attach(fidres, TRIM(str), "write_non_lin", write_non_lin)
     CALL attach(fidres, TRIM(str), "write_doubleprecision", write_doubleprecision)
     CALL attach(fidres, TRIM(str), "nsave_0d", nsave_0d)
     CALL attach(fidres, TRIM(str), "nsave_1d", nsave_1d)
diff --git a/wk/setup.m b/wk/setup.m
index 0636b57da3df91f5bc76ecf1fc9a4546bff50730..b376b7a44b8f86ba140f23196f4b157f3a1f458f 100644
--- a/wk/setup.m
+++ b/wk/setup.m
@@ -81,11 +81,6 @@ OUTPUTS.nsave_1d = 0;
 OUTPUTS.nsave_2d = floor(1.0/SPS2D/DT);
 OUTPUTS.nsave_5d = floor(1.0/SPS5D/DT);
 OUTPUTS.nsave_cp = floor(1.0/SPSCP/DT);
-OUTPUTS.write_Na00    = '.true.';
-OUTPUTS.write_moments = '.true.';
-OUTPUTS.write_phi     = '.true.';
-OUTPUTS.write_non_lin = OUTPUTS.write_moments;
-if NON_LIN == 0; OUTPUTS.write_non_lin = '.false.'; end;
 OUTPUTS.write_doubleprecision = '.false.';
 OUTPUTS.resfile0      = '''outputs''';
 OUTPUTS.rstfile0      = '''checkpoint''';