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 (7085B)


      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 30, 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 .Op Fl t Ar thread_count
     35 .Fl m Ar molparams
     36 .Fl P Ar pressure
     37 .Fl T Ar temperature
     38 .Fl x Ar mixture
     39 .Op Ar lines
     40 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
     41 .Sh DESCRIPTION
     42 .Nm
     43 constructs a data structure designed to accelerate the sampling by
     44 importance of the spectral lines defined for a gas mixture under given
     45 thermodynamic conditions, from a spectroscopic parameters database.
     46 The generated structure is a binary tree that stores a polyline of
     47 spectral data at each node that it encompasses.
     48 .Pp
     49 The input spectroscopic data, i.e., the line list and isotopological
     50 metadata, are formatted in HITRAN file formats.
     51 If not provided, the list of lines is read from standard input.
     52 .Pp
     53 The options are as follows:
     54 .Bl -tag -width Ds
     55 .\""""""""""""""""""""""""""""""""""
     56 .It Fl a Ar arity
     57 Maximum number of children of an internal node in the constructed tree
     58 that partitions the input lines.
     59 It cannot be less than 2, which is its default value.
     60 .\""""""""""""""""""""""""""""""""""
     61 .It Fl c
     62 For each internal node, construct its polyline by merging the polylines
     63 of its children in pairs and then simplifying the result of this merge.
     64 The process is repeated on the resulting polylines until only a single
     65 polyline remains, which becomes the polyline of the internal node.
     66 In other words, these polylines are constructed by successively
     67 collapsing the polylines of the child nodes.
     68 .Pp
     69 By default, the polylines of the internal nodes are constructed in a
     70 single step of merging and simplification that takes into account all
     71 child polylines at once.
     72 .\""""""""""""""""""""""""""""""""""
     73 .It Fl e Ar polyline_opt Ns Op : Ns Ar polyline_opt No ...
     74 Configure the polylines, i.e., the data used to encode the shape of the
     75 spectrum in the acceleration structure.
     76 .Pp
     77 The polyline options are as follows:
     78 .Bl -tag -width Ds
     79 .It Cm err= Ns Ar decimation_error
     80 Relative error used to simplifly polylines.
     81 The larger it is, the coarser the polylines obtained, and therefore the
     82 less memory it uses.
     83 The default value is 0.01.
     84 .It Cm mesh= Ns Ar mesh_type
     85 Define how the polylines are meshed.
     86 .Pp
     87 The supported
     88 .Ar mesh_type
     89 values are as follows:
     90 .Bl -tag -width Ds
     91 .It Cm fit
     92 The polylines fit the spectrum data.
     93 .It Cm upper
     94 The polylines define an upper limit for the spectrum they encode.
     95 This is the default behavior.
     96 .El
     97 .It Cm vcount= Ns Ar vertex_count_hint
     98 Recommendation for the number of vertices around the center of the line.
     99 The fewer vertices there are, the coarser the polyline of a line and the
    100 smaller the memory usage.
    101 The default value is 16.
    102 .El
    103 .\""""""""""""""""""""""""""""""""""
    104 .It Fl h
    105 Display short help and exit.
    106 .\""""""""""""""""""""""""""""""""""
    107 .It Fl L Ar leaf_nlines
    108 Maximum number of lines per tree leaf.
    109 The default value is 1.
    110 .\""""""""""""""""""""""""""""""""""
    111 .It Fl l Ar line_profile
    112 Defines the line profile.
    113 Currently,
    114 .Cm voigt
    115 is the only supported profile and therefore the default value.
    116 .\""""""""""""""""""""""""""""""""""
    117 .It Fl m Ar molparams
    118 Isotopologue metadata in HITRAN format.
    119 .\""""""""""""""""""""""""""""""""""
    120 .It Fl o Ar accel_struct
    121 Output file.
    122 If not defined, the acceleration structure is written to standard output.
    123 .\""""""""""""""""""""""""""""""""""
    124 .It Fl P Ar pressure
    125 Pressure of the gaz mixture, in atmospheres
    126 .Pq 1 atm = 1.01315 bar .
    127 .\""""""""""""""""""""""""""""""""""
    128 .It Fl s
    129 Specifies that input lines are formatted according to the binary format
    130 as written by the
    131 .Xr shtr 1
    132 utility, and not according to the HITRAN format.
    133 This format is more compact, allowing for faster loading of line data.
    134 .\""""""""""""""""""""""""""""""""""
    135 .It Fl T Ar temperature
    136 Temperature of the gaz mixture, in Kelvin.
    137 .\""""""""""""""""""""""""""""""""""
    138 .It Fl t Ar thread_count
    139 Advice on the number of threads to use.
    140 By default,
    141 .Nm
    142 uses as many threads as processor cores.
    143 .\""""""""""""""""""""""""""""""""""
    144 .It Fl v
    145 Make
    146 .Nm
    147 verbose.
    148 Multiple
    149 .Fl v
    150 options increase the verbosity.
    151 The maximum is 3.
    152 .\""""""""""""""""""""""""""""""""""
    153 .It Fl x Ar mixture
    154 Composition of the gaz mixture in
    155 .Xr sln-mixture 5
    156 format.
    157 If a molecule is absent from this file, its concentration in the mixture
    158 is assumed to be zero.
    159 .El
    160 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    161 .Sh EXIT STATUS
    162 .Ex -std
    163 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    164 .Sh EXAMPLES
    165 Build a structure that accelerates importance sampling of the lines in
    166 the H2O spectrum, between 0 and 50 cm^-1, at a pressure of 1 atm and a
    167 temperature of 292 K.
    168 Use the default options to mesh the spectrum, so that the resulting
    169 structure represents an upper bound on the spectral data:
    170 .Bd -literal -offset Ds
    171 sln-build -P 1 -T 292 -o H2O_0-50_HITEMP2010_tree.bin \e
    172   -m /path/to/hitran/molparams.txt -x mixture.txt \e
    173   /path/to/hitran//H2O/01_0-50_HITEMP2010.par
    174 .Ed
    175 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    176 .Sh SEE ALSO
    177 .Xr shtr 1 ,
    178 .Xr sln-mixture 5
    179 .Rs
    180 .%A Yaniss Nyffenegger-Péré et al.
    181 .%T Spectrally refined unbiased monte carlo estimate of the earth's \
    182 global radiative cooling
    183 .%J Proceedings of the National Academy of Sciences
    184 .%P e2315492121
    185 .%V 121
    186 .%N 5
    187 .%D 2024
    188 .Re
    189 .Rs
    190 .%T The HITRAN Database
    191 .%U https://hitran.org/
    192 .Re
    193 .\""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
    194 .Sh STANDARDS
    195 .Rs
    196 .%A L.S. Rothman et al.
    197 .%T The HITRAN2012 molecular spectroscopic database
    198 .%J Journal of Quantitative Spectroscopy & Radiative Transfer
    199 .%V 130
    200 .%P pp. 4\(en50
    201 .%D 2013
    202 .Re
    203 .Pp
    204 .Rs
    205 .%A L.S. Rothman et al.
    206 .%T HITEMP, the high-temperature molecular spectroscopic database
    207 .%J Journal of Quantitative Spectroscopu & Radiative Transfer
    208 .%V 111
    209 .%P pp. 2139\(en2150
    210 .%D 2010
    211 .Re