star-line

Structure for accelerating line importance sampling
git clone git://git.meso-star.fr/star-line.git
Log | Files | Refs | README | LICENSE

sln-build.1 (6901B)


      1 .\" Copyright (C) 2022, 2026 |Méso|Star> (contact@meso-star.com)
      2 .\" Copyright (C) 2026 Université de Lorraine
      3 .\" Copyright (C) 2022 Centre National de la Recherche Scientifique
      4 .\" Copyright (C) 2022 Université Paul Sabatier
      5 .\"
      6 .\" This program is free software: you can redistribute it and/or modify
      7 .\" it under the terms of the GNU General Public License as published by
      8 .\" the Free Software Foundation, either version 3 of the License, or
      9 .\" (at your option) any later version.
     10 .\"
     11 .\" This program is distributed in the hope that it will be useful,
     12 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
     13 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
     14 .\" GNU General Public License for more details.
     15 .\"
     16 .\" You should have received a copy of the GNU General Public License
     17 .\" along with this program. If not, see <http://www.gnu.org/licenses/>.
     18 .Dd April 17, 2026
     19 .Dt SLN-BUILD 1
     20 .Os
     21 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
     22 .Sh NAME
     23 .Nm sln-build
     24 .Nd build an acceleration structure for line importance sampling
     25 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
     26 .Sh SYNOPSIS
     27 .Nm
     28 .Op Fl chsv
     29 .Op Fl a Ar arity
     30 .Op Fl e Ar polyline_opt Ns Op : Ns Ar polyline_opt No ...
     31 .Op Fl L Ar leaf_nlines
     32 .Op Fl l Ar line_profile
     33 .Op Fl o Ar accel_struct
     34 .Fl P Ar pressure
     35 .Fl T Ar temperature
     36 .Fl m Ar molparams
     37 .Fl x Ar mixture
     38 .Op Ar lines
     39 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
     40 .Sh DESCRIPTION
     41 .Nm
     42 constructs a data structure designed to accelerate the sampling by
     43 importance of the spectral lines defined for a gas mixture under given
     44 thermodynamic conditions, from a spectroscopic parameters database.
     45 The generated structure is a binary tree that stores a polyline of
     46 spectral data at each node that it encompasses.
     47 .Pp
     48 The input spectroscopic data, i.e., the line list and isotopological
     49 metadata, are formatted in HITRAN file formats.
     50 If not provided, the list of lines is read from standard input.
     51 .Pp
     52 The options are as follows:
     53 .Bl -tag -width Ds
     54 .\""""""""""""""""""""""""""""""""""
     55 .It Fl a Ar arity
     56 Maximum number of children of an internal node in the constructed tree
     57 that partitions the input lines.
     58 It cannot be less than 2, which is its default value.
     59 .\""""""""""""""""""""""""""""""""""
     60 .It Fl c
     61 For each internal node, construct its polyline by merging the polylines
     62 of its children in pairs and then simplifying the result of this merge.
     63 The process is repeated on the resulting polylines until only a single
     64 polyline remains, which becomes the polyline of the internal node.
     65 In other words, these polylines are constructed by successively
     66 collapsing the polylines of the child nodes.
     67 .Pp
     68 By default, the polylines of the internal nodes are constructed in a
     69 single step of merging and simplification that takes into account all
     70 child polylines at once.
     71 .\""""""""""""""""""""""""""""""""""
     72 .It Fl e Ar polyline_opt Ns Op : Ns Ar polyline_opt No ...
     73 Configure the polylines, i.e., the data used to encode the shape of the
     74 spectrum in the acceleration structure.
     75 .Pp
     76 The polyline options are as follows:
     77 .Bl -tag -width Ds
     78 .It Cm err= Ns Ar decimation_error
     79 Relative error used to simplifly polylines.
     80 The larger it is, the coarser the polylines obtained, and therefore the
     81 less memory it uses.
     82 The default value is 0.01.
     83 .It Cm mesh= Ns Ar mesh_type
     84 Define how the polylines are meshed.
     85 .Pp
     86 The supported
     87 .Ar mesh_type
     88 values are as follows:
     89 .Bl -tag -width Ds
     90 .It Cm fit
     91 The polylines fit the spectrum data.
     92 .It Cm upper
     93 The polylines define an upper limit for the spectrum they encode.
     94 This is the default behavior.
     95 .El
     96 .It Cm vcount= Ns Ar vertex_count_hint
     97 Recommendation for the number of vertices around the center of the line.
     98 The fewer vertices there are, the coarser the polyline of a line and the
     99 smaller the memory usage.
    100 The default value is 16.
    101 .El
    102 .\""""""""""""""""""""""""""""""""""
    103 .It Fl h
    104 Display short help and exit.
    105 .\""""""""""""""""""""""""""""""""""
    106 .It Fl L Ar leaf_nlines
    107 Maximum number of lines per tree leaf.
    108 The default value is 1.
    109 .\""""""""""""""""""""""""""""""""""
    110 .It Fl l Ar line_profile
    111 Defines the line profile.
    112 Currently,
    113 .Cm voigt
    114 is the only supported profile and therefore the default value.
    115 .\""""""""""""""""""""""""""""""""""
    116 .It Fl o Ar accel_struct
    117 Output file.
    118 If not defined, the acceleration structure is written to standard output.
    119 .\""""""""""""""""""""""""""""""""""
    120 .It Fl P Ar pressure
    121 Pressure of the gaz mixture, in atmospheres
    122 .Pq 1 atm = 1.01315 bar .
    123 .\""""""""""""""""""""""""""""""""""
    124 .It Fl s
    125 Specifies that input lines are formatted according to the binary format
    126 as written by the
    127 .Xr shtr 1
    128 utility, and not according to the HITRAN format.
    129 This format is more compact, allowing for faster loading of line data.
    130 .\""""""""""""""""""""""""""""""""""
    131 .It Fl T Ar temperature
    132 Temperature of the gaz mixture, in Kelvin.
    133 .\""""""""""""""""""""""""""""""""""
    134 .It Fl m Ar molparams
    135 Isotopologue metadata in HITRAN format.
    136 .\""""""""""""""""""""""""""""""""""
    137 .It Fl v
    138 Make
    139 .Nm
    140 verbose.
    141 Multiple
    142 .Fl v
    143 options increase the verbosity.
    144 The maximum is 3.
    145 .\""""""""""""""""""""""""""""""""""
    146 .It Fl x Ar mixture
    147 Composition of the gaz mixture in
    148 .Xr sln-mixture 5
    149 format.
    150 If a molecule is absent from this file, its concentration in the mixture
    151 is assumed to be zero.
    152 .El
    153 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    154 .Sh EXIT STATUS
    155 .Ex -std
    156 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    157 .Sh EXAMPLES
    158 Build a structure that accelerates importance sampling of the lines in
    159 the H2O spectrum, between 0 and 50 cm^-1, at a pressure of 1 atm and a
    160 temperature of 292 K.
    161 Use the default options to mesh the spectrum, so that the resulting
    162 structure represents an upper bound on the spectral data:
    163 .Bd -literal -offset Ds
    164 sln-build -P 1 -T 292 -o H2O_0-50_HITEMP2010_tree.bin \e
    165   -m /path/to/hitran/molparams.txt -x mixture.txt \e
    166   /path/to/hitran//H2O/01_0-50_HITEMP2010.par
    167 .Ed
    168 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    169 .Sh SEE ALSO
    170 .Xr shtr 1 ,
    171 .Xr sln-mixture 5
    172 .Rs
    173 .%A Yaniss Nyffenegger-Péré et al.
    174 .%T Spectrally refined unbiased monte carlo estimate of the earth's \
    175 global radiative cooling
    176 .%J Proceedings of the National Academy of Sciences
    177 .%P e2315492121
    178 .%V 121
    179 .%N 5
    180 .%D 2024
    181 .Re
    182 .Rs
    183 .%T The HITRAN Database
    184 .%U https://hitran.org/
    185 .Re
    186 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    187 .Sh STANDARDS
    188 .Rs
    189 .%A L.S. Rothman et al.
    190 .%T The HITRAN2012 molecular spectroscopic database
    191 .%J Journal of Quantitative Spectroscopy & Radiative Transfer
    192 .%V 130
    193 .%P pp. 4\(en50
    194 .%D 2013
    195 .Re
    196 .Pp
    197 .Rs
    198 .%A L.S. Rothman et al.
    199 .%T HITEMP, the high-temperature molecular spectroscopic database
    200 .%J Journal of Quantitative Spectroscopu & Radiative Transfer
    201 .%V 111
    202 .%P pp. 2139\(en2150
    203 .%D 2010
    204 .Re