diff git a/source/common_keywords.rst b/source/common_keywords.rst
index 02a959b7e03d7238338011d62c03093e44bac5e1..cb2382226f43e880851929bc3a14c3406e13f7ff 100644
 a/source/common_keywords.rst
+++ b/source/common_keywords.rst
@@ 94,6 +94,15 @@ This is an important keyword. It enables (a) continuing a calculation that has,
*  ``RESTART 2``
 Try to reuse data from standard output files.
+NOSTORE (COULOMB)
+
+Most job types require the calculation of the Coulomb matrix (with respect to the mixed product basis). The Coulomb matrix is k dependent.
+By default, Spex precalculates the Coulomb matrices for all k and stores them in memory. However, this can be quite memorydemanding (especially
+for large kpoint sets). Therefore, the keyword ``NOSTORE`` (section ``COULOMB``) avoids the storage of all Coulomb matrices.
+Instead, at any given time, only one Coulomb matrix is stored in memory. This keyword is recommendable in particular for parallel runs (due to a
+rather inefficient parallelization of calculations without ``NOSTORE``.)
+
+
Input data
===========
Spex needs data from a previous selfconsistent solution of a meanfield system (e.g., KSDFT). Several keywords can be used to analyze, check, and modify the input data.
diff git a/source/general_information.rst b/source/general_information.rst
index 2e6260739bfb87584cb6305b0d694d26a72fcfd9..18acb5e73334cf2c9884c7b925b6b769d03105ff 100644
 a/source/general_information.rst
+++ b/source/general_information.rst
@@ 24,15 +24,18 @@ The Spex code recognizes several commandline options (``spex [OPTIONS]``):
Input file
++++++++++++
By default, Spex reads input parameters from the file "spex.inp". The syntax is as follows.
+By default, Spex reads input parameters from the file "spex.inp".
+The syntax is as follows.
* The file "spex.inp" does not use a fixed format, and the keywords may be given in any order.
* Each keyword is given on one line together with its parameters following it.
* Keywords must not be specified more than once.
* Some keywords are grouped in sections. A section starts with ``SECTION sectionname`` and ends with ``END``.
* All keywords (and section names) are in capital letters.
* Everything after a ``#`` sign is interpreted as a comment. Empty lines are allowed.
* Lines are only interpreted up to the 80th column. Line continuation is possible using a single backslash ``\`` at the end of the previous line.
+* Everything after a ``#`` sign is interpreted as a comment.
+* Comments starting with ``##`` and ``###`` are written to standard output and standard error, respectively, see below.
+* Empty lines are allowed.
+* Line continuation is possible using a single backslash ``\`` at the end of the previous line.
* Most keyword parameters have default values that are used if the keyword is not specified.
* By default, parameters are given in atomic units. In the case of energies, it is possible to use eV instead, e.g., ``1.0eV``.
* The input file can be truncated with the keyword ``EXIT``. Everything after ``EXIT`` is ignored.
@@ 49,6 +52,11 @@ An example for a section in the input file is
(The indentation is not mandatory and only included here for clarity.)
+Spex writes the input file in formatted form to standard output without comments except for the special ``##`` and ``###`` comments, which are
+written, respectively, to standard output (as a comment) and to standard error (as a warning). The former can be used to give details about the calculation
+(example ``## silicon bulk (QSGW)``) and the latter to give a special warning (example ``### test run with extreme parameters``)
+that, for greater visibility, should appear in the standard error stream.
+
.. note:: The keywords are detailed in the coming chapters. If a keyword belongs to a section, the section's name is specified as well, for example, ``CONTINUE (SENERGY)``.
.. _spex.out:
diff git a/source/tutorials.rst b/source/tutorials.rst
index 30772680ff16fbcc9f389c751daa7f447333aef5..7ec6abc5e2e058309c6fb4a5c563ca2682e45e18 100644
 a/source/tutorials.rst
+++ b/source/tutorials.rst
@@ 324,16 +324,24 @@ For this frequency integration, we interpolate *W* and then perform the convolut
The keyword ``FREQINT`` determines how the interpolation should be done. It can take the two arguments ``SPLINE`` (default) and ``PADE``
for spline [after the transformation :math:`{\omega'\rightarrow \omega'/(1+\omega')}`] and Padé interpolation, respectively.
In the case of *GT* calculations, there is a similar frequency integration with the *T* matrix replacing *W*.
There, the default is ``PADE``.
+An experimental option is ``NONLIN``, which invokes a new tetrahedron k integration method that uses weight functions instead of
+weight factors. This enables smooth integrations over strongly varying (highly nonlinear) functions, which is particularly useful
+for the magnetic *T* matrix with its very sharp spinwave peaks. Therefore, the default for *GT* calculations is ``NONLIN``.
+``FREQINT NONLIN``, in particular, affects the calculation of the residues
+part in a ``CONTOUR`` calculation but also the integration along the imaginary frequency axis (both for ``CONTINUE`` and ``CONTOUR``),
+where it uses Padé interpolation. We note that ``FREQINT NONLIN`` and, to a lesser extent, also ``FREQINT PADE`` tend to break energy
+degeneracies slightly.
.. listtable:: Examples
:widths: 28 100
*  ``FREQINT SPLINE``
  Use spline interpolation for *W* (or *T*) in the frequency convolution :math:`{G\cdot W}` (:math:`{G\cdot T}`).
+  Use spline interpolation for *W* (or *T*) in the frequency convolution :math:`{G\cdot W}` (:math:`{G\cdot T}`) (default for *GW*).
*  ``FREQINT PADE``
 Use Padé interpolation.

+ *  ``FREQINT NONLIN``
+  Use new tetrahedron k integration method (default for *GT*).
+
.. _SMOOTH:
SMOOTH (SENERGY)
@@ 788,7 +796,13 @@ So, the first order of :math:`{\langle e^{i\mathbf{kr}} \phi_{\mathbf{q}n}  \ph
(corresponding to :math:`{\mu=1}`) in :math:`k` becomes relevant. Using :math:`k\cdot p` perturbation theory,
one can show that the linear term is proportional to :math:`{(\epsilon_{\mathbf{q}n'}\epsilon_{\mathbf{q}n})^{1}}`.
This can lead to numerical problems if the two energies are very close to each other.
Therefore, when treating the :math:`{\Gamma}` point (:math:`k=0`), Spex multiplies the linear term with this energy difference, resulting in smooth and nondivergent values, and takes the energy difference into account by replacing :math:`{S(\omega)\rightarrow S(\omega)/\omega}` in the frequency integration of Eq. :eq:`eqP`, thereby avoiding the numerical difficulties. (As an alternative, the energy differences can also be incorporated into the integration weights, which is arguably even more stable numerically, see option ``INT`` below.) By default, Spex does that only at :math:`k=0`. The behavior can be changed with the keyword ``MULTDIFF`` in the section ``SUSCEP``.
+Therefore, when treating the :math:`{\Gamma}` point (:math:`k=0`),
+Spex multiplies the linear term with this energy difference, resulting in smooth and nondivergent values,
+and takes the energy difference into account by replacing :math:`{S(\omega)\rightarrow S(\omega)/\omega}` in the frequency integration of Eq. :eq:`eqP`,
+thereby avoiding the numerical difficulties.
+By default, Spex does that only at :math:`k=0`. The behavior can be changed with the keyword ``MULTDIFF`` in the section ``SUSCEP``.
+As an alternative, the energy differences can also be incorporated into the integration weights,
+which is arguably even more stable numerically, see option ``INT`` below.
.. listtable:: Examples
:widths: 28 100
diff git a/source/version b/source/version
index 71d6fae8cd433e45de4668ab696995cfae0195c4..d010e69364ded822f81b7a0a270ca9d0c7477c89 100644
 a/source/version
+++ b/source/version
@@ 1 +1 @@
05.00pre29
+05.00pre31