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 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. 2016/10/10 + modified (by MT): In BD_TIPS_2011_v1p0.for, capitals 'FOR' in "BD_MOL_2011.FOR" and "BD_ISO_2011.FOR" were removed.