This is the list of bugs that have been identified and corrected
in the code "KSPECTRUM", along with the other modifications that
have been brought to the code.

=======================
Version 1.0.0

2008/10/02: opening this file.

2008/10/14: finalizing support for sub-lorentzian profiles and CIA

2008/10/22: input data file "model.in" was suppressed.

2008/11/04: a weakness was discovered in the spectral mesh algorithm: the spectral discretization may be too rough between too close strong lines.

2008/11/05: the spectral mesh algorithm was improved for very low pressures - and therefore very well isolated spectral lines, making the computation a little bit faster.

=======================
Version 1.0.1

2008/12/04
corrected: a bug in array bounds when using routine "indexes".
2008/12/05
added: an option to use a degraded spectral grid. This degraded spectral grid does no longer guarantee the accuracy criterion over the spectral grid (epsilon 2). A proper interpolation between grid points should be used (linear no longer valid).
added: an option to truncate line profiles at a given distance from line center. When this option is used, the accuracy criterion over k (epsilon 1) is no longer guaranteed.

=======================
Version 1.0.2

2009/06/18
added: an option to set to zero the contribution of constant lines when a truncation
is required over line profiles.
modified: sub-lorentzian profiles can now be taken into account in the calculation
of constant lines contribution.

=======================
Version 1.0.3

2009/10/19
modified: the degraded spectral discretization algorithm.
added: an option to let the user chose the number of line width that have to be taken into account in the definition of line's central zone.

2009/11/16
modified: compatibility with HITRAN 2008. The user can now choose between versions 2004 and 2008 of the HITRAN database as the default LBL database (provided that the selected database is indeed installed).

2009/11/18
added: the possibility to use CIA continuum from the work of Gruszka or Baranov. There is a new option in the "options.in" file to choose to use the first, the second, or both computations.

=======================
Version 1.0.4

2010/01/14
added: computation of the sensitivities of sigma and k to total pressure, temperature and chemical species concentrations.
added: possibility to neglect weaker lines during computation of k(nu), thus making the code much faster.

2010/02/08
added: the possibility to set the percentage of lines that are neglected during spectral discretization
modified: result files format; will be required later for spectrum convolution.
corrected: the multipass algorithm ! It was not working as it should have.

2010/02/11
modified: the spectral discretization algorithm; because of inconsistencies within the HITEMP database (null values of gamma_self for some lines), the Lorentz line width can take null values, which ends by a crash of the spectral discretization algorithm in the case there is only one molecular species. In order to solve this issue, null values of gamma_self are detected, and are currently replaced by the closest non-null value of gamma_self found among the LBL database.
added: a parameter called "high-temperature level" within the "data.in" file. The value of this parameter is the level that is now considered for switching from HITRAN to HITEMP or CDSD: HITRAN will be used for a temperature level lower than the "high-temperature level", and HITEMP or CDSD will be used above. This parameter can be used, for instance, to ensure that HITEMP will never be used (just set this parameter to a very high value).

=======================
Version 1.0.5

2010/03/03

modified: the "composition.in" file format. Not all compilers do the same thing when using formats !

2010/03
+ modified: bugs in the multi-pass algorithm.
+ modified: using the Venus CDSD LBL database; now the 2008 version is used.
+ added: computing the number of lines that have to be taken into account for computations of k
in the case not every isotope has to be used.
+ modified: reference temperature for using the Venus CDSD LBL database.
+ modified: writing result files headers when the first narrowband k has to be computed for
is not narrowband number 1.

2010/04/20
+ modified: resuming an interrupted computation.
+ removed: the option that lets the user chose to erase result files when the code starts. Now files are erased each time the code starts, except when it has to resume an interrupted computation. 

=======================
Version 1.0.6

2010/08
+ added: the possibility to use HITEMP-2010 LBL data files.

2011/06
+ added: the possibility to use CDSD_4000 LBL data files.


=======================
Version 1.0.7

2011/08
+ modified: the algorithm that removes weak transitions (when
required) has been replaced by a convergent computation of k(nu)
values: from now, transitions are sorted by decreasing importance of
intensity, and each value of k(nu) takes into account the contribution
of each transition until the k(nu) converges towards a fixed value; in
order to bypass this algorithm (and actually take into account the
contribution of every known transition), the corresponding option must
be set to zero in "options.in" (reject weaker lines when computing k).


=======================
Version 1.0.8

2012/01
+ added: an option to use custom LBL databases; these custom databases
are supposed to be in the HITRAN format.


=======================
Version 1.0.9

2012/01/27
+ modified: condition to display the error message for CIA computation
choices in the "look_for_errors" subroutine.
2013/01
+ added: the possibility to use a constant spectral step
+ added: the possibility to use line centers as spectral mesh


=======================
Version 1.0.10

2013/03/06
+ modified: absorption cross-sections are no longer multiplied by
isotopologues abundances, since these abundances are already taken
into account in reference intensities. Instead, reference intensities
are now scaled against the real abundance of isotopologues.



=======================
Version 1.1.0

2013/10
+ added: an option that allow using the CDSD-HITEMP spectral database for CO2 transitions.
+ removed: the "data/special_molecules.in" file
+ added: using a new "data/molparam.in" input data file in order to provide the abundance
of each isotopologue at each atmospheric level.
+ modified: recording result files has been made faster.



=======================
Version 1.1.1

2013/11
+ added: the possibility to specify a user-defined spectral grid, via the "data/user_spectral_grid.in" data file;
the use of this grid is enabled when using a value "0" for the "spectral discretization algorithm" option.

2014
+ corrected: a really nasty bug in isotopologues indexes, possibly
leading to wrong results.
+ added: the possibility to use CDSD-1000, CDSD-1000-updated and
HITEMP databases (old versions) within the options.in file
+ added: the possibility to use either the Lorentz or the Voigt
profile within the options.in file
+ added: compatibility with HITRAN2012



=======================
Version 1.1.2

2014/12/18
+ modified: the "khi_profile" routine that computes sub-lorentzian
profiles for CO2, so that khi=1 outside validity ranges when the user chose to use SL profiles
within their validity range only.
+ corrected: a bug that caused a mess when using both a truncation of
line profiles and a sub-lorentzian profile (k was decreasing as
truncation distance increased). Bug was found using the
"-fbounds-check" compilation option that returned a error at
execution, because element 0 of array "evolution" was required, while
this array is defined from 1 only (utils.for / subroutine "line_intervals").

=======================
Version 1.2.0

2015/02/04
KSPECTRUM is now distributed under the CECILL license (see the COPYING file).


=======================
Version 1.2.1

These two problems have been identified by Daniel Kitzmann <daniel.kitzmann@csh.unibe.ch>
Many thanks !

2015/04/17
+ corrected: 2 bugs in sub-lorentzian profiles. When either Perrin &
Hartmann or Tonkov results should be used outside their validity
range, the sub-lorentzian profile was actually never computed.
+ corrected: multiple inconsistencies in BD_TIPS routines written by
R.R. Gamache: in some cases, the number of isotopologues for which
TIPS can be computed is lower than the number of known isotopologues,
resulting in random (may I say rubbish) output gi and QT arguments. In
some cases, the index of the molecular species is not the same in the
BD_TIPS routine and in HITRAN databases. Both BD_TIPS versions 2003
and 2011 were affected.

2015/05/06
+ modified: added an option to let the code use whatever
sub-lorentzian khi factor is relevant for the current wavenumber,
within the validity range of various results.

2015/05/07
+ modified: the line truncation scheme. In the case a line truncation
is required, it should not be applied for CO2 transitions in the case
a sub-lorentzian profile must be used.

2016/08/09
+ modified: the call to "read_isotopic_composition" in the "read_composition.for"
source file: the I/O arguments where different from what is actually required by
the subroutine. Thanks a lot to Sandrine Guerlet (LMD) for identifying this bug.



=======================
Version 1.2.2

2017/01/09
+ modified: truncation scheme. Now truncation is checked for every line, not taking
into account the fact this line belongs or not to a fictitious spectral interval.
Truncation of CO2 lines is possible only if a sub-lorentzian correction is not applied.
Truncation of every other line is possible no matter what.
